@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--c-bg:#0a0618;--c-panel:#140a328c;--c-panel-border:#a08cff59;--c-text:#f3eeff;--c-muted:#a99bdc;--c-accent:#5ee7ff;--c-violet:#a58cff;--c-green:#30e68a;--c-orange:#ff8a1f;--c-scrim:#0a061873;--r-pill:999px;--r-card:18px;--glow-accent:0 0 12px #5ee7ff8c, 0 0 2px #5ee7ffe6;--glow-accent-soft:0 0 18px #5ee7ff40;--glow-violet:0 0 12px #a58cff80, 0 0 2px #a58cffe6;--glow-text:0 0 18px #5ee7ff8c, 0 0 42px #5ee7ff40;--font:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tap:48px;--gutter:16px;--panel-w:380px;--panel-gap:12px;--panel-bleed:var(--gutter);--brand-size:clamp(40px, 12vw, 56px);--heading-size:28px;--tap-short:44px;--panel-w-wide:640px;--panel-compact-w-wide:460px;--panel-gap-short:8px;--brand-size-short:clamp(28px, min(7vw, 10vh), 44px);--heading-size-short:clamp(20px, 7vh, 26px);--ease-out:cubic-bezier(.33, 1, .68, 1);--t-ui:.17s;--safe-top:max(var(--gutter), env(safe-area-inset-top));--safe-right:max(var(--gutter), env(safe-area-inset-right));--safe-bottom:max(var(--gutter), env(safe-area-inset-bottom));--safe-left:max(var(--gutter), env(safe-area-inset-left))}@media (prefers-reduced-motion:reduce){:root{--t-ui:0s}}html,body{background:var(--c-bg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;font-family:var(--font);color:var(--c-text);margin:0;overflow:hidden}#stage{touch-action:none;overscroll-behavior:none;position:fixed;inset:0}#stage canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;touch-action:none}#hud{pointer-events:none;font-family:var(--font);position:fixed;inset:0}#hud [hidden]{display:none!important}:where(#hud button){font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.hud-score{top:var(--safe-top);left:var(--safe-left);border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);box-sizing:border-box;min-width:112px;padding:10px 16px 12px;position:absolute}.hud-score-label{letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);font-size:11px;font-weight:600;display:block}.hud-score-value{font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:2px;font-size:30px;font-weight:700;line-height:1;display:block}.hud-actions{top:var(--safe-top);right:var(--safe-right);gap:12px;display:flex;position:absolute}.round-btn{pointer-events:auto;width:var(--tap);height:var(--tap);background:var(--c-panel);cursor:pointer;transition:transform var(--t-ui) var(--ease-out), background var(--t-ui) var(--ease-out);border:1.5px solid;border-radius:50%;place-items:center;padding:0;display:grid}.round-btn svg{width:22px;height:22px}.round-btn:active{transform:scale(.94)}.round-btn:focus-visible{outline:2px solid var(--c-text);outline-offset:3px}.round-btn.flip{color:var(--c-accent);box-shadow:var(--glow-accent)}.round-btn.perspective{color:var(--c-muted);transition:transform var(--t-ui) var(--ease-out), background var(--t-ui) var(--ease-out), color var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out)}.round-btn.perspective[aria-pressed=true]{color:var(--c-accent);box-shadow:var(--glow-accent);background:#5ee7ff24}.round-btn.menu{color:var(--c-violet);box-shadow:var(--glow-violet)}.hud-assists{right:var(--safe-right);bottom:var(--safe-bottom);gap:12px;display:flex;position:absolute}.round-btn.hint,.round-btn.autoplay{color:var(--c-muted);transition:transform var(--t-ui) var(--ease-out), background var(--t-ui) var(--ease-out), color var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out)}.round-btn.hint[aria-pressed=true]{color:var(--c-text);background:#f3eeff29;box-shadow:0 0 12px #f3eeff80,0 0 2px #f3eeffe6}.round-btn.autoplay[aria-pressed=true]{color:var(--c-orange);background:#ff8a1f24;box-shadow:0 0 12px #ff8a1f80,0 0 2px #ff8a1fe6}.hud-suggestion{border-radius:var(--r-pill);background:var(--c-panel);letter-spacing:.08em;white-space:nowrap;color:var(--c-text);border:1px solid #f3eeff99;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;bottom:calc(100% + 8px);right:0}.speed-pill{left:var(--safe-left);bottom:var(--safe-bottom);border-radius:var(--r-pill);background:var(--c-panel);border:1px solid var(--c-panel-border);letter-spacing:.06em;height:40px;color:var(--c-muted);align-items:center;gap:12px;padding:0 16px;font-size:13px;font-weight:600;display:flex;position:absolute}.hud-next{--next-size:clamp(64px, min(19vw, 11vh), 96px);left:var(--safe-left);bottom:calc(var(--safe-bottom) + 40px + 8px);width:var(--next-size);height:var(--next-size);border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);box-sizing:border-box;pointer-events:none;position:absolute;overflow:hidden}@media (orientation:landscape){.hud-next{--next-size:clamp(64px, 22vh, 96px)}}.hud-next-canvas{width:100%;height:100%;display:block}.speed-pips{gap:6px;display:flex}.speed-pips i{width:8px;height:8px;transition:background var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out);background:#a58cff38;border-radius:50%}.speed-pips i.on{background:var(--c-green);box-shadow:0 0 8px #30e68acc}.speed-pips i.on.hot{background:var(--c-orange);box-shadow:0 0 8px #ff8a1fd9}.hud-layer{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);box-sizing:border-box;background:radial-gradient(ellipse at center, var(--c-scrim), transparent 75%);justify-content:safe center;align-items:safe center;display:flex;position:absolute;inset:0}.hud-panel{pointer-events:auto;width:calc(100% + 2 * var(--panel-bleed));max-width:calc(var(--panel-w) + 2 * var(--panel-bleed));max-height:calc(100% + 2 * var(--panel-bleed));margin:calc(-1 * var(--panel-bleed));padding:var(--panel-bleed);overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--c-panel-border) transparent;align-items:stretch;gap:var(--panel-gap);box-sizing:border-box;animation:panel-in var(--t-ui) var(--ease-out);flex-direction:column;display:flex;overflow:hidden auto}.hud-entries{display:contents}.hud-layer.live{background:0 0}.hud-layer.paused{background:#0a061899}.hud-panel.compact.paused{background:#140a32b3}.hud-panel.compact.paused .hud-heading{margin:-24px 0 4px;font-size:24px}.hud-panel.compact{border-radius:var(--r-card);border:1px solid var(--c-panel-border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#140a3252;gap:8px;width:100%;max-width:300px;max-height:100%;margin:0;padding:44px 14px 14px;position:relative}.hud-panel.compact .pill{background:#140a3259;min-height:40px;font-size:15px}.hud-panel.compact .hud-text{max-height:50vh;font-size:13px}.panel-close{width:34px;height:34px;color:var(--c-muted);position:absolute;top:6px;right:6px}.panel-close svg{width:18px;height:18px}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.hud-brand{text-align:center;font-size:var(--brand-size);letter-spacing:-.01em;color:var(--c-text);text-shadow:var(--glow-text);margin:0 0 8px;font-weight:700;line-height:1.05}.hud-subtitle{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--c-orange);margin:-6px 0 6px;font-size:18px;font-weight:600}.hud-heading{text-align:center;font-size:var(--heading-size);text-shadow:var(--glow-text);margin:0 0 4px;font-weight:700}.pill{min-height:var(--tap);border-radius:var(--r-pill);background:var(--c-panel);border:1px solid var(--c-panel-border);letter-spacing:.02em;color:var(--c-text);cursor:pointer;transition:transform var(--t-ui) var(--ease-out), border-color var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:17px;font-weight:600;display:flex}.pill:active{transform:scale(.98)}.hud-entries>.pill{flex-shrink:0}.pill.has-note{flex-direction:column;gap:2px;padding-top:6px;padding-bottom:6px}.pill-note{letter-spacing:.01em;color:var(--c-muted);text-align:center;font-size:12px;font-weight:500}.pill .pill-label{color:var(--c-muted);font-weight:500}.pill.primary{min-height:56px;color:var(--c-accent);border-color:var(--c-accent);box-shadow:var(--glow-accent), inset var(--glow-accent-soft);background:#0a283c8c;font-size:19px;font-weight:700}.pill.sel{border-color:var(--c-text);box-shadow:0 0 0 1px var(--c-text), var(--glow-violet)}.pill.unavailable,.pill.unavailable.primary{color:var(--c-muted);border-color:var(--c-panel-border);background:var(--c-panel);box-shadow:none;cursor:default}.pill.unavailable.sel,.pill.unavailable.primary.sel{border-color:var(--c-muted);box-shadow:0 0 0 1px var(--c-muted)}.pill.unavailable .pill-note{color:var(--c-text)}.pill[aria-busy=true] .pill-note{animation:1.2s ease-in-out infinite alternate pill-busy}@keyframes pill-busy{0%{opacity:1}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.pill[aria-busy=true] .pill-note{animation:none}}.pill.primary.sel{border-color:var(--c-accent);box-shadow:0 0 0 1px var(--c-accent), var(--glow-accent), inset var(--glow-accent-soft)}@media (hover:hover){.pill:hover{border-color:#c8b9ffb3}}.hud-text{border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);white-space:pre-wrap;min-height:0;color:var(--c-text);pointer-events:auto;-webkit-user-select:text;user-select:text;flex:0 auto;padding:16px 18px;font-size:14px;line-height:1.5;overflow-y:auto}.hud-text.mono{white-space:pre;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;overflow-x:auto}.hud-section{letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);margin:2px 0 -2px;font-size:13px;font-weight:600}.hud-text.best{flex:none;padding:10px 14px}.result-card{border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.result-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-score-value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:34px;font-weight:700;line-height:1;display:block}.result-badge{border-radius:var(--r-pill);border:1px solid var(--c-green);color:var(--c-green);letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;font-size:12px;font-weight:700}.result-badge.practice{border-color:var(--c-muted);color:var(--c-muted)}.result-stage{color:var(--c-muted);font-size:13px}.result-form{gap:8px;display:flex}.result-input{min-width:0;min-height:var(--tap);box-sizing:border-box;border-radius:var(--r-pill);border:1px solid var(--c-panel-border);color:var(--c-text);font:inherit;-webkit-user-select:text;user-select:text;transition:border-color var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out);background:#0a061899;outline:none;flex:auto;padding:0 18px;font-size:16px}.result-input::placeholder{color:var(--c-muted);opacity:.8}.result-input:focus{border-color:var(--c-accent);box-shadow:var(--glow-accent)}.result-submit{color:var(--c-accent);border-color:var(--c-accent);flex:none}.result-submit:disabled,.result-input:disabled{opacity:.6;cursor:default}.result-message{color:var(--c-muted);font-size:13px;line-height:1.4}.result-message[data-phase=submitted]{color:var(--c-green)}.result-message[data-phase=rejected]{color:var(--c-orange)}.hof{border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);pointer-events:auto;flex-direction:column;flex:0 auto;gap:8px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.hof-list{margin:0;padding:0;list-style:none}.hof-row{grid-template-columns:2.4em minmax(0, 1fr) auto var(--hof-flag);min-height:var(--hof-flag);--hof-flag:40px;border-radius:10px;align-items:center;gap:8px;padding:0 0 0 10px;font-size:15px;display:grid}.hof-rank{text-align:right;color:var(--c-muted);font-variant-numeric:tabular-nums}.hof-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hof-score{font-variant-numeric:tabular-nums;font-weight:700}.hof-row.me{box-shadow:inset 0 0 0 1px var(--c-accent);color:var(--c-accent);background:#5ee7ff1f}.hof-row:nth-child(-n+3) .hof-rank{color:var(--c-orange);font-weight:700}.hof-flag-cell{width:var(--hof-flag);height:var(--hof-flag)}.hof-flag{color:var(--c-muted);opacity:.5;cursor:pointer;transition:opacity var(--t-ui) var(--ease-out), color var(--t-ui) var(--ease-out), filter var(--t-ui) var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hof-flag svg{width:16px;height:16px}.hof-flag:focus-visible,.hof-flag.sel{outline:2px solid var(--c-text);outline-offset:-6px}.hof-flag:focus-visible,.hof-flag.sel,.hof-flag[aria-expanded=true]{opacity:1;color:var(--c-text);filter:drop-shadow(0 0 4px #a58cffcc)}@media (hover:hover){.hof-flag:hover:not(:disabled){opacity:1;color:var(--c-text);filter:drop-shadow(0 0 4px #a58cffcc)}}.hof-flag.reported{opacity:.7;color:var(--c-accent);filter:none;cursor:default}.hof-flag.reported .cloth{fill:currentColor;fill-opacity:.35}.hof-flag:disabled:not(.reported){opacity:.22;cursor:default}.hof-confirm{background:#0a283c73;border:1px solid #5ee7ff73;border-radius:12px;flex-direction:column;gap:8px;margin:4px 0 6px;padding:10px 12px;display:flex}.hof-confirm-text{text-align:center;overflow-wrap:anywhere;font-size:14px;line-height:1.4}.hof-confirm-actions{gap:8px;display:flex}.hof-confirm-actions .pill{min-height:var(--tap-short);flex:1 1 0;padding:0 12px;font-size:15px}.hof-confirm-actions .pill.go{color:var(--c-accent);border-color:var(--c-accent)}.hof-confirm-actions .pill.cancel{color:var(--c-muted)}.hof-confirm-actions .pill:disabled{opacity:.6;cursor:default}.hof-confirm-actions .pill[aria-busy=true]{animation:1.2s ease-in-out infinite alternate pill-busy}@media (prefers-reduced-motion:reduce){.hof-confirm-actions .pill[aria-busy=true]{animation:none}}.hof-report-note{color:var(--c-accent);padding:2px 10px 6px;font-size:13px;line-height:1.4}.hof-note{color:var(--c-muted);padding:4px 10px;font-size:13px;line-height:1.4}.hud-status{border-radius:var(--r-pill);background:var(--c-panel);border:1px solid var(--c-panel-border);text-align:center;color:var(--c-muted);align-self:center;padding:6px 14px;font-size:13px;line-height:1.4}@media (orientation:landscape) and (max-height:500px){.hud-panel{max-width:calc(var(--panel-w-wide) + 2 * var(--panel-bleed));gap:var(--panel-gap-short)}.hud-panel.compact{max-width:var(--panel-compact-w-wide)}.hud-brand{font-size:var(--brand-size-short);margin:0}.hud-heading{font-size:var(--heading-size-short);margin:0}.pill,.hud-panel.compact .pill,.result-input{min-height:var(--tap-short)}.pill.primary{min-height:var(--tap)}.result-card{gap:var(--panel-gap-short)}.pill.has-note{gap:0;padding:3px 14px;line-height:1.15}.pill-note{font-size:11px;line-height:1.2}.hud-entries{gap:var(--panel-gap-short);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hud-entries>.primary,.hud-entries>:only-child{grid-column:1/-1}.hud-panel.has-result{column-gap:var(--panel-gap);row-gap:var(--panel-gap-short);grid-template-rows:1fr auto auto auto 1fr;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:".entries""head entries""card entries""status entries"".entries";display:grid}.has-result>.hud-heading{grid-area:head}.has-result>.result-card{grid-area:card}.has-result>.hud-status{grid-area:status;justify-self:center}.has-result>.hud-entries{flex-direction:column;grid-area:entries;justify-content:center;display:flex}}.tut{pointer-events:none;position:absolute;inset:0}.tut-head{top:var(--safe-top);left:var(--safe-left);right:calc(var(--safe-right) + 2 * var(--tap) + 24px);height:var(--tap);flex-direction:column;justify-content:center;gap:6px;display:flex;position:absolute}.tut-dots{gap:6px;display:flex}.tut-dots i{width:8px;height:8px;transition:background var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out);background:#a58cff38;border-radius:50%}.tut-dots i.past{background:var(--c-green);box-shadow:0 0 8px #30e68ab3}.tut-dots i.on{background:var(--c-accent);box-shadow:var(--glow-accent)}.tut-lesson{letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap;font-size:11px;font-weight:600}.tut-card{top:calc(var(--safe-top) + var(--tap) + 10px);left:var(--safe-left);right:var(--safe-right);box-sizing:border-box;border-radius:var(--r-card);background:var(--c-panel);border:1px solid var(--c-panel-border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);max-width:440px;padding:12px 16px 10px;position:absolute}.tut-card.fresh{animation:tut-fresh 1.1s var(--ease-out)}.tut-card.fresh .tut-text{animation:tut-fresh-text 1.1s var(--ease-out)}@keyframes tut-fresh{0%,35%{border-color:var(--c-accent);box-shadow:var(--glow-accent), inset var(--glow-accent-soft)}}@keyframes tut-fresh-text{0%,35%{color:var(--c-accent);text-shadow:0 0 12px #5ee7ff99}}.tut-title{letter-spacing:.12em;text-transform:uppercase;color:var(--c-orange);font-size:13px;font-weight:700}.tut-intro{color:var(--c-muted);margin-top:4px;font-size:13px;line-height:1.35}.tut-text{color:var(--c-text);margin-top:6px;font-size:16px;font-weight:600;line-height:1.35}.tut-feedback{min-height:1.4em;color:var(--c-muted);margin-top:4px;font-size:15px;font-weight:700;line-height:1.4}.tut-feedback[data-kind=nice]{color:var(--c-green);text-shadow:0 0 12px #30e68a99}.tut-feedback[data-kind=notQuite]{color:var(--c-orange)}.tut-feedback.show{animation:tut-pop var(--t-ui) var(--ease-out)}@keyframes tut-pop{0%{opacity:0;transform:translateY(4px)}}.tut-bar{left:var(--safe-left);right:var(--safe-right);bottom:var(--safe-bottom);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.tut-hints{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tut-hint{border-radius:var(--r-pill);background:var(--c-panel);border:1px solid var(--c-panel-border);min-height:36px;color:var(--c-text);align-items:center;gap:8px;padding:0 14px 0 8px;font-size:13px;font-weight:600;display:flex}.tut-icons{color:var(--c-accent);gap:2px;display:flex}.tut-icons svg{width:26px;height:26px}.tut-hint-label{white-space:nowrap}.tut-keys{gap:4px;display:flex}.tut-keys kbd{box-sizing:border-box;border:1px solid var(--c-accent);min-width:22px;font:inherit;text-align:center;color:var(--c-accent);animation:tut-key 2.4s var(--ease-out) infinite;border-radius:6px;padding:3px 6px;font-size:12px;box-shadow:0 2px #5ee7ff59}.tut-keys kbd:nth-child(2){animation-delay:.3s}.tut-keys kbd:nth-child(3){animation-delay:.6s}.tut-keys kbd:nth-child(4){animation-delay:.9s}.tut-keys kbd:nth-child(5){animation-delay:1.2s}.tut-keys kbd:nth-child(6){animation-delay:1.5s}@keyframes tut-key{0%,20%,to{transform:none;box-shadow:0 2px #5ee7ff59}10%{box-shadow:0 0 0 #5ee7ff59, var(--glow-accent);transform:translateY(2px)}}.tut-keys+.tut-hint-label{color:var(--c-muted);font-size:11px;font-weight:500}.ti{overflow:visible}.ti-dot{fill:currentColor}.ti-trail,.ti-ring{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;opacity:.45}.ti-swipe,.ti-twist,.ti-pinch-a,.ti-pinch-b,.ti-ring,.ti-tap{transform-box:view-box;transform-origin:16px 16px}.ti-swipe{animation:ti-swipe 1.6s var(--ease-out) infinite}@keyframes ti-swipe{0%{opacity:0;transform:none}15%{opacity:1}70%{opacity:1;transform:translate(14px)}to{opacity:0;transform:translate(14px)}}.ti-twist{animation:ti-twist 1.8s var(--ease-out) infinite}@keyframes ti-twist{0%,15%{transform:rotate(0)}70%,to{transform:rotate(50deg)}}.ti-pinch-a{animation:ti-pinch-a 1.6s var(--ease-out) infinite alternate}.ti-pinch-b{animation:ti-pinch-b 1.6s var(--ease-out) infinite alternate}@keyframes ti-pinch-a{to{transform:translate(-7px)}}@keyframes ti-pinch-b{to{transform:translate(7px)}}.ti-tap{animation:1.6s linear infinite ti-tap}.ti-ring{animation:1.6s linear infinite ti-ring}@keyframes ti-tap{0%,25%,50%,to{transform:scale(1)}10%,35%{transform:scale(.75)}}@keyframes ti-ring{0%{opacity:0;transform:scale(.8)}10%{opacity:.6}25%{opacity:0;transform:scale(2)}26%{opacity:0;transform:scale(.8)}35%{opacity:.6}50%,to{opacity:0;transform:scale(2)}}.tut-icons>svg:not(.ti){box-sizing:border-box;border:1.5px solid;border-radius:50%;padding:3px}.tut-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tut-btn{pointer-events:auto;min-height:var(--tap-short);padding:0 16px;font-size:15px}.tut-btn.exit{color:var(--c-muted)}@media (orientation:landscape) and (max-height:500px){.tut-card{top:calc(var(--safe-top) + var(--tap) + 6px);width:min(360px,44vw);padding:8px 14px 6px;right:auto}.tut-intro{font-size:12px}.tut-text{margin-top:4px;font-size:15px}.tut-bar{flex-direction:row;justify-content:space-between;align-items:flex-end}.tut-hints{justify-content:flex-start}.tut-buttons{flex-wrap:nowrap}}@media (orientation:landscape) and (max-height:340px){.tut-card{width:min(420px,52vw)}.tut-intro{font-size:11px}.tut-text{font-size:14px}.tut-feedback{font-size:13px}.tut-bar{left:calc(var(--safe-left) + min(420px, 52vw) + 12px);flex-direction:column;align-items:flex-end;gap:6px}.tut-hints,.tut-buttons{flex-wrap:wrap;justify-content:flex-end}.tut-hint{border-radius:14px;flex-wrap:wrap;justify-content:center;row-gap:2px;padding:4px 10px}}@media (min-width:900px) and (min-height:501px){.tut-bar{left:50%;right:auto;transform:translate(-50%)}}.invite{border-radius:var(--r-card);background:#0a283c73;border:1px solid #5ee7ff73;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.invite-text{text-align:center;color:var(--c-text);font-size:14px;line-height:1.4}.invite-actions{gap:8px;display:flex}.invite-actions .pill{min-height:var(--tap-short);flex:1 1 0;padding:0 12px;font-size:15px}.invite-actions .pill.go{color:var(--c-accent);border-color:var(--c-accent)}.invite-actions .pill.dismiss{color:var(--c-muted)}@media (orientation:landscape) and (max-height:500px){.invite{flex-direction:row;align-items:center;gap:12px;padding:6px 8px 6px 16px}.invite-text{text-align:left;flex:auto;font-size:13px}.invite-actions{flex:none}}@media (prefers-reduced-motion:reduce){.ti-swipe,.ti-twist,.ti-pinch-a,.ti-pinch-b,.ti-tap,.ti-ring,.tut-keys kbd{animation:none}.ti-ring{opacity:.45}}
