.ted-root{--ted-cream:#fdf6e9;--ted-cream-dim:#fdf6e9c7;--ted-ink:#23252e;--ted-glass:#fdf6e9e0;--ted-glass-dark:#1c1f2acc;--ted-accent:#4f9dff;--ted-accent-deep:#2a6fc4;--ted-gold:#ffc861;--ted-radius:999px;--ted-shadow-lo:0 6px 18px #080c1847;--ted-shadow-hi:0 16px 40px #080c1866;z-index:10;pointer-events:none;color:var(--ted-cream);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.35;position:fixed;inset:0}.ted-root button{font:inherit;color:inherit;pointer-events:auto;cursor:pointer;background:0 0;border:0}.ted-root :focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 7px #4f9dff8c}.ted-grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.ted-pill{background:var(--ted-glass-dark);border-radius:var(--ted-radius);-webkit-backdrop-filter:blur(10px);box-shadow:var(--ted-shadow-lo);text-shadow:0 2px 6px #0000008c;border:1px solid #ffffff24}.ted-chip{letter-spacing:.04em;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:700;display:inline-flex}.ted-key{min-width:30px;height:30px;color:var(--ted-ink);text-shadow:none;background:linear-gradient(#fffdf7,#e7dfcd);border:1px solid #00000038;border-radius:9px;place-items:center;padding:0 7px;font-size:15px;font-weight:800;display:inline-grid;box-shadow:0 3px #00000052,inset 0 1px #ffffffe6}.ted-bump{animation:.26s ease-out both ted-bump;display:inline-block}@keyframes ted-bump{0%{scale:1.3}60%{scale:.94}to{scale:1}}@keyframes ted-rise{0%{opacity:0;translate:0 30px;scale:.95}to{opacity:1;translate:0;scale:1}}@keyframes ted-pop{0%{opacity:0;scale:.6}60%{opacity:1;scale:1.07}to{opacity:1;scale:1}}@keyframes ted-spring{0%{opacity:0;translate:0 26px;scale:.62}55%{scale:1.05}75%{scale:.975}to{opacity:1;translate:0;scale:1}}@keyframes ted-fade{0%{opacity:0}to{opacity:1}}@keyframes ted-breathe{0%,to{scale:1}50%{scale:1.04}}.ted-menu{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(10px,2.6vh,24px);padding:24px 24px 24px max(36px,6vw);display:flex;position:absolute;inset:0}.ted-menu>:not(.ted-foot){max-width:max(300px,min(38vw,560px))}.ted-logo{white-space:nowrap;letter-spacing:.05em;color:var(--ted-cream);text-shadow:0 3px #23252eeb,0 8px #23252e80,0 16px 34px #00000073,0 0 48px #4f9dff52;margin:0;font-size:clamp(64px,11vw,148px);font-weight:900;line-height:.95;animation:.45s cubic-bezier(.2,.8,.3,1) both ted-rise;transform:skew(-4deg)}.ted-dot{color:var(--ted-gold)}.ted-tagline{border-radius:var(--ted-radius);background:var(--ted-glass-dark);color:var(--ted-gold);letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);box-shadow:var(--ted-shadow-lo);border:1px solid #ffc86173;padding:8px 20px;font-size:clamp(16px,2.6vw,19px);font-weight:700;animation:.45s cubic-bezier(.2,.8,.3,1) 80ms both ted-rise}.ted-play{border-radius:var(--ted-radius);color:var(--ted-cream);letter-spacing:.14em;text-shadow:0 2px 4px #04183899;background:linear-gradient(#2f7de0,#4f9dff);margin-top:6px;padding:16px 68px;font-size:clamp(22px,3.4vw,29px);font-weight:900;transition:translate .15s ease-out,box-shadow .15s ease-out;animation:.4s cubic-bezier(.2,.9,.3,1.3) .16s both ted-pop;box-shadow:inset 0 1px #ffffff4d,0 6px #1c56ad,0 18px 38px #0824548c,0 0 0 4px #ffc86173}.ted-play:hover{translate:0 -2px}.ted-play:active{box-shadow:inset 0 2px 0 #fff6, 0 2px 0 var(--ted-accent-deep), 0 8px 18px #143c7866, 0 0 0 4px #ffc8618c;translate:0 4px}.ted-space{color:var(--ted-cream-dim);align-items:center;gap:8px;font-size:16px;font-weight:600;animation:.4s ease-out .3s both ted-fade;display:flex}.ted-controls{background:var(--ted-glass-dark);-webkit-backdrop-filter:blur(12px);box-shadow:var(--ted-shadow-lo);text-align:left;border:1px solid #ffffff24;border-radius:22px;flex-direction:column;align-items:stretch;gap:10px;margin-top:2px;padding:14px 22px 16px;animation:.45s cubic-bezier(.2,.8,.3,1) .24s both ted-rise;display:flex}.ted-ctl-title{letter-spacing:.22em;color:var(--ted-gold);font-size:13px;font-weight:800}.ted-keys{align-items:center;gap:16px;display:flex}.ted-keypad{grid-template-areas:".k.""l d r";gap:5px;display:grid}.ted-keypad .k-top{grid-area:k}.ted-keypad .k-left{grid-area:l}.ted-keypad .k-down{grid-area:d}.ted-keypad .k-right{grid-area:r}.ted-or{color:var(--ted-cream-dim);font-size:16px;font-weight:600}.ted-swipe{color:var(--ted-cream-dim);font-size:16px}.ted-foot{bottom:max(16px, env(safe-area-inset-bottom));justify-content:center;gap:10px;animation:.4s ease-out .4s both ted-fade;display:flex;position:absolute;left:0;right:0}.ted-chipbtn{color:var(--ted-cream);transition:translate .12s ease-out}.ted-chipbtn:hover{translate:0 -1px}.ted-chipbtn svg{display:block}@media (width<=899px){.ted-menu{text-align:center;-webkit-backdrop-filter:blur(8px)saturate(.95);background:#10121aa8;justify-content:center;align-items:center;padding:24px}.ted-menu>:not(.ted-foot){max-width:min(92vw,520px)}.ted-controls{text-align:center;align-items:center}}.ted-hud{padding:max(14px, env(safe-area-inset-top)) 30px 0 0;justify-content:space-between;align-items:flex-start;gap:12px;animation:.3s ease-out both ted-fade;display:flex;position:absolute;top:0;left:0;right:0}.ted-score{font-variant-numeric:tabular-nums;color:var(--ted-cream);text-shadow:0 2px 5px #00000080;flex-direction:column;align-items:flex-start;gap:1px;min-width:96px;padding:7px 18px;font-size:clamp(26px,4.2vw,43px);font-weight:900;line-height:1.15;display:flex}.ted-score-label{letter-spacing:.22em;text-transform:uppercase;opacity:.75;font-size:11px;font-weight:800}.ted-score-wrap{position:relative}.ted-deltas{pointer-events:none;position:absolute;inset:0}.ted-delta{white-space:nowrap;border-radius:var(--ted-radius);letter-spacing:.04em;pointer-events:none;transform-origin:0 100%;padding:4px 12px;font-size:15px;font-weight:900;animation:.9s cubic-bezier(.2,.75,.3,1) both ted-delta-rise;position:absolute;top:22%;left:calc(100% + 12px)}.ted-delta-good{background:linear-gradient(180deg, #ffe6ac, var(--ted-gold));color:#4a3308;border:1px solid #ffffff8c;box-shadow:0 3px #78520a8c,0 8px 18px #080c184d}.ted-delta-bad{color:#fff4ef;text-shadow:0 1px 3px #460a008c;background:linear-gradient(#ff8f77,#e0492e);border:1px solid #ffffff59;box-shadow:0 3px #701e0e99,0 8px 18px #080c1859}@keyframes ted-delta-rise{0%{opacity:0;translate:0 10px;scale:.6}14%{opacity:1;scale:1.1}30%{scale:1}72%{opacity:1;translate:0 -22px}to{opacity:0;translate:0 -46px;scale:.96}}.ted-score.ted-shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both ted-shake}@keyframes ted-shake{0%,to{translate:0;rotate:0deg}15%{translate:-6px 1px;rotate:-1.6deg}30%{translate:5px -1px;rotate:1.4deg}45%{translate:-4px;rotate:-1deg}60%{translate:3px;rotate:.8deg}80%{translate:-2px;rotate:-.4deg}}.ted-hud-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.ted-hud-badges,.ted-hud-btns{align-items:center;gap:8px;display:flex}.ted-treats{color:var(--ted-gold)}.ted-bone{color:var(--ted-gold);flex:none}.ted-icon-btn{background:var(--ted-glass-dark);width:46px;height:46px;color:var(--ted-cream);-webkit-backdrop-filter:blur(10px);box-shadow:var(--ted-shadow-lo);border:1px solid #ffffff29;border-radius:50%;place-items:center;transition:translate .12s ease-out,scale .12s ease-out;display:grid}.ted-icon-btn:hover{translate:0 -1px}.ted-icon-btn:active{scale:.93}.ted-tutorial{align-items:center;gap:10px;padding:12px 20px;font-size:17px;font-weight:700;animation:.4s ease-out both ted-rise,2.4s ease-in-out .6s infinite ted-breathe;display:flex;position:absolute;bottom:14%;left:50%;translate:-50%}.ted-soak{-webkit-backdrop-filter:blur(9px)saturate(.9);background:#12141c8c;animation:.25s ease-out both ted-fade;position:absolute;inset:0}.ted-pause-box{text-align:center;place-content:center;justify-items:center;gap:18px;display:grid;position:absolute;inset:0}.ted-pause-title{letter-spacing:.06em;text-shadow:0 4px #0006,0 14px 34px #00000080;font-size:clamp(36px,6vw,56px);font-weight:900;animation:.4s cubic-bezier(.2,.9,.3,1.2) both ted-spring}.ted-over{justify-content:flex-start;align-items:center;padding:24px 24px 24px max(36px,6vw);display:flex;position:absolute;inset:0}.ted-over .ted-soak{-webkit-backdrop-filter:blur(5px)saturate();background:#10121a61}.ted-card{background:var(--ted-glass-dark);-webkit-backdrop-filter:blur(16px)saturate(1.05);width:max(290px,min(36vw,420px));box-shadow:var(--ted-shadow-hi), inset 0 1px 0 #ffffff24;text-align:center;border:1px solid #ffffff29;border-radius:30px;flex-direction:column;align-items:center;gap:12px;padding:30px 30px 26px;animation:.45s cubic-bezier(.2,.9,.3,1.25) both ted-spring;display:flex;position:relative}.ted-kicker{letter-spacing:.3em;color:var(--ted-gold);font-size:14px;font-weight:900}.ted-msg{color:var(--ted-cream);min-height:1.4em;margin:0;font-size:18px;font-weight:600}.ted-final{font-variant-numeric:tabular-nums;text-shadow:0 4px #23252ed9,0 16px 34px #00000080;font-size:clamp(64px,12vw,92px);font-weight:900;line-height:1}.ted-best-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.ted-new{border-radius:var(--ted-radius);background:linear-gradient(180deg, #ffdf9a, var(--ted-gold));color:#4a3308;letter-spacing:.06em;margin-left:6px;padding:3px 8px;font-size:12px;font-style:normal;font-weight:900;animation:.5s cubic-bezier(.2,.9,.3,1.4) .3s both ted-pop;box-shadow:0 3px #78520a99}.ted-resume-row{align-items:center;gap:10px;display:inline-flex}.ted-restart{margin-top:6px;padding:13px 46px;font-size:clamp(19px,2.8vw,23px);animation:.4s cubic-bezier(.2,.9,.3,1.3) .12s both ted-pop}@media (width<=899px){.ted-over{justify-content:center;align-items:center;padding:24px}.ted-card{width:min(92vw,420px)}.ted-over .ted-soak{background:#10121a85}}@media (prefers-reduced-motion:reduce){.ted-root *,.ted-root :before,.ted-root :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.ted-root .ted-delta{animation-name:ted-delta-fade!important;animation-duration:.9s!important;animation-timing-function:ease-out!important}.ted-root .ted-score.ted-shake{animation:none!important}}@keyframes ted-delta-fade{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;color:#17202b;background:linear-gradient(#8ec9f0 0%,#cfe6f5 55%,#e8f4ef 100%);font-family:ui-rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.stage{touch-action:none;user-select:none;position:fixed;inset:0}.stage canvas{outline:none;display:block;width:100%!important;height:100%!important}canvas{touch-action:none}
