:root{--bg: #FAF7F2;--bg-2: #F4EFE6;--surface: #FFFFFF;--surface-2: #FBFAF7;--ink: #16161A;--ink-1: var(--ink);--ink-2: #2C2C33;--ink-3: #5D5A54;--ink-4: #A19D94;--line: rgba(22, 22, 26, .08);--line-2: rgba(22, 22, 26, .14);--z-sticky: 10;--z-nav: 50;--z-sheet: 100;--z-dialog: 200;--z-toast: 900;--accent: #FF5A1F;--accent-2: #FF7A47;--accent-soft: #FFE8DD;--accent-glow: rgba(255, 90, 31, .25);--green: #16A34A;--green-soft: #DCFCE7;--amber: #D97706;--amber-soft: #FEF3C7;--slate: #64748B;--slate-soft: #F1F5F9;--gold: #B58E2C;--silver: #71788A;--bronze: #A0623A;--hero-grad: linear-gradient(155deg, #FFFFFF, #FFE8DD);--gold-grad: linear-gradient(135deg, #FFE08A, #F59E0B);--gold-glow: 0 4px 12px rgba(245, 158, 11, .3);--display: "Bricolage Grotesque", system-ui, sans-serif;--ui: "Inter Tight", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--r-xs: 8px;--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 32px;--shadow-sm: 0 1px 2px rgba(22,22,26,.05), 0 0 0 1px rgba(22,22,26,.04);--shadow-md: 0 1px 3px rgba(22,22,26,.08), 0 8px 24px -8px rgba(22,22,26,.1), 0 0 0 1px rgba(22,22,26,.04);--shadow-lg: 0 2px 4px rgba(22,22,26,.06), 0 24px 48px -12px rgba(22,22,26,.18), 0 0 0 1px rgba(22,22,26,.04);--shadow-glow: 0 8px 32px var(--accent-glow), 0 1px 3px rgba(22,22,26,.1);--bottom-nav-height: 76px;--container-narrow: 480px;--container-content: 720px;--container-wide: 1080px;--container-max: 1280px;--nav-rail-w: 72px;--aside-w: 320px;--rail-left-w: 240px;--gutter: 20px;--t-hero-lg: clamp(112px, 16vh, 176px);--t-code-lg: clamp(48px, 5.5vw, 80px);--wheel-lg: min(480px, 44vh)}html,body,#root{margin:0;padding:0;height:100%;width:100%;overflow-x:hidden;overscroll-behavior:contain}body{background:var(--bg);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}*{scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:3px;opacity:.6}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}*::-webkit-scrollbar-corner{background:transparent}[data-theme=dark]{--bg: #0A0A0C;--bg-2: #111114;--surface: #18181B;--surface-2: #1F1F23;--ink: #F5F2EC;--ink-2: #DEDBD3;--ink-3: #9C988F;--ink-4: #6B6760;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--accent-soft: rgba(255, 90, 31, .16);--green-soft: rgba(22, 163, 74, .16);--amber-soft: rgba(217, 119, 6, .16);--slate-soft: rgba(100, 116, 139, .16);--shadow-sm: 0 1px 2px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06);--shadow-lg: 0 16px 48px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06);--hero-grad: linear-gradient(155deg, #26262B, rgba(255, 90, 31, .24));--gold-grad: linear-gradient(135deg, #6E561C, #B58E2C);--gold-glow: 0 4px 12px rgba(181, 142, 44, .25)}[data-theme=dark] body{background-image:radial-gradient(1200px 600px at 20% -10%,rgba(255,90,31,.1),transparent 60%),radial-gradient(900px 500px at 90% 110%,rgba(22,163,74,.06),transparent 60%)}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{background-image:radial-gradient(1200px 600px at 20% -10%,rgba(255,90,31,.06),transparent 60%),radial-gradient(900px 500px at 90% 110%,rgba(22,163,74,.04),transparent 60%);background-attachment:fixed}.app-shell{height:100dvh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;position:relative;width:100%;max-width:100vw}.screen-pad{padding:16px 20px 24px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:0;position:relative;max-width:480px;margin:0 auto;width:100%}.wr-with-bnav .screen-pad{padding-bottom:calc(var(--bottom-nav-height, 76px) + 8px)}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;position:sticky;top:0;z-index:var(--z-sticky, 10);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);margin:0 -20px;padding:12px 20px 14px}@supports (padding: env(safe-area-inset-top)){.topbar{padding-top:max(12px,env(safe-area-inset-top,12px))}}.topbar .tb-left,.topbar .tb-right{display:flex;gap:8px;align-items:center;min-width:64px}.topbar .tb-right{justify-content:flex-end}.topbar .tb-center{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.01em;flex:1;text-align:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line-2);font-size:12px;font-weight:600;color:var(--ink-2);font-family:var(--ui);white-space:nowrap}.pill.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.pill.green{background:var(--green-soft);border-color:transparent;color:var(--green)}.pill.amber{background:var(--amber-soft);border-color:transparent;color:var(--amber)}.pill.slate{background:var(--slate-soft);border-color:transparent;color:var(--slate)}.pill.ghost{background:transparent}.pill.solid{background:var(--ink);color:var(--bg);border-color:transparent}.score{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums;border-radius:14px;font-size:18px;min-width:52px;height:40px;padding:0 12px;background:var(--slate-soft);color:var(--slate);letter-spacing:-.02em}.score.green{background:var(--green-soft);color:var(--green)}.score.amber{background:var(--amber-soft);color:var(--amber)}.score.slate{background:var(--slate-soft);color:var(--slate)}.score.lg{font-size:24px;min-width:64px;height:48px}.score.sm{font-size:14px;min-width:38px;height:30px;padding:0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:14px;border:none;font-family:var(--ui);font-weight:600;font-size:15px;letter-spacing:-.01em;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);transition:all .15s ease;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0) scale(.98)}.btn.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#fff;box-shadow:var(--shadow-glow)}.btn.primary:hover{box-shadow:0 12px 40px var(--accent-glow),0 1px 3px #16161a1a}.btn.dark{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-md)}.btn.ghost{background:transparent;box-shadow:0 0 0 1px var(--line-2) inset}.btn.lg{padding:16px 22px;font-size:17px;border-radius:18px}.btn.xl{padding:20px 24px;font-size:18px;border-radius:20px}.btn.full{width:100%}.btn.primary,.btn.dark{font-size:18px;font-weight:700;min-height:44px}.btn.primary.xl,.btn.dark.xl{font-size:19px}.btn.disabled,.btn:disabled{background:var(--line);color:var(--ink-4);box-shadow:none;cursor:not-allowed}.btn.disabled:hover,.btn:disabled:hover{transform:none;box-shadow:none}.iconbtn{width:44px;height:44px;border-radius:12px;background:transparent;border:1px solid var(--line);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.iconbtn:hover{background:var(--surface);color:var(--ink)}.iconbtn:active{transform:scale(.96)}.card{background:var(--surface);border-radius:var(--r-md);box-shadow:0 0 0 1px var(--line),0 1px 2px #16161a0a;padding:18px;transition:box-shadow .16s ease,transform .16s ease}.card.lg{padding:22px;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line),0 4px 16px -8px #16161a14}.card.flush{padding:0;overflow:hidden}button.card,a.card,.card.tappable{cursor:pointer}button.card:hover,a.card:hover,.card.tappable:hover{box-shadow:0 0 0 1px var(--line-2),0 6px 20px -10px #16161a1f;transform:translateY(-1px)}button.card:active,a.card:active,.card.tappable:active{transform:translateY(0) scale(.997)}@media(prefers-reduced-motion:reduce){button.card:hover,a.card:hover,.card.tappable:hover{transform:none}}.av-tile{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.av-tile.host:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2.5px solid var(--accent);pointer-events:none}.letter-card{display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;letter-spacing:-.06em;background:linear-gradient(155deg,var(--surface),var(--bg-2));border-radius:32px;box-shadow:inset 0 0 0 1px var(--line),0 1px 2px #16161a0a,0 24px 48px -16px #16161a1f;color:var(--ink);position:relative;overflow:hidden}.letter-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(255,90,31,.08),transparent 50%),radial-gradient(circle at 70% 80%,rgba(22,163,74,.04),transparent 50%)}.letter-card.hero{background:var(--hero-grad);color:var(--ink)}.letter-card .letter-glyph{position:relative;z-index:1}.letter-card.spinning .letter-glyph{filter:blur(6px)}.field{display:flex;align-items:baseline;height:56px;padding:0 16px;background:var(--surface);border-radius:16px;font-family:var(--ui);font-size:17px;font-weight:500;color:var(--ink);box-shadow:0 0 0 1px var(--line) inset,var(--shadow-sm);gap:0;transition:box-shadow .15s ease;width:100%;border:none}.field:focus-within{box-shadow:0 0 0 2px var(--accent) inset,var(--shadow-sm)}.field.is-blocked,.field.is-blocked:focus-within{background:var(--amber-soft);box-shadow:0 0 0 2px var(--amber) inset,var(--shadow-sm)}.wr-field-note{display:flex;align-items:center;justify-content:center;gap:6px;min-height:20px;margin-top:10px;font-family:var(--ui);font-size:13px;font-weight:600;line-height:1.4;color:var(--amber);text-align:center;text-wrap:balance}.field.text{align-items:center;gap:10px}.field.text input.field-input,.field.text textarea.field-input{font-family:var(--ui);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.4}.field .prefix{font-family:var(--display);font-weight:800;color:var(--accent);font-size:22px;letter-spacing:-.02em;line-height:1;margin-right:0}.field input.field-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);padding:0;margin-left:0;min-width:0;line-height:1}.field input.field-input::-moz-placeholder{color:var(--ink-4);font-weight:500}.field input.field-input::placeholder{color:var(--ink-4);font-weight:500}.field .cat-icon{margin-right:12px;color:var(--ink-3);display:inline-flex}.prow{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);position:relative;transition:opacity .2s,box-shadow .2s}.prow.dim{opacity:.55}.prow.highlight{box-shadow:0 0 0 2px var(--accent) inset,var(--shadow-md)}.prow .body{flex:1;min-width:0}.prow .name{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.prow .word{font-size:14px;color:var(--ink-3);margin-top:1px;font-weight:500}.prow .word.bold{color:var(--ink);font-weight:600}.prow .ready{font-size:13px;color:var(--green);font-weight:600;font-family:var(--mono);letter-spacing:.04em;display:inline-flex;gap:4px;align-items:center}.prow .waiting{font-size:13px;color:var(--ink-3);font-weight:500}.bnav{display:flex;background:color-mix(in oklab,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line);padding:8px 12px max(12px,env(safe-area-inset-bottom,12px));gap:4px;position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:480px;width:100%;z-index:var(--z-nav, 50);box-shadow:0 -2px 24px -8px #16161a0f}.bnav .item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;min-height:44px;border-radius:10px;color:var(--ink-3);font-size:13px;font-weight:600;background:transparent;border:none;cursor:pointer;font-family:var(--ui)}.bnav .item.active{color:var(--accent)}.atom-bubble{display:flex;align-items:flex-end;gap:8px;padding:6px 0}.atom-bubble .face{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px var(--accent-glow)}.atom-bubble .bubble{background:var(--surface);border-radius:18px 18px 18px 4px;padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink);box-shadow:var(--shadow-sm);line-height:1.3}.atom-bubble.celebration .face{background:linear-gradient(135deg,#4ADE80,var(--green));box-shadow:0 4px 12px #16a34a40}.timer-ring{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 6px 10px;background:var(--surface);border-radius:999px;box-shadow:var(--shadow-sm);font-family:var(--mono);font-weight:600;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.timer-ring.urgent{background:var(--accent);color:#fff;font-weight:800;font-size:15px;padding:8px 16px 8px 12px;animation:pulse-coral .7s ease-in-out infinite}@keyframes pulse-coral{0%,to{box-shadow:0 0 0 0 var(--accent-glow);transform:scale(1)}50%{box-shadow:0 0 0 12px transparent;transform:scale(1.05)}}.wr-toggle{width:44px;height:26px;background:var(--line-2);border-radius:13px;position:relative;transition:background .2s;flex-shrink:0;border:none;cursor:pointer;padding:0}.wr-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s}.wr-toggle.on{background:var(--accent)}.wr-toggle.on:after{transform:translate(18px)}.segmented{display:inline-flex;background:var(--bg-2);border-radius:12px;padding:3px;gap:2px;width:100%}.segmented .seg{padding:7px 14px;min-height:44px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink-3);background:transparent;border:none;font-family:var(--ui);flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .15s ease}.segmented .seg.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.chip-set{display:flex;flex-wrap:wrap;gap:6px}.chip-cat{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:0 0 0 1px var(--line) inset;border:none;cursor:pointer;font-family:var(--ui)}.chip-cat.active{background:var(--ink);color:var(--bg);box-shadow:none}.wr-hero{background:linear-gradient(135deg,var(--accent),#FF7A47);color:#fff;border-radius:24px;padding:28px;position:relative;overflow:hidden}.wr-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15),transparent 50%),radial-gradient(circle at 10% 90%,rgba(0,0,0,.1),transparent 50%);pointer-events:none}.wr-hero>*{position:relative}.avgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.avgrid .av-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:16px;background:transparent;cursor:pointer;border:none;transition:all .15s ease;padding:4px}.avgrid .av-cell.selected{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.h1{font-family:var(--display);font-size:48px;font-weight:700;letter-spacing:-.04em;line-height:1;margin:0}.h2{font-family:var(--display);font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0}.h3{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}.h4{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}.eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin:0}.eyebrow.accent{color:var(--accent)}.wr-row{display:flex;flex-direction:row;align-items:center}.wr-col{display:flex;flex-direction:column}.wr-center{display:flex;align-items:center;justify-content:center}.wr-between{display:flex;justify-content:space-between;align-items:center}.wr-flex-1{flex:1}.wr-mt-auto{margin-top:auto}.wr-text-3{color:var(--ink-3)}.wr-text-4{color:var(--ink-4)}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.sub-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm)}.sub-strip .avs{display:flex;gap:6px}.sub-strip .label{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.04em}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:.95}to{transform:translateY(110vh) translate(var(--drift, 0)) rotate(360deg);opacity:0}}.confetti-piece{position:absolute;will-change:transform;animation:confetti-fall var(--dur, 3s) ease-in var(--delay, 0s) forwards}@keyframes winner-pill{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-avatar{0%{opacity:0;transform:scale(.4) rotate(-12deg)}60%{transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes winner-name{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-score{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.wr-skel{background:linear-gradient(90deg,var(--line),var(--line-2),var(--line));background-size:200% 100%;border-radius:8px;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.high-contrast{filter:contrast(1.5) brightness(1.05)}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}.high-contrast{--bg-primary: #000;--bg-secondary: #fff;--text-primary: #fff;--text-secondary: #000;--border-color: #fff}.high-contrast body{background:var(--bg-primary)!important;color:var(--text-primary)!important}.high-contrast button,.high-contrast input,.high-contrast select,.high-contrast textarea{border:2px solid var(--border-color)!important;background:var(--bg-primary)!important;color:var(--text-primary)!important}.high-contrast button:hover{background:var(--bg-secondary)!important;color:var(--text-secondary)!important}.high-contrast .bg-white{background:var(--bg-primary)!important;border:2px solid var(--border-color)!important}.high-contrast .text-gray-600,.high-contrast .text-gray-500,.high-contrast .text-gray-400{color:var(--text-primary)!important}.reduce-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.text-large,.text-large button,.text-large input,.text-large select,.text-large textarea{font-size:1.125em}.text-extra-large,.text-extra-large button,.text-extra-large input,.text-extra-large select,.text-extra-large textarea{font-size:1.25em}.focus-visible button:focus,.focus-visible input:focus,.focus-visible select:focus,.focus-visible textarea:focus,.focus-visible a:focus,.focus-visible [tabindex]:focus{outline:3px solid #4F46E5!important;outline-offset:2px!important}.keyboard-nav button:focus,.keyboard-nav input:focus,.keyboard-nav select:focus,.keyboard-nav textarea:focus,.keyboard-nav a:focus,.keyboard-nav [tabindex]:focus{outline:3px solid #4F46E5!important;outline-offset:2px!important;box-shadow:0 0 0 4px #4f46e54d!important}@keyframes sound-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.sound-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#4f46e533;animation:sound-pulse .5s ease}.timer-warning-visual{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #EF4444;border-radius:inherit;animation:timer-warning-flash 1s ease infinite}@keyframes timer-warning-flash{0%,to{opacity:0}50%{opacity:1}}.category-input-accessible{position:relative}.category-input-accessible:before{content:attr(data-category);position:absolute;top:-20px;left:0;font-size:12px;color:#666}[aria-busy=true]:after{content:" (loading)";font-size:.9em;color:#666}.error-message{padding:8px;background:#fee;border:1px solid #F44;border-radius:4px;color:#c00}.success-message{padding:8px;background:#efe;border:1px solid #4F4;border-radius:4px;color:#080}.game-board-accessible{display:grid;gap:1rem}.game-board-accessible:focus{outline:2px solid #4F46E5;outline-offset:4px}.player-card[aria-current=true]{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e54d}.player-card[data-status=disconnected]{opacity:.6}.player-card[data-status=ready]:after{content:" ✓";color:#10b981;font-weight:700}[role=dialog]{position:relative}[role=dialog]:focus{outline:none}[role=dialog]:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid transparent;border-radius:inherit;pointer-events:none}[role=dialog]:focus-within:before{border-color:#4f46e5}@media(min-width:768px){:root{--gutter: 24px}.screen-pad{max-width:640px;padding-left:var(--gutter);padding-right:var(--gutter)}.topbar{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}.bnav{max-width:640px;border-radius:20px 20px 0 0}.wr-2up-md{display:grid;grid-template-columns:1fr 1fr;gap:12px}}@media(min-width:1024px){:root{--gutter: 32px}.screen-pad{max-width:var(--container-content);padding:24px var(--gutter) 40px}.topbar{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter);background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.wr-page--narrow{max-width:var(--container-narrow)}.wr-page--content{max-width:var(--container-content)}.wr-page--wide{max-width:var(--container-wide)}.wr-page--max,.wr-page--stage{max-width:var(--container-max)}.wr-rail{position:fixed;top:0;left:0;bottom:0;width:var(--nav-rail-w);z-index:var(--z-nav, 50);display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;background:color-mix(in oklab,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-right:1px solid var(--line)}.wr-rail .rail-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:12px;background:transparent;border:none;cursor:pointer;border-radius:12px}.wr-rail .item{position:relative;width:56px;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;border:none;background:transparent;color:var(--ink-3);font-size:13px;font-weight:600;font-family:var(--ui);cursor:pointer;transition:background var(--dur-tap, .12s) ease,color .12s ease}.wr-rail .item.active{color:var(--accent);background:var(--accent-soft)}.wr-rail .rail-spacer{flex:1}.wr-with-rail .app-shell{padding-left:var(--nav-rail-w)}.wr-with-rail .screen-pad{padding-bottom:40px}.bnav{max-width:720px}.wr-kbd{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:20px;padding:0 5px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line-2);border-bottom-width:2px;font-family:var(--mono);font-size:12px;font-weight:600;line-height:1;color:var(--ink-3);letter-spacing:0;white-space:nowrap;vertical-align:middle}.wr-kbd.on-accent{background:#ffffff38;border-color:#ffffff59;color:#fff}.wr-stage{display:grid;grid-template-columns:var(--rail-left-w) minmax(440px,560px) var(--aside-w);grid-template-rows:minmax(0,1fr);gap:32px;align-items:stretch;width:100%;max-width:var(--container-max);margin:0 auto;flex:1;min-height:0}.wr-stage.no-left{grid-template-columns:minmax(440px,560px) var(--aside-w);justify-content:center}.wr-stage.main-wide{grid-template-columns:var(--rail-left-w) minmax(440px,var(--container-content)) var(--aside-w)}.wr-stage.main-wide.no-left{grid-template-columns:minmax(440px,var(--container-content)) var(--aside-w)}.wr-stage>.stage-left,.wr-stage>.stage-right{position:sticky;top:8px;align-self:start}.wr-stage>.stage-main{display:flex;flex-direction:column;min-width:0;min-height:0}.wr-roster{background:var(--surface);border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line),0 4px 16px -8px #16161a14;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 140px);overflow-y:auto}.wr-roster .roster-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--surface-2);transition:background .16s ease}.wr-roster .roster-row.is-me{box-shadow:0 0 0 1.5px var(--accent) inset;background:var(--accent-soft)}.wr-roster .roster-row .rname{flex:1;min-width:0;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-roster .roster-row .rtotal{font-family:var(--display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums;color:var(--ink);flex-shrink:0}.wr-roster .roster-row .ready,.wr-roster .roster-row .waiting{flex-shrink:0}.wr-timerbar{height:3px;width:100%;background:var(--line);border-radius:999px;overflow:hidden;flex-shrink:0}.wr-timerbar>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .9s linear}.wr-timerbar.urgent>i{background:var(--accent-deep, #E8480E)}.wr-race-clock{font-family:var(--mono);font-size:40px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-2);line-height:1}.wr-race-clock.urgent{color:var(--accent)}.wr-letterchips{display:flex;flex-wrap:wrap;gap:6px}.wr-letterchips>span{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink-3)}.wr-letterchips>span.now{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.btn.wr-armed{box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-glow)}.wr-tally-stage{position:relative;overflow:hidden}.wr-tally-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;font-family:var(--display);font-weight:800;font-size:min(44vh,420px);line-height:1;letter-spacing:-.06em;color:var(--ink);opacity:.03;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wr-tally-stage>*:not(.wr-tally-watermark){position:relative;z-index:1}.wr-tally-word{font-size:32px!important}.wr-tally-totals{position:sticky;top:8px}.wr-split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}.wr-split>.split-side{position:sticky;top:8px}.wr-achieve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.wr-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.wr-home{display:grid;grid-template-columns:minmax(560px,640px) var(--aside-w);gap:32px;align-items:start;justify-content:center}.wr-home>.home-main,.wr-home>.home-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.wr-home>.home-aside{position:sticky;top:8px}.wr-lobby{display:grid;grid-template-columns:minmax(0,var(--container-content)) var(--aside-w);gap:32px;align-items:start;justify-content:center}.wr-lobby>.lobby-aside{display:flex;flex-direction:column;gap:12px}.wr-roomcode{font-size:var(--t-code-lg);letter-spacing:-.04em;line-height:1}.wr-landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;min-height:calc(100dvh - 200px)}.wr-landing .lead-h1{font-size:56px}.wr-landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wr-final-body{max-width:var(--container-content);margin:0 auto;width:100%}.wr-final-score{font-size:88px!important}@media(hover:hover)and (pointer:fine){.wr-rail .item:hover{background:var(--bg-2);color:var(--ink)}.wr-rail .item.active:hover{background:var(--accent-soft);color:var(--accent)}.wr-hoverrow .wr-rowactions{opacity:0;transition:opacity .12s ease}.wr-hoverrow:hover .wr-rowactions,.wr-hoverrow:focus-within .wr-rowactions{opacity:1}.wr-tally-row .wr-settle{opacity:0;transition:opacity .12s ease}.wr-tally-row:hover .wr-settle,.wr-tally-row:focus-within .wr-settle{opacity:1}.wr-lift{transition:transform .12s var(--ease-standard, ease),box-shadow .12s ease}.wr-lift:hover{transform:translateY(-2px)}.wr-no-lift:hover,.wr-no-lift button.card:hover,.wr-no-lift .card.tappable:hover{transform:none!important}}}@media(min-width:1440px){:root{--gutter: 40px;--container-max: 1320px}.screen-pad{padding-left:var(--gutter);padding-right:var(--gutter)}.topbar{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}}@media(min-width:1024px){.auth-screen .screen-pad,.auth-screen .wr-col{max-width:420px;margin-left:auto;margin-right:auto}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-bottom-1{bottom:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-10{top:2.5rem}.top-3{top:.75rem}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-1{height:.25rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-8{height:2rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-4{width:1rem}.w-8{width:2rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-purple-400{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-100{--tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-50{--tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-50{--tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-50{--tw-gradient-from: #fefce8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-gray-50{--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f9fafb var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-50{--tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #faf5ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-green-100{--tw-gradient-to: #dcfce7 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-red-100{--tw-gradient-to: #fee2e2 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.to-yellow-100{--tw-gradient-to: #fef9c3 var(--tw-gradient-to-position)}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}#root{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;overflow-y:auto;padding-bottom:var(--bottom-nav-height)}.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}@keyframes legacy-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.shimmer{background:linear-gradient(90deg,var(--line) 25%,var(--line-2) 50%,var(--line) 75%);background-size:200px 100%;animation:legacy-shimmer 1.5s infinite}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.hover\:from-purple-600:hover{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:inline{display:inline}}
