.tl-stage{--tl-line:#e5e5e5;--tl-ink:#3c3c3c;--tl-muted:#6b6b6b;--tl-soft:#f7f7f7;--tl-sage:var(--color-accent-2-600);--tl-sage-ink:var(--color-accent-2-800);--tl-sage-soft:#f0fae1;--tl-sage-line:#cfe3ad;--tl-ask:var(--tl-ink);--tl-warm-soft:#f7f7f5;--tl-warm-line:#e5e5e5;--tl-eaten:#ecece8;--tl-bad:#5f5f5b;--tl-bad-soft:#f1f1ee;--tl-bad-line:#d4d4cf;--tl-mark:#3c3c3c;--tl-sage-tint:color-mix(in srgb, var(--tl-sage) 16%, transparent);min-height:100dvh;color:var(--tl-ink);font-family:var(--font-body);background:#fff}.tl-player{background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;margin:0 auto;display:grid}.tl-stage h1,.tl-stage h2{font-family:var(--font-body)}.tl-topbar{align-items:center;gap:12px;padding:12px 18px 10px;display:flex}.tl-close{border:2px solid var(--tl-line);width:44px;height:44px;box-shadow:0 3px 0 var(--tl-line);color:var(--tl-ink);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.tl-close svg{width:18px;height:18px}.tl-progress-stack{flex:1;gap:6px;min-width:0;display:grid}.tl-progress{background:var(--tl-line);border-radius:999px;height:14px;overflow:hidden}.tl-progress span{border-radius:inherit;background:var(--tl-sage);height:100%;transition:width .32s;display:block}.tl-round{min-width:0;color:var(--tl-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.tl-round>span:not(.tl-trail){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-trail{flex:none;gap:4px;display:inline-flex}.tl-trail i{background:var(--tl-line);border-radius:50%;width:8px;height:8px}.tl-trail i.is-done{background:var(--tl-sage)}.tl-trail i.is-current{box-shadow:inset 0 0 0 2px var(--tl-sage);background:#fff}.tl-scroll{overscroll-behavior:contain;min-height:0;padding:6px 18px 28px;overflow-y:auto}.tl-screen{gap:14px;width:100%;max-width:560px;margin:0 auto;display:grid}.tl-screen.is-wide{max-width:980px}.tl-footer{border-top:2px solid var(--tl-line);padding:12px 18px max(14px, env(safe-area-inset-bottom));background:#fff}.tl-footer-inner{gap:9px;width:100%;max-width:560px;margin:0 auto;display:grid}.tl-loading{color:var(--tl-muted);text-align:center;margin:28vh 0 0}.tl-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tl-action{width:100%;min-height:54px;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:16px;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .16s;display:inline-flex}.tl-action.is-primary{background:var(--tl-sage);box-shadow:0 4px 0 var(--tl-sage-ink);color:#fff}.tl-action.is-primary:not(:disabled):active{box-shadow:0 1px 0 var(--tl-sage-ink);transform:translateY(3px)}.tl-action.is-primary:disabled{background:var(--tl-line);color:#9a9a9a;cursor:not-allowed;box-shadow:0 4px #cfcfcf}.tl-action.is-secondary{border:2px solid var(--tl-line);min-height:48px;box-shadow:0 3px 0 var(--tl-line);color:var(--tl-sage-ink);background:#fff}.tl-action.is-quiet{border:2px solid var(--tl-line);min-height:44px;box-shadow:0 3px 0 var(--tl-line);color:var(--tl-sage-ink);background:#fff;border-radius:12px;flex-direction:column;gap:0;padding:7px 10px;font-size:14px;line-height:1.3}.tl-action.is-quiet small{color:var(--tl-muted);font-size:11.5px;font-weight:600}.tl-action.is-secondary:active,.tl-action.is-quiet:active{box-shadow:0 1px 0 var(--tl-line);transform:translateY(2px)}.tl-secondary-actions{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.tl-footer-inner:has(>.tl-save-error)>:not(.tl-save-error){display:none}.tl-save-error{background:var(--tl-bad-soft);color:var(--tl-ink);border-radius:10px;gap:8px;margin:0;padding:10px 12px;font-size:13px;display:grid}.tl-save-error>p{margin:0}.tl-save-error-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tl-save-error button{border:2px solid var(--tl-warm-line);min-width:0;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:8px;font-weight:800}.tl-save-error button:first-child{border-color:var(--tl-sage);background:var(--tl-sage);box-shadow:0 3px 0 var(--tl-sage-ink);color:#fff}.tl-footer-row{gap:10px;display:flex}.tl-footer-row>.tl-action{flex:1}.tl-back{border:2px solid var(--tl-line);width:54px;min-height:54px;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);cursor:pointer;background:#fff;border-radius:14px;flex:none;place-items:center;display:grid}.tl-back svg{width:24px;height:24px}.tl-back:active{box-shadow:0 2px 0 var(--tl-line);transform:translateY(2px)}.tl-look-answer{background:var(--tl-sage-soft);color:var(--tl-sage-ink);border-radius:16px;gap:6px;padding:14px 16px;display:grid}.tl-look-answer b{opacity:.8;font-size:13px}.tl-look-answer p{margin:0;font-size:15px;font-weight:700;line-height:1.55}.tl-look-answer p+p{color:var(--tl-ink);font-weight:600}.tl-kicker{color:var(--tl-sage-ink);letter-spacing:.04em;font-size:12px;font-weight:800}.tl-title{margin:0;font-size:21px;font-weight:800;line-height:1.35}.tl-guide{color:var(--tl-muted);margin:0;font-size:14px;line-height:1.55}.tl-note{color:var(--tl-muted);margin:0;font-size:13px;line-height:1.55}.tl-muted{color:#a39d91}.tl-options{gap:8px;display:grid}.tl-option{border:2px solid var(--tl-line);min-height:52px;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font-size:16px;font-weight:700;line-height:1.45;transition:transform .12s,border-color .16s,background-color .16s;display:flex}.tl-option:not(:disabled):active{transform:translateY(2px)}.tl-option-key{border:2px solid var(--tl-line);width:30px;height:30px;color:var(--tl-muted);background:#fff;border-radius:9px;flex:none;place-items:center;font-size:15px;font-weight:900;line-height:1;display:grid}.tl-option.is-selected{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink);color:var(--tl-sage-ink)}.tl-option.is-selected .tl-option-key,.tl-card.is-selected .tl-option-key{border-color:var(--tl-sage);background:var(--tl-sage);color:#fff}.tl-option.is-right{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink);color:var(--tl-sage-ink)}.tl-option.is-right .tl-option-key{border-color:var(--tl-sage);background:var(--tl-sage);color:#fff}.tl-option.is-wrong{border-color:var(--tl-bad-line);background:var(--tl-bad-soft);box-shadow:0 4px 0 var(--tl-bad-line);color:var(--tl-bad)}.tl-option.is-wrong .tl-option-key{border-color:var(--tl-bad);background:var(--tl-bad);color:#fff}.tl-option:disabled{cursor:default}:is(.tl-stage button:focus-visible,.tl-stage a:focus-visible){outline:var(--focus-ring);outline-offset:3px}.tl-video{justify-items:center;gap:12px;display:grid}.tl-video video{aspect-ratio:9/16;object-fit:contain;width:auto;max-width:100%;height:min(62dvh,640px);box-shadow:0 6px 0 var(--tl-line);background:#111;border-radius:20px;display:block}.tl-video p{color:var(--tl-muted);margin:0;font-size:13px}.tl-q{grid-template-columns:minmax(0,1fr);gap:14px;animation:.22s ease-out tl-rise;display:grid}.tl-q-prompt{text-wrap:pretty;margin:4px 0 0;font-size:22px;font-weight:800;line-height:1.4}.tl-q-hint{color:var(--tl-muted);margin:-8px 0 0;font-size:13px;font-weight:700}.tl-q-statement{border:2px solid var(--tl-line);background:var(--tl-soft);border-radius:18px;margin:0;padding:14px 16px;font-size:18px;font-weight:700;line-height:1.55}.tl-cards{gap:10px;display:grid}.tl-card{border:2px solid var(--tl-line);min-width:0;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:auto 112px minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;font-size:16px;font-weight:800;line-height:1.4;display:grid}.tl-card svg{border-radius:10px;width:112px;height:auto}.tl-card.is-selected{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink);color:var(--tl-sage-ink)}.tl-card:disabled{cursor:default}.tl-sentence{border:2px solid var(--tl-line);border-radius:18px;margin:0;padding:20px 18px;font-size:19px;font-weight:700;line-height:1.9}.tl-slot{border-bottom:3px solid var(--tl-ink);min-width:72px;color:var(--tl-sage-ink);text-align:center;margin:0 4px;padding:0 10px;display:inline-block}.tl-bank{flex-wrap:wrap;gap:10px;display:flex}.tl-word{border:2px solid var(--tl-line);min-height:48px;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:8px 20px;font-size:17px;font-weight:800}.tl-word.is-used{background:var(--tl-line);color:#0000;box-shadow:none}.tl-match{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tl-match>div{align-content:start;gap:10px;display:grid}.tl-tile{border:2px solid var(--tl-line);min-height:58px;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:10px 12px;font-size:15px;font-weight:700;line-height:1.35}.tl-tile.is-selected{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink)}.tl-tile.is-done{border-color:var(--tl-line);background:var(--tl-soft);box-shadow:none;color:#b8b8b8;cursor:default}.tl-tile.is-miss{border-color:var(--tl-bad-line);background:var(--tl-bad-soft);animation:.32s tl-shake}.tl-ladder{gap:10px;display:grid}.tl-rung{border:2px solid var(--tl-line);min-height:60px;box-shadow:0 4px 0 var(--tl-line);color:var(--tl-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:8px 14px;display:grid}.tl-rung b{color:var(--tl-ask);font-variant-numeric:tabular-nums;font-size:18px}.tl-rung span{background:var(--tl-soft);border-radius:8px;align-items:center;height:30px;padding-left:10px;font-size:14px;font-weight:800;display:flex;position:relative;overflow:hidden}.tl-rung span i{background:var(--tl-sage-line);position:absolute;inset:0 auto 0 0}.tl-rung span em{font-style:normal;position:relative}.tl-rung.is-selected{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink)}.tl-mat-table{gap:8px;margin:0;display:grid}.tl-mat-table figcaption{color:var(--tl-muted);font-size:13px;font-weight:800}.tl-mat-scroll{border:2px solid var(--tl-line);border-radius:16px;overflow-x:auto}.tl-mat-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.tl-mat-table th,.tl-mat-table td{border-top:1px solid var(--tl-line);text-align:right;white-space:nowrap;padding:11px 12px}.tl-mat-table thead th{background:var(--tl-soft);color:var(--tl-muted);border-top:0;font-size:12.5px;font-weight:800}.tl-mat-table th:first-child{text-align:left}.tl-mat-table tbody th{font-weight:800}.tl-mat-table td{font-weight:700}.tl-mat-table td.is-mark{color:var(--tl-sage-ink);box-shadow:inset 0 0 0 2px var(--tl-sage);background:var(--tl-sage-soft);border-radius:8px;font-size:17px;font-weight:900}.tl-mat-card{border:2px solid var(--tl-warm-line);background:var(--tl-warm-soft);border-radius:16px;overflow:hidden}.tl-mat-card h3{border-bottom:2px solid var(--tl-warm-line);color:var(--tl-ask);letter-spacing:.04em;margin:0;padding:8px 16px;font-size:13px;font-weight:900}.tl-mat-card dl{margin:0;padding:4px 16px}.tl-mat-card dl>div{justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.tl-mat-card dl>div+div{border-top:1px dashed var(--tl-warm-line)}.tl-mat-card dt{max-width:45%;color:var(--tl-muted);flex:none;font-size:15px;font-weight:700}.tl-mat-card dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:17px;font-weight:800}.tl-chart{gap:8px;margin:0;display:grid}.tl-chart figcaption{color:var(--tl-muted);font-size:13px;font-weight:800}.tl-chart svg{border:2px solid var(--tl-line);touch-action:manipulation;background:#fff;border-radius:16px;width:100%;height:auto;display:block}.tl-chart.is-pick svg{cursor:crosshair;box-shadow:0 4px 0 var(--tl-line)}.tl-chart.is-pick svg:focus-visible{outline:var(--focus-ring);outline-offset:3px}.tl-chart-grid line{stroke:#efefef;stroke-width:1px}.tl-chart-grid text{fill:#9a9a9a;text-anchor:end;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.tl-candle line{stroke-width:1.6px}.tl-candle.is-up line,.tl-candle.is-up rect{stroke:var(--color-accent-2-700);fill:var(--color-accent-2-600)}.tl-candle.is-down line,.tl-candle.is-down rect{stroke:#6b6b66;fill:#6b6b66}.tl-chart-zone{fill:#0000000d;stroke:#a8a8a2;stroke-width:1.2px;stroke-dasharray:4 3}.tl-chart-answer{fill:var(--tl-sage-tint);stroke:var(--tl-sage);stroke-width:1.5px}.tl-chart-mark line{stroke:var(--tl-mark);stroke-width:2px;stroke-dasharray:5 4}.tl-chart-mark rect{fill:var(--tl-mark)}.tl-chart-mark text{fill:#fff;text-anchor:middle;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:900}.tl-chart-mark .tl-chart-col{fill:#0000000f;stroke:var(--tl-mark);stroke-width:2px}.tl-chart-mark.is-right line{stroke:var(--tl-sage)}.tl-chart-mark.is-right rect{fill:var(--tl-sage)}.tl-chart-mark.is-wrong line{stroke:var(--tl-bad)}.tl-chart-mark.is-wrong rect{fill:var(--tl-bad)}.tl-chart-mark.is-right .tl-chart-col{fill:var(--tl-sage-tint);stroke:var(--tl-sage)}.tl-chart-mark.is-wrong .tl-chart-col{fill:#0000000f;stroke:var(--tl-bad)}.tl-spot-step{grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:10px;display:grid}.tl-spot-step b{text-align:center;color:var(--tl-ink);font-size:17px;font-weight:900}.tl-spot-step button{border:2px solid var(--tl-line);height:48px;box-shadow:0 3px 0 var(--tl-line);color:var(--tl-ink);cursor:pointer;background:#fff;border-radius:14px;place-items:center;display:grid}.tl-spot-step button svg{width:22px;height:22px}.tl-spot-step button:disabled{opacity:.4;cursor:default}.tl-doc{border:2px solid var(--tl-warm-line);background:var(--tl-warm-soft);border-radius:16px;overflow:hidden}.tl-doc h3{border-bottom:2px solid var(--tl-warm-line);color:var(--tl-ask);letter-spacing:.04em;margin:0;padding:10px 16px;font-size:13px;font-weight:900}.tl-doc-line{border:0;border-top:1px dashed var(--tl-warm-line);width:100%;color:var(--tl-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(72px,auto) minmax(0,1fr);align-items:center;gap:10px;padding:11px 14px;display:grid}.tl-doc-line:first-of-type{border-top:0}.tl-doc-line span{color:var(--tl-muted);font-size:14px;font-weight:700}.tl-doc-line b{text-align:right;font-size:16px;font-weight:800;line-height:1.45}.tl-doc-line .tl-option-key{width:26px;height:26px;font-size:13px}.tl-doc-line.is-selected{background:var(--tl-sage-soft);box-shadow:inset 4px 0 0 var(--tl-sage)}.tl-doc-line.is-selected .tl-option-key,.tl-doc-line.is-right .tl-option-key{border-color:var(--tl-sage);background:var(--tl-sage);color:#fff}.tl-doc-line.is-right{background:var(--tl-sage-soft);box-shadow:inset 4px 0 0 var(--tl-sage)}.tl-doc-line.is-wrong{background:var(--tl-bad-soft);box-shadow:inset 4px 0 0 var(--tl-bad)}.tl-doc-line.is-wrong .tl-option-key{border-color:var(--tl-bad);background:var(--tl-bad);color:#fff}.tl-doc-line:disabled{cursor:default}.tl-sort{gap:8px;display:grid}.tl-sort-item{border:2px solid var(--tl-line);background:#fff;border-radius:16px;gap:8px;padding:10px 12px;display:grid}.tl-sort-item p{align-items:flex-start;gap:10px;margin:0;font-size:16px;font-weight:800;line-height:1.45;display:flex}.tl-sort-item p .tl-option-key{width:26px;height:26px;margin-top:-1px;font-size:13px}.tl-sort-item>div{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.tl-chip{border:2px solid var(--tl-line);min-height:42px;box-shadow:0 3px 0 var(--tl-line);color:var(--tl-ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:6px 8px;font-size:15px;font-weight:800}.tl-chip.is-selected,.tl-chip.is-right{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 3px 0 var(--tl-sage-ink);color:var(--tl-sage-ink)}.tl-chip.is-wrong{border-color:var(--tl-bad-line);background:var(--tl-bad-soft);box-shadow:0 3px 0 var(--tl-bad-line);color:var(--tl-bad)}.tl-chip.is-due{border-color:var(--tl-sage);color:var(--tl-sage-ink);border-style:dashed}.tl-chip:disabled{cursor:default}.tl-order{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tl-order li>.tl-option{width:100%}.tl-order-slot{border:2px dashed var(--tl-line);color:#b0b0b0;border-radius:16px;align-items:center;min-height:52px;padding:0 16px;font-size:15px;font-weight:800;display:flex}.tl-order-n{background:var(--tl-sage);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid}.tl-option.is-wrong .tl-order-n{background:var(--tl-bad)}.tl-replay{border:2px solid var(--tl-line);background:#fff;border-radius:16px;gap:10px;margin:0;padding:12px;display:grid}.tl-replay figcaption{color:var(--tl-muted);justify-content:space-between;gap:10px;font-size:13px;font-weight:800;display:flex}.tl-replay svg{width:100%;height:auto;display:block}.tl-replay-line{fill:none;stroke:var(--tl-sage);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.tl-replay-dot{fill:var(--tl-sage-ink)}.tl-replay-pill{fill:var(--tl-mark)}.tl-replay-price{fill:#fff;text-anchor:middle;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:900}.tl-replay-chat{align-content:end;gap:6px;min-height:108px;margin:0;padding:0;list-style:none;display:grid}.tl-replay-chat li{background:var(--tl-soft);border-radius:14px 14px 14px 4px;justify-self:start;max-width:90%;padding:7px 12px;font-size:14px;font-weight:700;line-height:1.4;animation:.2s ease-out tl-rise}.tl-replay-chat li b{color:var(--tl-muted);margin-right:6px;font-size:12px}.tl-replay-again{border:2px solid var(--tl-line);min-height:36px;color:var(--tl-ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-self:end;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex}.tl-replay-again svg{width:15px;height:15px}.tl-replay-again:disabled{opacity:.4;cursor:default}.tl-calc{border:2px solid var(--tl-line);box-shadow:0 4px 0 var(--tl-line);background:#fff;border-radius:18px;align-items:center;gap:10px;padding:8px 18px;display:flex}.tl-calc:focus-within{border-color:var(--tl-sage);box-shadow:0 4px 0 var(--tl-sage-ink)}.tl-calc input{width:100%;min-width:0;height:56px;color:var(--tl-ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:30px;font-weight:900}.tl-calc input::placeholder{color:#c4c4c4;font-size:20px;font-weight:700}.tl-calc b{color:var(--tl-muted);flex:none;font-size:18px;font-weight:800}.tl-calc.is-right{border-color:var(--tl-sage);background:var(--tl-sage-soft);box-shadow:0 4px 0 var(--tl-sage-ink)}.tl-calc.is-wrong{border-color:var(--tl-bad-line);background:var(--tl-bad-soft);box-shadow:0 4px 0 var(--tl-bad-line)}.tl-calc.is-wrong input{color:var(--tl-bad)}.tl-sheet{margin:-12px -18px calc(-1 * max(14px, env(safe-area-inset-bottom)));padding:16px 18px max(16px, env(safe-area-inset-bottom));gap:10px;animation:.22s ease-out tl-sheet;display:grid}.tl-sheet.is-right{background:var(--tl-sage-soft);color:var(--tl-sage-ink)}.tl-sheet.is-wrong{background:var(--tl-bad-soft);color:var(--tl-ink)}.tl-sheet-head{align-items:center;gap:12px;font-size:21px;font-weight:900;display:flex}.tl-sheet-head strong{flex:1;min-width:0}.tl-sheet-mira{flex:none;width:52px;height:52px;position:relative}.tl-sheet-mira img{object-fit:cover;background:#fff;border-radius:50%;width:52px;height:52px;animation:.42s ease-out tl-hop}.tl-sheet-mira>i{background:var(--tl-sage);color:#fff;width:24px;height:24px;box-shadow:0 0 0 3px var(--tl-sage-soft);border-radius:50%;place-items:center;animation:.36s cubic-bezier(.3,1.6,.5,1) .12s both tl-pop;display:grid;position:absolute;bottom:-2px;right:-4px}.tl-sheet.is-wrong .tl-sheet-mira>i{background:var(--tl-bad);box-shadow:0 0 0 3px var(--tl-bad-soft)}.tl-sheet.is-wrong .tl-sheet-mira img{animation:.36s tl-shake}.tl-sheet-mira>i svg{stroke-width:3.5px;width:15px;height:15px}.tl-burst{pointer-events:none;position:absolute;inset:50% auto auto 50%}.tl-burst em{background:var(--tl-sage);width:8px;height:8px;transform:rotate(calc(var(--i) * 45deg)) translateY(0);border-radius:50%;margin:-4px;animation:.62s ease-out forwards tl-burst;position:absolute}.tl-burst em:nth-child(2n){background:var(--tl-sage-line);width:6px;height:6px}.tl-sheet-combo{color:var(--tl-sage-ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:13px;font-weight:900;animation:.36s cubic-bezier(.3,1.6,.5,1) .2s both tl-pop;display:inline-flex}.tl-sheet-combo svg{width:15px;height:15px;fill:var(--tl-sage);stroke:var(--tl-sage-ink)}.tl-sheet p{margin:0;font-size:15px;font-weight:700;line-height:1.55}.tl-sheet p b{opacity:.8;font-size:13px;display:block}.tl-sheet .tl-action.is-primary{background:var(--tl-sage);box-shadow:0 4px 0 var(--tl-sage-ink)}.tl-sheet.is-wrong .tl-action.is-primary{background:var(--tl-bad);box-shadow:0 4px 0 var(--tl-ink)}.tl-end{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:52dvh;animation:.26s ease-out tl-rise;display:grid}.tl-end-hero{width:132px;height:132px;position:relative}.tl-end-hero img{width:132px;height:132px;animation:.7s cubic-bezier(.3,1.5,.5,1) .15s both tl-hop;position:relative}.tl-confetti{background:var(--tl-sage);opacity:0;--a:calc(var(--i) * 25.7deg);width:10px;height:16px;animation:tl-confetti 1.1s calc(var(--i) * 18ms) ease-out forwards;border-radius:3px;position:absolute;top:45%;left:50%}.tl-end h1{margin:0;font-size:26px}.tl-end p{max-width:30em;color:var(--tl-muted);margin:0;font-size:15px;line-height:1.6}.tl-end .tl-end-mira{color:var(--tl-ink);font-size:17px;font-weight:800}.tl-intro .tl-intro-level{background:var(--tl-sage-soft);color:var(--tl-sage-ink);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:900}.tl-intro .tl-intro-kicker{color:var(--tl-muted);font-size:14px;font-weight:800}.tl-intro-nodes{text-align:left;gap:8px;width:100%;max-width:22em;margin:4px 0;padding:0;list-style:none;display:grid}.tl-intro-nodes li{border:2px solid var(--tl-line);color:var(--tl-muted);border-radius:16px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;font-weight:800;display:flex}.tl-intro-nodes li span{background:var(--tl-soft);width:24px;height:24px;color:var(--tl-muted);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.tl-intro-nodes li.is-current{border-color:var(--tl-sage-line);background:var(--tl-sage-soft);color:var(--tl-ink)}.tl-intro-nodes li.is-current span{background:var(--tl-sage);color:#fff}.tl-intro .tl-intro-node{color:var(--tl-ink);font-size:17px;font-weight:800}.tl-stats{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;width:100%;display:grid}.tl-stat{border:2px solid var(--c);background:var(--c);border-radius:16px;animation:.42s cubic-bezier(.3,1.5,.5,1) both tl-pop;overflow:hidden}.tl-stat:nth-child(2){animation-delay:.15s}.tl-stat:nth-child(3){animation-delay:.3s}.tl-stat span{color:#fff;justify-content:center;align-items:center;gap:4px;padding:5px 4px;font-size:12.5px;font-weight:900;display:flex}.tl-stat span svg{width:14px;height:14px}.tl-stat b{color:var(--c);font-variant-numeric:tabular-nums;background:#fff;border-radius:13px 13px 14px 14px;padding:10px 4px 12px;font-size:26px;font-weight:900;display:block}.tl-stat.is-green,.tl-stat.is-orange,.tl-stat.is-blue{--c:var(--tl-sage)}.tl-xp{background:var(--tl-sage-soft);width:100%;color:var(--tl-sage-ink);box-shadow:0 4px 0 var(--tl-sage-line);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;animation:.48s cubic-bezier(.3,1.5,.5,1) .5s both tl-pop;display:flex}.tl-xp svg{width:22px;height:22px;fill:var(--tl-sage);stroke:var(--tl-sage-ink)}.tl-xp b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.tl-xp span{font-size:14px;font-weight:800}.tl-progress.is-hot span{background:var(--tl-sage-ink)}.tl-combo{color:var(--tl-sage-ink);white-space:nowrap;flex:none;align-items:center;gap:3px;margin-left:auto;font-size:12px;font-weight:900;animation:.32s cubic-bezier(.3,1.6,.5,1) both tl-pop;display:inline-flex}.tl-combo.is-hot{color:var(--tl-sage-ink)}.tl-combo svg{width:14px;height:14px}.tl-combo.is-hot svg{fill:var(--tl-sage)}.tl-toast{z-index:20;background:var(--tl-sage);box-shadow:0 6px 0 var(--tl-sage-ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:14px 24px;font-size:26px;font-weight:900;animation:1.5s both tl-toast;display:flex;position:fixed;top:22%;left:50%}.tl-toast svg{fill:#fff;width:28px;height:28px}.tl-q.is-shake .tl-option.is-wrong,.tl-q.is-shake .tl-doc-line.is-wrong,.tl-q.is-shake .tl-chip.is-wrong,.tl-q.is-shake .tl-calc,.tl-q.is-shake .tl-slot,.tl-q.is-shake .tl-card.is-selected,.tl-q.is-shake .tl-rung.is-selected{animation:.32s tl-shake}@keyframes tl-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes tl-sheet{0%{opacity:.4;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes tl-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes tl-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes tl-hop{0%{transform:scale(.6)translateY(10px)}60%{transform:scale(1.08)translateY(-6px)}to{transform:none}}@keyframes tl-burst{0%{opacity:1;transform:rotate(calc(var(--i) * 45deg)) translateY(0) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 45deg)) translateY(-38px) scale(.4)}}@keyframes tl-confetti{0%{opacity:1;transform:rotate(var(--a)) translateY(0) rotate(0)}to{opacity:0;transform:rotate(var(--a)) translateY(-150px) rotate(300deg)}}@keyframes tl-toast{0%{opacity:0;transform:translate(-50%)scale(.3)}15%{opacity:1;transform:translate(-50%)scale(1.12)}25%{transform:translate(-50%)scale(1)}80%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-30px)}}@media (min-width:880px){.tl-topbar{width:100%;max-width:1040px;margin:0 auto;padding:16px 28px 12px}.tl-scroll{padding-inline:28px}}@media (max-width:420px){.tl-topbar{gap:10px;padding:10px 14px 8px}.tl-scroll,.tl-footer{padding-inline:14px}.tl-sheet{margin-inline:-14px;padding-inline:14px}.tl-q-prompt{font-size:20px}.tl-option{min-height:52px;font-size:15px}.tl-mat-table th,.tl-mat-table td{padding:10px 9px}}@media (prefers-reduced-motion:reduce){.tl-stage *,.tl-stage :before,.tl-stage :after{transition:none!important;animation:none!important}}
