:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172033;--ink-soft:#42526a;--muted:#64748b;--paper:#fff;--cream:#f4f7fb;--cream-deep:#e8eef6;--rose:#4f46e5;--rose-dark:#3730a3;--rose-pale:#eef2ff;--gold:#b45309;--gold-pale:#fff7ed;--green:#047857;--green-pale:#ecfdf5;--danger:#b42318;--border:#dbe3ef;--shadow:0 18px 48px #0f172a14;background:#f4f7fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:radial-gradient(circle at 8% 0%, #4f46e51a, transparent 29rem), radial-gradient(circle at 100% 28%, #06b6d414, transparent 26rem), radial-gradient(circle at 70% 100%, #f59e0b0b, transparent 25rem), var(--cream);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #4f46e55c}h1,h2,p{margin-top:0}h1,h2,strong{letter-spacing:.01em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow,.step-label{color:var(--rose);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.centered{text-align:center}.muted{color:var(--muted)}.primary-button,.secondary-button,.danger-button,.text-button,.retry-button,.reveal-actions button{border:0;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.15rem;font-weight:800;line-height:1.25;transition:transform .15s,box-shadow .15s,background-color .15s,border-color .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, #5b52ea, var(--rose-dark));box-shadow:0 9px 22px #4f46e538}.primary-button:not(:disabled):hover,.danger-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 28px #4f46e53d}.danger-button:not(:disabled):hover{box-shadow:0 12px 28px #b4231838}.secondary-button{color:var(--ink);border:1px solid var(--border);background:#ffffffeb;box-shadow:0 4px 14px #0f172a0d}.secondary-button:not(:disabled):hover{background:#f8faff;border-color:#a5b4fc}.danger-button{color:#fff;background:var(--danger);box-shadow:0 8px 18px #b423182e}.danger-button.subtle{color:var(--danger);box-shadow:none;background:#fef3f2}.text-button,.retry-button{min-height:42px;color:var(--rose-dark);text-underline-offset:.2em;background:0 0;text-decoration:underline}.link-button{text-decoration:none}.status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;min-height:29px;padding:.3rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.status-open{color:#047857;background:var(--green-pale);border-color:#a7f3d0}.status-draft,.status-loading{color:#92400e;background:var(--gold-pale);border-color:#fed7aa}.status-closed{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.status-ready,.status-presenting{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.status-finished{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.notice,.network-banner{border-radius:13px;padding:.8rem 1rem;font-size:.9rem;font-weight:700;line-height:1.55}.notice{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;margin-bottom:1rem}.network-banner{z-index:10;top:max(.5rem, env(safe-area-inset-top));color:#854d0e;background:#fefce8;border:1px solid #fde68a;margin-bottom:.65rem;position:sticky;box-shadow:0 8px 18px #78350f17}.spinner{border:3px solid #e2e8f0;border-top-color:var(--rose);border-radius:50%;width:34px;height:34px;margin:0 auto 1rem;animation:.8s linear infinite spin}.spinner.light{border-color:#67e8f9 #fff3 #fff3}@keyframes spin{to{transform:rotate(360deg)}}.guest-shell{width:min(100%,720px);min-height:100vh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));margin:0 auto}.guest-header{text-align:center;padding:1.25rem .25rem 1rem}.guest-header h1{color:var(--ink);letter-spacing:-.035em;margin-bottom:.75rem;font-family:inherit;font-size:clamp(1.65rem,8vw,2.6rem);font-weight:800;line-height:1.25}.card,.admin-card{color:var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dbe3efeb;border-radius:20px}.card{padding:clamp(1.25rem,5vw,2rem)}.card h2{letter-spacing:-.025em;margin-bottom:.7rem;font-size:clamp(1.35rem,6vw,1.85rem);font-weight:800;line-height:1.38}.card p{line-height:1.7}.card.centered{padding-top:2.5rem;padding-bottom:2.5rem}.lede{color:var(--ink-soft);margin-bottom:1.4rem}.card form,.candidate-list{gap:.85rem;display:grid}.card label,.auth-card label{font-size:.88rem;font-weight:800}.card input[type=text],.card input:not([type]),.auth-card input{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.7rem .9rem;font-size:1rem}.card input::placeholder,.auth-card input::placeholder{color:#94a3b8}.card form>.primary-button,.card>.primary-button,.card>.secondary-button,.candidate-list>.primary-button,.waiting-panel>.secondary-button,.auth-card>.primary-button{width:100%}.turnstile-wrap{place-items:center;min-height:70px;display:grid;overflow:hidden}.field-note{color:var(--muted);margin:0;font-size:.82rem}.verified-note{color:var(--green);background:var(--green-pale);border:1px solid #a7f3d0;border-radius:12px;margin:0;padding:.65rem .8rem;font-weight:800}.candidate-list{border:0;margin:1.4rem 0 0;padding:0}.candidate-list legend{color:var(--muted);margin-bottom:.7rem;font-size:.82rem;font-weight:800}.candidate{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:.8rem;min-height:64px;padding:.8rem;transition:transform .15s,border-color .15s,background-color .15s,box-shadow .15s;display:flex}.candidate:hover{border-color:#a5b4fc;transform:translateY(-1px)}.candidate:has(input:checked){border-color:var(--rose);background:var(--rose-pale);box-shadow:0 0 0 3px #4f46e51c}.candidate input{width:20px;height:20px;accent-color:var(--rose);flex:none}.candidate span{gap:.2rem;display:grid}.candidate strong{font-size:1.05rem}.candidate small{color:var(--muted)}.privacy-note{color:var(--muted);text-align:center;margin:1.35rem 0 0;font-size:.76rem}.waiting-panel{background:var(--cream);text-align:center;border:1px solid #e2e8f0;border-radius:14px;padding:1rem}.waiting-panel p{margin-bottom:.75rem}.name-confirmation{background:linear-gradient(135deg, var(--rose-pale), #ecfeff);text-align:center;border:1px solid #c7d2fe;border-radius:16px;gap:.3rem;margin:1.4rem 0;padding:1.35rem;display:grid}.name-confirmation strong{font-size:1.55rem}.name-confirmation span{color:var(--muted)}.confirmation-card>.text-button,.review-card>.text-button,.done-card>.text-button{width:100%;margin-top:.45rem}.quiz-meta{color:var(--muted);letter-spacing:.04em;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;font-size:.78rem;font-weight:800;display:flex}.progress-track{background:#e2e8f0;border-radius:999px;height:7px;margin-bottom:1.45rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--rose), #06b6d4);height:100%;transition:width .25s;display:block}.choice-list{border:0;gap:.75rem;margin:1.35rem 0 0;padding:0;display:grid}.choice{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:.85rem;min-height:62px;padding:.8rem;transition:border-color .15s,background-color .15s,transform .15s;display:flex;position:relative}.choice:hover{border-color:#a5b4fc;transform:translateY(-1px)}.choice.selected{border-color:var(--rose);background:var(--rose-pale);box-shadow:0 0 0 3px #4f46e51c}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice:focus-within{outline-offset:2px;outline:3px solid #4f46e54d}.choice-marker,.presentation-choice-marker{border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid}.choice-marker{width:34px;height:34px;color:var(--rose-dark);background:var(--rose-pale)}.choice.selected .choice-marker{color:#fff;background:var(--rose)}.save-status{min-height:44px;color:var(--muted);text-align:center;place-items:center;padding:.6rem 0;font-size:.78rem;display:grid}.retry-button{min-height:35px;color:var(--danger);padding:.35rem .6rem}.question-nav{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.question-nav .compact,.question-nav .secondary-button{width:100%}.review-link{width:100%;margin-top:.5rem}.review-list{gap:.65rem;margin:1.3rem 0;padding:0;list-style:none;display:grid}.review-list button{border:1px solid var(--border);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .8rem;padding:.8rem;transition:transform .15s,border-color .15s,background-color .15s;display:grid}.review-list button:hover{background:#f8faff;border-color:#a5b4fc;transform:translateY(-1px)}.review-list button>span{color:var(--rose-dark);grid-row:1/3;font-weight:900}.review-list button>strong,.review-list button>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.review-list button>small{color:var(--muted)}.completion-warning{color:#854d0e;background:#fefce8;border:1px solid #fde68a;border-radius:12px;padding:.8rem;font-size:.85rem}.completion-mark{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 1rem;font-size:2rem;font-weight:900;display:grid;box-shadow:0 10px 24px #0478572e}.large-icon{color:var(--gold);margin-bottom:.75rem;font-size:3.25rem;display:block}.guest-shell>footer{color:var(--muted);justify-content:space-between;padding:1.2rem .4rem 0;font-size:.72rem;display:flex}.guest-shell>footer a{color:inherit;text-underline-offset:.2em}.admin-shell{width:min(100%,1240px);min-height:100vh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));margin:0 auto}.admin-shell.narrow{align-items:center;width:min(100%,520px);display:grid}.admin-header{flex-direction:column;gap:1rem;padding:1rem 0 1.25rem;display:flex}.admin-header h1{letter-spacing:-.035em;margin-bottom:0;font-family:inherit;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:800}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.admin-header-actions .link-button{min-height:40px;padding:.55rem .9rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.metric-card{border:1px solid var(--border);background:#fffffff0;border-radius:16px;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-items:end;padding:.9rem;display:grid;box-shadow:0 7px 22px #0f172a0d}.metric-card>span{color:var(--muted);grid-column:1/3;margin-bottom:.45rem;font-size:.74rem;font-weight:800}.metric-card strong{font-size:clamp(1.8rem,8vw,2.75rem);line-height:1}.metric-card small{color:var(--muted);margin-left:.3rem;font-weight:700}.metric-card.accent{background:linear-gradient(145deg, #fff, var(--rose-pale));border-color:#c7d2fe}.admin-grid{gap:1rem;display:grid}.admin-card{padding:clamp(1rem,3vw,1.5rem)}.admin-card h2{letter-spacing:-.02em;margin-bottom:0;font-size:1.25rem;font-weight:800}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.section-heading .step-label{margin-bottom:.2rem}.section-heading .text-button{min-height:34px;padding:.25rem;font-size:.8rem}.fact-list{gap:0;margin:0 0 1rem;display:grid}.fact-list div{border-bottom:1px solid #e8eef6;justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.fact-list dt{color:var(--muted)}.fact-list dd{text-align:right;margin:0;font-weight:800}.action-stack,.final-actions{gap:.65rem;display:grid}.action-stack>button,.final-actions>button{width:100%}.control-version{color:var(--muted);background:#f1f5f9;border-radius:999px;padding:.3rem .6rem;font-family:ui-monospace,monospace;font-size:.72rem}.confirmation-backdrop{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirmation-dialog{border:1px solid var(--border);background:var(--paper);border-radius:20px;width:min(100%,460px);padding:clamp(1.25rem,4vw,1.75rem);box-shadow:0 24px 70px #0f172a3d}.confirmation-dialog h2{margin-bottom:.75rem;font-size:clamp(1.3rem,5vw,1.65rem)}.confirmation-dialog>p:not(.step-label){color:var(--muted);margin-bottom:1.25rem;line-height:1.75}.confirmation-actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.confirmation-actions>button{width:100%}.question-selector{scrollbar-width:thin;gap:.5rem;margin:0 -.25rem 1rem;padding:.25rem;display:flex;overflow-x:auto}.question-selector button{border:1px solid var(--border);min-width:48px;min-height:44px;color:var(--ink);background:#fff;border-radius:12px;font-weight:900}.question-selector button.active{color:#fff;border-color:var(--rose);background:linear-gradient(135deg, var(--rose), var(--rose-dark));box-shadow:0 5px 14px #4f46e533}.reveal-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:1rem;padding:1rem}.reveal-panel>p{margin-bottom:.85rem;line-height:1.6}.reveal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.reveal-actions button{min-height:44px;color:var(--ink);border:1px solid var(--border);background:#fff;padding:.55rem;font-size:.8rem}.lottery-controls{position:relative;overflow:hidden}.lottery-controls:before{content:"";pointer-events:none;background:radial-gradient(circle,#06b6d41f,#0000 68%);border-radius:50%;width:180px;height:180px;position:absolute;top:0;right:0;transform:translate(35%,-45%)}.lottery-status{white-space:nowrap;border:1px solid;border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:850;position:relative}.lottery-status.is-pending{color:#92400e;background:#fff7ed;border-color:#fed7aa}.lottery-status.is-drawn{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.lottery-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0 0 .85rem;display:grid}.lottery-metrics div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-width:0;padding:.85rem}.lottery-metrics dt{color:var(--muted);margin-bottom:.35rem;font-size:.72rem;font-weight:750}.lottery-metrics dd{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:850}.lottery-metrics dd small{color:var(--muted);margin-left:.18rem;font-size:.72em}.lottery-policy,.lottery-empty{border-radius:12px;padding:.75rem .85rem;font-size:.8rem;line-height:1.6}.lottery-policy{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;margin-bottom:1rem}.lottery-empty{color:#475569;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:0}.lottery-winners{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0 0 .85rem;padding:0;list-style:none;display:grid}.lottery-winners li{background:linear-gradient(145deg,#fff,#eef2ff);border:1px solid #c7d2fe;border-radius:15px;gap:.2rem;padding:1rem;display:grid}.lottery-winners li>span{color:var(--rose);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:900}.lottery-winners li>strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.lottery-winners li>small{color:var(--muted)}.lottery-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.lottery-actions>button{width:100%}.lottery-reset{color:var(--danger)}.auth-card{gap:.8rem;display:grid}.auth-card h1{letter-spacing:-.035em;margin-bottom:0;font-weight:800}.auth-card p{color:var(--ink-soft);line-height:1.65}.presentation-shell{isolation:isolate;color:#f8fafc;background:radial-gradient(circle at 12% 14%,#4f46e557,#0000 31%),radial-gradient(circle at 86% 70%,#06b6d430,#0000 34%),radial-gradient(circle at 74% 0,#f59e0b12,#0000 24%),linear-gradient(145deg,#080f20 0%,#101a35 52%,#0a1429 100%);width:100%;height:100dvh;min-height:520px;position:relative;overflow:hidden}.presentation-shell:before,.presentation-shell:after{z-index:-1;content:"";border:1px solid #a5f3fc1a;border-radius:50%;width:34vw;min-width:300px;height:34vw;min-height:300px;position:absolute}.presentation-shell:before{top:-20vw;right:-9vw}.presentation-shell:after{bottom:-23vw;left:-11vw}.presentation-frame{width:100%;height:100%;animation:.52s cubic-bezier(.22,1,.36,1) both stage-reveal}@keyframes stage-reveal{0%{opacity:0;transform:translateY(16px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.presentation-center,.presentation-content{width:min(92vw,1440px);height:100%;margin:0 auto;padding:clamp(3rem,7vh,6rem) clamp(1.25rem,4vw,4.5rem) clamp(3rem,7vh,5.5rem)}.presentation-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.presentation-content{flex-direction:column;justify-content:center;display:flex}.presentation-kicker{color:#67e8f9;letter-spacing:.2em;text-transform:uppercase;margin-bottom:clamp(.5rem,1.5vh,1.1rem);font-size:clamp(.75rem,1.5vw,1.35rem);font-weight:900}.presentation-shell h1{letter-spacing:-.04em;text-wrap:balance;max-width:18ch;margin-bottom:clamp(1rem,3vh,2.4rem);font-family:inherit;font-size:clamp(2.2rem,5.3vw,5.8rem);font-weight:800;line-height:1.2}.presentation-center>p:not(.presentation-kicker):not(.presentation-error){color:#e2e8f0c7;letter-spacing:.06em;font-size:clamp(1rem,2vw,2rem)}.ornament{color:#a5f3fc;margin-bottom:.8rem;font-size:clamp(2.2rem,4vw,4rem)}.waiting-dots{gap:.65rem;margin-top:1rem;display:flex}.waiting-dots span{background:#67e8f9;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite dot-pulse}.waiting-dots span:nth-child(2){animation-delay:.16s}.waiting-dots span:nth-child(3){animation-delay:.32s}@keyframes dot-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.presentation-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1.3rem);width:min(100%,1160px);margin:0;padding:0;list-style:none;display:grid}.presentation-choices li{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff1;border:1px solid #94a3b838;border-radius:clamp(14px,1.5vw,22px);align-items:center;gap:clamp(.8rem,1.6vw,1.4rem);min-height:clamp(74px,10vh,118px);padding:clamp(.8rem,1.5vw,1.4rem);display:flex}.presentation-choices strong{font-size:clamp(1rem,2.4vw,2.35rem);line-height:1.35}.presentation-choice-marker{color:#172033;background:#a5f3fc;width:clamp(38px,4.4vw,64px);height:clamp(38px,4.4vw,64px);font-size:clamp(.95rem,1.8vw,1.65rem)}.presentation-heading-row{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.presentation-heading-row h1{margin-bottom:0}.answer-total{color:#e2e8f0b8;flex:none;margin-bottom:.8rem;font-size:clamp(.85rem,1.4vw,1.2rem)}.answer-total strong{color:#67e8f9;margin-right:.3rem;font-size:clamp(1.7rem,3.4vw,3.5rem)}.presentation-question-copy{color:#e2e8f0d1;margin:1rem 0 1.3rem;font-family:inherit;font-size:clamp(1.1rem,2vw,2rem);font-weight:600;line-height:1.5}.presentation-results{gap:clamp(.55rem,1.15vh,1rem);width:100%;margin:0;padding:0;list-style:none;display:grid}.presentation-results li{background:#ffffff0d;border:1px solid #94a3b82e;border-radius:clamp(12px,1.2vw,20px);grid-template-columns:1fr auto;gap:.25rem 1rem;padding:clamp(.6rem,1.1vw,1rem) clamp(.75rem,1.5vw,1.35rem);display:grid;position:relative}.result-label-row{grid-column:1/3;align-items:center;gap:clamp(.6rem,1.2vw,1rem);display:flex}.result-label-row .presentation-choice-marker{width:clamp(32px,3.3vw,48px);height:clamp(32px,3.3vw,48px);font-size:clamp(.8rem,1.4vw,1.2rem)}.result-label-row strong{flex:1;min-width:0;font-size:clamp(.95rem,1.9vw,1.75rem)}.result-count{color:#a5f3fc;font-size:clamp(1.1rem,2.2vw,2rem);font-weight:900}.result-count small{margin-left:.18rem;font-size:.52em}.result-track{background:#ffffff1f;border-radius:999px;align-self:center;height:clamp(8px,1.2vh,13px);overflow:hidden}.result-track span{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#6366f1,#22d3ee);height:100%;animation:.7s cubic-bezier(.22,1,.36,1) .18s both bar-grow;display:block}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.result-percent{color:#e2e8f0b8;font-size:clamp(.8rem,1.25vw,1.05rem);font-weight:800}.presentation-results li.is-correct{background:linear-gradient(100deg,#4f46e542,#06b6d41a);border-color:#67e8f994;box-shadow:0 0 30px #22d3ee1a}.presentation-results li.is-correct .result-track span{background:linear-gradient(90deg,#818cf8,#67e8f9)}.correct-badge{color:#172033;background:#a5f3fc;border-radius:999px;padding:.25rem .7rem;font-size:clamp(.65rem,1vw,.85rem);font-weight:900;position:absolute;top:-.65rem;right:1rem}.answer-stage h1{margin-bottom:clamp(.7rem,1.5vh,1.2rem)}.answer-hero{background:linear-gradient(110deg,#4f46e54d,#06b6d41a);border:1px solid #67e8f97a;border-radius:clamp(18px,2vw,30px);align-items:center;gap:clamp(.9rem,2vw,1.8rem);width:min(100%,980px);margin-bottom:clamp(.8rem,2vh,1.7rem);padding:clamp(1rem,2vw,1.8rem);display:flex;box-shadow:0 18px 60px #02061733}.answer-hero-marker{color:#172033;background:#a5f3fc;border-radius:50%;flex:none;place-items:center;width:clamp(52px,6vw,88px);height:clamp(52px,6vw,88px);font-size:clamp(1.4rem,3vw,2.8rem);font-weight:900;display:grid}.answer-hero strong{font-size:clamp(1.6rem,4vw,4.4rem);line-height:1.25}.explanation-stage h1{max-width:24ch;margin-bottom:clamp(.8rem,2vh,1.5rem);font-size:clamp(1.7rem,3.4vw,3.8rem)}.explanation-answer{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.explanation-answer span{color:#172033;background:#a5f3fc;border-radius:999px;padding:.3rem .8rem;font-size:clamp(.75rem,1.2vw,1rem);font-weight:900}.explanation-answer strong{font-size:clamp(1.1rem,2.4vw,2.4rem)}.explanation-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff1;border:1px solid #94a3b838;border-radius:clamp(18px,2vw,30px);width:min(100%,1100px);padding:clamp(1.4rem,3.8vw,3.5rem);position:relative}.explanation-card p{text-wrap:pretty;margin:0;font-family:inherit;font-size:clamp(1.3rem,3vw,3.25rem);font-weight:600;line-height:1.65}.quote-mark{color:#67e8f91f;font-family:Georgia,serif;font-size:clamp(6rem,13vw,12rem);line-height:1;position:absolute;top:-.25em;right:.35em}.ranking-stage{text-align:center;align-items:center}.ranking-stage h1{margin-bottom:clamp(.8rem,2vh,1.5rem)}.lottery-stage h1{max-width:13ch}.lottery-orbit{aspect-ratio:1;width:clamp(110px,12vw,180px);margin-bottom:clamp(1rem,2.5vh,2rem);position:relative}.lottery-orbit:before{content:"";background:linear-gradient(145deg,#67e8f9,#6366f1);border-radius:50%;position:absolute;inset:22%;box-shadow:0 0 55px #67e8f94d}.lottery-orbit span{border:1px solid #a5f3fc52;border-radius:50%;animation:4.8s linear infinite lottery-orbit;position:absolute;inset:0}.lottery-orbit span:after{aspect-ratio:1;content:"";background:#fbbf24;border-radius:50%;width:10px;position:absolute;top:8%;left:20%;box-shadow:0 0 18px #fbbf24b3}.lottery-orbit span:nth-child(2){animation-duration:3.7s;animation-direction:reverse;inset:9%}.lottery-orbit span:nth-child(3){animation-duration:6.2s;inset:-10%}@keyframes lottery-orbit{to{transform:rotate(360deg)}}.lottery-pulse{background:#94a3b82e;border-radius:999px;width:min(54vw,420px);height:3px;margin-top:1rem;overflow:hidden}.lottery-pulse span{border-radius:inherit;background:linear-gradient(90deg,#0000,#67e8f9,#0000);width:35%;height:100%;animation:1.6s ease-in-out infinite lottery-pulse;display:block}@keyframes lottery-pulse{0%{transform:translate(-120%)}to{transform:translate(400%)}}.lottery-result-stage{text-align:center;align-items:center}.lottery-result-stage h1{max-width:18ch}.prize-winner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,2vw,1.6rem);width:min(100%,1120px);margin:0;padding:0;list-style:none;display:grid}.prize-winner-grid.single{grid-template-columns:minmax(0,560px);justify-content:center}.prize-winner-grid li{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#6366f13d,#ffffff12);border:1px solid #a5f3fc59;border-radius:clamp(20px,2.5vw,34px);place-content:center;gap:clamp(.45rem,1.2vh,.9rem);min-height:clamp(180px,30vh,320px);padding:clamp(1.25rem,3vw,3rem);animation:.7s cubic-bezier(.22,1,.36,1) both winner-reveal;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #02081742}.prize-winner-grid li:nth-child(2){animation-delay:.18s}.prize-winner-grid li:before{content:"";background:#67e8f921;border-radius:50%;width:220px;height:220px;position:absolute;top:-120px;right:-80px}@keyframes winner-reveal{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.prize-number{color:#67e8f9;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.75rem,1.2vw,1.05rem);font-weight:900}.prize-winner-grid strong{overflow-wrap:anywhere;color:#fff;letter-spacing:-.045em;max-width:14ch;font-size:clamp(1.8rem,4vw,4.6rem);line-height:1.2;position:relative}.prize-winner-grid small{color:#fbbf24;font-size:clamp(.9rem,1.6vw,1.35rem);font-weight:800}.podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.4rem);width:min(100%,1120px);margin:0;padding:0;list-style:none;display:grid}.podium-entry{background:#ffffff12;border:1px solid #ffffff29;border-radius:clamp(16px,2vw,28px);flex-direction:column;justify-content:center;align-items:center;min-height:clamp(145px,24vh,260px);padding:clamp(.8rem,2vw,1.8rem);display:flex;position:relative}.podium-position-1{background:linear-gradient(155deg,#4f46e547,#f59e0b1a);border-color:#fbbf247a;box-shadow:0 18px 60px #02061738}.rank-number{color:#172033;background:#fde68a;border-radius:50%;place-items:center;width:clamp(42px,5vw,74px);height:clamp(42px,5vw,74px);margin-bottom:.65rem;font-size:clamp(1.15rem,2.3vw,2rem);font-weight:900;display:grid}.podium-entry>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1rem,2.3vw,2.25rem);overflow:hidden}.rank-score{color:#fde68a;margin-top:.45rem;font-size:clamp(1.5rem,3.3vw,3.2rem);font-weight:900}.rank-score small{margin-left:.2rem;font-size:.45em}.podium-entry>small{color:#e2e8f0ad;font-size:clamp(.68rem,1.1vw,.95rem)}.ranking-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;width:min(100%,1040px);margin:clamp(.7rem,1.5vh,1.2rem) 0 0;padding:0;list-style:none;display:grid}.ranking-list.full-ranking-list{width:min(100%,1120px);margin-top:0}.ranking-list li{text-align:left;border-bottom:1px solid #ffffff1a;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.45rem .6rem;display:grid}.ranking-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-place{color:#fbbf24;font-weight:900}.end-rings{width:clamp(80px,9vw,130px);height:clamp(58px,7vw,100px);margin-bottom:1.5rem;position:relative}.end-rings span{aspect-ratio:1;border:clamp(3px,.35vw,6px) solid #fbbf24;border-radius:50%;width:65%;position:absolute}.end-rings span:first-child{left:0}.end-rings span:last-child{right:0}.ornament-line{color:#fbbf24;align-items:center;gap:1rem;width:min(70vw,420px);margin-top:1.5rem;display:flex}.ornament-line:before,.ornament-line:after{content:"";background:linear-gradient(90deg,#0000,#fbbf24a6);flex:1;height:1px}.ornament-line:after{background:linear-gradient(90deg,#fbbf24a6,#0000)}.presentation-muted,.presentation-error{color:#e2e8f0c7;font-size:clamp(1rem,2vw,1.8rem)}.presentation-error{max-width:34rem;line-height:1.6}.fullscreen-button{z-index:20;top:max(.8rem, env(safe-area-inset-top));right:max(.8rem, env(safe-area-inset-right));color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0514218c;border:1px solid #ffffff40;border-radius:999px;min-height:38px;padding:.45rem .85rem;font-size:.76rem;font-weight:800;position:absolute}.presentation-auth form{gap:.8rem;width:min(88vw,420px);display:grid}.presentation-auth label{color:#e2e8f0d6;text-align:left;font-weight:800}.presentation-auth input{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #ffffff57;border-radius:13px;padding:.7rem .9rem}.fullscreen-button.inline{width:100%;min-height:48px;position:static}.presentation-connection{z-index:20;top:max(.8rem, env(safe-area-inset-top));color:#fef3c7;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#78350fb8;border:1px solid #fbbf2459;border-radius:999px;max-width:min(80vw,600px);padding:.45rem 1rem;font-size:clamp(.7rem,1vw,.85rem);position:absolute;left:50%;transform:translate(-50%)}.presentation-footer{right:clamp(1rem,3vw,3rem);bottom:max(.7rem, env(safe-area-inset-bottom));color:#ffffff61;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;font-size:clamp(.6rem,.9vw,.78rem);font-weight:800;display:flex;position:absolute;left:clamp(1rem,3vw,3rem)}.presentation-footer span:last-child{color:#fbbf24b8}@media (width>=720px){.guest-shell{padding-top:2rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-header{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=940px){.admin-shell{padding:2rem}.admin-grid{grid-template-columns:minmax(300px,.8fr) minmax(520px,1.4fr);align-items:start}.lottery-controls{grid-column:1/-1}}@media (width<=680px){.lottery-metrics,.lottery-winners,.lottery-actions{grid-template-columns:1fr}.presentation-shell{min-height:500px;overflow-y:auto}.presentation-center,.presentation-content{height:auto;min-height:100%;padding-top:4.5rem;padding-bottom:4.2rem}.presentation-choices{grid-template-columns:1fr}.presentation-heading-row{align-items:flex-start}.answer-total{margin-top:1.5rem}.podium,.prize-winner-grid{grid-template-columns:1fr}.prize-winner-grid li{min-height:150px}.podium-entry{text-align:left;grid-template-rows:1fr 1fr;grid-template-columns:auto 1fr auto;gap:.1rem .8rem;min-height:118px;display:grid}.podium-entry .rank-number{grid-row:1/3;margin:0}.podium-entry .rank-score{grid-area:1/3/3;margin:0}.podium-entry>small{grid-column:2}.ranking-list{grid-template-columns:1fr}.presentation-footer{position:fixed}}@media (width<=390px){.guest-shell,.admin-shell{padding-left:.75rem;padding-right:.75rem}.card,.admin-card{border-radius:18px}.reveal-actions{grid-template-columns:1fr}.turnstile-wrap>div:first-child{transform-origin:50%;max-width:100%;transform:scale(.9)}}@media (height<=720px) and (width>=681px){.presentation-center,.presentation-content{padding-top:2.7rem;padding-bottom:2.7rem}.presentation-shell h1{margin-bottom:.8rem}.podium-entry{min-height:145px}.ranking-list{margin-top:.55rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
