@layer components{.tfx-layer{inset:0;overflow:hidden;overflow:clip;contain:strict;isolation:isolate}.tfx-frame,.tfx-layer{position:absolute;pointer-events:none;border-radius:inherit}.tfx-frame{inset:-1px;border:1px solid var(--border-subtle)}:focus-within>.tfx-frame{border-color:var(--border-strong)}.tfx-glyph{position:absolute;left:0;top:0;opacity:0;white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;font:600 var(--tfx-em,15px) /1 ui-rounded,system-ui,sans-serif;color:var(--ember)}.tfx-glyph:before{content:attr(data-g)}.tfx-glyph[data-hue="1"]{color:oklch(from var(--ember) l c calc(h + 20))}.tfx-glyph[data-hue="2"]{color:oklch(from var(--ember) l c calc(h - 20))}.tfx-glyph[data-hue="3"]{color:oklch(from var(--ember) l c calc(h + 40))}.tfx-glyph[data-hue="4"]{color:oklch(from var(--ember) l c calc(h - 40))}.tfx-glyph[data-hue="5"]{color:oklch(from var(--ember) l c calc(h + 60))}.tfx-glyph[data-hue="6"]{color:oklch(from var(--ember) l c calc(h - 60))}@supports not (color:oklch(from red l c h)){.tfx-glyph[data-hue="1"],.tfx-glyph[data-hue="2"]{color:color-mix(in oklch,var(--ember) 80%,var(--gilt))}.tfx-glyph[data-hue="3"],.tfx-glyph[data-hue="4"]{color:color-mix(in oklch,var(--ember) 60%,var(--gilt))}.tfx-glyph[data-hue="5"],.tfx-glyph[data-hue="6"]{color:color-mix(in oklch,var(--ember) 40%,var(--gilt))}}.tfx-glyph[data-tier=lively]{text-shadow:0 0 6px var(--ember-glow)}.tfx-glyph[data-tier=bold]{text-shadow:0 0 8px var(--ember-glow)}.tfx-glyph[data-kind=delete]{color:var(--text-3);text-shadow:none}.tfx-glyph[data-kind=emoji]{text-shadow:none}.tfx-halo{position:absolute;left:0;top:0;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:9999px;opacity:0;background:radial-gradient(closest-side,var(--ember-glow),transparent)}.tfx-halo[data-tier=bold]{width:28px;height:28px;margin:-14px 0 0 -14px}.tfx-ripple{width:100%;height:1px;transform-origin:var(--tfx-ox,0) 50%;background:linear-gradient(90deg,transparent,var(--ember),transparent)}.tfx-ripple,.tfx-sweep{position:absolute;left:0;top:0;opacity:0}.tfx-sweep{border-radius:6px;background:color-mix(in oklch,var(--ember) 18%,transparent)}.tfx-sweep[data-tier=subtle]{background:color-mix(in oklch,var(--ember) 12%,transparent)}.tfx-sweep[data-tier=bold]{background:color-mix(in oklch,var(--ember) 22%,transparent)}.tfx-sweep[data-kind=glint]{background:color-mix(in oklch,var(--ember) 10%,transparent)}.tfx-sweep[data-kind=glint][data-tier=bold]{background:color-mix(in oklch,var(--ember) 14%,transparent)}.tfx-ghost{left:0;top:0;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tfx-chip-glow,.tfx-ghost{position:absolute;opacity:0;pointer-events:none}.tfx-chip-glow{inset:-6px;border-radius:9999px;background:radial-gradient(closest-side,var(--ember-glow),transparent)}.tfx-chip-shimmer{opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)}.tfx-chip-pending,.tfx-chip-shimmer{position:absolute;inset:0;pointer-events:none}.tfx-chip-pending{transform-origin:left;transform:scaleX(0);background:color-mix(in oklch,var(--ember) 45%,transparent)}[dir=rtl] .tfx-chip-pending{transform-origin:right}.tfx-ring-chip{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:rotate(-90deg)}.tfx-ring-track{fill:none;stroke:var(--ink-3);stroke-width:2.5}.tfx-ring-fill{fill:none;stroke:var(--ember);stroke-width:2.5;stroke-linecap:round}.tfx-badge{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;min-width:14px;height:14px;padding:0 3px;border-radius:9999px;pointer-events:none;background:var(--ink-2);box-shadow:0 0 0 1px var(--border-subtle);color:var(--text-1);font:600 9px/14px ui-rounded,system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}.tfx-badge[data-combo] .tfx-badge-level{opacity:0}.tfx-badge[data-combo]:after{content:"×" attr(data-combo);position:absolute;inset:0;display:grid;place-items:center;color:var(--ember)}.tfx-burst{position:absolute;inset:-6px;overflow:hidden;overflow:clip;pointer-events:none;border-radius:inherit}[data-tfx-post-wrap]>.tfx-burst{inset:-12px}.tfx-ring{position:absolute;inset:12px;border-radius:inherit;box-shadow:0 0 0 1.5px var(--ember);opacity:0;pointer-events:none}.tfx-spark{top:50%;width:3px;height:3px;margin:-1.5px;border-radius:9999px;background:var(--ember)}.tfx-exhaust,.tfx-spark{position:absolute;left:50%;opacity:0;pointer-events:none}.tfx-exhaust{top:100%;width:0;height:0}.tfx-exhaust>i{position:absolute;width:2px;height:2px;margin:-1px;border-radius:9999px;background:var(--ember)}.tfx-exhaust>i:first-child{transform:translateY(2px)}.tfx-exhaust>i:nth-child(2){transform:translate(-2px,5px);opacity:.7}.tfx-exhaust>i:nth-child(3){transform:translate(2px,8px);opacity:.4}.tfx-bw{--tfx-r:40px;position:absolute;left:0;top:0;width:0;height:0;opacity:0;pointer-events:none;color:var(--ember)}.tfx-bw>i{position:absolute;width:3px;height:3px;margin:-1.5px;border-radius:9999px;background:currentColor;font-style:normal;transform:translate(calc(var(--dx, 0) * var(--tfx-r)),calc(var(--dy, 0) * var(--tfx-r)))}.tfx-bw[data-r="18"]{--tfx-r:18px}.tfx-bw[data-r="22"]{--tfx-r:22px}.tfx-bw[data-r="28"]{--tfx-r:28px}.tfx-bw[data-r="30"]{--tfx-r:30px}.tfx-bw[data-r="36"]{--tfx-r:36px}.tfx-bw[data-r="40"]{--tfx-r:40px}.tfx-bw[data-r="50"]{--tfx-r:50px}.tfx-bw[data-r="65"]{--tfx-r:65px}.tfx-bw[data-r="70"]{--tfx-r:70px}.tfx-bw[data-r="90"]{--tfx-r:90px}.tfx-bw[data-r="120"]{--tfx-r:120px}.tfx-bw[data-kind=glyph]>i,.tfx-bw[data-kind=star]>i{width:auto;height:auto;margin:0;border-radius:0;background:none;white-space:pre;font:600 calc(var(--tfx-em, 15px) * .8) /1 ui-rounded,system-ui,sans-serif;transform:translate(calc(var(--dx, 0) * var(--tfx-r)),calc(var(--dy, 0) * var(--tfx-r))) translate(-50%,-50%)}.tfx-bw[data-kind=glyph]{color:var(--text-2)}.tfx-bw[data-kind=glyph]>i:before{content:var(--g,"•")}.tfx-bw[data-kind=glyph]>i:nth-child(2n):before{content:"•"}.tfx-bw[data-kind=star]>i:before{content:"✦"}.tfx-bw[data-kind=star]>i:nth-child(3n+2):before{content:"✧"}.tfx-bw[data-kind=star]>i:nth-child(3n):before{content:"★"}.tfx-bw[data-kind=star]>i:nth-child(odd){color:var(--gilt)}.tfx-bw[data-kind=dash]>i{width:6px;height:1.5px;margin:-.75px -3px;border-radius:1px}.tfx-bw[data-shape="0"]>i:first-child{--dx:0;--dy:-1}.tfx-bw[data-shape="0"]>i:nth-child(2){--dx:0.323;--dy:-0.445}.tfx-bw[data-shape="0"]>i:nth-child(3){--dx:0.951;--dy:-0.309}.tfx-bw[data-shape="0"]>i:nth-child(4){--dx:0.523;--dy:0.17}.tfx-bw[data-shape="0"]>i:nth-child(5){--dx:0.588;--dy:0.809}.tfx-bw[data-shape="0"]>i:nth-child(6){--dx:0;--dy:0.55}.tfx-bw[data-shape="0"]>i:nth-child(7){--dx:-0.588;--dy:0.809}.tfx-bw[data-shape="0"]>i:nth-child(8){--dx:-0.523;--dy:0.17}.tfx-bw[data-shape="0"]>i:nth-child(9){--dx:-0.951;--dy:-0.309}.tfx-bw[data-shape="0"]>i:nth-child(10){--dx:-0.323;--dy:-0.445}.tfx-bw[data-shape="1"]>i:first-child{--dx:0.185;--dy:-0.571}.tfx-bw[data-shape="1"]>i:nth-child(2){--dx:0.809;--dy:-0.588}.tfx-bw[data-shape="1"]>i:nth-child(3){--dx:0.6;--dy:0}.tfx-bw[data-shape="1"]>i:nth-child(4){--dx:0.809;--dy:0.588}.tfx-bw[data-shape="1"]>i:nth-child(5){--dx:0.185;--dy:0.571}.tfx-bw[data-shape="1"]>i:nth-child(6){--dx:-0.309;--dy:0.951}.tfx-bw[data-shape="1"]>i:nth-child(7){--dx:-0.485;--dy:0.353}.tfx-bw[data-shape="1"]>i:nth-child(8){--dx:-1;--dy:0}.tfx-bw[data-shape="1"]>i:nth-child(9){--dx:-0.485;--dy:-0.353}.tfx-bw[data-shape="1"]>i:nth-child(10){--dx:-0.309;--dy:-0.951}.tfx-bw[data-shape="2"]>i:first-child{--dx:0;--dy:-1}.tfx-bw[data-shape="2"]>i:nth-child(2){--dx:0.304;--dy:0.332}.tfx-bw[data-shape="2"]>i:nth-child(3){--dx:-0.797;--dy:-0.07}.tfx-bw[data-shape="2"]>i:nth-child(4){--dx:0.476;--dy:-0.365}.tfx-bw[data-shape="2"]>i:nth-child(5){--dx:-0.165;--dy:0.935}.tfx-bw[data-shape="2"]>i:nth-child(6){--dx:-0.215;--dy:-0.338}.tfx-bw[data-shape="2"]>i:nth-child(7){--dx:0.676;--dy:0.182}.tfx-bw[data-shape="2"]>i:nth-child(8){--dx:-0.799;--dy:0.415}.tfx-bw[data-shape="2"]>i:nth-child(9){--dx:0.172;--dy:-0.47}.tfx-bw[data-shape="2"]>i:nth-child(10){--dx:0.324;--dy:0.786}.tfx-bw[data-shape="3"]>i:first-child{--dx:0.4;--dy:-0.05}.tfx-bw[data-shape="3"]>i:nth-child(2){--dx:-0.4;--dy:0.05}.tfx-bw[data-shape="3"]>i:nth-child(3){--dx:0.7;--dy:0.086}.tfx-bw[data-shape="3"]>i:nth-child(4){--dx:-0.7;--dy:-0.086}.tfx-bw[data-shape="3"]>i:nth-child(5){--dx:1;--dy:-0.04}.tfx-bw[data-shape="3"]>i:nth-child(6){--dx:-1;--dy:0.04}.tfx-bw[data-shape="3"]>i:nth-child(7){--dx:0.52;--dy:0.07}.tfx-bw[data-shape="3"]>i:nth-child(8){--dx:-0.52;--dy:-0.07}.tfx-bw[data-shape="3"]>i:nth-child(9){--dx:0.85;--dy:-0.03}.tfx-bw[data-shape="3"]>i:nth-child(10){--dx:-0.85;--dy:0.03}.tfx-combo,.tfx-hud{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;pointer-events:none;background:color-mix(in srgb,var(--ink-2) 92%,transparent);box-shadow:0 0 0 1px var(--border-subtle),var(--elev-2);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);font:600 11px/16px ui-rounded,system-ui,sans-serif;font-variant-numeric:tabular-nums}.tfx-combo{padding:2px 8px;border-radius:9999px;color:var(--ember)}.tfx-combo:after{content:"×" attr(data-n)}.tfx-combo[data-note=best]:after{content:"Best ×" attr(data-n)}.tfx-combo[data-note=words]:after{content:attr(data-n) " words"}.tfx-combo[data-step="1"]{color:color-mix(in oklch,var(--ember) 80%,var(--gilt))}.tfx-combo[data-step="2"]{color:color-mix(in oklch,var(--ember) 60%,var(--gilt))}.tfx-combo[data-step="3"]{color:color-mix(in oklch,var(--ember) 40%,var(--gilt))}.tfx-combo[data-step="4"]{color:var(--gilt)}.tfx-combo-drain{position:absolute;left:8px;right:8px;bottom:1px;height:1px;border-radius:1px;background:currentColor;opacity:.45;transform-origin:left}[dir=rtl] .tfx-combo-drain{transform-origin:right}.tfx-hud{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;color:var(--text-1);font-size:12px}.tfx-hud:before{content:"↑";color:var(--ember)}.tfx-hud:after{content:"Level " attr(data-level)}@media (prefers-reduced-transparency:reduce){.tfx-glyph[data-tier]{text-shadow:none}.tfx-combo,.tfx-hud{background:var(--ink-2);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){.tfx-badge:after,.tfx-badge[data-combo]:after,.tfx-burst,.tfx-chip-glow,.tfx-chip-pending,.tfx-chip-shimmer,.tfx-frame,.tfx-layer{display:none}.tfx-badge[data-combo] .tfx-badge-level{opacity:1}}}