:root{--ink: #0d0b14;--panel: rgba(26, 21, 38, .92);--panel-2: rgba(38, 31, 54, .94);--edge: rgba(214, 178, 106, .34);--edge-hot: rgba(240, 205, 130, .85);--gold: #e8c574;--gold-dim: #a8905a;--text: #efe6d6;--muted: #a99e8e;--good: #6fd08a;--bad: #e8695f;--info: #7cc4e8;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--ink);color:var(--text);font-family:Segoe UI,Roboto,system-ui,sans-serif;overscroll-behavior:none;touch-action:none;user-select:none}#app{position:fixed;inset:0}#stage{position:absolute;inset:0;display:block}#ui{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}#ui>*{pointer-events:auto}.topbar{margin:calc(var(--safe-t) + 8px) 8px 0;display:flex;flex-direction:column;gap:6px;pointer-events:none}.res-row{display:flex;gap:5px;flex-wrap:wrap}.res{flex:1 1 0;min-width:62px;background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;backdrop-filter:blur(8px);box-shadow:0 3px 10px #0006}.res .ico{font-size:15px;line-height:1}.res .val{font-size:14px;font-weight:700;letter-spacing:.2px}.res .rate{font-size:9.5px;color:var(--muted);line-height:1.1}.res .rate.neg{color:var(--bad)}.res.flash{animation:pop .35s ease}@keyframes pop{50%{transform:scale(1.09)}}.phasebar{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:6px 10px;backdrop-filter:blur(8px);pointer-events:auto}.phasebar .label{font-family:Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.phasebar .label.night{color:#b9a3e8}.phasebar .label.day{color:var(--gold)}.track{flex:1;height:7px;background:#00000073;border-radius:4px;overflow:hidden}.track>i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#e8c574,#f0a03c);transition:width .2s linear}.track.night>i{background:linear-gradient(90deg,#8f7ad8,#d8524a)}.keep-hp{font-size:11px;color:var(--muted);white-space:nowrap}.keep-hp b{color:var(--text)}.warn{align-self:flex-start;background:#781e1ed9;border:1px solid rgba(232,105,95,.6);color:#ffd8d2;font-size:11px;padding:3px 9px;border-radius:8px}.toasts{position:absolute;top:calc(var(--safe-t) + 108px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:max-content;max-width:88vw}.toast{background:var(--panel-2);border:1px solid var(--edge);border-left:3px solid var(--gold);border-radius:9px;padding:7px 13px;font-size:13px;box-shadow:0 6px 18px #00000080;animation:slidein .28s cubic-bezier(.2,1.2,.4,1)}.toast.good{border-left-color:var(--good)}.toast.bad{border-left-color:var(--bad)}.toast.info{border-left-color:var(--info)}.toast.out{animation:fadeout .4s forwards}@keyframes slidein{0%{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes fadeout{to{opacity:0;transform:translateY(-8px)}}.bottom{margin:0 8px calc(var(--safe-b) + 8px);display:flex;flex-direction:column;gap:8px}.dock{display:flex;gap:6px}.dock button{flex:1;background:var(--panel);border:1px solid var(--edge);color:var(--text);border-radius:12px;padding:10px 4px 8px;font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:3px;backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000073;transition:transform .12s,border-color .15s,background .15s}.dock button .ico{font-size:19px;line-height:1}.dock button:active{transform:translateY(2px) scale(.97)}.dock button.on{border-color:var(--edge-hot);background:var(--panel-2);color:var(--gold)}.dock button:disabled{opacity:.4}.dock button .badge{position:absolute;transform:translate(22px,-6px);background:var(--bad);color:#fff;border-radius:8px;font-size:9px;padding:1px 5px}.sheet{background:var(--panel);border:1px solid var(--edge);border-radius:14px;backdrop-filter:blur(14px);box-shadow:0 10px 34px #0009;overflow:hidden;max-height:46vh;display:flex;flex-direction:column;animation:rise .22s cubic-bezier(.2,1.1,.4,1)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.sheet header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.07);background:#0003}.sheet header h3{margin:0;font-family:Georgia,serif;font-size:15px;color:var(--gold);letter-spacing:.4px}.sheet header .sub{font-size:11px;color:var(--muted)}.sheet .body{overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.card{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px;border:1px solid transparent;background:#ffffff09;margin-bottom:6px;transition:background .15s,border-color .15s,transform .1s}.card:active{transform:scale(.985)}.card.ok{border-color:#6fd08a4d}.card.no{opacity:.5}.card .thumb{width:46px;height:46px;flex:0 0 46px;border-radius:9px;background:#00000059;display:grid;place-items:center;font-size:22px;border:1px solid rgba(255,255,255,.08)}.card .meta{flex:1;min-width:0}.card .name{font-size:13.5px;font-weight:700}.card .name small{font-weight:400;color:var(--muted);font-size:11px}.card .desc{font-size:11px;color:var(--muted);line-height:1.32;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .cost{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}.card .cost span{font-size:10.5px;color:var(--gold-dim)}.card .cost span.short{color:var(--bad)}.card .go{flex:0 0 auto;background:linear-gradient(180deg,#6a5a3a,#46381f);border:1px solid var(--edge);color:var(--gold);font-weight:700;font-size:11.5px;padding:8px 12px;border-radius:9px;min-width:62px}.card .go:disabled{filter:grayscale(.8);opacity:.6}.rowbtns{display:flex;gap:6px;padding:8px;border-top:1px solid rgba(255,255,255,.07)}.rowbtns button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--edge);background:#ffffff0d;color:var(--text);font-size:12.5px;font-weight:600}.rowbtns button.danger{border-color:#e8695f80;color:#ffb3ad}.rowbtns button:disabled{opacity:.45}.tabs{display:flex;gap:4px;padding:7px 8px 0}.tabs button{flex:1;background:transparent;border:1px solid transparent;border-bottom:2px solid transparent;color:var(--muted);font-size:11.5px;font-weight:600;padding:6px 2px;border-radius:8px 8px 0 0}.tabs button.on{color:var(--gold);border-bottom-color:var(--gold);background:#ffffff0a}.trade{display:block}.trade-head{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.trade-head b{color:var(--gold);font-family:Georgia,serif;font-size:14px}.trade-head .sub{font-size:10px;color:var(--muted)}.trade-row{display:flex;align-items:center;gap:6px;margin-top:5px}.trade-good{flex:1;font-size:11.5px;color:var(--text);text-transform:capitalize}.trade-btn{flex:0 0 auto;min-width:84px;padding:7px 9px;border-radius:9px;border:1px solid var(--edge);background:linear-gradient(180deg,#6a5a3a,#46381f);color:var(--gold);font-size:11px;font-weight:700}.trade-btn:active{transform:translateY(1px)}.trade-btn:disabled{opacity:.35}.seg{display:flex;gap:4px;margin:6px 0 2px}.seg button{flex:1;padding:7px 2px;font-size:11px;font-weight:700;color:var(--muted);background:#ffffff0d;border:1px solid transparent;border-radius:8px}.seg button.on{color:var(--ink);background:linear-gradient(180deg,#e8c574,#c2a057);border-color:var(--edge-hot)}.seg button:active{transform:scale(.96)}.tut{background:var(--panel-2);border:1px solid var(--edge-hot);border-radius:13px;padding:10px 12px;backdrop-filter:blur(12px);box-shadow:0 8px 26px #0000008c;animation:rise .25s cubic-bezier(.2,1.1,.4,1)}.tut-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tut-title{font-family:Georgia,serif;font-size:15px;font-weight:700;color:var(--gold);letter-spacing:.3px}.tut-step{font-size:10.5px;color:var(--muted)}.tut-body{font-size:12.5px;line-height:1.45;color:var(--text);margin:5px 0 9px}.tut-body b{color:var(--gold);font-weight:700}.tut-row{display:flex;align-items:center;gap:8px}.tut-go{flex:1;padding:9px;border-radius:10px;border:1px solid var(--edge);background:linear-gradient(180deg,#6a5a3a,#46381f);color:var(--gold);font-weight:700;font-size:13px}.tut-go:active{transform:scale(.98)}.tut-wait{flex:1;font-size:11.5px;color:var(--muted);font-style:italic}.tut-skip{padding:9px 14px;border-radius:10px;border:1px solid transparent;background:#ffffff0f;color:var(--muted);font-size:12px;font-weight:600}.tut-skip:active{transform:scale(.96)}.spellbar{display:flex;gap:6px}.spellbar button{flex:1;position:relative;background:var(--panel);border:1px solid var(--edge);border-radius:12px;color:var(--text);padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;overflow:hidden;backdrop-filter:blur(8px)}.spellbar button .glyph{font-size:18px;line-height:1}.spellbar button .nm{font-size:10px;font-weight:700}.spellbar button .cst{font-size:9.5px;color:#9ad8ff}.spellbar button.on{border-color:var(--edge-hot);box-shadow:0 0 0 2px #f0cd8240 inset}.spellbar button:disabled{opacity:.45}.spellbar button .cd{position:absolute;inset:0;background:#0009;display:grid;place-items:center;font-size:15px;font-weight:700}.scrim{position:absolute;inset:0;background:#06040cb8;backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:20;animation:slidein .2s}.modal{background:var(--panel-2);border:1px solid var(--edge);border-radius:16px;max-width:400px;width:100%;padding:18px;box-shadow:0 20px 60px #000000b3}.modal h2{margin:0 0 4px;font-family:Georgia,serif;color:var(--gold);font-size:20px}.modal p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}.modal .grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.modal .grid div{background:#0000004d;border-radius:9px;padding:8px 10px;font-size:12px}.modal .grid b{display:block;font-size:16px;color:var(--text)}.modal button{width:100%;padding:12px;border-radius:11px;border:1px solid var(--edge);background:linear-gradient(180deg,#6a5a3a,#46381f);color:var(--gold);font-weight:700;font-size:14px}.modal .ghostbtn{background:transparent;color:var(--muted);border-color:transparent;margin-top:6px;font-size:12px}.hint{position:absolute;bottom:calc(var(--safe-b) + 82px);left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--edge-hot);border-radius:10px;padding:8px 14px;font-size:12.5px;white-space:nowrap;box-shadow:0 6px 20px #00000080;display:flex;align-items:center;gap:10px}.hint b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffffff1f;color:var(--gold);font-size:11px}.hint:active{transform:translate(-50%) scale(.96)}
