:root{color-scheme:dark;--bg:#08121c;--panel:#142332;--line:#294252;--text:#e6f2f4;--muted:#8ca7b3;--mint:#4bd5bc;--gold:#e3bf77;--red:#ed7a80}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% -5%,#1b3845 0,transparent 45%),var(--bg);color:var(--text);font:14px/1.55 system-ui,'Noto Sans TC',sans-serif}button,input{font:inherit}button{color:#eaf5f7;background:#1d384a;border:1px solid #3b596a;border-radius:8px;padding:8px 10px;cursor:pointer;transition:.15s}button:hover:not(:disabled){border-color:#65c7ba;background:#254957}button:disabled{opacity:.35;cursor:not-allowed}.primary{background:#146c63;border-color:#329b8c}.goldbtn{color:#f5dfad;background:#544029;border-color:#937340}.danger{color:#ef9b9c}.quiet{background:transparent}.wide{width:100%}.smallbtn{font-size:12px}.top{max-width:1380px;margin:auto;padding:24px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--mint);font-weight:700}.top h1{font-size:25px;letter-spacing:1.5px;margin:3px 0}.top h1 span{color:#829da8;font-weight:400}.topright{display:flex;align-items:center;gap:10px}.status{color:#a5bec5;font-size:12px}.layout{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:255px minmax(380px,1fr) 340px;gap:14px;padding:0 24px}.panel{background:linear-gradient(150deg,#172837,#111d2b);border:1px solid var(--line);border-radius:13px;padding:17px;min-width:0;box-shadow:0 12px 30px #0002}.panel h2,.loghead h2{font-size:11px;letter-spacing:1.8px;color:#7bb5bb;margin:0 0 13px}.panel h2 span,.loghead h2 span{color:#91aab3;letter-spacing:0;margin-left:6px}.divider{height:1px;background:#2a4050;margin:17px 0}.hero{background:linear-gradient(140deg,#22434a,#152938);border:1px solid #346069;border-radius:10px;padding:16px;margin:4px 0 16px}.hero strong{display:block;font-size:22px}.muted,.note{color:var(--muted);font-size:12px}.tiny{color:#9bb1bb;font-size:11px}.meterline{display:flex;justify-content:space-between;color:#b5c6cc;font-size:11px}.bar{height:8px;background:#30424f;border-radius:30px;overflow:hidden;margin:5px 0 10px}.bar i{display:block;height:100%;background:#51c9ac;transition:width .2s}.bar.red i{background:var(--red)}.bar.blue i{background:#70a8ee}.bar.gold i{background:var(--gold)}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.numbers div{border:1px solid #304958;border-radius:8px;padding:8px}.numbers b{display:block;font-size:17px}.statrow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29404c;padding:5px 0}.statrow button{padding:1px 8px}.subactions{display:flex;gap:5px;margin-top:10px}.subactions button{flex:1;font-size:11px}.character .quiet{margin-top:10px;font-size:11px}.area{background:linear-gradient(140deg,#344944,#1d3440);border:1px solid #4b665f;border-radius:11px;padding:22px;min-height:177px;position:relative;overflow:hidden}.area:after{content:'';position:absolute;right:-60px;bottom:-120px;width:280px;height:280px;border:1px solid #a4b18e22;border-radius:45%;box-shadow:0 0 0 40px #bdb88a0b,0 0 0 85px #bdb88a0a;transform:rotate(35deg)}.area h2{color:white;font-size:28px;letter-spacing:0;margin:4px 0 8px}.area p{position:relative;z-index:1;color:#cbd5d3;max-width:470px;margin:0 0 10px}.chips{display:flex;gap:6px}.chips span{font-size:10px;border:1px solid #638074;border-radius:30px;padding:2px 8px;color:#d0dfd4}.encounter{border:1px solid #634553;background:#302430;border-radius:10px;padding:14px;margin-top:12px}.enemyname{display:flex;justify-content:space-between;align-items:center}.enemyname b{font-size:17px}.pet-status{border:1px solid #38574d;background:#152e2b;border-radius:10px;padding:11px 13px;margin-top:8px;min-height:48px}.actiongrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 18px}.actiongrid button{font-size:12px}.loghead{display:flex;justify-content:space-between;align-items:center}.loghead span{font-size:11px;color:#7897a4}.log{height:278px;overflow:auto;background:#0b1824;border:1px solid #294150;padding:11px;border-radius:9px;font:12px/1.8 ui-monospace,Consolas,monospace}.logline{border-bottom:1px solid #1b2c39;padding:2px 0}.logline.good{color:#78ddb4}.logline.bad{color:#f29b9f}.logline.rare{color:#e9c67e}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:13px}.tabs button{font-size:11px;padding:7px 8px}.tabs .active{background:#1d6c64;border-color:#50b7a5}.item{border:1px solid #2b4451;background:#142938;border-radius:9px;padding:10px;margin-bottom:7px}.itemhead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.item b{font-size:13px}.item button{font-size:11px;padding:5px 7px}.item p{font-size:11px;color:#9eb5be;margin:4px 0}.peticon{font-size:21px;margin-right:4px}.pill{display:inline-block;font-size:10px;border:1px solid #4a7072;padding:2px 7px;border-radius:30px;color:#a9dbd4}.rarity{color:#e8bf69}.empty{text-align:center;color:#8da7b6;padding:26px 8px}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#030811e9;padding:15px;z-index:4}.modal{width:min(550px,100%);background:#182a38;border:1px solid #52717c;border-radius:16px;padding:28px}.modal h2{font-size:25px;color:white;letter-spacing:0}.modal p{color:#aabdc4}.modal label{display:block;margin-top:11px}.modal input{width:100%;padding:10px;border:1px solid #55717a;border-radius:8px;background:#0b1925;color:white;margin:5px 0 12px}.classchoices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.classchoices button{padding:12px 7px}.classchoices button.active{background:#185c57;border-color:#5ed6be}.classchoices small{display:block;color:#a6bec2}.modal .note{font-size:11px}footer{color:#748d9d;font-size:11px;text-align:center;padding:22px}#toast{display:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#235c58;border:1px solid #62cabb;padding:9px 16px;border-radius:9px;z-index:8;max-width:90vw}@media(max-width:1100px){.layout{grid-template-columns:240px 1fr}.collection{grid-column:1/-1}}@media(max-width:700px){.layout{display:block;padding:0 12px}.panel{margin-bottom:11px}.top{padding:14px 12px}.top h1{font-size:18px}.top h1 span{display:block;font-size:13px}.status{font-size:10px}.actiongrid{grid-template-columns:1fr 1fr}.classchoices{grid-template-columns:1fr}.area{min-height:170px}}
