:root{--cab: #0e1a1c;--panel: #152428;--amber: #e0b84a;--cyan: #3ec8c0;--ivory: #e8f0e8;--muted: #8aa8a4;--line: rgba(62, 200, 192, .25)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(ellipse at 20% 0%,rgba(224,184,74,.12),transparent 40%),linear-gradient(180deg,#102226,var(--cab));color:var(--ivory);font-family:Hiragino Sans,Noto Sans CJK JP,Yu Gothic,sans-serif}#app{max-width:1180px;margin:0 auto;padding:18px 16px 28px}.top{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.eyebrow{margin:0 0 4px;letter-spacing:.2em;font-size:11px;color:var(--amber)}h1{margin:0;font-family:Shippori Mincho,Yu Mincho,serif;font-size:clamp(24px,4vw,34px)}.lede{margin:6px 0 0;color:var(--muted);font-size:13px}.purse{display:flex;align-items:baseline;gap:8px;border:1px solid var(--line);padding:8px 14px;background:#152428d9}#points{font-size:34px;line-height:1;color:var(--amber)}.layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px}.cabinet{background:#0a1416;border:8px solid #2a3a3c;box-shadow:inset 0 0 40px #3ec8c014}#shelf{width:100%;display:block;background:#123038;cursor:crosshair}.status{color:var(--muted);font-size:13px;min-height:2.4em}.hint{color:var(--cyan);font-size:12px}.shop{border:1px solid var(--line);background:#152428cc;padding:14px}.shop h2{margin:0;font-family:Shippori Mincho,serif}.shop-lead,.blurb{color:var(--muted);font-size:13px}.cards{display:grid;gap:10px;margin-top:12px}.card{border:1px solid var(--line);padding:10px;background:#08101280}.card header{display:flex;justify-content:space-between}.card h3{margin:0;font-size:15px}.lv{color:var(--amber);font-size:12px}.card button,.ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;cursor:pointer;border:1px solid #3ec8c0;background:#3ec8c01a;color:var(--ivory);padding:8px 10px}.card button{width:100%}.card button:disabled,.ghost:disabled{opacity:.4;cursor:not-allowed}.shop-foot{display:flex;gap:8px;margin-top:12px}.ghost{flex:1}@media(max-width:860px){.layout{grid-template-columns:1fr}}
