:root{color-scheme:dark;--ink: #fff6e8;--soft: rgba(255, 246, 232, .76);--muted: rgba(255, 246, 232, .56);--dim: rgba(255, 246, 232, .38);--night: #050409;--plum: #1b1022;--gold: #ffe09a;--amber: #ffae66;--mint: #a4e9c8;--blue: #a9ccff;--card: #fff2d1;--card-ink: #211326;--line: rgba(255, 246, 232, .14);--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Inter, system-ui, sans-serif;--serif: ui-serif, Georgia, "Times New Roman", serif;--rounded: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", var(--sans)}*{box-sizing:border-box}html{min-height:100%;background:var(--night)}body{min-height:100svh;margin:0;color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at 18% 8%,rgba(157,63,99,.35),transparent 30rem),radial-gradient(circle at 82% 0%,rgba(169,204,255,.18),transparent 26rem),radial-gradient(circle at 50% 100%,rgba(255,174,102,.16),transparent 34rem),linear-gradient(135deg,#050409,#120e19 46%,#211326);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.42;background-image:radial-gradient(circle at 16% 18%,rgba(255,224,154,.66) 0 1px,transparent 1.7px),radial-gradient(circle at 42% 10%,rgba(255,246,232,.45) 0 1px,transparent 1.7px),radial-gradient(circle at 76% 18%,rgba(164,233,200,.52) 0 1px,transparent 1.7px),radial-gradient(circle at 88% 62%,rgba(255,224,154,.42) 0 1px,transparent 1.8px),radial-gradient(circle at 20% 86%,rgba(169,204,255,.38) 0 1px,transparent 1.8px);background-size:270px 240px,340px 280px,300px 320px,420px 360px,360px 260px}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}a{color:inherit}.app{position:relative;z-index:1;width:min(1180px,100%);min-height:100svh;margin:0 auto;padding:clamp(16px,3vw,36px);display:grid;grid-template-rows:auto 1fr;gap:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:-.01em}.sparkle-icon{display:block;width:1em;height:1em;color:currentColor;flex:0 0 auto}.sparkle-icon path{fill:currentColor}.mark{position:relative;width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,224,154,.24);border-radius:14px;color:var(--gold);background:#211a31;box-shadow:inset 0 0 0 1px #ffffff0f}.mark:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(206,184,240,.26);border-radius:50%}.mark .sparkle-icon{position:relative;z-index:1;width:25px;height:25px;filter:drop-shadow(0 0 10px rgba(255,224,154,.24))}.top-actions{display:flex;align-items:center;gap:10px}.small-link,.small-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;color:#fff6e8b8;text-decoration:none;background:#ffffff0b;border:1px solid rgba(255,246,232,.12);cursor:pointer;font-size:13px;font-weight:850}.subtle-reset{color:#fff6e885;background:transparent;border-color:#fff6e814}[hidden]{display:none!important}.game-layout{display:grid;grid-template-columns:minmax(290px,390px) 1fr;align-items:stretch;gap:clamp(16px,3vw,28px);transition:grid-template-columns .28s ease}.game-layout[data-setup=collapsed]{grid-template-columns:minmax(0,1fr)}.game-layout[data-setup=collapsed] .panel{display:none}.panel,.stage-card{border:1px solid rgba(255,246,232,.13);background:#ffffff0e;border-radius:32px;box-shadow:0 24px 80px #00000040,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:20px;display:grid;gap:20px;align-content:start}.setup-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:-2px}.setup-head .section-label{margin:0}.setup-collapse,.setup-open{min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,246,232,.12);border-radius:999px;color:#fff6e8ad;background:#ffffff0b;padding:0 12px;cursor:pointer;font-size:12px;font-weight:880;white-space:nowrap}.setup-collapse{width:36px;padding:0;font-size:17px;line-height:1}.setup-open{min-height:42px;padding:0 14px}.panel h1{margin:0 0 14px;font-family:var(--serif);font-size:clamp(42px,5.6vw,62px);line-height:.9;letter-spacing:-.065em;text-wrap:balance}.panel .intro{margin:0;max-width:none;color:var(--soft);font-size:15.5px;line-height:1.5}.empty-table{color:#fff6e880;font-size:14px;line-height:1.35}.section-label{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.add-row{display:grid;grid-template-columns:1fr auto;gap:8px}input{min-height:48px;width:100%;border:1px solid rgba(255,246,232,.14);border-radius:999px;color:var(--ink);background:#05040952;padding:0 15px;outline:none}input:focus{border-color:#a9ccff9e;box-shadow:0 0 0 4px #a9ccff1f}.add-button,.primary-button,.ghost-button{min-height:48px;border:0;border-radius:999px;cursor:pointer;font-weight:940}.add-button,.primary-button{color:#211326;background:linear-gradient(135deg,#ffe4a0,#f5ad66 65%,#ef816e);box-shadow:0 14px 32px #ffae6629,inset 0 1px #ffffffad}.add-button{padding:0 17px}.primary-button{width:100%;min-height:64px;border-radius:23px;font-size:17px}.ghost-button{color:#fff6e8cc;background:#ffffff0e;border:1px solid rgba(255,246,232,.13);padding:0 16px}.player-list{display:flex;flex-wrap:wrap;gap:8px}.player-chip{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,224,154,.7);border-radius:999px;padding:0 10px 0 14px;color:#211326;background:linear-gradient(135deg,#ffe7ad,#f6c57b);font-weight:850}.remove{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:0;background:#00000024;color:currentColor;cursor:pointer;font-size:12px}.remove:hover{background:#00000038}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-button{min-height:48px;border:1px solid rgba(255,246,232,.12);border-radius:17px;color:#fff6e8a8;background:#ffffff0b;cursor:pointer;font-weight:900}.mode-button[data-active=true]{color:var(--ink);background:linear-gradient(135deg,#a9ccff42,#a4e9c829);border-color:#a9ccff5c}.stage-card{position:relative;overflow:hidden;min-height:720px;padding:clamp(20px,4vw,42px);display:grid;grid-template-rows:auto 1fr auto;gap:20px;background:radial-gradient(circle at 28% 10%,rgba(255,224,154,.16),transparent 34%),radial-gradient(circle at 88% 0%,rgba(169,204,255,.12),transparent 34%),linear-gradient(180deg,#191224eb,#08070ef5 72%,#050409fa)}.stage-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(circle at 50% 42%,rgba(0,0,0,.7),transparent 72%);mask-image:radial-gradient(circle at 50% 42%,rgba(0,0,0,.7),transparent 72%);pointer-events:none}.stage-head,.stage-body,.stage-controls{position:relative;z-index:1}.stage-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.status-label{color:var(--gold);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.status-text{margin-top:6px;color:var(--soft);font-size:18px;font-weight:820}.turn-pill{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;color:#fff6e8b8;border:1px solid rgba(255,246,232,.12);background:#ffffff0b;font-size:13px;font-weight:850}.stage-body{display:grid;place-items:center;position:relative;min-height:440px}.orbit{position:absolute;width:min(74vw,430px);height:min(74vw,430px);max-width:430px;max-height:430px;border:1px solid rgba(255,224,154,.13);border-radius:50%;opacity:.82;transition:transform .55s ease,opacity .35s ease}.orbit:before,.orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 26px #ffe09aa6}.orbit:before{top:36px;left:106px}.orbit:after{right:42px;bottom:92px;background:var(--mint);box-shadow:0 0 26px #a4e9c88c}.deck-stack{position:relative;width:min(58vw,280px);height:min(76vw,366px);max-width:280px;max-height:366px;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .35s ease,opacity .35s ease}.deck-card{position:absolute;inset:0;border:1px solid rgba(255,224,154,.38);border-radius:32px;background:radial-gradient(circle at 50% 24%,rgba(255,224,154,.38),transparent 23%),linear-gradient(145deg,#332044,#160f22 56%,#291832);box-shadow:0 24px 70px #0000006b,inset 0 0 0 1px #ffffff1a}.deck-card:nth-child(1){transform:rotate(-9deg) translate(-16px,14px);opacity:.48}.deck-card:nth-child(2){transform:rotate(7deg) translate(15px,9px);opacity:.62}.deck-card.front{display:grid;place-items:center;overflow:hidden}.deck-card.front:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,224,154,.34);border-radius:24px;background:radial-gradient(circle at 50% 50%,transparent 0 48px,rgba(255,224,154,.16) 49px 50px,transparent 51px),radial-gradient(circle at 50% 50%,transparent 0 82px,rgba(164,233,200,.1) 83px 84px,transparent 85px),linear-gradient(90deg,transparent 49%,rgba(255,224,154,.19) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(255,224,154,.13) 50%,transparent 51%);background-size:auto,auto,62px 62px,62px 62px}.sigil{position:relative;z-index:1;width:138px;height:138px;display:grid;place-items:center;border:1px solid rgba(255,224,154,.42);border-radius:50%;color:var(--gold);font-family:var(--serif);font-size:58px;background:#ffe09a0e;box-shadow:inset 0 0 38px #ffe09a0f,0 0 34px #ffe09a21}.sigil:before,.sigil:after{content:"";position:absolute;inset:20px;border:1px solid rgba(169,204,255,.28);transform:rotate(45deg)}.sigil:after{inset:38px;border-color:#a4e9c83d;transform:rotate(0);border-radius:50%}.sigil .sparkle-icon{position:relative;z-index:1;width:62px;height:62px;color:var(--gold);filter:drop-shadow(0 0 20px rgba(255,224,154,.34))}.reveal-card{position:absolute;width:min(100%,460px);min-height:450px;padding:clamp(24px,4vw,36px);display:grid;grid-template-rows:auto 1fr auto;gap:18px;border-radius:34px;color:var(--card-ink);background:radial-gradient(circle at 82% 10%,rgba(255,224,154,.6),transparent 30%),radial-gradient(circle at 12% 82%,rgba(157,63,99,.13),transparent 36%),linear-gradient(180deg,#fff8e8,#f5deb1);border:1px solid rgba(255,255,255,.74);box-shadow:0 34px 94px #00000080,inset 0 0 0 1px #6f462221;opacity:0;pointer-events:none;transform:translateY(20px) scale(.94) rotate(2deg);transition:opacity .55s ease,transform .75s cubic-bezier(.2,.9,.2,1)}.card-top{display:flex;justify-content:space-between;gap:12px;color:#21132694;font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.chosen{font-family:var(--rounded);font-size:clamp(24px,4vw,34px);font-weight:960;color:#5a2549}.question{margin:10px 0 0;font-family:var(--serif);font-size:clamp(36px,5.4vw,58px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}.card-bottom{color:#21132694;line-height:1.35}.stage-card[data-state=choosing] .orbit{animation:orbitSpin 1.15s linear infinite}.stage-card[data-state=choosing] .deck-stack{transform:scale(.98) rotate(-2deg);filter:brightness(1.14)}.stage-card[data-state=drawing] .orbit{animation:orbitSpin .58s linear infinite;transform:scale(1.08)}.stage-card[data-state=drawing] .deck-stack{transform:translateY(-9px) rotate(5deg) scale(1.04);filter:brightness(1.18)}.stage-card[data-state=revealed] .deck-stack{transform:translateY(-30px) scale(.8) rotate(-8deg);filter:blur(1px) brightness(.7);opacity:.76}.stage-card[data-state=revealed] .reveal-card{opacity:1;pointer-events:auto;transform:translateY(0) scale(1) rotate(-1deg)}.stage-card[data-state=revealed] .orbit{transform:scale(.9);opacity:.3}.stage-controls{display:grid;gap:12px}.control-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.control-row .ghost-button{display:inline-flex;align-items:center;gap:8px}.sound-icon{width:18px;height:18px;flex:0 0 auto}.hint{min-height:20px;color:#fff6e88a;text-align:center;font-size:13px}.toast{min-height:20px;color:var(--gold);text-align:center;font-size:13px;font-weight:800}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(169,204,255,.88);outline-offset:4px}@keyframes orbitSpin{to{transform:rotate(360deg)}}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.stage-card{min-height:680px}.panel h1{max-width:9ch}}@media(max-width:560px){.app{padding:14px}.topbar{align-items:flex-start}.small-link{display:none}.panel,.stage-card{border-radius:26px}.panel{padding:17px}.panel h1{font-size:44px;margin-bottom:12px}.setup-head{grid-template-columns:1fr}.stage-card{padding:18px;min-height:650px}.stage-head{flex-direction:column}.turn-pill{align-self:flex-start}.stage-body{min-height:400px}.reveal-card{min-height:410px}.mode-grid{grid-template-columns:repeat(4,1fr)}.mode-button{min-height:42px;font-size:12px;border-radius:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app.app{box-sizing:border-box}.sparkle-icon[src]{object-fit:contain}.primary-button:disabled{cursor:not-allowed;opacity:.58}
