:root{--bg: #12161c;--panel: #1b222b;--panel2: #232c37;--line: #2f3b48;--text: #e6e9ee;--dim: #93a1b0;--gold: #f2c94c;--good: #6fcf97;--warn: #f2994a;--bad: #eb5757;--blue: #56a3e8;--food: #9bc53d;--wood: #c08a4a;--stone: #b5b9bf;--goldres: #f2c94c}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,system-ui,sans-serif;font-size:13px}button{font:inherit;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer}button:hover:not(:disabled){border-color:var(--blue);background:#2a3644}button:disabled{opacity:.45;cursor:not-allowed}button.active{background:#2d4a66;border-color:var(--blue);color:#fff}button.danger{border-color:#6b2f2f}.hidden{display:none!important}#app{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;grid-template-rows:auto minmax(0,1fr);height:100vh}#topbar{grid-column:1 / 4;display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}#left,#right{background:var(--panel);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}#left{border-right:1px solid var(--line)}#right{border-left:1px solid var(--line)}#stage{position:relative;min-height:0;min-width:0;overflow:hidden;background:#0b0e12}#game{position:absolute;inset:0}#game canvas{display:block}.brand{font-weight:700;color:var(--gold);letter-spacing:.04em;margin-right:4px}.res{display:flex;gap:6px}.res .r{min-width:78px;padding:2px 6px;border-radius:6px;background:var(--panel2);line-height:1.15}.res .r b{font-size:14px}.res .r small{color:var(--dim);display:block;font-size:10.5px}.res .r .rate.neg{color:var(--bad)}.res .r .rate.pos{color:var(--good)}.res .r.full b{color:var(--warn)}.chip{padding:2px 7px;font-size:12px;border-radius:999px;background:var(--panel2);white-space:nowrap}.chip.warn{background:#4a2f12;color:#ffd29a}.chip.bad{background:#4d1717;color:#ffb3b3;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.6}}.group{display:flex;gap:4px;align-items:center}.spacer{flex:1}.card{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px}.card h3{margin:0 0 6px;font-size:13px;color:var(--gold);display:flex;justify-content:space-between;align-items:center}.card h3 small{color:var(--dim);font-weight:400}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px}.palette button{text-align:left;padding:4px 6px;line-height:1.2}.palette button small{display:block;color:var(--dim);font-size:10.5px}.row{display:flex;justify-content:space-between;gap:6px;align-items:center;margin:2px 0}.dim{color:var(--dim)}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.bar{height:7px;background:#0f1419;border-radius:4px;overflow:hidden;margin:3px 0}.bar>i{display:block;height:100%;background:var(--good)}.bar.hp>i{background:linear-gradient(90deg,#e05050,#6fcf97)}.bar.xp>i{background:var(--gold)}.bar.cd>i{background:var(--blue)}.list{display:flex;flex-direction:column;gap:3px}.list .item{display:flex;align-items:center;gap:6px}.list .item .grow{flex:1}.toggles{display:grid;grid-template-columns:1fr 1fr;gap:4px}.toggles button{font-size:12px}.seg{display:flex;gap:2px}.seg button{flex:1;font-size:12px;padding:3px 4px}#log{font-size:11.5px;line-height:1.35;max-height:230px;overflow-y:auto}#log div{padding:1px 0;border-bottom:1px dashed #26303b}#log .t{color:var(--dim);margin-right:4px}#log .good{color:#9ee6b8}#log .warn{color:#ffcc8a}#log .bad{color:#ff9c9c}#log .loc{cursor:pointer}#log .loc:hover{background:#26303b}#advice .item{font-size:12px;padding:3px 4px;border-left:3px solid var(--blue);background:#1d252f;border-radius:4px}#advice .item.warn{border-left-color:var(--warn)}#advice .item.bad{border-left-color:var(--bad)}#advice .item.good{border-left-color:var(--good)}#advice .item button{font-size:11px;padding:2px 6px;white-space:nowrap}.reason{color:var(--warn);font-size:11px;min-height:14px}.kbd{display:inline-block;padding:0 5px;border:1px solid var(--line);border-radius:4px;background:#0f1419;font-size:11px}#banner{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:6px 14px;background:#4d1717eb;border:1px solid var(--bad);border-radius:8px;font-weight:700;pointer-events:none}#hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:4px 10px;background:#0f1419d9;border-radius:6px;color:var(--dim);font-size:12px;pointer-events:none;white-space:nowrap}#modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10}#modal .box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 22px;max-width:640px;max-height:86vh;overflow-y:auto}#modal h2{margin-top:0;color:var(--gold)}#modal table{border-collapse:collapse}#modal td{padding:2px 10px 2px 0}#modal .actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
