.trainer-root{color-scheme:light;--trainer-bg:oklch(0.973 0.007 268.5);--trainer-surface:oklch(1 0 0);--trainer-surface-2:oklch(0.958 0.009 264.5);--trainer-ink:oklch(0.209 0.019 266.1);--trainer-muted:oklch(0.479 0.036 266.8);--trainer-line:oklch(0.9 0.015 264.5);--trainer-line-strong:oklch(0.663 0.031 268.2);--trainer-accent:oklch(0.473 0.153 261.8);--trainer-accent-ink:oklch(1 0 0);--trainer-accent-soft:oklch(0.947 0.021 261.8);--trainer-changed-bg:oklch(0.953 0.079 95.9);--trainer-changed-tag:oklch(0.924 0.115 93.9);--trainer-changed-ink:oklch(0.399 0.082 84.4);--trainer-ok:oklch(0.481 0.114 154.1);--trainer-ok-bg:oklch(0.953 0.026 158.2);--trainer-bad:oklch(0.501 0.178 28.7);--trainer-bad-bg:oklch(0.954 0.02 25.2);--trainer-wait:oklch(0.494 0.109 66.9);--trainer-wait-bg:oklch(0.968 0.033 83.7);--trainer-str:oklch(0.468 0.176 358);--trainer-str-bg:oklch(0.945 0.026 347.1);--trainer-int:oklch(0.473 0.078 204.4);--trainer-int-bg:oklch(0.948 0.023 200.1);--trainer-console:oklch(0.187 0.02 265.9);--trainer-con-ink:oklch(0.934 0.018 269.1);--trainer-con-dim:oklch(0.693 0.037 267.5);--trainer-con-err:oklch(0.769 0.137 25);--trainer-con-ok:oklch(0.832 0.124 156.2);--trainer-con-prompt:oklch(0.883 0.165 92.2);--trainer-con-line:oklch(0.265 0.028 266.5);--trainer-cta:oklch(0.553 0.174 38.4);--trainer-cta-ink:oklch(1 0 0);--trainer-star:oklch(0.512 0.108 75.1);--trainer-strip:oklch(0.209 0.019 266.1);--trainer-strip-ink:oklch(0.943 0.011 269.5);--trainer-strip-link:oklch(0.883 0.165 92.2);--trainer-strip-dim:oklch(0.811 0.028 267.5);--trainer-mascot:oklch(0.522 0.167 261.9);--trainer-mascot-dark:oklch(0.386 0.126 262.7);--trainer-mascot-screen:oklch(0.219 0.043 261.6);--trainer-shadow:0 1px 2px rgb(20 24 33/0.06),0 8px 24px -12px rgb(20 24 33/0.18);--trainer-radius:10px;--trainer-radius-lg:16px;--trainer-font:var(--trainer-font-sans,var(--font-geist-sans)),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--trainer-mono:var(--trainer-font-mono,var(--font-geist-mono)),ui-monospace,"Cascadia Code","JetBrains Mono",Consolas,monospace}.dark .trainer-root:not([data-theme=light]):not([data-theme=system]),.trainer-root[data-theme=dark]{color-scheme:dark;--trainer-bg:oklch(0.169 0.016 266.7);--trainer-surface:oklch(0.218 0.021 264);--trainer-surface-2:oklch(0.253 0.028 266.4);--trainer-ink:oklch(0.943 0.011 269.5);--trainer-muted:oklch(0.734 0.031 266.3);--trainer-line:oklch(0.318 0.03 266.3);--trainer-line-strong:oklch(0.513 0.043 269.9);--trainer-accent:oklch(0.742 0.132 267);--trainer-accent-ink:oklch(0.169 0.016 266.7);--trainer-accent-soft:oklch(0.276 0.053 263.8);--trainer-changed-bg:oklch(0.352 0.064 93.8);--trainer-changed-tag:oklch(0.916 0.128 94.1);--trainer-changed-ink:oklch(0.251 0.051 93.9);--trainer-ok:oklch(0.793 0.137 158.4);--trainer-ok-bg:oklch(0.256 0.04 159);--trainer-bad:oklch(0.765 0.139 25.6);--trainer-bad-bg:oklch(0.245 0.048 15);--trainer-wait:oklch(0.847 0.132 75.2);--trainer-wait-bg:oklch(0.278 0.042 80.8);--trainer-str:oklch(0.786 0.149 349.3);--trainer-str-bg:oklch(0.271 0.058 345.1);--trainer-int:oklch(0.82 0.107 199.8);--trainer-int-bg:oklch(0.279 0.037 203.7);--trainer-console:oklch(0.14 0.012 265.8);--trainer-cta:oklch(0.779 0.144 50.8);--trainer-cta-ink:oklch(0.175 0.028 54.6);--trainer-star:oklch(0.883 0.165 92.2);--trainer-strip:oklch(0 0 0);--trainer-mascot:oklch(0.624 0.169 263.1);--trainer-mascot-dark:oklch(0.472 0.153 262.9);--trainer-shadow:0 1px 2px rgb(0 0 0/0.4),0 12px 32px -16px rgb(0 0 0/0.7)}@media (prefers-color-scheme:dark){.trainer-root[data-theme=system]{color-scheme:dark;--trainer-bg:oklch(0.169 0.016 266.7);--trainer-surface:oklch(0.218 0.021 264);--trainer-surface-2:oklch(0.253 0.028 266.4);--trainer-ink:oklch(0.943 0.011 269.5);--trainer-muted:oklch(0.734 0.031 266.3);--trainer-line:oklch(0.318 0.03 266.3);--trainer-line-strong:oklch(0.513 0.043 269.9);--trainer-accent:oklch(0.742 0.132 267);--trainer-accent-ink:oklch(0.169 0.016 266.7);--trainer-accent-soft:oklch(0.276 0.053 263.8);--trainer-changed-bg:oklch(0.352 0.064 93.8);--trainer-changed-tag:oklch(0.916 0.128 94.1);--trainer-changed-ink:oklch(0.251 0.051 93.9);--trainer-ok:oklch(0.793 0.137 158.4);--trainer-ok-bg:oklch(0.256 0.04 159);--trainer-bad:oklch(0.765 0.139 25.6);--trainer-bad-bg:oklch(0.245 0.048 15);--trainer-wait:oklch(0.847 0.132 75.2);--trainer-wait-bg:oklch(0.278 0.042 80.8);--trainer-str:oklch(0.786 0.149 349.3);--trainer-str-bg:oklch(0.271 0.058 345.1);--trainer-int:oklch(0.82 0.107 199.8);--trainer-int-bg:oklch(0.279 0.037 203.7);--trainer-console:oklch(0.14 0.012 265.8);--trainer-cta:oklch(0.779 0.144 50.8);--trainer-cta-ink:oklch(0.175 0.028 54.6);--trainer-star:oklch(0.883 0.165 92.2);--trainer-strip:oklch(0 0 0);--trainer-mascot:oklch(0.624 0.169 263.1);--trainer-mascot-dark:oklch(0.472 0.153 262.9);--trainer-shadow:0 1px 2px rgb(0 0 0/0.4),0 12px 32px -16px rgb(0 0 0/0.7)}}.trainer-root{color:var(--trainer-ink);font:16px/1.5 var(--trainer-font);-webkit-text-size-adjust:100%}.trainer-root *,.trainer-root :after,.trainer-root :before{box-sizing:border-box}.trainer-root a{color:var(--trainer-accent);text-underline-offset:3px}.trainer-root :focus-visible{outline:3px solid var(--trainer-accent);outline-offset:2px}.trainer-root .tr-mono,.trainer-root code{font-family:var(--trainer-mono);font-size:.94em}.trainer-root code{background:var(--trainer-surface-2);padding:1px 5px;border-radius:5px}.tr-sub{color:var(--trainer-muted);font-size:14px}.tr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tr-btn{font:inherit;cursor:pointer;border-radius:var(--trainer-radius);border:1.5px solid var(--trainer-line-strong);background:var(--trainer-surface);color:var(--trainer-ink);padding:10px 14px;min-height:44px;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:border-color .15s,background-color .15s,transform .12s}.tr-btn[aria-disabled=true]:hover{border-color:var(--trainer-line);background:var(--trainer-surface-2)}.tr-btn:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--trainer-accent);background:var(--trainer-accent-soft)}.tr-btn:active:not(:disabled){transform:translateY(1px)}.tr-btn:disabled{cursor:default}.tr-btn.tr-primary{background:var(--trainer-accent);color:var(--trainer-accent-ink);border-color:var(--trainer-accent);font-weight:700;padding:10px 20px}.tr-btn.tr-primary:hover:not(:disabled){background:var(--trainer-accent);filter:brightness(1.08)}.tr-btn.tr-ghost{background:transparent}.tr-btn.tr-cta{background:var(--trainer-cta);border-color:var(--trainer-cta);color:var(--trainer-cta-ink);font-weight:700}.tr-btn.tr-cta:hover:not(:disabled){background:var(--trainer-cta);filter:brightness(1.06)}.tr-icon-btn{width:44px;height:44px;padding:0;flex:none}.tr-icon-btn svg{width:20px;height:20px}.tr-frame{background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);box-shadow:var(--trainer-shadow);overflow:clip}.tr-credit{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--trainer-strip);color:var(--trainer-strip-ink);font-size:13px;line-height:1.3;padding:7px 16px;min-height:32px}.trainer-root .tr-credit a{color:var(--trainer-strip-link);font-weight:600;text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:12px 0;margin:-12px 0}.tr-credit .tr-lic{color:var(--trainer-strip-dim);white-space:nowrap}@media (max-width:520px){.tr-credit .tr-lic{display:none}}.tr-embed .tr-credit{position:sticky;top:0;z-index:5}.tr-bar{gap:16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--trainer-line)}.tr-bar,.tr-brand{display:flex;align-items:center}.tr-brand{gap:12px;min-width:0;flex:1 1 260px}.tr-logo{flex:none;width:44px;height:44px;border-radius:12px;background:var(--trainer-console);color:var(--trainer-con-prompt);display:grid;place-items:center;font:700 17px/1 var(--trainer-mono);letter-spacing:-.04em}.tr-title{font-size:22px;line-height:1.2;margin:0;font-weight:800;letter-spacing:-.01em}.tr-tools{align-items:center;gap:8px}.tr-levels,.tr-tools{display:flex;flex-wrap:wrap}.tr-levels{gap:6px;margin:0;padding:0;list-style:none}.tr-lv{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;min-height:34px;border-radius:999px;border:1.5px solid var(--trainer-line);font-size:13px;font-weight:500;color:var(--trainer-muted);background:var(--trainer-surface)}.tr-lv .tr-dot{width:8px;height:8px;border-radius:50%;background:var(--trainer-line-strong);flex:none}.tr-lv.tr-cur{border-color:var(--trainer-accent);color:var(--trainer-accent);background:var(--trainer-accent-soft);font-weight:600}.tr-lv.tr-cur .tr-dot{background:var(--trainer-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--trainer-accent) 25%,transparent)}.tr-lv.tr-done{color:var(--trainer-ok);border-color:color-mix(in srgb,var(--trainer-ok) 45%,transparent);background:var(--trainer-ok-bg)}.tr-lv.tr-done .tr-dot{background:var(--trainer-ok)}.tr-stars{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;min-height:34px;border-radius:999px;background:var(--trainer-changed-bg);color:var(--trainer-ink);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.tr-stars:before{content:"★";color:var(--trainer-star);font-size:16px}.tr-main{padding:20px}.tr-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}@media (max-width:860px){.tr-grid{grid-template-columns:minmax(0,1fr);gap:16px}.tr-main{padding:16px}.tr-bar{padding:14px 16px}}.tr-col{display:flex;flex-direction:column;gap:16px;min-width:0}.tr-panel{background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius);min-width:0}.tr-panel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--trainer-line);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tr-panel-h,.tr-pill{font-size:12px;color:var(--trainer-muted)}.tr-pill{font-weight:500;padding:2px 8px;border-radius:999px;background:var(--trainer-surface-2)}.tr-file,.tr-pill{text-transform:none;letter-spacing:0}.tr-file{display:inline-flex;align-items:center;gap:8px;font-family:var(--trainer-mono);font-size:13px;color:var(--trainer-ink)}.tr-file:before{content:"";width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,#3776ab 50%,#ffd43b 0)}.tr-code{font:500 17px/1.75 var(--trainer-mono);padding:10px 0;margin:0;overflow-x:auto;list-style:none}.tr-ln{position:relative;display:flex;align-items:baseline;gap:10px;padding:0 14px 0 0;white-space:pre;min-height:1.75em}.tr-ln .tr-no{color:var(--trainer-muted);width:2.6em;text-align:right;flex:none;user-select:none;font-size:.85em}.tr-ln .tr-arrow{width:1.1em;flex:none;color:var(--trainer-accent);font-weight:700;text-align:center}.tr-ln.tr-cur{background:var(--trainer-accent-soft);box-shadow:inset 4px 0 0 var(--trainer-accent);animation:tr-line-in .28s ease-out}.tr-ln.tr-cur .tr-no{color:var(--trainer-accent);font-weight:700}@keyframes tr-line-in{0%{background:color-mix(in srgb,var(--trainer-accent) 30%,transparent)}}.tr-s-str{color:var(--trainer-str)}.tr-s-num{color:var(--trainer-int)}.tr-s-kw{color:var(--trainer-accent);font-weight:600}.tr-code.tr-l1{line-height:2.6}.tr-code.tr-l1 .tr-ln{min-height:56px;align-items:center}.tr-tok{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:0 8px;margin:0 1px;cursor:pointer;border-radius:8px;border:2px dashed var(--trainer-accent);background:var(--trainer-surface);color:var(--trainer-ink);font:inherit;line-height:1;transition:background-color .15s,border-color .15s,transform .12s;white-space:pre}.tr-tok:hover{background:var(--trainer-accent-soft)}.tr-tok:active{transform:scale(.96)}.tr-tok[aria-pressed=true]{border-style:solid;border-color:var(--trainer-str);background:var(--trainer-str-bg);color:var(--trainer-str)}.tr-tok-done{padding:0 2px}.tr-tok-done.tr-s-str{color:var(--trainer-str)}.tr-console-wrap{background:var(--trainer-console);border-radius:0 0 var(--trainer-radius) var(--trainer-radius)}.tr-console-h{display:flex;align-items:center;gap:6px;padding:8px 14px;color:var(--trainer-con-dim);font:500 12px/1.2 var(--trainer-mono);border-top:1px solid var(--trainer-con-line)}.tr-console-h i{width:9px;height:9px;border-radius:50%;background:var(--trainer-con-line);display:inline-block;flex:none}.tr-console-h span{margin-left:6px}.tr-console{color:var(--trainer-con-ink);padding:6px 14px 14px;font:15px/1.6 var(--trainer-mono);min-height:104px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.tr-console .tr-dim{color:var(--trainer-con-dim)}.tr-console .tr-err{color:var(--trainer-con-err)}.tr-console form{display:inline}.tr-console input{font-size:16px!important;background:transparent;border:none;border-bottom:2px solid var(--trainer-con-prompt);color:var(--trainer-con-ink);font:inherit;outline:none;width:14ch;max-width:60%;caret-color:var(--trainer-con-prompt);padding:0 4px;min-height:44px;vertical-align:middle;border-radius:0}.tr-console input:focus{background:rgb(255 212 59/.1)}.trainer-root .tr-console input:focus-visible{outline:2px solid var(--trainer-con-prompt);outline-offset:2px}.tr-caret{display:inline-block;width:.6em;height:1.1em;vertical-align:text-bottom;background:var(--trainer-con-prompt);animation:tr-blink 1s steps(1) infinite}.tr-console-wrap.tr-waiting{box-shadow:inset 0 0 0 2px var(--trainer-con-prompt)}.tr-console-wrap.tr-waiting .tr-console-h{color:var(--trainer-con-prompt)}.tr-console-wrap.tr-waiting .tr-console-h i:first-child{background:var(--trainer-con-prompt);animation:tr-blink 1s steps(1) infinite}.tr-runaway-line{animation:tr-appear .01s both}@keyframes tr-appear{0%{opacity:0}}.tr-console .tr-stop{margin-top:8px;background:var(--trainer-bad-bg);color:var(--trainer-bad);border-color:var(--trainer-bad);font-family:var(--trainer-font)}@keyframes tr-blink{50%{opacity:.2}}.tr-mem table{width:100%;border-collapse:collapse;font-size:15px}.tr-mem td,.tr-mem th{padding:10px 14px;border-bottom:1px solid var(--trainer-line);text-align:left;vertical-align:middle}.tr-mem tr:last-child td{border-bottom:none}.tr-mem th{font-size:12px;color:var(--trainer-muted);font-weight:500;padding-top:8px;padding-bottom:8px}.tr-mem .tr-val{font:600 17px/1.3 var(--trainer-mono);word-break:break-word}.tr-mem .tr-name{font:500 15px/1.3 var(--trainer-mono)}.tr-mem .tr-prev{display:block;font:400 12px/1.2 var(--trainer-mono);color:var(--trainer-muted);text-decoration:line-through}.tr-mem tr.tr-flash td{background:var(--trainer-changed-bg);animation:tr-flash 1.2s ease-out}.tr-changed-tag{display:inline-block;margin-left:8px;font:600 10px/1 var(--trainer-font);letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:999px;background:var(--trainer-changed-tag);color:var(--trainer-changed-ink);vertical-align:2px}@keyframes tr-flash{0%{background:var(--trainer-changed-tag)}to{background:var(--trainer-changed-bg)}}.tr-mem .tr-empty{display:flex;gap:12px;align-items:center;color:var(--trainer-muted);font-size:14px;padding:14px}.tr-mem .tr-empty svg{flex:none;width:56px;height:36px}.tr-chip{display:inline-flex;align-items:center;gap:4px;font:600 12px/1 var(--trainer-mono);padding:5px 8px;border-radius:999px;white-space:nowrap}.tr-chip.tr-str{background:var(--trainer-str-bg);color:var(--trainer-str)}.tr-chip.tr-int{background:var(--trainer-int-bg);color:var(--trainer-int)}.tr-coach{display:flex;gap:12px;align-items:flex-start}.tr-mascot{flex:none;width:72px;height:80px;overflow:visible}.tr-mascot.tr-happy,.tr-mascot.tr-party{animation:tr-hop .5s ease}.tr-mascot.tr-sad{animation:tr-shake .45s ease}.tr-mascot.tr-wait .tr-ant{animation:tr-blink 1s steps(1) infinite}@keyframes tr-hop{30%{transform:translateY(-10px) rotate(-3deg)}60%{transform:translateY(0)}}@keyframes tr-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.tr-bubble{position:relative;flex:1;min-width:0;background:var(--trainer-surface);border:2px solid var(--trainer-line);border-radius:14px;padding:14px 16px 16px}.tr-bubble:before{content:"";position:absolute;left:-9px;top:26px;width:14px;height:14px;background:inherit;border-left:2px solid;border-bottom:2px solid;border-color:inherit;transform:rotate(45deg)}.tr-who{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;color:var(--trainer-muted)}.tr-who b{color:var(--trainer-ink)}.tr-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--trainer-accent-soft);color:var(--trainer-accent)}.tr-bubble.tr-ok{background:var(--trainer-ok-bg);border-color:var(--trainer-ok);animation:tr-pop .3s ease-out}.tr-bubble.tr-ok .tr-tag{background:var(--trainer-ok);color:var(--trainer-surface)}.tr-bubble.tr-bad{background:var(--trainer-bad-bg);border-color:var(--trainer-bad);animation:tr-nudge .35s ease}.tr-bubble.tr-bad .tr-tag{background:var(--trainer-bad);color:var(--trainer-surface)}.tr-bubble.tr-wait{background:var(--trainer-wait-bg);border-color:var(--trainer-wait)}.tr-bubble.tr-wait .tr-tag{background:var(--trainer-wait);color:var(--trainer-surface)}@keyframes tr-pop{0%{transform:scale(.97)}60%{transform:scale(1.01)}to{transform:none}}@keyframes tr-nudge{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.tr-q{font-weight:600;font-size:17px;line-height:1.4;margin:0 0 4px}.tr-why{margin-top:10px;font-size:15px}.tr-bubble.tr-bad .tr-why,.tr-bubble.tr-ok .tr-why{padding-top:10px;border-top:1px dashed color-mix(in srgb,currentColor 25%,transparent)}.tr-target{font-family:var(--trainer-mono);background:var(--trainer-changed-bg);color:var(--trainer-ink);padding:2px 7px;border-radius:6px}.tr-opts{display:flex;flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none}.tr-opt{display:flex;gap:12px;align-items:flex-start;width:100%;line-height:1.4;text-align:left;justify-content:flex-start}.tr-opt .tr-letter{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--trainer-surface-2);color:var(--trainer-muted);font:700 13px/1 var(--trainer-mono)}.tr-opt:hover:not([aria-disabled=true]) .tr-letter{background:var(--trainer-accent);color:var(--trainer-accent-ink)}.tr-opt[aria-disabled=true]{color:var(--trainer-muted);border-style:dashed;border-color:var(--trainer-line);background:var(--trainer-surface-2);text-decoration:line-through;text-decoration-color:var(--trainer-bad)}.tr-opt[aria-disabled=true] .tr-letter{background:var(--trainer-bad-bg);color:var(--trainer-bad)}.tr-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.tr-ans{font:500 16px var(--trainer-mono);padding:10px 12px;min-height:44px;border:1.5px solid var(--trainer-line-strong);border-radius:var(--trainer-radius);background:var(--trainer-surface);color:var(--trainer-ink);min-width:0;flex:1 1 180px}.tr-ans:focus{outline:none;border-color:var(--trainer-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--trainer-accent) 30%,transparent)}.tr-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 20px 16px;border-top:1px solid var(--trainer-line);font-size:13px;color:var(--trainer-muted);margin:0;list-style:none}.tr-legend li{display:inline-flex;align-items:center;gap:6px}.tr-sw{width:16px;height:16px;border-radius:4px;flex:none;display:inline-block}.tr-sw.tr-sw-cur{background:var(--trainer-accent-soft);box-shadow:inset 3px 0 0 var(--trainer-accent)}.tr-sw.tr-sw-chg{background:var(--trainer-changed-tag)}.tr-sw.tr-sw-wait{background:var(--trainer-console);box-shadow:inset 0 0 0 2px var(--trainer-con-prompt)}.tr-sw.tr-sw-ok{background:var(--trainer-ok)}.tr-sw.tr-sw-bad{background:var(--trainer-bad)}.tr-finish{position:relative;text-align:center;padding:8px 0 4px}.tr-finish .tr-fin-title{font-size:26px;line-height:1.2;margin:6px 0 4px;font-weight:800}.tr-finish .tr-mascot-big{width:104px;height:116px}.tr-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.tr-confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:0;animation:tr-fall 2.4s ease-in forwards}@keyframes tr-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(420px) rotate(540deg)}}.tr-fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;text-align:left;margin-top:20px}@media (max-width:760px){.tr-fin-grid{grid-template-columns:minmax(0,1fr)}}.tr-share{display:flex;flex-direction:column;justify-content:center;border:2px dashed var(--trainer-accent);border-radius:var(--trainer-radius-lg);padding:18px;background:var(--trainer-accent-soft);text-align:center}.tr-share .tr-big{font-size:40px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.tr-share .tr-big .tr-st{color:var(--trainer-star)}.tr-lvstars{display:grid;gap:6px;margin:14px 0 6px;padding:0;list-style:none;text-align:left}.tr-lvstars li{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;background:var(--trainer-surface);font-size:14px}.tr-lvstars .tr-s{font-size:18px;letter-spacing:2px;color:var(--trainer-star)}.tr-lvstars .tr-off{color:var(--trainer-line-strong)}.tr-star-pop{display:inline-block;animation:tr-star-in .4s cubic-bezier(.3,1.6,.5,1) both}@keyframes tr-star-in{0%{transform:scale(0) rotate(-40deg);opacity:0}}.tr-mistakes{border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);padding:16px}.tr-mistakes h3,.tr-share h3{margin:0 0 10px;font-size:16px}.tr-mrows{margin:0;padding:0;list-style:none}.tr-mrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;margin-top:10px;font-size:14px}.tr-mbar{grid-column:1/-1;height:8px;border-radius:99px;background:var(--trainer-surface-2);overflow:hidden}.tr-mbar i{display:block;height:100%;background:var(--trainer-bad);border-radius:inherit}.tr-mrow b{font-variant-numeric:tabular-nums}.tr-clean{display:flex;gap:10px;align-items:center;color:var(--trainer-ok);font-weight:600}.tr-actions{gap:10px;justify-content:center}.tr-actions,.tr-cta-box{display:flex;flex-wrap:wrap;margin-top:20px}.tr-cta-box{align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:var(--trainer-radius-lg);background:color-mix(in srgb,var(--trainer-cta) 12%,var(--trainer-surface));border:1.5px solid color-mix(in srgb,var(--trainer-cta) 40%,transparent);text-align:left}.tr-cta-box p{margin:0;flex:1 1 260px}.tr-embedbox{margin-top:16px;text-align:left;border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);padding:4px 16px}.tr-embedbox summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.tr-embed-code{width:100%;font:13px/1.5 var(--trainer-mono);border-radius:8px;border:1.5px solid var(--trainer-line-strong);background:var(--trainer-surface-2);color:var(--trainer-ink);padding:10px;resize:vertical}.tr-legal{max-width:760px;padding-top:32px;padding-bottom:48px;line-height:1.6}.tr-legal li{margin:0 0 12px}.tr-license{font-size:13px;color:var(--trainer-muted);margin:8px 0 12px}.tr-retry{margin:12px 0 0}.tr-start{display:grid;gap:16px;justify-items:center;text-align:center;padding:24px 8px}.tr-start p{max-width:560px;margin:0}.tr-fail{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px;border:2px solid var(--trainer-bad);background:var(--trainer-bad-bg);border-radius:var(--trainer-radius-lg)}@media (max-width:520px){.tr-frame.tr-bleed{border-left:0;border-right:0;border-radius:0}.tr-main{padding:12px}.tr-code{font-size:14px}.tr-ln{gap:4px;padding-right:8px}.tr-ln .tr-no{width:1.8em}.tr-ln>.tr-src{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:2ch;text-indent:-2ch}.tr-tools{width:100%}.tr-levels{flex:1 1 auto;flex-wrap:nowrap}.tr-lv:not(.tr-cur) .tr-lvname{display:none}.tr-lv{padding:6px 10px}}.tr-embed{min-height:100vh;background:var(--trainer-surface)}.tr-embed .tr-frame{border:none;border-radius:0;box-shadow:none;min-height:100vh}.tr-site{background:var(--trainer-bg);min-height:100vh;font-size:16px;line-height:1.55}.tr-wrap{max-width:1120px;margin:0 auto;padding:0 16px}@media (min-width:768px){.tr-wrap{padding:0 24px}}.tr-site h1{font-size:clamp(28px,6vw,44px);line-height:1.1;letter-spacing:-.02em}.tr-site h1,.tr-site h2{margin:0 0 12px;font-weight:800}.tr-site h2{font-size:clamp(22px,4vw,28px);line-height:1.2;letter-spacing:-.01em}.tr-site h3{font-size:18px;margin:0 0 6px}.tr-site section{padding:40px 0}.tr-site-head{background:var(--trainer-surface);border-bottom:1px solid var(--trainer-line)}.tr-site-head .tr-wrap{display:flex;align-items:center;gap:16px;min-height:64px}.tr-monogram{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--trainer-ink);color:var(--trainer-bg);font-weight:800;font-size:14px}.trainer-root .tr-site-name{font-weight:700;color:var(--trainer-ink);text-decoration:none;display:flex;align-items:center;gap:10px;min-height:44px}.tr-site-head nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto}.trainer-root .tr-site-head nav a{color:var(--trainer-muted);text-decoration:none;padding:10px 12px;border-radius:8px;white-space:nowrap;font-size:15px;min-height:44px;display:inline-flex;align-items:center}.trainer-root .tr-site-head nav a[aria-current=page]{color:var(--trainer-ink);font-weight:600;background:var(--trainer-surface-2)}@media (max-width:640px){.tr-site-head .tr-wrap{flex-wrap:wrap;gap:4px;padding-top:8px}.tr-site-head nav{margin-left:0;width:100%;order:3}.tr-site-name{flex:1}.trainer-root .tr-site-head nav a{padding:8px 10px}}.tr-hero{padding:40px 0 24px}.tr-lead{font-size:19px;max-width:640px;color:var(--trainer-muted);margin:0 0 20px}.tr-kicker{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--trainer-mono);color:var(--trainer-accent);background:var(--trainer-accent-soft);padding:6px 10px;border-radius:999px;margin-bottom:14px}.tr-facts{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--trainer-muted);font-size:14px;margin:0;padding:0;list-style:none}.tr-facts li:before{content:"✓ ";color:var(--trainer-ok);font-weight:700}.tr-filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 16px}.tr-filters .tr-btn{font-size:14px;font-weight:500;padding:8px 14px;border-radius:999px}.tr-filters .tr-btn[aria-pressed=true]{background:var(--trainer-ink);color:var(--trainer-bg);border-color:var(--trainer-ink)}.tr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:0;padding:0;list-style:none}@media (max-width:400px){.tr-cards{grid-template-columns:minmax(0,1fr)}}.tr-card{display:flex;flex-direction:column;background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);overflow:hidden;box-shadow:var(--trainer-shadow);transition:transform .18s ease,box-shadow .18s ease;min-width:0}.tr-card:not(.tr-soon):hover{transform:translateY(-3px)}.tr-card .tr-pic{position:relative;aspect-ratio:16/9;background:var(--trainer-console)}.tr-card .tr-pic svg{width:100%;height:100%;display:block}.tr-badge{position:absolute;top:12px;right:12px;font:700 12px/1 var(--trainer-font);padding:6px 10px;border-radius:999px}.tr-badge.tr-new{background:var(--trainer-con-prompt);color:oklch(.209 .019 266.1)}.tr-badge.tr-soonb{background:var(--trainer-surface);color:var(--trainer-ink)}.tr-card .tr-body{position:relative;padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.tr-card h3{font-size:20px;margin:0}.trainer-root .tr-card h3 a{color:inherit;text-decoration:none}.tr-card h3 a:after{content:"";position:absolute;inset:0}.tr-card p{margin:0;color:var(--trainer-muted)}.tr-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tr-tags li{font:500 12px/1 var(--trainer-mono);padding:5px 8px;border-radius:6px;background:var(--trainer-surface-2);color:var(--trainer-ink)}.tr-meta{gap:4px 14px;font-size:13px;color:var(--trainer-muted);margin-top:auto;padding-top:4px}.tr-card .tr-acts,.tr-meta{display:flex;flex-wrap:wrap}.tr-card .tr-acts{gap:8px;position:relative;z-index:1}.tr-card.tr-soon .tr-pic{filter:saturate(.35);opacity:.75}.tr-card.tr-soon h3,.tr-card.tr-soon p{color:var(--trainer-muted)}.tr-btn[aria-disabled=true]{border-style:dashed;color:var(--trainer-muted);background:transparent;cursor:default}.tr-teach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}@media (max-width:760px){.tr-teach{grid-template-columns:minmax(0,1fr)}}.tr-teach>div{background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);padding:18px}.tr-teach .tr-ico{font:700 18px/1 var(--trainer-mono);color:var(--trainer-accent);background:var(--trainer-accent-soft);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;margin-bottom:10px}.tr-teach p{margin:0;color:var(--trainer-muted);font-size:15px}.tr-band{background:var(--trainer-console);color:var(--trainer-con-ink);border-radius:var(--trainer-radius-lg);padding:28px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}.tr-site .tr-band h2{color:var(--trainer-con-ink);margin:0 0 4px}.tr-band p{margin:0;color:var(--trainer-con-dim);max-width:560px}.tr-band .tr-btn.tr-cta{background:oklch(.779 .144 50.8);border-color:oklch(.779 .144 50.8);color:oklch(.175 .028 54.6)}.tr-site-foot{border-top:1px solid var(--trainer-line);padding:24px 0 40px}.tr-crumbs,.tr-site-foot{color:var(--trainer-muted);font-size:14px}.tr-crumbs{padding:20px 0 8px}.trainer-root .tr-crumbs a{color:var(--trainer-muted)}.tr-thead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.tr-thead h1{margin:0 0 6px}.tr-thead .tr-lead{margin:0;font-size:18px;max-width:620px}@media (max-width:520px){.tr-stage{margin:0 -16px}}.tr-under{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-top:12px;font-size:14px;color:var(--trainer-muted)}.tr-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}@media (max-width:860px){.tr-two{grid-template-columns:minmax(0,1fr)}}.tr-steps3{display:grid;gap:12px;counter-reset:trs;margin:16px 0 0;padding:0;list-style:none}.tr-steps3 li{display:flex;gap:14px;align-items:flex-start;counter-increment:trs}.tr-steps3 li:before{content:counter(trs);flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--trainer-accent);color:var(--trainer-accent-ink);font-weight:700}.tr-steps3 li p{margin:2px 0 0;color:var(--trainer-muted);font-size:15px}.tr-topics{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.tr-topic{display:flex;gap:12px;align-items:flex-start;background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius);padding:14px}.trainer-root .tr-topic code{flex:none;font-size:13px;padding:4px 8px;border-radius:6px}.trainer-root .tr-topic code.tr-t-str{background:var(--trainer-str-bg);color:var(--trainer-str)}.trainer-root .tr-topic code.tr-t-int{background:var(--trainer-int-bg);color:var(--trainer-int)}.trainer-root .tr-topic code.tr-t-kw{background:var(--trainer-accent-soft);color:var(--trainer-accent)}.tr-topic p{margin:0;font-size:15px}.tr-embed-sec{background:var(--trainer-surface);border:1px solid var(--trainer-line);border-radius:var(--trainer-radius-lg);padding:24px}.tr-embed-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}@media (max-width:860px){.tr-embed-grid{grid-template-columns:minmax(0,1fr)}.tr-embed-sec{padding:16px}}.tr-sizes{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tr-sizes .tr-btn{font-size:14px;font-weight:500;padding:8px 12px}.tr-sizes .tr-btn[aria-pressed=true]{border-color:var(--trainer-accent);background:var(--trainer-accent-soft);color:var(--trainer-accent);font-weight:600}.tr-snippet{margin:0;background:var(--trainer-console);color:var(--trainer-con-ink);border-radius:var(--trainer-radius);padding:16px;font:13px/1.6 var(--trainer-mono);white-space:pre-wrap;word-break:break-all}.tr-lic-box{border:2px solid var(--trainer-ok);background:var(--trainer-ok-bg);border-radius:var(--trainer-radius-lg);padding:18px}.tr-lic-box h3{color:var(--trainer-ok)}.tr-lic-box ul{margin:8px 0 0;padding-left:20px;font-size:15px}.tr-lic-box li{margin:4px 0}.tr-lic-box .tr-no-li{color:var(--trainer-muted)}.tr-plate{margin-top:14px;border-radius:10px;overflow:hidden;border:1px solid var(--trainer-line)}.tr-plate .tr-plate-strip{background:var(--trainer-strip);color:var(--trainer-strip-ink);font-size:13px;padding:7px 14px}.tr-plate .tr-plate-strip b{color:var(--trainer-strip-link);text-decoration:underline}.tr-plate .tr-plate-rest{height:44px;background:repeating-linear-gradient(-45deg,var(--trainer-surface-2),var(--trainer-surface-2) 8px,var(--trainer-surface) 8px,var(--trainer-surface) 16px);display:grid;place-items:center;font-size:12px;color:var(--trainer-muted)}.tr-draft{display:inline-block;font:600 11px/1 var(--trainer-font);text-transform:uppercase;letter-spacing:.05em;padding:4px 7px;border-radius:6px;background:var(--trainer-wait-bg);color:var(--trainer-wait);vertical-align:3px;margin-left:6px}.tr-trial{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;background:color-mix(in srgb,var(--trainer-cta) 10%,var(--trainer-surface));border:1.5px solid color-mix(in srgb,var(--trainer-cta) 40%,transparent);border-radius:var(--trainer-radius-lg);padding:24px}.tr-trial p{margin:0;color:var(--trainer-muted)}.tr-trial .tr-face{font:800 22px/1 var(--trainer-font);width:56px;height:56px;border-radius:50%;background:var(--trainer-ink);color:var(--trainer-bg);display:grid;place-items:center}@media (max-width:640px){.tr-trial{grid-template-columns:minmax(0,1fr);padding:16px}}.tr-form{display:grid;gap:12px;margin-top:16px;max-width:520px}.tr-form label.tr-field{display:grid;gap:4px;font-size:14px;font-weight:500}.tr-form .tr-err-text{color:var(--trainer-bad);font-size:14px;margin:0}.tr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.tr-faq details{border-bottom:1px solid var(--trainer-line)}.tr-faq summary{cursor:pointer;padding:14px 0;font-weight:600;min-height:44px}.tr-faq details p{margin:0 0 14px;color:var(--trainer-muted)}.tr-checkpoint{display:flex;flex-wrap:wrap;align-items:center;gap:12px}@media (prefers-reduced-motion:reduce){.trainer-root *,.trainer-root :after,.trainer-root :before{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important}.tr-confetti{display:none}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_05241f{font-family:Geist,Geist Fallback;font-style:normal}.__variable_05241f{--trainer-font-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_2e4c48{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_2e4c48{--trainer-font-mono:"Geist Mono","Geist Mono Fallback"}