@font-face{font-family:Brush;src:url(fonts/MaShanZheng.woff2) format("woff2")}
@font-face{font-family:Serif;src:url(fonts/NotoSerifTC.woff2) format("woff2");font-weight:400 900}
html,body{margin:0;height:100%;overflow:hidden;background:#04100d;color:#e9dfc2;font-family:Serif,"Noto Serif TC",serif;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#cv{position:fixed;inset:0;width:100%;height:100%;display:block}
.hide{display:none!important}
.panel9{border:22px solid transparent;border-image:url(assets/comfy/ui_panel.webp) 70 fill / 22px stretch;background:transparent;padding:4px 10px;box-sizing:border-box}
.title{font:400 56px/1.1 Brush,serif;margin:0;background:linear-gradient(180deg,#fff6d6 0%,#f3d68a 45%,#c48a2c 75%,#8a5512 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.6px rgba(40,20,0,.55);filter:drop-shadow(0 2px 2px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(231,198,111,.35));letter-spacing:.08em}
.sub{font:600 18px Serif,serif;color:#e7c66f;letter-spacing:.3em}
.lead{font-size:14px;color:#cfe3d2;line-height:1.7;margin:4px 0 8px}
#hud .hl{position:fixed;top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));min-width:200px}
.hn{font:400 24px Brush,serif;color:#fff3c4}#hDate{font-size:13px;color:#cfe3d2}
#hMA{position:fixed;left:calc(12px + env(safe-area-inset-left));top:80px;z-index:5;max-width:46vw;display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:4px;font-size:12px;letter-spacing:.02em;text-shadow:0 0 3px #000,0 0 2px #000;pointer-events:none;font-variant-numeric:tabular-nums}#hMA span{opacity:.92;white-space:nowrap}#hMA i{font-style:normal;opacity:.75;margin-right:3px}
#hud .hr{position:fixed;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));display:flex;gap:12px;font-size:13px;flex-wrap:wrap;max-width:60vw;justify-content:flex-end}
#hud .hr b{color:#fff3c4;font-size:15px}
.toast{position:fixed;top:22%;left:50%;transform:translateX(-50%);font:400 34px Brush,serif;color:#fff3c4;text-shadow:0 2px 6px #000,0 0 14px rgba(231,198,111,.6);opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap}
.ask{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center;width:min(640px,94vw)}
.ask p{margin:2px 0 8px;font-size:15px;color:#f3ead0}
.acts{display:flex;gap:10px;justify-content:center}
.cbtn{width:150px;height:64px;border:0;background:center/100% 100% no-repeat;font:400 28px Brush,serif;color:#fff6d6;text-shadow:0 2px 3px rgba(0,0,0,.8);cursor:pointer;transition:transform .12s,filter .12s;touch-action:manipulation}
.cbtn.buy{background-image:url(assets/comfy/btn_add.webp)}.cbtn.hold{background-image:url(assets/comfy/btn_hold.webp)}.cbtn.sell{background-image:url(assets/comfy/btn_reduce.webp)}
.cbtn:hover{transform:translateY(-2px);filter:brightness(1.15) drop-shadow(0 0 8px rgba(231,198,111,.6))}.cbtn:active{transform:scale(.96)}
.kb{font-size:11px;color:#9fb8a8;margin-top:4px}
.ov{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;z-index:20;padding:12px;box-sizing:border-box}
.ov.dim{background:rgba(2,8,6,.55)}
.ov .big{width:min(860px,96vw);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
#pk{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}
.gbtn{font:400 26px Brush,serif;color:#fff6d6;padding:8px 34px;border-radius:30px;border:2px solid #e7c66f;background:linear-gradient(180deg,#1c4a3e,#0a241e);box-shadow:0 0 0 1px #6d5222 inset,0 0 14px rgba(231,198,111,.35);cursor:pointer;margin:2px}
.gbtn:disabled{opacity:.4}
.back{color:#c9b88a;font-size:13px;text-decoration:none}
#endP{line-height:1.9;font-size:15px}#endP b{color:#fff3c4}
body.touch .ask .acts,body.touch .kb{display:none}
body.climb #mc .mc-stick{display:none}
body.touch #hud .hr{gap:6px;font-size:11px}body.touch #hud .hr b{font-size:12px}
body.touch .ask{bottom:auto;top:calc(70px + env(safe-area-inset-top));padding:2px 8px}body.touch .ask p{font-size:12px;margin:0}
@media(max-width:560px){.title{font-size:40px}.cbtn{width:110px;height:48px;font-size:22px}}
#mc .mc-btn.mc-buy,#mc .mc-btn.mc-hold,#mc .mc-btn.mc-sell{font:400 20px Brush,serif;color:#fff6d6}
body.touch #hud .hr{top:calc(58px + env(safe-area-inset-top));max-width:70vw}
body.touch #hud .hl{transform:scale(.75);transform-origin:top left}
body.touch .ask{top:calc(110px + env(safe-area-inset-top))}
html,body{height:var(--vvh,100dvh)}#cv{height:var(--vvh,100dvh);width:var(--vvw,100vw)}
.ov{inset:auto;top:0;left:0;width:var(--vvw,100vw);height:var(--vvh,100dvh)}

/* 小／矮螢幕：無框精簡面板、橫幅改為底部小提示、均線量能單行 */
@media (max-height:520px),(max-width:620px){
 #hud .panel9{border:0;border-image:none;background:rgba(4,16,13,.62);border-radius:8px;padding:3px 8px;box-shadow:0 0 0 1px rgba(231,198,111,.28) inset}
 body #hud .hl,#hud .hl{transform:none;min-width:0;top:calc(4px + env(safe-area-inset-top));left:calc(4px + env(safe-area-inset-left));max-width:42vw}
 .hn{font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hDate{font-size:10px;white-space:nowrap}
 body #hud .hr,#hud .hr{top:calc(4px + env(safe-area-inset-top));right:calc(4px + env(safe-area-inset-right));gap:2px 7px;font-size:10px;max-width:54vw}
 body #hud .hr b,#hud .hr b{font-size:11px}
 #hMA{flex-wrap:nowrap;overflow:hidden;max-width:44vw;font-size:9.5px;gap:0 6px;margin-top:0;left:calc(6px + env(safe-area-inset-left))}
 #hMA i{margin-right:1px}
 body .ask,body.touch .ask,.ask{top:auto;bottom:calc(6px + env(safe-area-inset-bottom));width:auto;max-width:min(62vw,520px);padding:3px 10px}
 .ask p,body.touch .ask p{font-size:11px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .ask .acts{margin-top:4px}.ask .cbtn{width:84px;height:36px;font-size:18px}.kb{display:none}
 .toast{font-size:20px;top:calc(56px + env(safe-area-inset-top))}
}

/* 逐根損益閃示 */
#worth{position:relative}#worth::after{content:attr(data-d);position:absolute;left:100%;top:-2px;margin-left:3px;font-size:.8em;opacity:0;pointer-events:none;white-space:nowrap}
#worth.pl-up{animation:plf .7s}#worth.pl-dn{animation:plf .7s}#worth.pl-up::after{color:var(--up,#ff9a7a);animation:pld .9s}#worth.pl-dn::after{color:var(--dn,#9fe8c0);animation:pld .9s}
@keyframes plf{0%{text-shadow:0 0 8px currentColor}100%{text-shadow:none}}@keyframes pld{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@media (orientation:portrait) and (max-width:620px){#hMA{flex-wrap:wrap;max-width:94vw;font-size:10.5px;gap:0 8px}}
#worth::after{top:auto;bottom:100%;left:auto;right:0;margin:0}

/* 指標開關 chips */
#ind{position:fixed;left:calc(8px + env(safe-area-inset-left));top:110px;z-index:6;display:flex;gap:4px}
#ind button{font:11px Serif,serif;color:#cfe3d2;background:rgba(4,16,13,.5);border:1px solid rgba(231,198,111,.35);border-radius:10px;padding:1px 8px;line-height:16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#ind button.on{color:#1a1206;background:rgba(231,198,111,.85);border-color:#e7c66f}
@media (max-height:520px),(max-width:620px){#ind{left:calc(4px + env(safe-area-inset-left));gap:3px}#ind button{font-size:10px;padding:0 6px;line-height:15px}}

/* 關卡抉擇：無框；訊息為底部小字（避開量能／MACD 窗）；按鈕直排貼右緣 */
#panel.ask,body.touch #panel.ask{border:0;border-image:none;background:transparent;top:auto;bottom:calc(var(--pane,0px) + 8px + env(safe-area-inset-bottom));width:auto;max-width:min(56vw,560px);padding:0;pointer-events:none}
#panel.ask p{display:inline-block;background:rgba(4,16,13,.62);border-radius:8px;padding:3px 10px;font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;box-sizing:border-box}
#panel .acts{position:fixed;right:calc(10px + env(safe-area-inset-right));top:50%;transform:translateY(-50%);flex-direction:column;gap:8px;margin:0;pointer-events:auto}
#panel .cbtn{width:92px;height:40px;font-size:19px}
#panel .kb{position:fixed;right:calc(8px + env(safe-area-inset-right));top:calc(50% + 78px);width:104px;text-align:center;font-size:10px;opacity:.6;margin:0;line-height:1.3}
@media (max-height:520px),(max-width:620px){#panel.ask p{font-size:11px}#panel .cbtn{width:76px;height:34px;font-size:16px}#panel .kb{display:none}}

/* HUD 去框：純文字列＋淡陰影（所有尺寸） */
#hud .panel9{border:0!important;border-image:none!important;background:none!important;box-shadow:none!important;padding:0 2px!important;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6)}
body.touch #hud .hl{transform:none}
#hud .hsub{font-family:Brush,serif;color:#e7c66f;font-size:11px;letter-spacing:.08em;line-height:1.1;opacity:.95}
@media (max-height:520px),(max-width:620px){#hud .hsub{font-size:9px}}
#panel .cbtn.stop{font-size:15px;color:#ffd0c0;background:rgba(120,30,20,.55);border:1px solid rgba(255,140,110,.5)}
@media (max-height:520px),(max-width:620px){#panel .cbtn.stop{font-size:12px}}
#endP .est{font-size:.9em;color:#d8e8dc}

#panel .levs{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:2px}
#panel .levs button{font:12px/1 serif;padding:3px 0;border-radius:9px;border:1px solid rgba(231,198,111,.35);background:rgba(4,16,13,.35);color:#cfe3d6;cursor:pointer}
#panel .levs button.on{background:rgba(231,198,111,.85);color:#1a1205;border-color:#e7c66f}
@media (max-height:520px),(max-width:620px){#panel .levs button{font-size:10px;padding:2px 0}#panel .acts{gap:5px}}
/* 抉擇面板不得有 transform（否則 fixed 的按鈕列會以面板為包含塊而跑位） */
#panel.ask,body.touch #panel.ask{transform:none!important;animation:none!important;left:0!important;right:0!important;margin:0 auto!important;text-align:center}

/* 觸控：停損鈕橫跨兩欄置於決策鈕上方；槓桿晶片在決策鈕上方（直向）或左側直排（橫向矮螢幕） */
body.touch #mc .mc-stop{grid-column:1/3;width:auto;height:30px;border-radius:15px;font:400 14px Brush,serif;color:#ffd0c0;border-color:rgba(255,140,110,.6);background:rgba(90,20,14,.45)}
body.touch #panel .acts{display:block!important;position:fixed;right:calc(14px + env(safe-area-inset-right));top:auto;bottom:calc(16px + 64px*2 + 30px + 36px + 8px + env(safe-area-inset-bottom));transform:none;width:140px}
body.touch #panel .acts .cbtn{display:none}
body.touch #panel .levs{grid-template-columns:repeat(4,1fr);margin:0}
@media (max-height:520px){body.touch #panel .acts{right:calc(14px + 140px + 10px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:40px}
 body.touch #panel .levs{grid-template-columns:1fr;gap:4px}body.touch #panel .levs button{padding:4px 0}
 body.touch #panel.ask{max-width:calc(100vw - 2*(14px + 140px + 10px + 44px))}}

.mxlink{display:block;width:max-content;margin:8px auto 0;font-size:13px;color:#cfe3ff;text-decoration:none;border:1px solid rgba(143,176,255,.55);border-radius:12px;padding:3px 12px;background:rgba(26,63,158,.35)}.mxlink:hover{background:rgba(42,91,215,.6)}

#maBadge{display:inline-block;margin:0 0 0 4px;vertical-align:middle;padding:1px 7px;border:1px solid;border-radius:9px;font-size:11px;line-height:16px;background:rgba(10,14,12,.55);white-space:nowrap;pointer-events:none}
#crashEv{position:fixed;left:50%;transform:translate(-50%,-8px);width:min(92vw,380px);z-index:40;padding:10px 30px 10px 12px;border-radius:10px;background:rgba(18,16,14,.9);border:1px solid rgba(255,110,90,.55);color:#efe8d8;font-size:13px;line-height:1.45;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
#crashEv.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#crashEv .x{position:absolute;right:4px;top:4px;width:26px;height:26px;border:0;background:none;color:#ccc;font-size:18px;cursor:pointer}
#crashEv .h{display:flex;gap:6px;align-items:center}#crashEv .tg{font-size:10px;padding:0 5px;border-radius:6px;background:#333;color:#ccc}#crashEv .tg.verified{background:#4a3a12;color:#ffd24a}
#crashEv .m{font-size:12px;color:#bbb}#crashEv em{font-style:normal;font-weight:700}#crashEv p{margin:4px 0}#crashEv a{color:#8fd0ff;font-size:12px}
/* 小螢幕：槓桿鍵加大、避開 3 欄決策鍵（3×56px＋2×10px＝188px） */
body.touch #panel .levs button{min-height:30px;font-size:13px}
@media (max-height:520px){body.touch #panel .acts{right:calc(14px + 188px + 10px + env(safe-area-inset-right));width:46px}body.touch #panel .levs button{min-height:30px;padding:0}body.touch #panel.ask{max-width:calc(100vw - 2*(14px + 188px + 10px + 50px))}}

/* 置中標題「小M老師美谷修仙傳」：與心魔無雙（survivor.css #hudLogo）相同的字、字型、樣式與位置；不攔截任何觸控 */
#hudLogo{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);pointer-events:none!important;z-index:5;white-space:nowrap;transition:opacity .3s}
#hudLogo *{pointer-events:none!important}
#hudLogo span{font-family:'Ma Shan Zheng',serif;font-size:clamp(16px,2.4vw,30px);letter-spacing:.06em;background:none;color:#efca6e;text-shadow:0 1px 0 #fff2c0,0 2px 3px rgba(0,0,0,.85),0 0 10px rgba(0,0,0,.5)}
#hudLogo .lm{font-family:'Noto Serif TC',serif;font-style:normal;font-weight:700;font-size:.82em;letter-spacing:0;margin:0 .04em}
@media (max-width:760px){#hudLogo{display:none}}
@media (orientation:landscape) and (max-height:500px){#hudLogo span{font-size:15px}#hudLogo{top:calc(4px + env(safe-area-inset-top))}}
body.touch #hudLogo{display:none}
