*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{min-height:100%;background:#070a13}body{min-height:100dvh;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%),linear-gradient(180deg,#070a13,#0d111d 48%,#160b12);color:#f5efe5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior:none;overflow-x:hidden}#root{min-height:100dvh}button{cursor:pointer;font-family:inherit;min-height:44px}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}:root{--c-bg: #070a13;--c-night: #0d111d;--c-surface: #141a26;--c-surface-2:#1f2633;--c-border: #384252;--c-ink: #f5efe5;--c-silver: #cbd5e1;--c-muted: #96a0ac;--c-blue: #6ea8b7;--c-gold: #d7b279;--c-wine: #7b2433;--c-forest: #1e5a4e;--c-purple-6: #35264d;--c-purple-5: #51406b;--c-purple-4: #70608d;--c-purple-3: #a99abc;--c-purple-2: #c8b9d8;--c-accent: #d7b279;--c-green: #62c58d;--c-red: #f47c7c;--c-amber: #d7b279;--shadow-soft: 0 18px 48px rgba(0, 0, 0, .28);--shadow-glow: 0 0 30px rgba(215, 178, 121, .18);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--app-padding: clamp(1rem, 4vw, 1.5rem);--bottom-action-height: 64px;--card-r: .85rem;--t-fast: .15s ease;--t-med: .28s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes glow{0%,to{text-shadow:0 0 8px #7c3aed44}50%{text-shadow:0 0 24px #c084fcaa,0 0 48px #7c3aed55}}@keyframes borderPulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 16px 3px #7c3aed44}}@keyframes deathOverlay{0%{opacity:0;transform:scale(.5) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(-8deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pageEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes winnerGlow{0%,to{filter:drop-shadow(0 0 8px currentColor)}50%{filter:drop-shadow(0 0 28px currentColor) drop-shadow(0 0 56px currentColor)}}@keyframes staggerIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes phaseFlash{0%{opacity:0}12%{opacity:1}72%{opacity:1}to{opacity:0}}@keyframes mistDrift{0%{background-position:0% 50%}to{background-position:120% 50%}}.fade-in{animation:fadeIn .3s ease forwards}.slide-up{animation:slideUp .38s ease forwards}.pulse{animation:pulse 2s ease-in-out infinite}.glow-text{animation:glow 3s ease-in-out infinite}.border-pulse{animation:borderPulse 2.5s ease-in-out infinite}.page-enter{animation:pageEnter .23s ease forwards}.float{animation:float 2.5s ease-in-out infinite}.mist-drift{animation:mistDrift 12s linear infinite}button{transition:filter .13s ease,transform .1s ease,opacity .13s ease}button:not(:disabled):hover{filter:brightness(1.18)}button:not(:disabled):active{transform:scale(.955);filter:brightness(.92)}button:disabled{opacity:.38;cursor:not-allowed}.form-input{transition:box-shadow .15s ease,border-color .15s ease}.form-input:focus{outline:none;border-color:#7c3aed!important;box-shadow:0 0 0 3px #7c3aed44}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fcd34d;outline-offset:3px}a[role=button],a.button-like{min-height:44px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--c-bg)}::-webkit-scrollbar-thumb{background:var(--c-purple-6);border-radius:999px}.card-scene{perspective:700px;width:100%;max-width:min(340px,calc(100vw - 2rem),calc((100dvh - 230px)*.66));aspect-ratio:2 / 3}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);cursor:pointer}.card-inner.flipped{transform:rotateY(180deg);cursor:default}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:1.1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.72rem;padding:clamp(1rem,4vw,1.35rem)}.card-front{background:linear-gradient(135deg,rgba(252,211,77,.12),transparent 25%),radial-gradient(circle at 50% 20%,rgba(192,132,252,.18),transparent 28%),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 12px),linear-gradient(160deg,#2d1a4e,#12081f);border:3px solid rgba(252,211,77,.34);box-shadow:var(--shadow-soft),inset 0 0 38px #7c3aed2e}.card-back{background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 16%),radial-gradient(circle at 50% 0%,rgba(252,211,77,.09),transparent 32%),linear-gradient(180deg,#1e1433,#090b16 82%);border:2px solid var(--c-purple-6);transform:rotateY(180deg);box-shadow:var(--shadow-soft)}.phase-enter{animation:fadeIn .35s ease forwards}.startup-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;min-height:100dvh;display:grid;place-items:center;padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%),linear-gradient(180deg,#070a13,#0d111d 48%,#160b12);color:var(--c-ink);opacity:1;transition:opacity .42s ease}.startup-splash--leaving{opacity:0;pointer-events:none}.startup-splash__content{width:min(78vw,360px);display:flex;flex-direction:column;align-items:center;gap:1rem}.startup-splash__logo{width:min(220px,54vw);height:auto;object-fit:contain;filter:drop-shadow(0 0 32px rgba(215,178,121,.26));animation:startupLogoPulse 2.2s ease-in-out infinite}.startup-splash__bar{width:min(260px,68vw);height:7px;border-radius:999px;overflow:hidden;background:#ffffff1c;border:1px solid rgba(255,255,255,.08)}.startup-splash__bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#9f2f43,#d7b279 52%,#e8eef2);transition:width .36s ease}.startup-splash__text{min-height:1.4em;margin:0;color:#cfd6dd;font-size:.92rem;font-weight:800;text-align:center}@keyframes startupLogoPulse{0%,to{opacity:.88;transform:scale(.992)}50%{opacity:1;transform:scale(1)}}.ui-button,.ui-icon-button,.ui-toggle,.ui-radio-option{min-height:48px;border-radius:8px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.78rem 1rem;font-weight:900;text-align:center;text-decoration:none}.ui-button--primary{background:linear-gradient(135deg,#9f2f43,#d7b279);color:#10131a;box-shadow:0 14px 34px #9f2f433d}.ui-button--secondary{background:#141a26eb;color:var(--c-ink);border-color:#d7b27947}.ui-button--danger{background:#7b24332e;color:#ffb4b4;border-color:#f47c7c6b}.ui-icon-button{min-width:48px;padding:0;background:#ffffff0f;color:var(--c-ink);border-color:#ffffff1f}.ui-card,.ui-panel,.ui-dialog,.ui-player-card,.ui-role-card,.ui-result-card,.ui-state{border-radius:8px;border:1px solid rgba(215,178,121,.18);background:linear-gradient(180deg,#141a26f0,#0a0d14f0);box-shadow:var(--shadow-soft)}.ui-card,.ui-panel,.ui-state{padding:1rem}.ui-header{display:flex;align-items:center;gap:.75rem;padding:calc(.7rem + var(--safe-top)) var(--app-padding) .7rem}.ui-bottom-controls{position:sticky;bottom:0;z-index:20;padding:.75rem var(--app-padding) calc(.75rem + var(--safe-bottom));background:linear-gradient(180deg,transparent,rgba(7,10,19,.94) 28%)}.ui-fullscreen-popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:#070a13d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ui-badge{display:inline-flex;align-items:center;min-height:26px;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(215,178,121,.3);color:#f1dfbd;background:#d7b27914;font-size:.75rem;font-weight:900}.ui-radio-option{justify-content:flex-start;width:100%;background:#ffffff0a;color:var(--c-ink);border-color:#ffffff1f}.ui-radio-option[aria-pressed=true]{border-color:#d7b2799e;background:#d7b2791f}.ui-radio-option__dot{width:16px;height:16px;border-radius:50%;border:2px solid currentColor}.ui-radio-option[aria-pressed=true] .ui-radio-option__dot{box-shadow:inset 0 0 0 3px #0d111d;background:currentColor}.ui-state--error{color:#ffb4b4;border-color:#f47c7c6b}.audio-output-toggle{width:100%;margin:0;padding:.75rem;display:grid;gap:.45rem;border-radius:8px;border:1px solid rgba(215,178,121,.2);background:#070a136b}.audio-output-toggle legend{padding:0 .35rem;color:#f1dfbd;font-size:.78rem;font-weight:900}.audio-output-toggle__option{width:100%;min-height:48px;display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--c-ink);font-size:.88rem;font-weight:850;text-align:left}.audio-output-toggle__option[aria-pressed=true]{border-color:#d7b2799e;background:#d7b27921;color:#fff6e6}.audio-output-toggle__radio{width:18px;height:18px;flex:0 0 auto;border-radius:50%;border:2px solid currentColor}.audio-output-toggle__option[aria-pressed=true] .audio-output-toggle__radio{background:currentColor;box-shadow:inset 0 0 0 4px #10131a}.audio-output-toggle--compact{padding:.45rem;grid-template-columns:1fr 1fr;gap:.35rem}.audio-output-toggle--compact legend{grid-column:1 / -1}.audio-output-toggle--compact .audio-output-toggle__option{min-height:42px;padding:.45rem .55rem;font-size:.76rem}@media (max-width: 380px){.audio-output-toggle--compact{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
