:root{
  --ink:#0c0b0d;--rose:#c7a39d;--rose2:#9a746f;--plum:#6f5661;--cream:#f8f4ef;--panel:#21191e;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#171216;color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overflow-x:hidden;background:radial-gradient(circle at 18% 5%,rgba(199,163,157,.18),transparent 28%),radial-gradient(circle at 82% 0%,rgba(111,86,97,.24),transparent 30%),#171216}
button{font:inherit;-webkit-tap-highlight-color:transparent}.shell{min-height:100vh;padding:28px;display:grid;place-items:center}
.game-card{width:min(1180px,100%);background:#21191e;border:1px solid rgba(248,244,239,.1);box-shadow:0 35px 90px rgba(0,0,0,.48);overflow:hidden;position:relative}
.game-card:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--rose),var(--plum),var(--rose2))}
.topbar,.hud,.footer{display:flex;align-items:center;justify-content:space-between}.topbar{padding:20px 24px;border-bottom:1px solid rgba(248,244,239,.1)}
.brand{display:flex;align-items:center;gap:14px}.brand h1{font-size:23px;line-height:1;margin:4px 0 0;letter-spacing:.03em}.eyebrow,.mini-kicker,.hud span,.footer,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}.eyebrow{font-size:10px;opacity:.58}
.brand-mark{width:34px;height:42px;position:relative;transform:skewY(-2deg)}.brand-mark span{position:absolute;inset:2px 5px;background:linear-gradient(145deg,#8e6f78,#513c46);clip-path:polygon(47% 0,82% 24%,100% 66%,54% 100%,0 65%,22% 29%)}.brand-mark i{position:absolute;left:16px;top:1px;width:1.5px;height:38px;background:#eee5e2;transform:rotate(-13deg);box-shadow:8px 18px 0 -.4px #eee5e2}
.top-actions{display:flex;gap:8px}.icon-btn,.close{height:38px;min-width:38px;border:1px solid rgba(248,244,239,.18);background:transparent;color:var(--cream);cursor:pointer;transition:transform .18s,background .18s,border-color .18s}.icon-btn{width:38px}.wide-btn{width:auto;padding:0 12px;font:700 9px ui-monospace,monospace;letter-spacing:.12em}.icon-btn:hover,.close:hover{background:rgba(248,244,239,.08);transform:translateY(-1px)}.icon-btn.active{background:rgba(248,244,239,.1);border-color:rgba(248,244,239,.35)}
.hud{gap:18px;padding:11px 24px;border-bottom:1px solid rgba(248,244,239,.08);background:rgba(0,0,0,.08)}.stat{display:flex;align-items:baseline;gap:8px}.stat span,.signal{font-size:9px;opacity:.56}.stat strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.signal{margin-left:auto;display:flex;align-items:center;gap:8px}.signal-dot{width:7px;height:7px;border-radius:50%;background:#c2d6b9;box-shadow:0 0 0 5px rgba(194,214,185,.07);animation:signalPulse 2.1s infinite}
@keyframes signalPulse{50%{box-shadow:0 0 0 10px rgba(194,214,185,0)}}
.stage-wrap{position:relative;aspect-ratio:16/9;background:#20181d;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.scanlines{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(255,255,255,.012) 4px);mix-blend-mode:screen}
.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:rgba(19,14,17,.36);backdrop-filter:blur(0);opacity:0;visibility:hidden;transition:opacity .22s,backdrop-filter .22s;z-index:8}.overlay.visible{opacity:1;visibility:visible;backdrop-filter:blur(3px)}
.panel{width:min(470px,92%);padding:32px;background:rgba(31,23,28,.94);border:1px solid rgba(248,244,239,.16);box-shadow:0 26px 70px rgba(0,0,0,.42);position:relative;transform:translateY(8px) scale(.985);transition:transform .25s cubic-bezier(.2,.75,.25,1)}.overlay.visible .panel{transform:none}.panel:before{content:"";position:absolute;left:-1px;top:-1px;width:72px;height:3px;background:var(--rose)}.panel h2{font-size:42px;line-height:.98;margin:12px 0 16px;letter-spacing:-.04em}.panel p{margin:0 0 24px;color:rgba(248,244,239,.67);line-height:1.55}.mini-kicker{font-size:10px;color:#cdb5b0}.danger{color:#e0a49d}
.primary,.secondary{border:0;cursor:pointer;letter-spacing:.06em;font-weight:800}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--cream);color:#1d171b;transition:transform .18s,background .18s}.primary:hover{background:#fff;transform:translateY(-1px)}.secondary{padding:12px 16px;background:transparent;color:var(--cream);border:1px solid rgba(248,244,239,.22)}.full-secondary{width:100%;margin-top:8px}.controls{margin-top:16px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;color:rgba(248,244,239,.47)}kbd{padding:4px 7px;border:1px solid rgba(248,244,239,.18);background:rgba(255,255,255,.04);font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff}
.results{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(248,244,239,.1);margin:18px 0 18px}.results div{padding:16px;background:#251b21}.results span{display:block;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;opacity:.5;margin-bottom:5px}.results strong{font-size:28px}.help-panel ul{margin:0 0 22px;padding-left:20px;color:rgba(248,244,239,.72);line-height:1.65}.help-panel h2,.shop-panel h2{font-size:34px}.close{position:absolute;right:14px;top:14px;font-size:22px;width:38px;background:transparent}
.footer{padding:12px 24px;border-top:1px solid rgba(248,244,239,.08);font-size:9px;opacity:.42}.mono{font-size:9px}
.intro-emblem{width:84px;height:84px;position:relative;margin:0 auto 20px}.intro-ring{position:absolute;inset:0;border:1px solid rgba(240,219,207,.22);border-radius:50%;animation:ringSpin 9s linear infinite}.intro-ring:before,.intro-ring:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#d3aaa4;top:7px;left:39px;box-shadow:0 66px 0 #7f636d}.intro-diamond{position:absolute;inset:19px;background:linear-gradient(145deg,#896b75,#4b3941);clip-path:polygon(50% 0,86% 30%,100% 68%,53% 100%,0 68%,17% 29%);animation:diamondFloat 2.6s ease-in-out infinite}.intro-diamond:after{content:"";position:absolute;left:49%;top:0;width:2px;height:100%;background:rgba(245,231,226,.7);transform:rotate(-11deg)}.intro-pulse{position:absolute;inset:23px;border:1px solid rgba(211,170,164,.32);border-radius:50%;animation:introPulse 2s ease-out infinite}
@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes diamondFloat{50%{transform:translateY(-5px) rotate(1deg)}}@keyframes introPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.audio-status{text-align:center;margin-top:12px;font:8px ui-monospace,monospace;letter-spacing:.1em;color:rgba(248,244,239,.34)}
.game-flash{position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(circle,rgba(231,180,169,.14),rgba(70,37,46,.55));opacity:0}.game-flash.boom{animation:boom .42s ease-out}@keyframes boom{0%{opacity:.9}100%{opacity:0}}
.shop-panel{width:min(620px,94%)}.shop-bank{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:0 0 16px;border:1px solid rgba(248,244,239,.11);font:9px ui-monospace,monospace;letter-spacing:.1em;color:rgba(248,244,239,.55)}.shop-bank strong{font-size:15px;color:#fff}.skin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skin-card{padding:12px 10px;border:1px solid rgba(248,244,239,.12);background:#281e24;color:#fff;cursor:pointer;text-align:left;transition:.18s}.skin-card:hover{transform:translateY(-2px);border-color:rgba(248,244,239,.3)}.skin-card.selected{outline:2px solid #d3aaa4;outline-offset:1px}.skin-card.locked{opacity:.72}.skin-preview{height:92px;display:grid;place-items:center;background:#1d171b;margin-bottom:10px;overflow:hidden;position:relative}.skin-preview:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.skin-preview img{height:78px;image-rendering:pixelated;transform:scale(1.07)}.rose-preview img{filter:hue-rotate(325deg) saturate(.9) brightness(1.17)}.void-preview img{filter:hue-rotate(255deg) saturate(.55) brightness(.75) contrast(1.2)}.skin-card b,.skin-card small{display:block}.skin-card b{font:700 10px ui-monospace,monospace;letter-spacing:.08em}.skin-card small{font:8px ui-monospace,monospace;letter-spacing:.08em;margin-top:5px;color:rgba(248,244,239,.46)}.shop-hint{margin-top:14px;font-size:11px;line-height:1.45;color:rgba(248,244,239,.45)}
.jump-btn{display:none;position:absolute;z-index:5;right:18px;bottom:18px;width:88px;height:88px;border-radius:50%;border:1px solid rgba(248,244,239,.32);background:rgba(35,24,30,.72);backdrop-filter:blur(7px);color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.25);touch-action:none}.jump-btn span,.jump-btn small{display:block}.jump-btn span{font:800 12px ui-monospace,monospace;letter-spacing:.08em}.jump-btn small{font:7px ui-monospace,monospace;opacity:.45;margin-top:4px}.jump-btn:active{transform:scale(.94);background:rgba(119,87,100,.75)}
@media(max-width:820px){.shell{padding:0}.game-card{min-height:100vh;border:0}.topbar{padding:14px}.hud{padding:9px 12px;gap:11px;overflow:auto}.signal{display:none}.stage-wrap{aspect-ratio:auto;height:min(73vh,700px)}.panel{padding:26px}.panel h2{font-size:34px}.footer{padding:12px 14px}.footer span:last-child{display:none}.brand h1{font-size:18px}.eyebrow{font-size:8px}.wide-btn{display:none}.jump-btn{display:block}.skin-grid{grid-template-columns:1fr}.shop-panel{max-height:88vh;overflow:auto}.skin-preview{height:72px}.skin-preview img{height:62px}}
@media(max-width:520px){.stat:nth-of-type(3){display:none}.panel h2{font-size:31px}.intro-emblem{width:68px;height:68px}.brand-mark{transform:scale(.9)}.top-actions{gap:6px}.icon-btn{width:34px;min-width:34px;height:34px}}
