:root{--ink:#f4f0e9;--muted:#a8adba;--night:#090d18;--panel:#111827;--panel2:#171d2b;--red:#ef315a;--green:#49ef9b;--wine:#781d3d;--gold:#d4a85e;--line:rgba(255,255,255,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font-family:Inter,system-ui,sans-serif;min-width:320px;background-image:radial-gradient(circle at 80% 8%,rgba(120,29,61,.24),transparent 30%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}
a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,80px);border-bottom:1px solid var(--line);background:rgba(9,13,24,.86);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;font:700 15px Cinzel;color:var(--gold);box-shadow:0 0 22px rgba(212,168,94,.15)}.brand strong,.brand small{display:block}.brand strong{font:700 15px Cinzel;letter-spacing:.07em}.brand small{font-size:9px;color:var(--muted);letter-spacing:.14em;margin-top:3px}.topbar nav{display:flex;gap:28px;font-size:14px;color:var(--muted)}.topbar nav a:hover{color:var(--ink)}.token-status{font-size:11px;font-weight:700;letter-spacing:.1em;border:1px solid var(--line);padding:9px 12px;border-radius:99px;color:var(--muted)}
main{overflow:hidden}.game-shell{max-width:1260px;margin:auto;padding:clamp(52px,7vw,100px) clamp(20px,5vw,68px) 80px;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,6vw,90px);align-items:center;min-height:calc(100vh - 82px)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--red);margin:0 0 18px}.game-copy h1{font:800 clamp(58px,8vw,116px)/.82 Cinzel;margin:0;letter-spacing:-.06em}.game-copy h1 em{display:block;color:var(--red);font-style:normal}.game-copy>p:not(.eyebrow){max-width:500px;color:var(--muted);font-size:17px;line-height:1.7;margin:30px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stats div{background:rgba(17,24,39,.92);padding:14px}.stats span,.stats strong{display:block}.stats span{font-size:9px;color:var(--muted);letter-spacing:.16em;margin-bottom:6px}.stats strong{font:700 21px Cinzel}
.game-card{position:relative;min-height:650px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(23,29,43,.96),rgba(10,14,25,.98));padding:24px;display:flex;flex-direction:column;align-items:center;box-shadow:0 35px 90px rgba(0,0,0,.45);overflow:hidden}.game-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(120,29,61,.22),transparent 44%);pointer-events:none}.signal{position:relative;z-index:2;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px 16px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.16em}.signal i{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px currentColor}.signal.red{color:var(--red);border-color:rgba(239,49,90,.35)}.signal.red i{background:var(--red)}.signal.green{color:var(--green);border-color:rgba(73,239,155,.35)}.signal.green i{background:var(--green)}.character-stage{position:relative;width:100%;height:440px;display:grid;place-items:center}.character-stage img{position:relative;z-index:2;width:min(430px,100%);height:430px;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.48));transition:transform .18s ease,filter .18s ease}.character-stage img.bump{transform:scale(1.05)}.pulse{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(120,29,61,.22);filter:blur(20px)}.game-message{position:relative;z-index:2;color:var(--muted);min-height:24px;margin:2px 0 18px}.start-button,.result-actions button{position:relative;z-index:2;border:0;background:var(--red);color:#fff;font-weight:800;letter-spacing:.08em;padding:17px 28px;border-radius:10px;cursor:pointer;box-shadow:0 10px 30px rgba(239,49,90,.24)}.controls{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.controls[hidden]{display:none}.action{min-height:74px;border-radius:12px;border:1px solid var(--line);color:#fff;background:#222a3a;cursor:pointer;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px}.action.dead:hover,.action.dead:focus-visible{border-color:var(--red);background:rgba(239,49,90,.13)}.action.wake:hover,.action.wake:focus-visible{border-color:var(--green);background:rgba(73,239,155,.12)}kbd{font:700 12px Inter;border:1px solid rgba(255,255,255,.24);border-bottom-width:3px;border-radius:6px;padding:6px 8px;background:rgba(0,0,0,.25)}
.story-section{max-width:1180px;margin:80px auto 0;padding:0 clamp(20px,5vw,60px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.portrait-wrap{position:relative;border-radius:28px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.portrait-wrap:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,var(--night))}.portrait-wrap img{width:100%;display:block}.story-copy h2,.rules-section h2{font:700 clamp(34px,4.5vw,62px)/1.08 Cinzel;margin:0 0 26px}.story-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted)}blockquote{font:600 21px Cinzel;color:var(--gold);border-left:2px solid var(--gold);margin:30px 0 0;padding:10px 0 10px 22px}.rules-section{max-width:1180px;margin:160px auto 100px;padding:0 clamp(20px,5vw,60px)}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rule-grid article{border:1px solid var(--line);background:rgba(17,24,39,.72);border-radius:18px;padding:28px}.rule-grid b{font:700 13px Cinzel;color:var(--red)}.rule-grid h3{font:700 20px Cinzel;margin:24px 0 12px}.rule-grid p{font-size:14px;line-height:1.65;color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px clamp(20px,5vw,80px);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(2,4,10,.82);backdrop-filter:blur(8px)}.result-card{position:relative;text-align:center;padding:46px 34px;background:linear-gradient(150deg,var(--panel2),#0c111e);border:1px solid var(--line);border-radius:22px}.close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--muted);font-size:30px;cursor:pointer}.final-score{display:block;font:800 74px Cinzel;color:var(--red);margin:18px 0}.result-card h2{font:700 29px Cinzel;margin:0}.result-card p:not(.eyebrow){color:var(--muted)}.result-actions{display:flex;gap:10px;justify-content:center;margin-top:28px}.result-actions .secondary{background:#242c3d;box-shadow:none}
@media(max-width:850px){.topbar nav{display:none}.token-status{display:none}.game-shell{grid-template-columns:1fr;padding-top:46px}.game-copy{text-align:center}.game-copy>p:not(.eyebrow){margin:24px auto}.game-copy h1{font-size:clamp(58px,18vw,100px)}.game-card{min-height:610px}.story-section{grid-template-columns:1fr;gap:35px}.portrait-wrap{max-width:560px;margin:auto}.rule-grid{grid-template-columns:1fr}.rules-section{margin-top:100px}footer{flex-direction:column}}
@media(max-width:500px){.topbar{height:68px}.brand small{display:none}.brand-mark{width:38px;height:38px}.game-shell{min-height:auto;padding-inline:14px}.stats{grid-template-columns:1fr 1fr}.game-card{padding:18px 12px;min-height:570px;border-radius:20px}.character-stage{height:360px}.character-stage img{height:360px}.action{font-size:12px;min-height:68px}.story-section,.rules-section{padding-inline:18px}footer{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.how-to{max-width:520px;border-left:2px solid var(--gold);background:rgba(17,24,39,.72);padding:16px 18px;margin:0 0 24px;display:grid;gap:9px;font-size:14px}.how-to>strong{font:700 12px Cinzel;color:var(--gold);letter-spacing:.12em}.how-to span{display:flex;align-items:center;gap:9px}.how-to small{color:var(--muted);line-height:1.45}.red-dot,.green-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.red-dot{background:var(--red)}.green-dot{background:var(--green)}.player-entry{position:relative;z-index:2;width:min(330px,100%);margin:0 0 12px}.player-entry label{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}.player-entry input{width:100%;border:1px solid var(--line);background:#0b101d;color:var(--ink);border-radius:9px;padding:13px 14px;font:600 15px Inter}.leaderboard-section{max-width:1060px;margin:70px auto 130px;padding:0 clamp(20px,5vw,60px)}.board-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.board-heading h2{font:700 clamp(32px,4vw,52px) Cinzel;margin:0}.board-tabs{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px}.board-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:7px;font-weight:700}.board-tabs button.active{background:var(--wine);color:#fff}.leaderboard-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.leaderboard-list li{display:grid;grid-template-columns:55px 1fr auto;gap:14px;align-items:center;padding:16px 20px;background:rgba(17,24,39,.8);border-bottom:1px solid var(--line)}.leaderboard-list li:last-child{border-bottom:0}.board-rank{font:700 15px Cinzel;color:var(--gold)}.board-name{font-weight:700}.board-date{display:block;font-size:11px;color:var(--muted);margin-top:3px}.board-score{font:700 20px Cinzel;color:var(--green)}.leaderboard-list .board-empty{display:block;text-align:center;color:var(--muted);padding:28px}.submit-status{min-height:18px;font-size:13px;color:var(--green)!important}@media(max-width:500px){.board-heading{align-items:start;flex-direction:column}.leaderboard-list li{grid-template-columns:38px 1fr auto;padding:14px 12px}}
