:root{--bg:#0a0b0e;--surface:#16181d;--surface-2:#1e2126;--surface-3:#262a30;--bg-pattern:none;--bg-size:auto;--bg-position:0 0;--bg-repeat:repeat;--scrim:#05070c99;--line:#2b2e34;--line-strong:#3d414a;--border-width:1px;--text:#f3f4f6;--muted:#999da5;--accent:#8fa3bd;--accent-ink:#0a0d12;--accent-2:#8fa3bd;--wave-played:#fff;--wave-unplayed:#ffffff59;--radius:14px;--radius-sm:10px;--radius-xs:8px;--radius-pill:999px;--shadow-card:none;--shadow-pop:0 12px 30px #00000059;--shadow-menu:0 12px 40px #00000080;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-ui);--font-mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--dur-fast:.12s;--dur:.26s;--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--bg);background-image:var(--bg-pattern);background-size:var(--bg-size);background-position:var(--bg-position);background-repeat:var(--bg-repeat);color:var(--text);font:16px/1.5 var(--font-ui);-webkit-text-size-adjust:100%;background-attachment:fixed;margin:0}h1,h2,h3{line-height:1.2;font-family:var(--font-display);margin:0 0 .5rem}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.btn{appearance:none;border:var(--border-width) solid var(--line);background:var(--surface-2);color:var(--text);border-radius:var(--radius);cursor:pointer;min-height:48px;padding:.75rem 1.1rem;font-size:1rem;font-weight:600}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--quiet{background:0 0}.btn--big{width:100%;padding:1rem;font-size:1.1rem}.linkbtn{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:44px;padding:.5rem;font-size:.9rem}.linkbtn:hover{color:var(--text)}input[type=text],input:not([type]),.field input,.code-input{background:var(--surface-2);border:var(--border-width) solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);min-height:48px;padding:.85rem 1rem;font-size:1.05rem}input:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{margin:1rem 0;display:block}.field>span{color:var(--muted);margin-bottom:.35rem;font-size:.9rem;display:block}.field--inline{align-items:center;gap:.5rem;margin:0;display:flex}.field--inline>span{white-space:nowrap;margin-bottom:0}.field--inline input{width:clamp(7rem,22vw,11rem);min-height:42px;padding:.6rem .75rem;font-size:1rem}.field--attention input{border-color:var(--accent-2);animation:.25s shake}.field__warning{color:var(--text);margin-top:.35rem;font-size:.85rem;font-weight:600;display:block}.checkbox{cursor:pointer;align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--accent);flex:none}.checkbox--sub{padding-left:.25rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:var(--border-width) solid var(--line);color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;background:0 0;min-height:40px;padding:.5rem .9rem;font-size:.9rem}.chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.chips--genres .chip{color:var(--text);background:0 0;border-color:#fff}.chip.is-include{border-color:#2f7a3d}.chip.is-exclude{border-color:#a83232}.chip__sign--include{color:#2f7a3d}.chip__sign--exclude{color:#a83232}.tag{background:var(--surface-2);border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);color:var(--muted);margin-left:.35rem;padding:.1rem .55rem;font-size:.75rem;display:inline-block}.tag--muted{opacity:.7}.tag--easy{opacity:.6}.tag--hard{color:var(--text);font-weight:700}.banner{background:var(--surface-2);border:var(--border-width) solid var(--line);border-radius:var(--radius);margin:.75rem 0;padding:.7rem 1rem}.banner--error{border-color:var(--line-strong);color:var(--text);border-left-width:3px;font-weight:600}.card{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:1.25rem}.home{max-width:1100px;margin:0 auto;padding:.75rem 1rem 4rem}.home .banner{max-width:900px}.joinform{align-items:center;gap:.4rem;display:flex}.joinform__go{border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:30px;height:30px;color:var(--text);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.joinform__go:hover:not(:disabled){border-color:var(--accent)}.joinform__go:disabled{opacity:.4;cursor:not-allowed}.joinform__go svg{width:14px;height:14px}.code-input{text-align:center;letter-spacing:.4em;text-transform:uppercase;margin-bottom:.75rem;font-size:1.75rem;font-weight:700}input.code-input--compact{letter-spacing:.2em;text-indent:.2em;width:6.5rem;min-height:30px;margin-bottom:0;padding:.3rem .4rem;font-size:1rem;font-weight:700}@media (width<=560px){.header__name{flex:1;min-width:0}.header__name input{width:100%}}.gamecards{gap:1rem;max-width:800px;margin:1.5rem auto 0;display:grid}.gamecard{text-align:left;width:100%;font:inherit;cursor:pointer;background:var(--bg);background-image:var(--bg-pattern);background-size:var(--bg-size);background-position:var(--bg-position);background-repeat:var(--bg-repeat);color:var(--text);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:grid;position:relative;overflow:hidden}.gamecard:hover:not(:disabled),.gamecard:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px -10px #000000b3}.gamecard:active:not(:disabled){transform:translateY(0)}.gamecard:disabled{opacity:.55;cursor:progress}.gamecard__art{width:clamp(64px,18vw,92px);color:var(--line-strong);flex:none;display:block}.gamecard__art svg{width:100%;height:auto;display:block}.art__group{transform-origin:50%;transition:transform var(--dur) var(--ease)}.gamecard:hover:not(:disabled) .art__group,.gamecard:focus-visible .art__group{transform:scale(1.05)}.gamecard__body{gap:.3rem;min-width:0;display:grid}.gamecard__name{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.2}.gamecard__blurb{color:var(--muted);font-size:.9rem;line-height:1.4}.gamecard__go{width:36px;height:36px;color:var(--accent);flex:none;place-items:center;display:grid}.gamecard__go svg{width:22px;height:22px}.joingate{justify-content:center;align-items:center;min-height:100%;padding:2rem 1rem;display:flex}.joingate__card{text-align:center;width:min(360px,100%)}.joingate__cancel{margin:.5rem auto 0;display:block}.room{max-width:1100px;margin:0 auto;padding:.75rem 1rem 3rem}.room__header{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding-bottom:.75rem;display:flex}.header__title{font-size:1.05rem;font-weight:600}.header__code{align-items:center;gap:.4rem;margin-left:auto;display:flex}.room__code{letter-spacing:.2em;font-size:1rem;font-weight:700}.header__nameform{position:relative}input.header__nameinput{width:clamp(5rem,14vw,7rem)}.header__namewarning{white-space:nowrap;z-index:5;margin-top:.3rem;position:absolute;top:100%;right:0}.header__namedisplay{align-items:center;gap:.15rem;font-weight:600;display:flex}.header__editname{min-height:auto;padding:.35rem}.header__editname svg{width:15px;height:15px;display:block}.linkbtn:disabled{opacity:.3;cursor:default}.linkbtn:disabled:hover{color:var(--muted)}.roommenu__empty{padding:.6rem .7rem;font-size:.9rem;display:block}.room__home{padding:.5rem}.room__home svg{width:20px;height:20px;display:block}.room__copy{margin-left:-.35rem;padding:.5rem}.room__copy svg{width:18px;height:18px;display:block}.roommenu{position:relative}.roommenu__trigger{font-size:1.2rem;line-height:1}.roommenu__list{z-index:20;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);min-width:170px;box-shadow:var(--shadow-pop);margin:.35rem 0 0;padding:.35rem;list-style:none;position:absolute;top:100%;right:0}.roommenu__list button{text-align:left;width:100%;color:var(--text);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;min-height:40px;padding:.6rem .7rem;font-size:.95rem;display:block}.roommenu__list button:hover{background:var(--surface-2)}.roommenu__danger{font-weight:700}.modal{z-index:30;background:var(--scrim);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal__card{width:min(360px,100%)}.modal__actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.lobby{grid-template-columns:1fr;gap:1rem;display:grid}.settings__block{border-top:var(--border-width) solid var(--line);padding:.9rem 0}.settings__block:first-child{border-top:0}.category{border-top:var(--border-width) solid var(--line);padding:.35rem 0}.category summary{cursor:pointer;align-items:center;gap:.5rem;list-style:none;display:flex}.category summary::-webkit-details-marker{display:none}.category__body{padding:.25rem 0 .5rem 1.75rem}.count{margin-left:auto;font-size:.85rem}.rounds{text-align:center;margin:.75rem 0 0}.songsettings .settings__block:last-child{padding-bottom:0}.rounds__input{text-align:center;width:3rem;font:inherit;color:var(--text);background:0 0;border:0;margin:0 auto;padding:.2rem 0;font-size:1.6rem;font-weight:700;display:block}.match-count{text-align:right;margin:.35rem 0 0}.lobby__start{border-top:var(--border-width) solid var(--line);margin-top:1rem;padding-top:1rem}:is(.songsettings+.lobby__start,.settings-readonly:has(.songsettings)+.lobby__start){margin-top:0}.settings-readonly{opacity:.5;cursor:not-allowed;border:0;min-width:0;margin:0;padding:0}.settings-readonly *{cursor:not-allowed!important}.badge-lock{border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);color:var(--muted);vertical-align:middle;align-items:center;gap:.3rem;margin-left:.5rem;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-lock svg{color:#fff;flex:none}.play{grid-template-columns:1fr;gap:1rem;display:grid}.play__meta{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.play__meta .muted{margin-left:auto;font-size:.85rem}.play__image{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);place-items:center;display:grid;overflow:hidden}.play__image img{object-fit:contain;width:100%;max-height:min(48vh,460px);display:block}.play__prompt{font-family:var(--font-display);margin:.75rem 0;font-size:clamp(1.15rem,4vw,1.6rem)}.skipvote{width:100%;margin-top:.75rem}.skipvote.is-on{border-color:var(--accent);color:var(--accent)}.timer{background:var(--surface-2);border-radius:var(--radius-pill);height:10px;margin:.5rem 0 1rem;position:relative;overflow:hidden}.timer__bar{background:var(--accent);transform-origin:0;height:100%;transition:transform .1s linear}.timer__bar.is-low{background:var(--text);animation:.6s ease-in-out infinite timer-pulse}@keyframes timer-pulse{50%{opacity:.5}}.timer__count{color:var(--muted);font-size:.8rem;position:absolute;top:12px;right:0}.answer{background:linear-gradient(transparent, var(--bg) 25%);gap:.5rem;padding-top:.5rem;display:flex;position:sticky;bottom:0}.answer input{flex:1}.answer.is-solved input{border-color:var(--accent);color:var(--text);font-weight:600}.answer.is-wrong input{animation:.25s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.answer__hint{margin:.35rem 0 0;font-size:.9rem}.reveal{border-top:var(--border-width) solid var(--line);padding-top:1rem}.reveal__answer{color:var(--accent);margin:.15rem 0 .5rem;font-size:clamp(1.5rem,6vw,2.5rem);font-weight:800}.reveal__results{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.reveal__results li{border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;gap:1rem;padding:.5rem .75rem;display:flex}.reveal__results .is-correct{border-left:3px solid var(--accent);font-weight:600}.reveal__results .is-wrong{border-left:3px solid var(--line-strong);opacity:.7}.play__side{flex-direction:column;gap:.75rem;display:flex}.play__hostbar{gap:.5rem;display:flex}.play__hostbar .btn{flex:1}.scoreboard{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.scoreboard__row{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.55rem .75rem;transition:border-color .2s ease-out,opacity .2s ease-out;display:flex}.scoreboard__row.is-me{border-color:var(--accent)}.scoreboard__row.is-away{opacity:.55}.scoreboard__row.is-solved{border-color:var(--accent)}.scoreboard__row.is-out{opacity:.55}.scoreboard__tick{width:1rem;color:var(--accent);font-weight:700}.scoreboard__name{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.scoreboard__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scoreboard__status{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.scoreboard__row.is-solved .scoreboard__status{color:var(--accent)}.scoreboard__score{font-variant-numeric:tabular-nums;font-weight:700}.scoreboard__delta{color:var(--accent);margin-left:.35rem;font-size:.8rem}@media (width>=760px){.lobby{grid-template-columns:1fr 1fr;align-items:start}.play{grid-template-columns:minmax(0,1fr) 280px;align-items:start}}.room--display .play__prompt{font-size:clamp(1.5rem,3.5vw,2.5rem)}.room--display .play__image img{max-height:60vh}.mathrange{flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.35rem 0;display:flex}.mathrange__pair{flex:none;align-items:center;gap:.25rem;display:inline-flex}.mathrange__op{flex:none;font-weight:700}input.mathrange__input{text-align:center;flex:none;width:3.1rem;min-height:30px;padding:.3rem}.mathplay .play__prompt{font-variant-numeric:tabular-nums}.chip__count{opacity:.7;font-variant-numeric:tabular-nums;margin-left:.4rem;font-size:.75rem}.settings__quick{float:right;font-weight:400}.settings__quick .linkbtn{min-height:0;padding:0 .25rem}.songplay .scoreboard__row{background:0 0;border-color:#ffffff26}.songplay .scoreboard__tick,.songplay .scoreboard__score{font-weight:500}.songplay .scoreboard__row.is-solved{border-color:var(--accent-2)}.songplay .scoreboard__row.is-solved .scoreboard__status{color:var(--accent-2)}.songsettings .chip.is-on{color:var(--text);background:0 0;border-color:#fff;font-weight:500}.songplay input[type=range],.songsettings input[type=range]{appearance:none;cursor:pointer;background:0 0}.songplay input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:#ffffff40;height:3px}.songsettings input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:#ffffff40;height:3px}.songplay input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:#ffffff40;height:3px}.songsettings input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:#ffffff40;height:3px}.songplay input[type=range]::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5.5px}.songsettings input[type=range]::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5.5px}.songplay input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px}.songsettings input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px}.songplay .play__meta{align-items:center}.songplay .timer{height:3px;margin:.5rem 0 .85rem}.songplay .timer__count{top:7px}.songplay__stage{padding:1.25rem 0 .5rem}.waveformbar{position:relative}.waveformbar__track{height:150px;position:relative;overflow:hidden}.waveformbar__track.is-scrubbable{cursor:pointer;touch-action:none}.waveformbar__canvas{width:100%;height:100%;display:block}.songplay__controls{justify-content:center;align-items:center;gap:1.25rem;margin:1rem 0 .5rem;padding-left:4.5rem;display:flex}.songplay__seconds{width:3.25rem;color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:500}.playbutton{aspect-ratio:1;border:1.5px solid var(--accent);width:clamp(40px,10vw,56px);color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:transform .12s,background-color .12s;display:grid}.playbutton:hover:not(:disabled){background:#ffffff14}.playbutton svg{pointer-events:none;width:40%;height:40%}.playbutton:active:not(:disabled){transform:scale(.96)}.playbutton:disabled{opacity:.4;cursor:progress}.playbutton.needs-tap{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 10px #ffffff1a}}.songplay__tap{text-align:center;color:var(--accent);margin:.25rem 0 0}.songplay__status{text-align:center;margin:.75rem 0 .25rem}.songresult{text-align:center}.songresult__line{margin:0 0 .35rem;font-size:1.3rem;font-weight:700}.songresult__line.is-wrong{color:var(--muted);font-weight:500}.songsearch{background:linear-gradient(transparent, var(--bg) 25%);padding-top:.5rem;position:sticky;bottom:0}.songsearch__row{gap:.5rem;display:flex}.songsearch__row.is-wrong{animation:.25s shake}.songsearch__field{flex:1;min-width:0;position:relative}.songsearch__field input{background:var(--surface-2);width:100%;padding-left:2.6rem}.songsearch__icon{width:18px;height:18px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.songsearch__skip{background:var(--surface-2);align-items:center;gap:.4rem;padding-inline:1.4rem;display:inline-flex}.songsearch__skip svg{width:16px;height:16px}.songsearch__list{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);max-height:min(19rem,45vh);box-shadow:var(--shadow-menu);z-index:5;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto}.songsearch__option{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;padding:.5rem .75rem;display:flex}.songsearch__option.is-active{background:var(--surface-3)}.songsearch__title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.songplay .songsearch__field input{background:0 0;border-color:#ffffff40}.songplay .songsearch__icon{color:#ffffff80}.songplay .songsearch__skip{background:0 0;border-color:#ffffff59;font-weight:500}.songplay .songsearch__skip:hover:not(:disabled){background:#ffffff14}.songplay .songsearch__list{background:#000;border-color:#ffffff2e;box-shadow:0 12px 40px #000000b3}.songplay .songsearch__option.is-active{background:#ffffff1a}.songplay .songsearch__title{font-weight:500}.songsearch__artist{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.volume{align-items:center;gap:.35rem;margin-left:auto;display:flex}.volume__mute{color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;min-width:32px;min-height:32px;padding:.25rem;display:grid}.volume input[type=range]{width:clamp(70px,18vw,120px);accent-color:var(--accent)}.volume input[type=range]::-webkit-slider-thumb{width:10px;height:10px;margin-top:-3.5px}.volume input[type=range]::-moz-range-thumb{width:10px;height:10px}.songreveal__song{align-items:center;gap:1rem;display:flex}.songreveal__art{aspect-ratio:1;border-radius:var(--radius-sm);object-fit:cover;flex:none;width:clamp(72px,20vw,110px)}.songreveal__art--blank{background:var(--surface-2);color:var(--muted);place-items:center;font-size:2rem;display:grid}.songreveal__artist{margin:0;font-size:1.1rem}.songreveal__winner{margin:.75rem 0 0;font-weight:600}.room--display .playbutton{width:clamp(64px,10vw,96px)}[data-theme=songs]{--accent:#fff;--accent-ink:#0a0b0e;--accent-2:#8fa3bd}.gamecard[data-theme=songs]{background:#000}[data-theme=trivia]{--bg:#f7f2e7;--surface:#fffdf8;--surface-2:#f2ebdc;--surface-3:#e8dfcb;--scrim:#2d221273;--line:#ded2ba;--line-strong:#b9a883;--text:#241f19;--muted:#6d6053;--accent:#0d5a53;--accent-ink:#fffdf8;--accent-2:#bf5320;--radius:8px;--radius-sm:6px;--radius-xs:4px;--shadow-card:0 1px 2px #3c2c141f, 0 6px 14px -8px #3c2c144d;--shadow-pop:0 10px 28px -6px #3c2c1447;--shadow-menu:0 14px 36px -8px #3c2c1459;--font-display:ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif}[data-theme=trivia] .card,[data-theme=trivia] .scoreboard__row,[data-theme=trivia] .reveal__results li{box-shadow:var(--shadow-card)}[data-theme=trivia] .chip{border-radius:var(--radius-xs)}[data-theme=trivia] .play__image{background:var(--surface);box-shadow:var(--shadow-card);padding:.5rem}[data-theme=trivia] .reveal__answer{font-family:var(--font-display);letter-spacing:-.01em}[data-theme=trivia] .reveal__results .is-wrong{border-left-color:var(--accent-2)}[data-theme=trivia] .answer.is-wrong input{border-color:var(--accent-2)}[data-theme=trivia] .timer__bar.is-low{background:var(--accent-2)}[data-theme=trivia] .tag--hard{color:var(--accent-2)}.triviaplay{perspective:1200px}[data-theme=trivia] .flipcard__face{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1rem}[data-theme=trivia] .flipcard__face .answer{background:0 0;padding-top:0}[data-theme=trivia] .reveal{border-top:0;padding-top:0}[data-theme=mentalmath]{--bg:#7a4f30;--surface:#f1e6cd;--surface-2:#e8dab8;--surface-3:#ddc9a0;--scrim:#1910088c;--line:#c9ab78;--line-strong:#8a5f37;--text:#241b10;--muted:#6b5738;--accent:#1a9c5a;--accent-ink:#fff;--accent-2:#c23c2a;--radius:6px;--radius-sm:4px;--radius-xs:3px;--shadow-card:0 3px 8px #23140840;--shadow-pop:0 10px 24px -6px #19100866;--shadow-menu:0 10px 24px -6px #19100866;--font-ui:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-ui);--bg-pattern:linear-gradient(#140c0426, #140c0426), url(/assets/wood-desk-B_QsUrfd.jpg);--bg-size:cover;--bg-position:center;--bg-repeat:no-repeat}[data-theme=mentalmath] .card{border-color:var(--line-strong);box-shadow:var(--shadow-card)}[data-theme=mentalmath] .scoreboard__row{box-shadow:var(--shadow-card)}[data-theme=mentalmath] .scoreboard__row.is-me,[data-theme=mentalmath] .scoreboard__row.is-solved{border-color:var(--accent)}[data-theme=mentalmath] .gamecard__go{color:#d6902e}.calculator{background:radial-gradient(120% 90% at 30% -10%,#ffffff8c,#fff0 55%),linear-gradient(165deg,#ebe7df 0% 30%,#d8d3c8 30% 100%);border-radius:18px 18px 10px 10px;max-width:380px;margin:0 auto;padding:.9rem .9rem 1rem;position:relative;box-shadow:0 3px 4px -1px #0a060273,0 30px 40px -18px #0a060299,inset 0 2px #ffffff80,inset 0 -6px 10px -6px #00000026}.calculator:before{content:"";filter:blur(2px);z-index:-1;background:radial-gradient(50% 100%,#0f090373,#0f090300 75%);height:22px;position:absolute;bottom:-10px;left:8%;right:8%}.calculator__top{justify-content:space-between;align-items:baseline;padding:.1rem .35rem .5rem;display:flex}.calculator__brand{letter-spacing:.08em;color:#6b6355;font-size:.7rem;font-weight:700}.calculator__brand:before{content:"";vertical-align:-.1em;background-blend-mode:overlay;background:repeating-linear-gradient(90deg,#7fa8c9 0 2px,#547a99 2px 4px),linear-gradient(160deg,#3a4650,#23292f);border:1px solid #1c2126;border-radius:1px;width:1.5em;height:.8em;margin-right:.4em;display:inline-block}.calculator__top .muted{color:#8c8574;font-size:.72rem}.calculator__screen{background:linear-gradient(115deg,#ffffff59 0%,#fff0 28%),linear-gradient(#d3d8ca,#c3cbb6);border-radius:5px;flex-direction:column;justify-content:center;min-height:5rem;padding:.6rem .85rem .4rem;transition:box-shadow .15s ease-out;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 5px #14190f59,inset 0 0 0 1px #00000026,inset 0 0 0 5px #b7b09a}.calculator__screen.is-wrong{animation:.35s ease-out calc-flash}@keyframes calc-flash{25%{box-shadow:inset 0 2px 5px #14190f59,inset 0 0 0 1px #00000026,inset 0 0 0 5px #c2554a}}.calculator__display{flex-direction:column;align-items:flex-end;gap:.1rem;min-width:0;display:flex}.calculator__equation{color:#3d4536;letter-spacing:.01em;opacity:.7;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1.3rem,8vw,1.9rem);overflow:hidden}.calculator__value{color:#1d2417;letter-spacing:.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.3rem,8vw,1.9rem);font-weight:700;line-height:1}input.calculator__input{width:auto;min-height:0;color:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;text-align:right;caret-color:#1d2417;background:0 0;border:0;min-width:.6ch;margin:0;padding:0;font-size:clamp(1.3rem,8vw,1.9rem)}input.calculator__input::placeholder{color:#1d241759}input.calculator__input:focus{outline:none}.calculator__screen .timer{background:#0000001f;border-radius:0;height:4px;margin:.5rem 0 0}.calculator__screen .timer__bar{background:#3d4536}.calculator__screen .timer__bar.is-low{background:#a4361f}.calculator__screen .timer__count{color:#3d4536;top:8px}.calculator__keypad{gap:.4rem;margin-top:.7rem;padding-top:.15rem;display:grid}.calculator__krow{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.calculator__key{color:#3a382f;-webkit-user-select:none;user-select:none;pointer-events:none;background:radial-gradient(80% 60% at 50% 0,#ffffffe6,#fff0 70%),linear-gradient(#fbfbf9,#e4e1d6);border:0;border-radius:10px;place-items:center;height:2.9rem;font-family:inherit;font-size:.95rem;font-weight:600;display:grid;box-shadow:0 3px #a19a86,0 4px 4px #0000004d,inset 0 1px #fffc,inset 0 -2px 2px #00000014}.calculator__key--live{pointer-events:auto;cursor:pointer;transition:transform 50ms ease-out,box-shadow 50ms ease-out}.calculator__key--live:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #a19a86,0 1px 1px #0000004d,inset 0 1px #fffc,inset 0 -1px 1px #0000001a}.calculator__key--live:disabled{cursor:not-allowed;opacity:.6}.calculator__key--wide{grid-column:span 2}.calculator__key--fn{color:#2c3a2c;background:radial-gradient(80% 60% at 50% 0,#ffffff80,#fff0 70%),linear-gradient(#cfd6ce,#b7c0b6);box-shadow:0 3px #7c8f7a,0 4px 4px #0000004d,inset 0 1px #fff9,inset 0 -2px 2px #00000014}.calculator__key--op{color:#472a05;background:radial-gradient(80% 60% at 50% 0,#ffffff73,#fff0 70%),linear-gradient(#f0b45a,#d6902e);box-shadow:0 3px #96601b,0 4px 4px #0000004d,inset 0 1px #ffffff59,inset 0 -2px 2px #0000001a}.calculator__key--equals{color:#eafff0;background:radial-gradient(80% 60% at 50% 0,#ffffff59,#fff0 70%),linear-gradient(#2fa563,#1c7a45);box-shadow:0 3px #114a28,0 4px 4px #00000059,inset 0 1px #ffffff4d,inset 0 -2px 2px #0000001f}.mathplay__equation{animation:slide-in var(--dur) var(--ease)}.flipcard{transform-style:preserve-3d;transition:transform var(--dur) var(--ease);will-change:transform;display:grid}.flipcard.is-flipped{transform:rotateY(180deg)}.flipcard__face{backface-visibility:hidden;grid-area:1/1;min-width:0}.flipcard__face--back{transform:rotateY(180deg)}.stagger{animation:rise-in var(--dur) var(--ease) backwards;animation-delay:calc(var(--i,0) * 40ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes slide-in{0%{opacity:0;transform:translate(-20px)}}@media (prefers-reduced-motion:reduce){:root{--dur:.01ms;--dur-fast:.01ms}.flipcard,.stagger,.mathplay__equation,.playbutton.needs-tap,.timer__bar.is-low,.gamecard,.art__group{transition:none;animation:none}.gamecard:hover:not(:disabled),.gamecard:focus-visible{transform:none}}
