:root{--ink:#e8e2d0;--panel:#16131cee;--panel-edge:#4a3f5c;--accent:#d8a657;--danger:#c4553f}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#07060a;margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;overflow:hidden}#stage{place-items:center;width:100vw;height:100vh;display:grid;position:relative}#game{image-rendering:pixelated;aspect-ratio:16/9;background:#0d0b12;width:100%;max-width:100vw;max-height:100vh;box-shadow:inset 0 0 60px #000}#overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}#overlay>*{pointer-events:auto}.panel{background:var(--panel);border:2px solid var(--panel-edge);border-radius:10px;max-width:min(760px,86vw);max-height:80vh;padding:20px 26px;overflow-y:auto;box-shadow:0 18px 60px #000a}.panel h1{color:var(--accent);letter-spacing:1px;margin:0 0 4px;font-size:26px}.panel h2{color:var(--accent);margin:18px 0 6px;font-size:17px}.panel p,.panel li{font-size:14px;line-height:1.5}.panel .hint{opacity:.6;margin-top:16px;font-size:12px}.panel .dead{color:var(--danger)}.panel .lead{color:var(--accent);letter-spacing:.4px;margin:0 0 12px;font-size:15px}.intro{align-items:center;gap:16px;margin:0 0 12px;display:flex}.intro .mark{flex:none;width:68px;height:68px}.intro .lead{margin:0}.entry{border-left:3px solid var(--panel-edge);margin:10px 0;padding:4px 0 4px 12px}.entry strong{color:var(--ink)}.entry .meta{opacity:.65;font-size:12px}.entry.locked{opacity:.4}.rows{gap:8px;margin-top:10px;display:grid}.row{border:1px solid var(--panel-edge);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;font-size:14px;display:flex}.row .key{border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:1px 7px;font-size:12px}.row.unavailable{opacity:.45}.row.clickable{cursor:pointer;border-color:var(--accent);transition:background .12s,transform .12s}.row.clickable:hover{background:#d8a6571f;transform:translate(2px)}.row.clickable:active{transform:translate(0)scale(.995)}.actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.panel button{font:inherit;color:var(--ink);border:1px solid var(--accent);cursor:pointer;background:#2a2333;border-radius:6px;padding:8px 18px;font-size:14px}.panel button:hover{background:#3a3145}.panel button:active{transform:scale(.98)}.stalled{border:1px dashed var(--danger);color:#e8c9c0;background:#c4553f14;border-radius:6px;margin:12px 0;padding:10px 14px;font-size:13px;line-height:1.5}.stalled strong{color:var(--danger)}.panel h2 .track-name{color:var(--ink);opacity:.75;letter-spacing:0;font-size:14px;font-weight:400}.panel h2 .track-name:before{content:"— ";opacity:.5}.panel .greeting{opacity:.85;margin:0 0 12px;font-style:italic}.panel .track-pitch{opacity:.7;margin:0;font-size:13px}.purse{border:1px solid var(--panel-edge);border-radius:6px;gap:22px;padding:8px 14px;font-size:13px;display:flex}.purse strong{color:var(--accent);margin-left:4px}.cards{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;margin:18px 0 4px;display:grid}.cards.wrap{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-flow:row;gap:14px 10px}.panel[data-menu=bestiary] .cards.wrap{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:720px){.panel[data-menu=bestiary] .cards.wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{border:1px solid var(--panel-edge);background:#ffffff08;border-radius:8px;flex-direction:column;gap:8px;padding:12px 12px 10px;display:flex;position:relative}.card-art{place-items:center;height:46px;display:grid}.card-art img{image-rendering:pixelated;width:40px;height:40px}.card.portrait .card-art{align-items:end;height:108px}.card.portrait .card-art img{width:auto;max-width:100%;height:auto;max-height:104px}.card-title{color:var(--accent);font-size:14px;font-weight:700;line-height:1.2}.card-sub{opacity:.65;margin-top:-4px;font-size:11.5px;line-height:1.3}.card-gains{text-align:center;flex:1;gap:3px;margin:0;padding:0;font-size:12px;line-height:1.35;list-style:none;display:grid}.card.titled .card-gains{text-align:left;align-content:start}.card.titled{gap:6px}.card-foot{border-top:1px solid var(--panel-edge);justify-content:space-between;align-items:baseline;gap:8px;padding-top:7px;font-size:12px;display:flex}.card-step{letter-spacing:.4px;font-weight:700}.card-cost{color:var(--accent);white-space:nowrap}.card-note{border-top:1px solid var(--panel-edge);opacity:.72;padding-top:7px;font-size:11.5px;line-height:1.45}.card-badge{letter-spacing:.5px;background:var(--panel);border:1px solid var(--panel-edge);white-space:nowrap;border-radius:4px;padding:1px 8px;font-size:11px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.card-badge.buy{border-color:var(--accent);color:var(--accent)}.card-badge .key{border:1px solid var(--accent);color:var(--accent);border-radius:3px;margin-left:4px;padding:0 5px}.card.owned{background:#9dc27a12;border-color:#6f7f5e}.card.barred{opacity:.38}.card.barred .card-art img{filter:grayscale()}.card.barred.portrait{opacity:.62}.card.barred.portrait .card-art img{filter:none}.card.offered{border-color:var(--accent);cursor:pointer;background:#d8a65714;transition:background .12s,transform .12s}.card.offered:hover{background:#d8a6572e;transform:translateY(-2px)}.card.offered:active{transform:translateY(0)scale(.995)}.panel .entry .actions{justify-content:flex-start;margin-top:8px}.panel .entry .actions button{padding:6px 14px;font-size:13px}.panel .entry .meta+.meta{margin-top:-6px}.panel .entry.locked{opacity:.55}.panel .entry.locked button{opacity:1}.panel .entry .rows{margin:10px 0}.panel .entry .row span .meta{margin-top:3px;line-height:1.4;display:block}.panel .hint.dead{opacity:.85}
