:root{--red:#d31145;--red-dark:#a90d37;--cream:#fdf6ee;--ink:#1c1017;--white:#fff;--shadow:0 18px 40px #1c051059;--radius:18px;--bg:var(--red);--card-bg:var(--red);--card-border:var(--white);--fg:var(--white);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif}:root[data-theme=dark]{--bg:#1b070f;--card-bg:var(--red);--card-border:#ffffffeb;--fg:#f6e9ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;transition:background .25s}.app{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 16px);flex-direction:column;width:100%;max-width:560px;margin:0 auto;display:flex}button{font:inherit;cursor:pointer;letter-spacing:.04em;border:none;border-radius:999px;min-height:48px;padding:12px 24px;font-weight:700}.btn-primary{background:var(--white);color:var(--red)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{color:var(--fg);background:0 0;border:2px solid #ffffffb3}.theme-toggle{top:calc(env(safe-area-inset-top) + 10px);min-width:40px;min-height:40px;color:var(--fg);z-index:10;background:#00000040;padding:6px 10px;position:fixed;right:12px}.btn-quiet{color:#ffffffbf;background:0 0;min-height:40px;padding:8px 12px;font-weight:500}input[type=text],textarea{font:inherit;width:100%;color:var(--white);background:#ffffff14;border:2px solid #ffffff59;border-radius:12px;outline:none;padding:12px 14px}input[type=text]::placeholder,textarea::placeholder{color:#ffffff8c}input[type=text]:focus,textarea:focus{border-color:var(--white)}.wordmark{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.home{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:14px;display:flex}.home h1{text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px;font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.05}.home p.tagline{color:#ffffffd9;max-width:34ch;margin:0 auto 24px}.screen{flex-direction:column;flex:1;gap:16px;padding-top:8px;display:flex}.screen h2{text-transform:uppercase;letter-spacing:.08em;margin:8px 0 0;font-size:1.1rem}.field label{letter-spacing:.06em;text-transform:uppercase;color:#fffc;margin-bottom:6px;font-size:.85rem;display:block}.hint{color:#ffffffa6;margin:4px 0 0;font-size:.85rem}.spacer{flex:1}.topbar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.table{flex-direction:column;flex:1;gap:14px;display:flex}.card-area{perspective:1200px;flex:1;place-items:center;display:grid}.turnbar{text-align:center;text-transform:uppercase;letter-spacing:.18em;opacity:.85;min-height:1.1em;margin-top:8px;font-size:.72rem}.turnbar b{font-weight:800}.card-float{transform-style:preserve-3d;will-change:transform;animation:5.5s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-9px)rotate(.6deg)}}.card{aspect-ratio:5/7;border-radius:var(--radius);background:var(--card-bg);border:3px solid var(--card-border);width:min(92vw,400px);max-height:62dvh;color:var(--white);box-shadow:var(--shadow);text-align:center;backface-visibility:hidden;flex-direction:column;justify-content:space-between;padding:24px;animation:.35s deal;display:flex}@keyframes deal{0%{opacity:0;transform:translateY(24px)rotate(-2deg)}to{opacity:1;transform:none}}.card.flip-out{animation:.22s ease-in forwards flip-out}.card.flip-in{animation:.28s ease-out flip-in}@keyframes flip-out{0%{transform:rotateY(0)scale(1)}to{transform:rotateY(90deg)scale(.94)}}@keyframes flip-in{0%{transform:rotateY(-90deg)scale(.94)}to{transform:rotateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.card,.card-float{animation:none}}.card .level-label{text-transform:uppercase;letter-spacing:.22em;opacity:.9;font-size:.72rem}.card .question{text-transform:uppercase;overflow-wrap:break-word;flex:1;place-items:center;padding:8px 0;font-size:clamp(1.25rem,5.4vw,1.7rem);font-weight:800;line-height:1.28;display:grid}.card.inverted{background:var(--white);color:var(--red);border-color:var(--red)}.card.followup{background:var(--ink);color:var(--cream);border-color:var(--cream)}.card .badge{letter-spacing:.16em;text-transform:uppercase;opacity:.85;border:1px solid;border-radius:999px;align-self:center;padding:3px 10px;font-size:.7rem}.progress{justify-content:center;gap:6px;display:flex}.progress .dot{background:#ffffff59;border-radius:50%;width:8px;height:8px}.progress .dot.done{background:var(--white)}.progress .dot.current{background:var(--white);transform:scale(1.35)}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.level-intro{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.level-intro .num{font-size:5rem;font-weight:800;line-height:1}.level-intro h2{text-transform:uppercase;letter-spacing:.2em;margin:0}.level-intro p{color:#ffffffd9;max-width:32ch}.sheet{border-radius:var(--radius);background:#00000040;flex-direction:column;gap:10px;padding:16px;display:flex}.list{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.list-item{background:#00000038;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.list-item .text{flex:1;font-size:.95rem}.list-item.disabled .text{opacity:.45;text-decoration:line-through}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill{color:var(--white);background:0 0;border:2px solid #ffffff80;min-height:40px;padding:6px 16px}.pill.active{background:var(--white);color:var(--red);border-color:var(--white)}.spinner{border:3px solid #ffffff4d;border-top-color:var(--white);border-radius:50%;width:22px;height:22px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stat{font-size:2.4rem;font-weight:800}.rules{flex-direction:column;gap:4px;padding-bottom:12px;display:flex;overflow-y:auto}.rules h3{text-transform:uppercase;letter-spacing:.12em;color:#ffffffd9;margin:14px 0 4px;font-size:.85rem}.rules p{color:#fffffff2;margin:4px 0;line-height:1.5}
