@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.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:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-latin-ext.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}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-latin.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}:root{--bg:#f6f5f1;--surface:#fff;--surface-sheet:#fafaf8;--surface-raised:#fff;--surface-action:#f0f0f0;--text-action:#000;--border:#00000012;--border-input:#00000014;--border-active:#00000024;--border-divider:#0000000d;--text-primary:#1a1a1f;--text-secondary:#6b6d7b;--text-muted:#a0a2b1;--accent:#e8734a;--accent-hover:#d4663f;--accent-glow:#e8734a38;--accent-soft:#e8734a1a;--indigo:#6366f1;--indigo-text:#4f46e5;--orange-text:#c2603a;--green-text:#0d9668;--success:#10b981;--success-text:#059669;--success-soft:#10b9811a;--success-border:#10b98133;--warning:#f59e0b;--warning-text:#d97706;--warning-soft:#f59e0b1a;--warning-border:#f59e0b33;--danger:#dc2626;--danger-hover:#b91c1c;--danger-soft:#dc26261a;--error:#ef4444;--error-soft:#ef44441f;--marker-yellow:#ffd60a;--quiz-red:#d6263b;--quiz-blue:#1d64c9;--quiz-yellow:#a86b00;--quiz-green:#1e7d1e;--dark:#3a3a44;--dark-hover:#2a2a32;--telegram:#2aabee;--overlay:#0a0a1273;--scrollbar-thumb:#1a1a1f24;--scrollbar-thumb-hover:#1a1a1f47;--font-sans:"Onest", system-ui, -apple-system, sans-serif;--font-main:var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-doc:"Times New Roman", Times, "Liberation Serif", serif;--text-page-title:26px;--text-section:18px;--text-button:15.5px;--text-body:15px;--text-label:13px;--text-caption:12px;--radius-seg:8px;--radius-chip:10px;--radius-box:12px;--radius-btn:14px;--radius-fab:18px;--radius-pill:20px;--radius-sheet:24px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 1px 3px #0000000a;--shadow-active:0 2px 8px #1a1a1f33;--shadow-sheet:0 -4px 60px #00000026, 0 -1px 3px #0000000f;--shadow-accent:0 4px 14px #e8734a38;--shadow-accent-lg:0 4px 16px #e8734a4d;--shadow-accent-hover:0 6px 24px #e8734a59;--shadow-nav:0 4px 24px #00000014, 0 1px 4px #0000000a;--ease-sheet:cubic-bezier(.32, .72, 0, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}.variant-indigo{--v-color:var(--indigo);--v-text:var(--indigo-text);--v-grad-from:#6366f1;--v-grad-to:#818cf8;--v-shadow:#6366f140}.variant-orange{--v-color:var(--accent);--v-text:var(--orange-text);--v-grad-from:#e8734a;--v-grad-to:#f59e6c;--v-shadow:#e8734a40}.variant-green{--v-color:var(--success);--v-text:var(--green-text);--v-grad-from:#10b981;--v-grad-to:#34d399;--v-shadow:#10b98140}.tr-game-tile{justify-content:center;align-items:center;gap:var(--space-3);min-height:88px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-fab);background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .2s var(--ease-bounce), background-color .2s, border-color .2s;font-weight:600;display:flex;position:relative}.tr-game-tile__text{overflow-wrap:anywhere;min-width:0}.tr-game-tile__marker{font-family:var(--font-mono);color:var(--text-secondary);flex:none}.tr-game-tile--hidden{background:var(--accent-soft);color:var(--accent);border-color:#0000}.tr-game-tile--selected{border-color:var(--accent);background:var(--accent-soft)}.tr-game-tile--matched,.tr-game-tile--correct{border-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface));color:var(--success-text)}.tr-game-tile--wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, var(--surface))}.tr-game-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tr-game-tile:disabled{cursor:default}@media (hover:hover){.tr-game-tile:not(:disabled):hover{border-color:var(--accent);transform:translateY(-2px)}}.tr-quiz-answer{--quiz-c:var(--quiz-red);align-items:center;gap:var(--space-3);width:100%;min-height:96px;padding:var(--space-4) var(--space-5);border:0;border-bottom:4px solid color-mix(in srgb, var(--quiz-c) 72%, var(--text-primary));border-radius:var(--radius-fab);background:var(--quiz-c);color:var(--surface);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-bounce), opacity .25s, filter .25s, background-color .2s;font-size:clamp(16px,2.2vw,22px);font-weight:700;line-height:1.3;display:flex;position:relative}.tr-quiz-answer--c1{--quiz-c:var(--quiz-blue)}.tr-quiz-answer--c2{--quiz-c:var(--quiz-yellow)}.tr-quiz-answer--c3{--quiz-c:var(--quiz-green)}.tr-quiz-shape{fill:currentColor;flex:none;width:34px;height:34px}.tr-quiz-answer__text{overflow-wrap:anywhere;flex:auto;min-width:0}.tr-quiz-answer__aside{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body);opacity:.92;flex:none}.tr-quiz-answer:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}.tr-quiz-answer:disabled{cursor:default}@media (hover:hover){.tr-quiz-answer:not(:disabled):hover{transform:translateY(-3px)}}.tr-quiz-answer:not(:disabled):active{transform:scale(.97)}.tr-quiz-answer--picked{animation:tr-quiz-pop .35s var(--ease-bounce);outline:4px solid var(--text-primary);outline-offset:3px}.tr-quiz-answer--muted{opacity:.32;filter:saturate(.4)}.tr-quiz-answer--wrong{opacity:.72}.tr-quiz-answer--correct:after,.tr-quiz-answer--wrong:after{content:"";border:4px solid var(--success);border-radius:calc(var(--radius-fab) + 5px);pointer-events:none;position:absolute;inset:-5px}.tr-quiz-answer--wrong:after{border-color:var(--danger);border-style:dashed}@keyframes tr-quiz-pop{0%{transform:scale(1)}45%{transform:scale(1.05)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){@keyframes tr-quiz-pop{0%{opacity:.7}to{opacity:1}}}.tr-quiz-timebar{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 14%, var(--surface));height:10px;overflow:hidden}.tr-quiz-timebar__fill{background:var(--accent);transform-origin:0;height:100%;transition:transform 1s linear,background-color .3s;display:block}.tr-quiz-timebar--warn .tr-quiz-timebar__fill{background:var(--danger)}@media (max-width:640px){.tr-quiz-answer{min-height:72px;padding:var(--space-3) var(--space-4)}.tr-quiz-shape{width:26px;height:26px}}.tr-day-tl{max-height:var(--tr-day-tl-h,60vh);overscroll-behavior:contain;padding:var(--space-2) 0;overflow-y:auto}.tr-day-tl__body{margin-left:52px;position:relative}.tr-day-tl__hour{border-top:1px solid var(--border-divider);position:absolute;left:0;right:0}.tr-day-tl__label{width:44px;font-family:var(--font-mono);color:var(--text-muted);font-size:11px;position:absolute;top:-8px;left:-52px}.tr-day-tl__block{box-sizing:border-box;border-radius:var(--radius-box);text-align:left;font:inherit;color:var(--text-primary);flex-direction:column;gap:2px;padding:6px 12px;display:flex;position:absolute;left:0;right:0;overflow:hidden}button.tr-day-tl__block{cursor:pointer}.tr-day-tl__title{align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.tr-day-tl__title svg{flex-shrink:0;width:14px;height:14px}.tr-day-tl__meta{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-secondary)}.tr-day-tl__tag{border-radius:var(--radius-pill);padding:1px 8px;font-size:11px;font-weight:600;position:absolute;top:6px;right:10px}.tr-day-tl__block--free{z-index:1;border:1px dashed color-mix(in srgb, var(--indigo) 45%, transparent);background:color-mix(in srgb, var(--indigo) 7%, transparent);color:var(--indigo-text);flex-direction:row;justify-content:space-between;align-items:flex-start}.tr-day-tl__block--free .tr-day-tl__meta{color:var(--indigo-text)}.tr-day-tl__block--free:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}.tr-day-tl__block--lesson,.tr-day-tl__block--moving{z-index:2;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow-xs)}.tr-day-tl__block--moving{border-color:color-mix(in srgb, var(--accent) 45%, transparent);border-left-color:var(--accent);background:repeating-linear-gradient(135deg, var(--surface) 0 8px, var(--accent-soft) 8px 16px)}.tr-day-tl__block--moving .tr-day-tl__tag{background:var(--accent-soft);color:var(--orange-text)}.tr-day-tl__block--picked{z-index:3;background:var(--indigo);color:var(--surface);box-shadow:var(--shadow-md);animation:cardIn .2s var(--ease-sheet)}.tr-day-tl__block--picked .tr-day-tl__meta{color:var(--surface);opacity:.85}.tr-day-tl__clear{border-radius:var(--radius-seg);background:color-mix(in srgb, var(--surface) 22%, transparent);width:26px;height:26px;color:var(--surface);cursor:pointer;border:none;place-items:center;display:grid;position:absolute;top:6px;right:6px}.tr-day-tl__clear svg{width:14px;height:14px}.tr-day-tl__block--free.tr-day-tl__block--tone-accent{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-soft);color:var(--orange-text)}.tr-day-tl__block--free.tr-day-tl__block--tone-accent .tr-day-tl__meta{color:var(--orange-text)}.tr-day-tl__block--free.tr-day-tl__block--tone-accent:focus-visible{outline-color:var(--accent)}.tr-day-tl__block--picked.tr-day-tl__block--tone-dark{background:var(--text-primary)}.tr-day-tl__block--proposed{z-index:2;border:1px dashed color-mix(in srgb, var(--indigo) 55%, transparent);border-left:3px solid var(--indigo);background:color-mix(in srgb, var(--indigo) 8%, var(--surface));color:var(--indigo-text)}@media (prefers-reduced-motion:reduce){.tr-day-tl__block--picked{animation:none}}.tr-hero-overlay{z-index:800;background:var(--bg);animation:tr-hero-fade .3s var(--ease-sheet) backwards;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.tr-hero{background:radial-gradient(120% 60% at 50% 0%, var(--accent-soft), transparent 70%), var(--bg);width:100%;max-width:480px;height:100dvh;font-family:var(--font-sans);color:var(--text-primary);outline:none;flex-direction:column;display:flex;position:relative}.tr-hero__scroll{text-align:center;min-height:0;padding:calc(var(--space-8) * 2 + env(safe-area-inset-top)) var(--space-6) var(--space-6);flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.tr-hero__scroll>*{flex-shrink:0}.tr-hero__mark{width:88px;height:88px;margin-bottom:var(--space-5);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--surface);box-shadow:var(--shadow-accent-lg);border-radius:50%;place-items:center;display:grid}.tr-hero__mark svg{width:48px;height:48px}.tr-hero__check{stroke-dasharray:40;stroke-dashoffset:0;animation:tr-hero-draw .6s .25s var(--ease-sheet) backwards}.tr-hero__eyebrow{margin:0 0 var(--space-2);font-size:var(--text-label);letter-spacing:.04em;text-transform:uppercase;color:var(--orange-text);font-weight:600}.tr-hero__title{font-size:var(--text-page-title);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}.tr-hero__text{margin:var(--space-3) 0 0;font-size:var(--text-body);color:var(--text-secondary);line-height:1.5}.tr-hero__body{width:100%;margin-top:var(--space-6);gap:var(--space-3);text-align:left;display:grid}.tr-hero__actions{gap:var(--space-2);padding:var(--space-4) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom));display:grid}.tr-hero__step{animation:tr-hero-rise .45s calc(80ms * var(--tr-hero-i,0)) var(--ease-sheet) backwards}@media (min-width:600px){.tr-hero-overlay{padding:var(--space-6);background:var(--overlay);align-items:center}.tr-hero{height:auto;max-height:calc(100dvh - var(--space-8) * 2);border-radius:var(--radius-sheet);background:radial-gradient(120% 60% at 50% 0%, var(--accent-soft), transparent 70%), var(--surface);max-width:440px;box-shadow:var(--shadow-nav);overflow:hidden}.tr-hero__scroll{padding:var(--space-8) var(--space-8) var(--space-2)}.tr-hero__actions{padding:var(--space-4) var(--space-8) var(--space-8)}}.tr-daystrip{gap:var(--space-2);display:grid}.tr-daystrip__bar{gap:var(--space-1);display:flex}.tr-daystrip__day{border-radius:var(--radius-seg);background:var(--accent-soft);flex:1;height:8px}.tr-daystrip__day--past{background:var(--accent);opacity:.45}.tr-daystrip__day--now{background:var(--accent);animation:tr-hero-fill .5s calc(.5s + 50ms * var(--tr-day-i,0)) var(--ease-sheet) backwards}.tr-daystrip__labels{font-size:var(--text-caption);color:var(--text-secondary);justify-content:space-between;display:flex}@keyframes tr-hero-fade{0%{opacity:0}}@keyframes tr-hero-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes tr-hero-draw{0%{stroke-dashoffset:40px}}@keyframes tr-hero-fill{0%{transform-origin:0;transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){@keyframes tr-hero-rise{0%{opacity:0}}@keyframes tr-hero-fill{0%{opacity:0}}.tr-hero__check{animation:none}}.tr-choice-tiles{grid-template-columns:repeat(var(--tr-choice-cols,3), minmax(0, 1fr));gap:var(--space-2);display:grid}.tr-choice-tile{border-radius:var(--radius-box);border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);font:inherit;text-align:left;color:var(--text-primary);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 12px 11px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}@media (hover:hover){.tr-choice-tile:not(:disabled):not(.tr-choice-tile--on):hover{border-color:var(--border-active)}}.tr-choice-tile:focus-visible{box-shadow:0 0 0 3px var(--accent-glow);outline:none}.tr-choice-tile:disabled{cursor:default;opacity:.5}.tr-choice-tile__icon{border-radius:var(--radius-chip);background:var(--bg);width:30px;height:30px;color:var(--text-secondary);place-items:center;margin-bottom:6px;transition:background .14s,color .14s;display:grid}.tr-choice-tile__icon svg{width:17px;height:17px}.tr-choice-tile__label{max-width:100%;font-size:14px;font-weight:600;line-height:1.25}.tr-choice-tile__hint{max-width:100%;color:var(--text-muted);font-size:11.5px;line-height:1.3}.tr-choice-tile--on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.tr-choice-tile--on .tr-choice-tile__icon{background:var(--accent);color:var(--surface)}.tr-choice-tile--on .tr-choice-tile__hint{color:var(--text-secondary)}.tr-mode-banner{background:var(--dark);color:color-mix(in srgb, var(--surface) 78%, var(--dark));font-family:var(--font-sans);flex:none;align-items:center;gap:14px;padding:10px 24px;font-size:14px;line-height:1.45;display:flex}.tr-mode-banner__tag{border-radius:var(--radius-pill);background:var(--accent);color:var(--surface);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:5px 10px;font-size:11px;font-weight:700;line-height:1}.tr-mode-banner__text{flex:1;min-width:0;margin:0}.tr-mode-banner__text b,.tr-mode-banner__text strong{color:var(--surface);font-weight:600}.tr-mode-banner__actions{flex:none;align-items:center;gap:8px;display:flex}.tr-mode-banner__primary{border-radius:var(--radius-pill);background:var(--accent);min-height:32px;color:var(--surface);font:inherit;cursor:pointer;border:none;padding:6px 14px;font-weight:600;transition:background-color .15s,transform .12s}.tr-mode-banner__primary:active{transform:scale(.97)}.tr-mode-banner__primary:focus-visible{outline:2px solid var(--surface);outline-offset:2px}.tr-mode-banner__action{border-radius:var(--radius-seg);min-height:32px;color:var(--surface);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-weight:600;transition:color .15s,transform .12s}.tr-mode-banner__action:active{transform:scale(.97)}.tr-mode-banner__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.tr-mode-banner__action:hover{color:color-mix(in srgb, var(--surface) 70%, var(--accent))}.tr-mode-banner__primary:hover{background:var(--accent-hover)}}.tr-mode-banner--compact{padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4}.tr-mode-banner--compact .tr-mode-banner__tag{margin-top:1px}.tr-mode-banner--compact .tr-mode-banner__actions{align-self:center}.tr-mode-banner--compact .tr-mode-banner__action{min-height:28px;margin:-4px -4px -4px 0}.tr-mode-banner--stacked{grid-template-columns:auto minmax(0,1fr);row-gap:8px;display:grid}.tr-mode-banner--stacked .tr-mode-banner__actions{grid-column:2;justify-content:flex-start}.tr-mode-banner--stacked .tr-mode-banner__action{margin:0}.tr-code-input{max-width:100%;display:inline-flex;position:relative}.tr-code-input__field{opacity:0;color:#0000;caret-color:#0000;cursor:text;background:0 0;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.tr-code-input__boxes{gap:var(--space-2);display:flex}.tr-code-input__box{border:1.5px solid var(--border-input);border-radius:var(--radius-box);background:var(--surface);width:48px;height:58px;box-shadow:var(--shadow-xs);font-family:var(--font-mono);color:var(--text-primary);place-items:center;font-size:24px;font-weight:600;transition:border-color .18s,box-shadow .18s;display:grid}.tr-code-input__box--split{margin-left:var(--space-2)}.tr-code-input:focus-within .tr-code-input__box.is-current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-code-input.is-invalid .tr-code-input__box{border-color:var(--danger)}.tr-code-input.is-invalid:focus-within .tr-code-input__box.is-current{box-shadow:0 0 0 3px var(--danger-soft)}.tr-code-input.is-disabled .tr-code-input__box{opacity:.6}@media (max-width:400px){.tr-code-input__box{width:40px;height:50px;font-size:21px}.tr-code-input__boxes{gap:6px}}.tr-promo{box-sizing:border-box;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, var(--surface)) 0%, color-mix(in srgb, var(--indigo) 12%, var(--surface)) 100%);min-height:178px;font-family:var(--font-sans);color:var(--text-primary);padding:18px;position:relative;overflow:hidden}.tr-promo__content{z-index:2;flex-direction:column;align-items:flex-start;gap:6px;padding-right:30px;display:flex;position:relative}.tr-promo__title{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:800;line-height:1.25}.tr-promo__text{max-width:172px;color:var(--text-secondary);margin:0 0 8px;font-size:13.5px;line-height:1.45}.tr-promo .tr-promo__action{white-space:nowrap;height:38px;padding:0 14px;font-size:13.5px}.tr-promo__art{z-index:1;pointer-events:none;width:178px;position:absolute;bottom:-58px;right:-36px;transform:rotate(-7deg)}.tr-promo__close{z-index:3;background:color-mix(in srgb, var(--surface) 70%, transparent);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:color .15s,background .15s;display:grid;position:absolute;top:8px;right:8px}.tr-promo__close:active{background:var(--surface)}@media (hover:hover){.tr-promo__close:hover{color:var(--text-primary);background:var(--surface)}}.tr-promo__close svg{width:15px;height:15px}.tr-steps-overlay{z-index:90;padding:var(--space-6);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-sans);color:var(--text-primary);animation:tr-steps-fade .3s .25s var(--ease-sheet) backwards;place-items:center;display:grid;position:fixed;inset:0}.tr-steps-overlay--now{animation:none}.tr-steps-overlay--now .tr-steps{animation-delay:0s}.tr-steps-overlay--leaving{pointer-events:none;animation:tr-steps-out .28s var(--ease-sheet) forwards}.tr-steps{width:100%;max-width:360px;padding:var(--space-6);border-radius:var(--radius-sheet);background:var(--surface);box-shadow:var(--shadow-md);animation:tr-steps-rise .4s .25s var(--ease-sheet) backwards;position:relative}.tr-steps__title{font-size:var(--text-section);margin:0;font-weight:700;line-height:1.3}.tr-steps__close{top:var(--space-3);right:var(--space-3);position:absolute}.tr-steps--closable .tr-steps__title{padding-right:var(--space-8)}.tr-steps__text{margin:var(--space-2) 0 0;font-size:var(--text-label);color:var(--text-secondary);line-height:1.5}.tr-steps__bar{height:6px;margin-top:var(--space-4);border-radius:var(--radius-seg);background:var(--accent-soft);overflow:hidden}.tr-steps__bar i{border-radius:inherit;background:var(--accent);height:100%;transform:scaleX(var(--tr-steps-p,0));transform-origin:0;transition:transform .4s var(--ease-sheet);display:block}.tr-steps__list{gap:var(--space-3);margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid}.tr-steps__item{align-items:center;gap:var(--space-3);font-size:var(--text-body);transition:color .2s;display:flex}.tr-steps__item--wait{color:var(--text-muted)}.tr-steps__mark{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.tr-steps__item--done .tr-steps__mark{border-color:var(--accent);background:var(--accent);color:var(--surface);animation:tr-steps-pop .3s var(--ease-bounce) backwards}.tr-steps__item--done .tr-steps__mark svg{width:14px;height:14px}.tr-steps__item--now .tr-steps__mark{border:0}.tr-steps__spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite trSaveSpin}@keyframes tr-steps-fade{0%{opacity:0}}@keyframes tr-steps-out{to{opacity:0}}@keyframes tr-steps-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes tr-steps-pop{0%{transform:scale(.6)}}@media (prefers-reduced-motion:reduce){@keyframes tr-steps-rise{0%{opacity:0}}@keyframes tr-steps-pop{0%{opacity:0}}}:where(button,a,summary,[role=button],[role=tab],[role=option],[role=menuitem],[role=switch],.tr-pressable,.tr-pressable--text){transition:transform .12s,opacity .12s}:where(button,a,summary,[role=button],[role=tab],[role=option],[role=menuitem],[role=switch],.tr-pressable):where(:not(:disabled,[aria-disabled=true],.tr-nopress)):active{transform:scale(.97)}:where(.tr-pressable--text):where(:not(.tr-nopress)):active{opacity:.55}:where(button,a,summary,[role=button],[role=tab],[role=option],[role=menuitem],[role=switch],.tr-pressable):active:active:has(:where(button,a,[role=button],.tr-pressable,input,select,textarea):active){transform:none}.tr-pressable,.tr-pressable--text{cursor:pointer}.tr-btn{border-radius:var(--radius-btn);height:52px;font-size:var(--text-button);font-weight:700;font-family:var(--font-sans);letter-spacing:-.2px;cursor:pointer;box-sizing:border-box;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;transition:all .2s;display:inline-flex}.tr-btn svg{width:18px;height:18px}.tr-btn>svg{flex-shrink:0}.tr-btn--full{width:100%}.tr-btn--sm{height:40px;padding:0 16px;font-size:14px}.tr-btn--trail:before{content:"";flex-shrink:0;width:18px}.tr-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.tr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tr-btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent-lg)}.tr-btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-accent-hover)}.tr-btn--primary:active:not(:disabled){transform:translateY(1px)}.tr-btn--primary.tr-btn--success{background:var(--success);box-shadow:0 4px 16px #10b9814d}.tr-btn--primary.tr-btn--indigo{background:var(--indigo);box-shadow:0 4px 16px #6366f14d}.tr-btn--secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border-active);font-size:15px;font-weight:600}.tr-btn--secondary:hover:not(:disabled){border-color:var(--text-primary)}.tr-btn--ghost{color:var(--text-secondary);background:#0000000a;font-size:15px;font-weight:600}.tr-btn--ghost:hover:not(:disabled){background:#00000012}.tr-btn--danger{background:var(--danger-soft);color:var(--danger);font-size:15px;font-weight:600}.tr-btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.tr-btn--text{height:auto;color:var(--accent);box-shadow:none;background:0 0;border-radius:0;padding:6px 4px;font-size:14px;font-weight:600}.tr-btn--text:hover:not(:disabled){color:var(--accent-hover)}.tr-btn--text.tr-btn--danger{color:var(--danger);background:0 0}.tr-btn--dark{background:var(--dark);color:#fff}.tr-btn--dark:hover:not(:disabled){background:var(--dark-hover)}.tr-icon-btn{border-radius:var(--radius-box);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#00000008;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.tr-icon-btn:hover{color:var(--text-primary);background:#0000000f}.tr-icon-btn svg{width:18px;height:18px}.tr-icon-action{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-box);min-width:48px;min-height:64px;color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.tr-icon-action__icon{background:color-mix(in srgb, var(--text-primary) 6%, transparent);border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.tr-icon-action__icon svg{width:20px;height:20px}.tr-icon-action__label{white-space:nowrap;font-size:10px;line-height:1.2}.tr-icon-action--rounded .tr-icon-action__icon{border-radius:var(--radius-chip);background:0 0;width:44px;height:44px}.tr-icon-action--active .tr-icon-action__icon{background:var(--accent-soft);color:var(--orange-text)}.tr-icon-action--danger .tr-icon-action__icon{background:var(--danger);color:var(--surface)}.tr-icon-action__badge{border-radius:var(--radius-pill);background:var(--text-primary);min-width:16px;height:16px;color:var(--surface);font:10px var(--font-mono);place-items:center;padding:0 2px;display:grid;position:absolute;top:0;right:0}.tr-icon-action:disabled{opacity:.45;cursor:default}.tr-icon-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.tr-icon-action:not(:disabled):hover .tr-icon-action__icon{box-shadow:inset 0 0 0 1px var(--border-active)}}.tr-icon-btn--tg{color:var(--telegram)}.tr-fab{border-radius:var(--radius-fab);background:var(--accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 14px var(--accent-glow);border:1px solid #e8734a40;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}@media (hover:hover){.tr-fab:hover{box-shadow:var(--shadow-accent-hover);transform:translateY(-2px)}}.tr-fab svg{width:24px;height:24px}.tr-fab--extended{gap:var(--space-2);width:auto;padding:0 var(--space-4) 0 var(--space-3);font-family:var(--font-sans);white-space:nowrap;font-size:15px;font-weight:700}.tr-fab--extended svg{width:20px;height:20px}@media (max-width:340px){.tr-fab--extended{gap:var(--space-1);padding:0 var(--space-3) 0 10px;font-size:13.5px}}.tr-fab--indigo{background:var(--indigo);border-color:#6366f140;box-shadow:0 4px 14px #6366f14d}.tr-fab--green{background:var(--success);border-color:#10b98140;box-shadow:0 4px 14px #10b9814d}.tr-fab--fixed{right:calc(50% - 220px);bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;position:fixed}@media (max-width:480px){.tr-fab--fixed{right:20px}}.tr-chip{border-radius:var(--radius-chip);border:1.5px solid var(--border);background:var(--surface);min-width:42px;height:38px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);white-space:nowrap;text-align:center;padding:0 12px;font-size:13px;font-weight:500;transition:all .2s}.tr-chip--active{background:var(--text-primary);border-color:var(--text-primary);color:#fff;box-shadow:var(--shadow-active)}.tr-chip--tag{font-family:var(--font-sans);color:var(--text-primary)}.tr-chip--tag.tr-chip--active{color:#fff}.tr-chip--add{color:var(--text-muted);border-style:dashed}.tr-chip:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.tr-chip-row{flex-wrap:wrap;gap:8px;display:flex}.tr-format-pill{border-radius:var(--radius-box);border:1.5px solid var(--border);background:var(--surface);height:44px;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);flex:1;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.tr-format-pill svg{width:16px;height:16px}.tr-format-pill--active{background:var(--text-primary);border-color:var(--text-primary);color:#fff;box-shadow:var(--shadow-active)}.tr-format-pill--wide{min-width:96px}.tr-segmented{border-radius:var(--radius-box);background:#0000000a;gap:4px;padding:4px;display:inline-flex}.tr-segmented--fill{width:100%;display:flex}.tr-segmented--fill .tr-segmented__btn{flex:1;min-width:0}.tr-segmented__btn{border-radius:var(--radius-seg);font-family:var(--font-sans);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px 16px;font-size:13px;font-weight:500;transition:all .25s}.tr-segmented__btn--active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tr-segment{background:#0000000a;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.tr-segment button{font-size:13px;font-weight:600;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:7px 14px;transition:all .2s}.tr-segment button[aria-pressed=true]{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tr-switch{appearance:none;cursor:pointer;background:#00000017;border:none;border-radius:13px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .3s;position:relative}.tr-switch:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease-bounce);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.tr-switch--on{background:var(--accent)}.tr-switch--on:after{transform:translate(18px)}.tr-switch:disabled{opacity:.5;cursor:default}.tr-checkbox{border:1.5px solid var(--border-active);background:var(--surface);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:inline-flex}.tr-checkbox svg{color:#fff;opacity:0;width:14px;height:14px;transition:opacity .15s}.tr-checkbox--checked{background:var(--accent);border-color:var(--accent)}.tr-checkbox--checked svg{opacity:1}.tr-checkbox[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.tr-field{text-align:left;flex-direction:column;gap:6px;min-width:0;display:flex}.tr-field__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:600}.tr-field__hint{color:var(--text-muted);font-size:11px}.tr-field__error{color:var(--danger);font-size:12px;line-height:1.4}.tr-input[aria-invalid=true]{border-color:var(--danger)}.tr-input,.tr-select{border-radius:var(--radius-btn);border:1.5px solid var(--border-input);background:var(--surface);width:100%;height:50px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);box-sizing:border-box;outline:none;padding:0 15px;font-size:15px;transition:all .2s}.tr-input:focus,.tr-select:focus,.tr-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-input::placeholder,.tr-textarea::placeholder{color:var(--text-muted)}.tr-input--mono{font-family:var(--font-mono)}.tr-input--mono::placeholder{font-family:var(--font-sans)}.tr-input--center{text-align:center}.tr-input--sm{height:40px;font-size:14px}.tr-input--suffix{padding-right:34px}.tr-input--icon{padding-right:38px}.tr-select{appearance:none;cursor:pointer;padding-right:38px}.tr-field-wrap{position:relative}.tr-field-wrap__suffix{font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.tr-input--inline{align-items:center;gap:8px;width:auto;padding:0 14px;display:inline-flex}.tr-input__unit{color:var(--text-secondary);white-space:nowrap;font-size:14px}.tr-input__ghost{text-align:center;width:32px;font-family:var(--font-mono);color:var(--text-primary);background:0 0;border:none;outline:none;padding:0;font-size:15px;font-weight:600}.tr-input__ghost::placeholder{color:var(--text-muted);font-weight:500}.tr-textarea{border-radius:var(--radius-btn);border:1.5px solid var(--border-input);background:var(--surface);width:100%;min-height:88px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);resize:none;box-sizing:border-box;outline:none;padding:13px 15px;font-size:15px;transition:all .2s}.tr-textarea-wrap{flex-direction:column;gap:4px;display:flex}.tr-textarea__counter{font-family:var(--font-mono);color:var(--text-muted);align-self:flex-end;font-size:11px}.tr-textarea__counter--full{color:var(--warning-text)}.tr-badge{border-radius:var(--radius-pill);font-family:var(--font-sans);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.tr-badge svg{width:12px;height:12px}.tr-badge--paid{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.tr-badge--pending{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.tr-badge--overdue{background:var(--danger-soft);color:var(--danger);border-color:#dc262633}.tr-badge--missed{color:var(--text-secondary);background:#0000000d;border-color:#00000014}.tr-badge--cancelled{color:var(--text-muted);background:#0000000d;border-color:#00000014;text-decoration:line-through}.tr-badge--package{color:var(--indigo-text);background:#6366f11a;border-color:#6366f133}.tr-badge--penalty{background:var(--danger);color:#fff;border-color:#0000}.tr-badge--sample{color:var(--text-secondary);border:1px dashed var(--border-active);background:0 0}.tr-badge--issued{color:var(--indigo-text);background:#6366f11a;border-color:#6366f133}.tr-badge--submitted{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.tr-badge--checked{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.tr-countdown{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);align-items:baseline;gap:6px;padding:6px 12px;display:inline-flex}.tr-countdown__label{font-family:var(--font-sans);color:var(--text-secondary);font-size:12px}.tr-countdown__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.tr-countdown--warn{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text)}.tr-countdown--warn .tr-countdown__label{color:var(--warning-text)}.tr-messenger-logo{object-fit:contain;flex-shrink:0;display:block}.tr-badge--dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.tr-status{border-radius:9px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.tr-status--success{background:var(--success-soft);color:var(--success-text)}.tr-status--warning{background:var(--warning-soft);color:var(--warning-text)}.tr-status--danger{background:var(--danger-soft);color:var(--danger)}.tr-toast{bottom:calc(90px + env(safe-area-inset-bottom));border-radius:var(--radius-btn);background:var(--text-primary);color:#fff;font-family:var(--font-sans);z-index:200;opacity:0;pointer-events:none;max-width:360px;transition:all .35s var(--ease-sheet);align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 30px #0000002e}.tr-toast svg{flex-shrink:0;width:17px;height:17px}.tr-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}.tr-toast__error-mark{background:var(--error);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.tr-toast__error-mark svg{width:12px;height:12px}.tr-toast__action{border-radius:var(--radius-chip);background:color-mix(in srgb, var(--surface) 18%, transparent);color:inherit;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;pointer-events:auto;border:none;flex-shrink:0;margin-left:4px;padding:6px 10px;font-size:13px;font-weight:700}.tr-toast__action:hover{background:color-mix(in srgb, var(--surface) 28%, transparent)}body.tr-sheet-open{overflow:hidden}body.tr-sheet-open .tr-toast{top:calc(16px + env(safe-area-inset-top));z-index:400;bottom:auto;transform:translate(-50%)translateY(-20px)}body.tr-sheet-open .tr-toast--visible{transform:translate(-50%)translateY(0)}.tr-picker{border:1.5px solid var(--border-input);border-radius:var(--radius-btn);background:var(--surface);min-width:0;max-width:100%;height:50px;box-shadow:var(--shadow-xs);box-sizing:border-box;align-items:center;gap:8px;padding:0 15px;display:inline-flex;position:relative}.tr-picker__value{min-width:0;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:normal;text-transform:none;flex:1;font-size:15px;font-weight:400;overflow:hidden}.tr-picker--time .tr-picker__value{text-align:center}.tr-picker--empty .tr-picker__value{color:var(--text-muted)}.tr-picker__icon{color:var(--text-muted);flex-shrink:0;display:inline-flex}.tr-picker__icon svg{width:16px;height:16px}.tr-picker__native{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;border:0;margin:0;padding:0;position:absolute;inset:0}.tr-picker--disabled{opacity:.45}.tr-picker--disabled .tr-picker__native{cursor:not-allowed}.tr-picker:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);padding:14px 16px;animation:.3s ease-out cardIn}.tr-card--row{cursor:pointer;align-items:center;gap:12px;padding:14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.tr-card--row:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-card--row:active{transform:scale(.99)}.tr-lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);cursor:pointer;align-items:center;gap:12px;padding:14px 14px 14px 17px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.3s ease-out cardIn;display:flex;position:relative;overflow:hidden}.tr-lesson-card:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.tr-lesson-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);padding:14px}.tr-metric-card__label{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.tr-metric-card__value{font-family:var(--font-mono);font-size:19px;font-weight:600}.tr-metric-card__trend{align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:600;display:inline-flex}.tr-metric-card__trend svg{width:12px;height:12px}.tr-metric-card--success .tr-metric-card__value{color:var(--success-text)}.tr-metric-card--warning .tr-metric-card__value{color:var(--warning-text)}.tr-metric-card--danger .tr-metric-card__value{color:var(--danger)}.tr-metric-card__trend--up{color:var(--success-text)}.tr-metric-card__trend--down{color:var(--danger)}.tr-metric-card__trend--flat{color:var(--text-muted)}.tr-metric-card--invert .tr-metric-card__trend--up{color:var(--danger)}.tr-metric-card--invert .tr-metric-card__trend--down{color:var(--success-text)}.tr-avatar{color:#fff;background:linear-gradient(135deg, var(--v-grad-from), var(--v-grad-to));box-shadow:0 4px 12px var(--v-shadow);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.tr-avatar:after{content:"";border-radius:inherit;background:linear-gradient(135deg,#ffffff2e 0%,#0000 60%);position:absolute;inset:0}.tr-avatar--indigo{--v-grad-from:#6366f1;--v-grad-to:#818cf8;--v-shadow:#6366f140}.tr-avatar--orange{--v-grad-from:#e8734a;--v-grad-to:#f59e6c;--v-shadow:#e8734a40}.tr-avatar--green{--v-grad-from:#10b981;--v-grad-to:#34d399;--v-shadow:#10b98140}.tr-avatar--sm{border-radius:10px;width:32px;height:32px;font-size:13px}.tr-avatar--md{border-radius:13px;width:44px;height:44px;font-size:16px}.tr-avatar--lg{border-radius:16px;width:56px;height:56px;font-size:21px}.tr-avatar--xl{border-radius:20px;width:72px;height:72px;font-size:27px}.tr-top-nav{z-index:10;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px 10px;display:flex;position:relative}.tr-top-nav__back{border-radius:var(--radius-chip);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .2s;display:flex}.tr-top-nav__back:hover{background:#0000000a}.tr-top-nav__back svg{width:20px;height:20px}.tr-top-nav__title{min-width:0;color:var(--text-primary);flex:1;font-size:16px;font-weight:600}.tr-top-nav__actions{flex:none;margin-left:auto}.tr-dialog-overlay{background:var(--overlay);z-index:800;opacity:0;pointer-events:none;visibility:hidden;justify-content:center;align-items:center;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.tr-dialog-overlay--open{opacity:1;pointer-events:auto;visibility:visible}.tr-dialog{width:280px;max-width:calc(100vw - var(--space-4) - var(--space-4));max-height:calc(100dvh - var(--space-4) - var(--space-4));border-radius:var(--radius-pill);text-align:center;background:#fff;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tr-dialog__icon{border-radius:var(--radius-btn);justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 14px;display:flex}.tr-dialog__icon svg{width:24px;height:24px}.tr-dialog__icon--danger{background:var(--danger-soft);color:var(--danger)}.tr-dialog__icon--accent{background:var(--accent-soft);color:var(--accent)}.tr-dialog__title{margin-bottom:6px;font-size:16px;font-weight:700}.tr-dialog__text{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.tr-dialog__actions{gap:10px;display:flex}.tr-dialog__actions .tr-btn{flex:1;height:44px;font-size:14px}.tr-dialog__actions--stack{flex-direction:column}.tr-dialog__actions--stack .tr-btn{width:100%;height:auto;min-height:44px;padding-block:var(--space-2);white-space:normal;overflow-wrap:anywhere;flex:none}.tr-bottom-bar{bottom:max(12px, env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:var(--space-2);width:100%;max-width:480px;padding-inline:var(--space-3);z-index:50;pointer-events:none;margin:0 auto;display:flex;position:fixed;left:0;right:0}.tr-bottom-bar>*{pointer-events:auto}.tr-bottom-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-fab);min-width:0;height:56px;box-shadow:var(--shadow-nav);flex:1;align-items:center;padding:0 4px;display:inline-flex}.tr-nav-item{border-radius:var(--radius-box);cursor:pointer;min-width:0;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 4px;display:flex}.tr-nav-item__icon{flex:none;place-items:center;display:grid;position:relative}.tr-nav-badge{background:var(--accent);color:#fff;min-width:16px;height:16px;font-family:var(--font-mono);text-align:center;box-shadow:0 0 0 2px var(--surface);border-radius:8px;margin-left:2px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-7px;left:50%}.tr-nav-badge--records,.tr-nav-dot--records{background:var(--indigo)}.tr-nav-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin-left:4px;position:absolute;top:-3px;left:50%}.tr-nav-item svg{width:20px;height:20px;color:var(--text-muted);transition:color .2s}.tr-nav-item span{color:var(--text-muted);font-size:10px;font-weight:500;transition:color .2s}.tr-nav-item--active svg,.tr-nav-item--active span{color:var(--accent)}@media (max-width:320px){.tr-bottom-bar--has-fab[data-items="4"] .tr-nav-item__label{display:none}.tr-bottom-bar--has-fab[data-items="4"] .tr-nav-item{justify-content:center;min-height:48px}}.tr-overlay{background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-sheet);z-index:100;position:fixed;inset:0}.tr-overlay--open{opacity:1;pointer-events:auto}.tr-sheet{background:var(--surface-sheet);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;z-index:101;width:100%;max-width:480px;max-height:88dvh;transition:transform .45s var(--ease-sheet), box-shadow .45s var(--ease-sheet);box-shadow:none;will-change:transform;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)translateY(100%)}.tr-sheet--open{box-shadow:var(--shadow-sheet);transform:translate(-50%)translateY(0)}.tr-sheet--roomy:not(.tr-sheet--panel){max-width:560px;min-height:min(520px,88dvh)}.tr-sheet__grip{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;padding:12px 0 6px;display:flex}.tr-sheet__grip span{background:#0000001f;border-radius:2px;width:38px;height:4px}.tr-sheet__title{letter-spacing:-.2px;flex-shrink:0;padding:8px 20px 4px;font-size:18px;font-weight:600}.tr-sheet__body{padding:14px 20px calc(20px + env(safe-area-inset-bottom));scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:14px;min-height:0;display:flex;overflow-y:auto}.tr-sheet__body::-webkit-scrollbar{display:none}.tr-sheet__body>*{flex-shrink:0}.tr-sheet__footer{padding:14px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border-divider);flex-shrink:0;gap:10px;margin-top:auto;display:flex}.tr-sheet__footer .tr-btn{flex:1}.tr-sheet__footer-stack{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.tr-sheet__footer .tr-sheet__footer-stack>.tr-btn{flex:none}.tr-sheet__footer-stack>.tr-btn--text,.tr-sheet__footer-stack>.tr-btn--danger{border-radius:var(--radius-btn);height:40px;padding:0 16px;font-size:14px}.tr-sheet--panel{border-radius:var(--radius-sheet);border:1px solid var(--border);background:var(--surface);z-index:30;opacity:0;width:384px;max-width:none;max-height:none;transition:transform .46s var(--ease-sheet), opacity .32s ease;position:absolute;inset:16px 16px 16px auto;overflow:hidden;transform:translate(calc(100% + 32px));box-shadow:0 30px 64px -18px #16163457,0 10px 26px #0000001a}.tr-sheet--panel.tr-sheet--open{opacity:1;transform:none}.tr-sheet--panel.tr-sheet--roomy{width:min(520px,100% - 32px)}.tr-sheet__topbar{border-bottom:1px solid var(--border-divider);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px 9px 17px;display:flex}.tr-sheet__topbar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.tr-sheet__close{background:var(--bg);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:9px;flex-shrink:0;place-items:center;transition:background .14s,color .14s;display:grid}.tr-sheet__close:hover{color:var(--text-primary);background:#00000012}.tr-sheet__close svg{width:17px;height:17px}.tr-sheet--panel .tr-sheet__body{padding:15px 16px 18px}.tr-sheet--panel .tr-sheet__footer{padding:14px 16px 16px}.tr-sheet__footer--slot:empty{display:none}.tr-sheet__footer--slot>*{flex:1;min-width:0}@media (max-width:1180px){.tr-sheet--panel{width:344px}.tr-sheet--panel.tr-sheet--roomy{width:min(460px,100% - 32px)}}.tr-sheet__topbar--head{padding-left:16px}.tr-sheet--panel.tr-sheet--dock{width:var(--tr-dock-w,400px);border:none;border-left:1px solid var(--border);box-shadow:none;opacity:0;border-radius:0;top:0;bottom:0;right:0;transform:translate(100%)}.tr-sheet--panel.tr-sheet--dock.tr-sheet--open{opacity:1;transform:none}.tr-sheet--panel.tr-sheet--dock[aria-hidden=true]{pointer-events:none;transform:none}.tr-sheet--dock .tr-sheet__topbar{min-height:var(--tr-dock-head-h,64px);border-bottom-color:var(--border);padding:0 14px 0 20px}.tr-sheet--dock .tr-sheet__body{padding:16px 20px 24px}.tr-sheet--dock .tr-sheet__footer{border-top-color:var(--border);padding:12px 20px 16px}.tr-sheet__dock-title{flex-direction:column;flex:1;min-width:0;display:flex}.tr-sheet__dock-name,.tr-sheet__dock-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tr-sheet__dock-name{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.25}.tr-sheet__dock-sub{color:var(--text-muted);margin-top:1px;font-size:12.5px}.tr-row-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.tr-row-list__row{text-align:left;cursor:pointer;width:100%;min-height:52px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:12px;padding:0 15px;transition:background .15s;display:flex}.tr-row-list__row+.tr-row-list__row,.tr-row-list__panel+.tr-row-list__row{border-top:1px solid var(--border-divider)}.tr-row-list__row:hover{background:#00000005}.tr-row-list__label{color:var(--text-primary);font-size:15px}.tr-row-list__value{color:var(--text-secondary);align-items:center;gap:8px;margin-left:auto;font-size:15px;display:inline-flex}.tr-row-list__value--mono{font-family:var(--font-mono)}.tr-row-list__chev{width:18px;height:18px;color:var(--text-muted);transition:transform .25s var(--ease-sheet);flex-shrink:0}.tr-row-list__row--open .tr-row-list__chev{color:var(--accent);transform:rotate(180deg)}.tr-row-list__row--open .tr-row-list__value{color:var(--accent)}.tr-row-list__panel{border-top:1px solid var(--border-divider);background:#00000003;padding:4px 15px 16px}.tr-row-list__row--static{cursor:default}.tr-row-list__row--static:hover{background:0 0}.tr-accordion{flex-direction:column;gap:10px;display:flex}.tr-accordion__item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s;overflow:hidden}.tr-accordion__item--open{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.tr-accordion__head{text-align:left;cursor:pointer;width:100%;min-height:54px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:12px;padding:0 15px;transition:background .15s;display:flex}.tr-accordion__head:hover{background:#00000005}.tr-accordion__icon{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.tr-accordion__item--open .tr-accordion__icon{color:var(--accent)}.tr-accordion__title{color:var(--text-primary);font-size:15px;font-weight:600}.tr-accordion__summary{color:var(--text-muted);font-size:13.5px;font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.tr-accordion__chev{width:18px;height:18px;color:var(--text-muted);transition:transform .25s var(--ease-sheet);flex-shrink:0;margin-left:10px}.tr-accordion__item--open .tr-accordion__chev{color:var(--accent);transform:rotate(180deg)}.tr-accordion__item--open .tr-accordion__summary{display:none}.tr-accordion__body{border-top:1px solid var(--border-divider);padding:6px 15px 16px}.tr-scope-note{border-radius:var(--radius-box);color:var(--text-secondary);background:#00000008;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.tr-scope-note svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.tr-request-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;transition:border-color .2s,box-shadow .2s;animation:.3s ease-out cardIn;display:flex;overflow:hidden}.tr-request-card__main{align-items:center;gap:12px;padding:14px;display:flex}.tr-request-card__body{flex:1;min-width:0}.tr-request-card__name{color:var(--text-primary);font-weight:600}.tr-request-card__meta{color:var(--text-secondary);margin-top:2px;font-size:13px}.tr-request-card__meta--mono{font-family:var(--font-mono)}.tr-request-card--conflict{border-color:var(--warning-border)}.tr-request-card__warning{background:var(--warning-soft);border-top:1px solid var(--warning-border);color:var(--warning-text);align-items:flex-start;gap:8px;padding:10px 14px;font-size:12.5px;line-height:1.4;display:flex}.tr-request-card__warning svg{flex-shrink:0;width:15px;height:15px;margin-top:1px}.tr-request-card__warning b{font-weight:700}.tr-request-card__actions{gap:8px;padding:0 14px 14px;display:flex}.tr-request-card__actions .tr-btn{flex:1;height:42px;font-size:14px}.tr-request-card--selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tr-week-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);font-family:var(--font-sans);overflow:hidden}.tr-week-grid__head{grid-template-columns:48px repeat(7,1fr);display:grid}.tr-week-grid__corner{border-bottom:1px solid var(--border-divider)}.tr-week-grid__dayhead{text-align:center;border-bottom:1px solid var(--border-divider);border-left:1px solid var(--border-divider);padding:9px 4px 8px}.tr-week-grid__dow{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.tr-week-grid__date{font-family:var(--font-mono);color:var(--text-primary);margin-top:3px;font-size:15px}.tr-week-grid__dayhead--today .tr-week-grid__dow{color:var(--accent)}.tr-week-grid__dayhead--today .tr-week-grid__date{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:600;display:inline-flex}.tr-week-grid__body{grid-template-columns:48px repeat(7,1fr);display:grid}.tr-week-grid__gutter{flex-direction:column;display:flex}.tr-week-grid__hour{box-sizing:border-box;font-family:var(--font-mono);color:var(--text-muted);justify-content:flex-end;align-items:flex-start;padding:3px 6px 0 0;font-size:10.5px;display:flex}.tr-week-grid__col{border-left:1px solid var(--border-divider);position:relative}.tr-week-grid__slot{border-bottom:1px solid var(--border-divider);box-sizing:border-box}.tr-week-grid__event{z-index:2;box-sizing:border-box;background:var(--accent-soft);border-left:3px solid var(--accent);cursor:pointer;border-radius:8px;padding:4px 7px;position:absolute;left:3px;right:3px;overflow:hidden}.tr-week-grid__event--request{border-left-color:var(--indigo);background:#6366f11a}.tr-week-grid__event--request .tr-week-grid__event-time{color:var(--indigo-text)}.tr-week-grid__event-time{font-family:var(--font-mono);color:var(--orange-text);font-size:10px}.tr-week-grid__event-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.tr-week-grid__now{background:var(--accent);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.tr-week-grid__now:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.tr-achievement{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:8px;padding:16px 12px;display:flex}.tr-achievement__medal{border-radius:var(--radius-btn);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;display:flex}.tr-achievement__medal svg{width:24px;height:24px}.tr-achievement__title{color:var(--text-primary);font-size:13px;font-weight:600}.tr-achievement__desc{color:var(--text-muted);font-size:11.5px;line-height:1.35}.tr-achievement__progress{font-family:var(--font-mono);color:var(--accent);font-size:11px;font-weight:600}.tr-achievement--locked .tr-achievement__medal{color:var(--text-muted);background:#0000000d}.tr-achievement--locked .tr-achievement__title{color:var(--text-secondary)}.tr-achievement--locked .tr-achievement__progress{color:var(--text-muted)}.tr-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.tr-empty__icon svg{width:44px;height:44px;color:var(--text-muted)}.tr-empty__title{font-size:15px;font-weight:600}.tr-empty__subtitle{color:var(--text-secondary);max-width:260px;font-size:13px}.tr-skeleton{flex-direction:column;gap:8px;width:100%;display:flex}.tr-skeleton__line{border-radius:var(--radius-seg);background:var(--bg);width:100%;display:block}.tr-inline-error{border-radius:var(--radius-btn);background:var(--danger-soft);border:1px solid var(--danger-soft);align-items:center;gap:10px;padding:12px 14px;display:flex}.tr-inline-error__icon{width:18px;height:18px;color:var(--danger);flex:none}.tr-inline-error__msg{min-width:0;color:var(--text-primary);flex:1;font-size:13px;font-weight:500}.tr-inline-error__retry{color:var(--danger);border-radius:var(--radius-seg);flex:none;margin:-4px -6px -4px 0;padding:4px 6px;font-size:13px;font-weight:700}.tr-inline-error__retry:hover{color:var(--danger-hover)}.tr-screen{width:100%;min-width:0;max-width:480px;min-height:100dvh;padding:20px 16px calc(96px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.tr-page-header{justify-content:space-between;align-items:flex-start;gap:12px;animation:.35s ease-out headerIn;display:flex}.tr-page-header h1{letter-spacing:-.3px;font-size:22px;font-weight:700}.tr-page-header p{color:var(--text-secondary);margin-top:2px;font-size:13px}.tr-list{flex-direction:column;gap:8px;display:flex}.tr-list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font-family:var(--font-sans);align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .2s;animation:.3s ease-out cardIn;display:flex}.tr-list-item:hover{border-color:var(--border-active)}.tr-list-item__content{flex-direction:column;flex:1;min-width:0;display:flex}.tr-list-item__title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.tr-list-item__meta{color:var(--text-muted);margin-top:1px;font-size:12px}.tr-list-item__value{font-family:var(--font-mono);white-space:nowrap;font-size:13px;font-weight:500}.tr-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:8px;font-size:10.5px;font-weight:700}@keyframes headerIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tr-toggle{appearance:none;cursor:pointer;background:#00000017;border:none;border-radius:13px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .3s;position:relative}.tr-toggle:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease-bounce);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.tr-toggle--on{background:var(--accent)}.tr-toggle--on:after{transform:translate(18px)}.tr-toggle:disabled{opacity:.5;cursor:default}.tr-story{z-index:120;background:var(--overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tr-story__panel{background:var(--surface);width:100%;max-width:420px;height:100%;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:relative;overflow:hidden}.tr-story__bars{padding:calc(10px + env(safe-area-inset-top)) 16px 0;z-index:3;flex-shrink:0;gap:4px;display:flex;position:relative}.tr-story__bar{background:var(--border);height:3px;transition:background .2s var(--ease-sheet);border-radius:2px;flex:1}.tr-story__bar--on{background:var(--accent)}.tr-story__head{z-index:3;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 0 16px;display:flex;position:relative}.tr-story__kicker{letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.tr-story__close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tr-story__tap{pointer-events:none;cursor:pointer;z-index:2;background:0 0;border:none;padding:0;position:absolute;top:56px;bottom:84px}.tr-story__tap--prev{width:33%;left:0}.tr-story__tap--next{width:67%;right:0}.tr-story__body{overscroll-behavior:contain;touch-action:pan-y;z-index:1;pointer-events:auto;min-height:0;animation:cardIn .25s var(--ease-sheet);flex-direction:column;flex:1;justify-content:flex-start;gap:20px;padding:16px 24px;display:flex;position:relative;overflow-y:auto}.tr-story__media{flex:none;justify-content:center;align-items:center;display:flex}.tr-story__media svg{width:100%;height:auto;max-height:44dvh}.tr-story__title{letter-spacing:-.3px;flex:none;margin:0;font-size:22px;font-weight:600;line-height:1.25}.tr-story__text{color:var(--text-secondary);flex:none;margin:0;font-size:15px;line-height:1.5}.tr-story__footer{z-index:3;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:12px 20px 20px;display:flex;position:relative}.tr-story__count{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.tr-story__arrow{display:none}@media (min-width:768px){.tr-story__panel{border-radius:var(--radius-sheet);height:min(760px,92dvh);box-shadow:var(--shadow-sheet)}.tr-story__arrow{background:var(--surface);width:44px;height:44px;color:var(--text-secondary);box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tr-story__arrow:disabled{opacity:.4;cursor:default}.tr-story__arrow--prev{right:calc(50% + 226px)}.tr-story__arrow--next{left:calc(50% + 226px)}.tr-story__arrow--next svg{transform:rotate(180deg)}}.tr-showcase{z-index:130;background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;touch-action:pan-y;outline:none;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.tr-showcase__glow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tr-showcase__glow-layer{opacity:0;transition:opacity .8s;position:absolute;inset:0}.tr-showcase__glow-layer.is-on{opacity:1}.tr-showcase__glow-layer--orange{background:radial-gradient(60% 42% at 92% 4%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%), radial-gradient(55% 38% at 0% 96%, color-mix(in srgb, var(--indigo) 10%, transparent), transparent 70%)}.tr-showcase__glow-layer--indigo{background:radial-gradient(60% 42% at 92% 4%, color-mix(in srgb, var(--indigo) 22%, transparent), transparent 70%), radial-gradient(55% 38% at 0% 96%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%)}.tr-showcase__glow-layer--green{background:radial-gradient(60% 42% at 92% 4%, color-mix(in srgb, var(--success) 20%, transparent), transparent 70%), radial-gradient(55% 38% at 0% 96%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%)}.tr-showcase__glow-layer--rose{background:radial-gradient(60% 42% at 92% 4%, color-mix(in srgb, var(--danger) 13%, transparent), transparent 70%), radial-gradient(55% 38% at 0% 96%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%)}.tr-showcase__top{z-index:4;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 0;flex:none;position:relative}.tr-showcase__bars{gap:4px;display:flex}.tr-showcase__bar{background:color-mix(in srgb, var(--text-primary) 13%, transparent);border-radius:2px;flex:1;height:3px;overflow:hidden}.tr-showcase__bars--captions{align-items:flex-start;gap:5px}.tr-showcase__seg{min-width:6px;transition:flex-grow .55s var(--ease-sheet), flex-basis .55s var(--ease-sheet);flex:1 1 0;gap:6px;display:grid}.tr-showcase__seg.is-labeled{flex-grow:0;flex-shrink:0;flex-basis:var(--tr-caption-w,auto)}.tr-showcase__caption{white-space:nowrap;text-overflow:ellipsis;font:600 12.5px/1.2 var(--font-sans);color:var(--text-secondary);opacity:0;padding-right:8px;transition:opacity .2s,color .3s;overflow:hidden}.tr-showcase__caption-text{display:inline-block}.tr-showcase__seg.is-labeled .tr-showcase__caption{opacity:1;transition:opacity .35s .2s,color .3s}.tr-showcase__seg.is-current .tr-showcase__caption{color:var(--text-primary);font-weight:700}.tr-showcase--inline .tr-showcase__caption{font-size:13.5px}.tr-showcase__card>.tr-showcase__bars--captions~.tr-showcase__skip{top:52px}.tr-showcase__card>.tr-showcase__bars--captions~.tr-showcase__side{padding-top:64px}@media (prefers-reduced-motion:reduce){.tr-showcase__seg,.tr-showcase__caption,.tr-showcase__seg.is-labeled .tr-showcase__caption{transition:none}}.tr-showcase__fill{background:var(--text-primary);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.tr-showcase__head{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:6px;display:flex}.tr-showcase__skip{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 72%, transparent);min-height:36px;box-shadow:var(--shadow-sm);color:var(--text-secondary);font:600 13.5px var(--font-sans);cursor:pointer;border:none;padding:0 14px;position:relative}.tr-showcase__skip:after{content:"";position:absolute;inset:-4px -2px}.tr-showcase__stage{z-index:1;flex:1;min-height:0;position:relative}.tr-showcase__fit{transform:translate(-50%, -50%) scale(var(--tr-showcase-fit,1));position:absolute;top:50%;left:50%}.tr-showcase__scene{pointer-events:none;position:absolute;inset:0}.tr-showcase__copy{z-index:3;padding:4px 24px calc(24px + env(safe-area-inset-bottom,0px));pointer-events:none;flex:none;position:relative}.tr-showcase__copy>*{animation:trShowcaseCopyIn .55s var(--ease-sheet) backwards}.tr-showcase__copy>.tr-showcase__title{animation-delay:50ms}.tr-showcase__copy>.tr-showcase__text{animation-delay:.11s}.tr-showcase__copy>.tr-showcase__actions{animation-delay:.2s}.tr-showcase__kicker{font:700 11.5px/1 var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--orange-text);margin:0 0 10px}.tr-showcase__title{font:700 28px/1.12 var(--font-sans);letter-spacing:-.025em;text-wrap:balance;margin:0}.tr-showcase__text{font:400 15.5px/1.45 var(--font-sans);color:var(--text-secondary);text-wrap:pretty;margin:10px 0 0}.tr-showcase__actions{pointer-events:auto;gap:6px;margin-top:18px;display:grid}.tr-showcase__zone{z-index:2;top:calc(64px + env(safe-area-inset-top,0px));cursor:pointer;background:0 0;border:none;margin:0;padding:0;position:absolute;bottom:0}.tr-showcase__zone--prev{width:33%;left:0}.tr-showcase__zone--next{width:67%;right:0}.tr-showcase__paused{z-index:5;left:0;right:0;top:calc(104px + env(safe-area-inset-top,0px));border-radius:var(--radius-pill);background:var(--dark);width:max-content;height:30px;color:var(--surface);font:600 12.5px var(--font-sans);opacity:0;pointer-events:none;align-items:center;gap:6px;margin:0 auto;padding:0 12px;transition:opacity .2s;display:inline-flex;position:absolute}.tr-showcase__paused svg{width:14px;height:14px}.tr-showcase.is-paused .tr-showcase__paused{opacity:1}.tr-showcase.is-paused .tr-showcase__scene *,.tr-showcase.is-paused .tr-showcase__copy>*{animation-play-state:paused!important}.tr-showcase__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tr-showcase__dock{z-index:4;gap:var(--space-3);padding:0 var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));flex:none;display:grid;position:relative}.tr-showcase__controls{align-items:center;gap:var(--space-3);min-height:44px;display:flex}.tr-showcase__controls>.tr-showcase__bars{flex:1;min-width:0}.tr-showcase__controls>.tr-showcase__skip{flex:none}.tr-showcase__skip--gone{visibility:hidden}.tr-showcase__footer{display:grid}.tr-showcase__note{margin:calc(var(--space-2) * -1) 0 0;text-align:center;font:500 13px/1.3 var(--font-sans);color:var(--text-secondary)}.tr-showcase--docked .tr-showcase__copy{padding-bottom:var(--space-4)}.tr-showcase--controls-bottom .tr-showcase__stage{margin-top:calc(var(--space-2) + env(safe-area-inset-top,0px))}.tr-showcase--controls-bottom .tr-showcase__zone{top:env(safe-area-inset-top,0px)}.tr-showcase--controls-bottom .tr-showcase__paused{top:calc(var(--space-4) + env(safe-area-inset-top,0px))}.tr-showcase--wide{background:0 0;display:block}.tr-showcase__backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;inset:0}.tr-showcase__card{border-radius:var(--radius-sheet);background:var(--bg);width:min(1010px,100vw - 48px);height:min(612px,100vh - 48px);box-shadow:var(--shadow-nav);animation:trShowcaseCardIn .5s var(--ease-sheet) backwards;grid-template-columns:404px minmax(0,1fr);margin:auto;display:grid;position:absolute;inset:0;overflow:hidden}.tr-showcase__card>.tr-showcase__bars{z-index:4;position:absolute;top:18px;left:40px;right:40px}.tr-showcase__card>.tr-showcase__skip{z-index:5;position:absolute;top:30px;right:24px}.tr-showcase__side{z-index:3;flex-direction:column;min-height:0;padding:40px 30px 30px 40px;display:flex;position:relative}.tr-showcase__side .tr-showcase__head{margin-top:0}.tr-showcase__side .tr-showcase__copy{margin:auto 0;padding:0}.tr-showcase__side .tr-showcase__title{letter-spacing:-.03em;font-size:40px;line-height:1.07}.tr-showcase__side .tr-showcase__text{margin-top:14px;font-size:17px}.tr-showcase__side .tr-showcase__kicker{margin-bottom:14px}.tr-showcase__side .tr-showcase__actions{grid-template-columns:minmax(0,300px);justify-content:start;margin-top:26px}.tr-showcase__nav{align-items:center;gap:8px;display:flex}.tr-showcase__navbtn{border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);min-width:44px;min-height:44px;box-shadow:var(--shadow-sm);color:var(--text-primary);font:600 14px var(--font-sans);cursor:pointer;justify-content:center;align-items:center;gap:8px;display:inline-flex}.tr-showcase__navbtn svg{width:18px;height:18px}.tr-showcase__navbtn--next{background:var(--text-primary);color:var(--surface);border-color:#0000;padding:0 18px}.tr-showcase__navbtn:disabled{opacity:.4;cursor:default}.tr-showcase__hint{font:500 12px var(--font-sans);color:var(--text-secondary);margin:12px 0 0}.tr-showcase--wide .tr-showcase__stage{border:1px solid color-mix(in srgb, var(--surface) 75%, transparent);border-radius:var(--radius-fab);background:color-mix(in srgb, var(--surface) 42%, transparent);cursor:pointer;margin:48px 22px 22px 0}.tr-showcase--wide .tr-showcase__paused{margin:0;inset:auto 42px 36px auto}.tr-showcase--inline{z-index:auto;height:100%;min-height:0;position:relative;inset:auto}.tr-showcase--inline .tr-showcase__top{padding:28px 40px 0}.tr-showcase--inline .tr-showcase__stage{cursor:pointer;margin:4px 16px 0}.tr-showcase--inline .tr-showcase__copy{min-height:172px;padding:8px 40px 0}.tr-showcase--inline .tr-showcase__title{letter-spacing:-.03em;font-size:34px;line-height:1.1}.tr-showcase--inline .tr-showcase__text{max-width:560px;font-size:16.5px}.tr-showcase--inline .tr-showcase__nav{z-index:3;padding:12px 40px 32px;position:relative}.tr-showcase--inline .tr-showcase__paused{top:76px}.tr-showcase--compact{border-radius:var(--radius-box);height:auto}.tr-showcase--compact .tr-showcase__top{padding:12px 16px 0}.tr-showcase--compact .tr-showcase__stage{flex:none;height:clamp(240px,50dvh - 100px,420px);margin:0 12px}.tr-showcase--compact .tr-showcase__copy{min-height:68px;padding:8px 16px 16px}.tr-showcase--compact .tr-showcase__title{font-size:var(--text-section)}@keyframes trShowcaseCopyIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes trShowcaseCardIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){@keyframes trShowcaseCopyIn{0%{opacity:0}to{opacity:1}}@keyframes trShowcaseCardIn{0%{opacity:0}to{opacity:1}}*,:before,:after{scroll-behavior:auto!important;transition-property:opacity,visibility,color,background-color,border-color,box-shadow,fill,stroke,filter!important;animation-iteration-count:1!important}.tr-motion-keep{animation-iteration-count:infinite!important}@keyframes headerIn{0%{opacity:0}to{opacity:1}}@keyframes cardIn{0%{opacity:0}to{opacity:1}}}.tr-tip{z-index:500;pointer-events:none;border-radius:var(--radius-seg);background:var(--dark);max-width:260px;color:var(--surface);box-shadow:var(--shadow-md);font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:normal;text-transform:none;white-space:pre-line;overflow-wrap:break-word;opacity:0;padding:7px 11px;font-weight:500;line-height:1.4;transition:opacity .14s,transform .14s;position:fixed;top:0;left:0;transform:translateY(3px)}.tr-tip--below{transform:translateY(-3px)}.tr-tip.tr-tip--show{opacity:1;transform:none}.tr-tip-wrap{display:inline-flex}.tr-tip-wrap>:disabled{pointer-events:none}.tr-scrollbars::-webkit-scrollbar{width:9px;height:9px}.tr-scrollbars ::-webkit-scrollbar{width:9px;height:9px}.tr-scrollbars::-webkit-scrollbar-track{background:0 0}.tr-scrollbars ::-webkit-scrollbar-track{background:0 0}.tr-scrollbars ::-webkit-scrollbar-corner{background:0 0}.tr-scrollbars::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-seg);background-clip:padding-box;border:2px solid #0000}.tr-scrollbars ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-seg);background-clip:padding-box;border:2px solid #0000}.tr-scrollbars ::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}@supports not selector(::-webkit-scrollbar){.tr-scrollbars,.tr-scrollbars *{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}@supports selector(::-webkit-scrollbar){.tr-scrollbars .tr-sheet__body{scrollbar-width:auto}.tr-scrollbars .tr-sheet__body::-webkit-scrollbar{display:block}}.tr-callout{border-radius:var(--radius-box);border:1px solid var(--border);font-family:var(--font-sans);color:var(--text-primary);gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.tr-callout__icon{flex:none;width:18px;height:18px;margin-top:1px}.tr-callout__body{flex:1;min-width:0}.tr-callout__title{margin-bottom:2px;font-weight:600}.tr-callout__close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;place-items:center;margin:-4px -6px -4px 0;display:grid}.tr-callout__close svg{width:16px;height:16px}@media (hover:hover){.tr-callout__close:hover{color:var(--text-primary)}}.tr-callout--info{background:color-mix(in srgb, var(--indigo) 7%, var(--surface));border-color:color-mix(in srgb, var(--indigo) 22%, var(--surface))}.tr-callout--info .tr-callout__icon{color:var(--indigo-text)}.tr-callout--warn{background:var(--warning-soft);border-color:var(--warning-border)}.tr-callout--warn .tr-callout__icon{color:var(--warning-text)}.tr-callout--hint{background:var(--success-soft);border-color:var(--success-border)}.tr-callout--hint .tr-callout__icon{color:var(--success-text)}.tr-callout--offer{background:var(--accent-soft);border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--surface))}.tr-callout--action{flex-wrap:wrap;align-items:center;column-gap:16px}.tr-callout--action .tr-callout__body{flex:240px}.tr-callout__action{flex:none}.tr-update-banner{z-index:120;width:100%;max-width:480px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;background:color-mix(in srgb, var(--indigo) 7%, var(--surface));color:var(--indigo-text);font-family:var(--font-sans);border-bottom:1px solid color-mix(in srgb, var(--indigo) 22%, var(--surface));box-shadow:var(--shadow-sm);animation:trUpdateBannerIn .3s var(--ease-sheet) both;justify-content:center;align-items:center;gap:8px;font-size:12.5px;font-weight:600;line-height:1.3;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.tr-update-banner__icon{flex:none;width:15px;height:15px}.tr-update-banner__text{min-width:0}.tr-update-banner__action{border-radius:var(--radius-seg);background:var(--accent);color:#fff;min-height:28px;font:inherit;cursor:pointer;border:none;flex:none;padding:4px 12px;font-weight:700;transition:background-color .15s,transform .12s}.tr-update-banner__action:active{transform:scale(.97)}.tr-update-banner__action:disabled{opacity:.6;cursor:default}@media (hover:hover){.tr-update-banner__action:hover:not(:disabled){background:var(--accent-hover)}}@keyframes trUpdateBannerIn{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){@keyframes trUpdateBannerIn{0%{opacity:0}to{opacity:1}}}.tr-option{border:1.5px solid var(--border-input);border-radius:var(--radius-box);background:var(--surface);width:100%;color:var(--text-primary);font-family:var(--font-sans);text-align:left;cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;font-size:15px;line-height:1.45;transition:border-color .15s,background-color .15s;display:flex;position:relative}.tr-option--static{cursor:default}.tr-option--disabled{border-color:var(--border);background:var(--bg);color:var(--text-muted)}.tr-option--disabled .tr-option__mark{border-color:var(--border-input);background:var(--bg)}@media (hover:hover){.tr-option:not(.tr-option--static):hover{border-color:var(--border-active)}}.tr-option:focus-visible{box-shadow:0 0 0 3px var(--accent-glow);outline:none}.tr-option__mark{border:1.5px solid var(--border-active);background:var(--surface);width:22px;height:22px;color:var(--surface);flex:none;justify-content:center;align-items:center;margin-top:0;transition:background-color .15s,border-color .15s;display:inline-flex}.tr-option--radio .tr-option__mark{border-radius:50%}.tr-option--checkbox .tr-option__mark{border-radius:7px}.tr-option__mark svg{opacity:0;width:14px;height:14px}.tr-option__body{flex:1;min-width:0;padding-top:1px}.tr-option__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tr-option--selected{border-color:var(--accent);background:var(--accent-soft)}.tr-option--selected .tr-option__mark{background:var(--accent);border-color:var(--accent)}.tr-option--correct{border-color:var(--success-border);background:var(--success-soft)}.tr-option--correct .tr-option__mark{background:var(--success);border-color:var(--success)}.tr-option--wrong{border-color:var(--danger);background:var(--danger-soft)}.tr-option--wrong .tr-option__mark{background:var(--danger);border-color:var(--danger)}.tr-option--missed{border-style:dashed;border-color:var(--success)}.tr-option--missed .tr-option__mark{border-color:var(--success);color:var(--success)}.tr-option--selected .tr-option__mark svg,.tr-option--correct .tr-option__mark svg,.tr-option--wrong .tr-option__mark svg,.tr-option--missed .tr-option__mark svg{opacity:1}.tr-tile{border:1px solid var(--border);border-radius:var(--radius-box);background:var(--surface);min-height:84px;color:var(--text-primary);font-family:var(--font-sans);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:12.5px;font-weight:500;line-height:1.25;transition:border-color .15s,background-color .15s,color .15s;display:flex}@media (hover:hover){.tr-tile:not(:disabled):hover{border-color:var(--accent)}}.tr-tile:focus-visible{box-shadow:0 0 0 3px var(--accent-glow);outline:none}.tr-tile:disabled{cursor:default;opacity:.5}.tr-tile__icon{border-radius:var(--radius-chip);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.tr-tile__icon svg{width:18px;height:18px}.tr-tile__hint{color:var(--text-muted);font-size:11px;font-weight:400}.tr-save-status{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.tr-save-status__live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tr-save-status__icon{flex:none;width:14px;height:14px}.tr-save-status--saved .tr-save-status__icon{color:var(--success-text)}.tr-save-status--pending,.tr-save-status--saving{color:var(--text-secondary)}.tr-save-status--error,.tr-save-status--conflict{color:var(--danger)}.tr-save-status--compact{cursor:default;justify-content:center;min-width:22px;height:22px}.tr-save-status--compact.tr-save-status--saved .tr-save-status__icon{background:var(--success-soft);border-radius:50%;width:18px;height:18px;padding:3px}.tr-save-status__spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite trSaveSpin}@keyframes trSaveSpin{to{transform:rotate(360deg)}}.tr-mode-switch{border-radius:var(--radius-btn);background:#0000000a;gap:2px;padding:4px;display:inline-flex;position:relative}.tr-mode-switch__slot{z-index:1;display:inline-flex;position:relative}.tr-mode-switch__thumb{border-radius:var(--radius-chip);background:var(--surface);width:0;box-shadow:var(--shadow-sm);opacity:0;transform-origin:0;pointer-events:none;position:absolute;top:4px;bottom:4px;left:0}.tr-mode-switch--thumb .tr-mode-switch__thumb{opacity:1}.tr-mode-switch--thumb .tr-mode-switch__btn--active{box-shadow:none;background:0 0}.tr-mode-switch__btn{border-radius:var(--radius-chip);min-height:36px;color:var(--text-secondary);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:13.5px;font-weight:600;transition:background-color .25s,color .25s,box-shadow .25s;display:inline-flex}.tr-mode-switch__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tr-mode-switch__btn--active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.tr-mode-switch__btn:disabled{color:var(--text-muted);opacity:.55;cursor:default}@media (hover:hover){.tr-mode-switch__btn:not(:disabled):not(.tr-mode-switch__btn--active):hover{color:var(--text-primary)}}.tr-mode-switch__icon{display:inline-flex}.tr-mode-switch__marks{z-index:2;display:inline-flex;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.tr-mode-switch__icon svg{width:16px;height:16px}.tr-mode-switch__icon--action{width:22px;height:22px}.tr-mode-switch__action{z-index:2;display:inline-flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.tr-mode-switch--icons .tr-mode-switch__label{display:none}.tr-mode-switch--icons .tr-mode-switch__btn{padding:6px 12px}.tr-mode-switch--icons .tr-mode-switch__action{left:12px}@media (max-width:640px){.tr-mode-switch__label{display:none}.tr-mode-switch__btn{padding:6px 12px}.tr-mode-switch__action{left:12px}}@media (max-height:450px){.tr-story__media{display:none}.tr-story__body{gap:12px;padding-block:12px}.tr-story__footer{padding-block:8px}}.tr-selectmenu{min-width:0;position:relative}.tr-selectmenu__trigger{border-radius:var(--radius-btn);border:1.5px solid var(--border-input);background:var(--surface);width:100%;height:50px;box-shadow:var(--shadow-xs);font-family:var(--font-sans);color:var(--text-secondary);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:0 12px 0 15px;font-size:15px;transition:border-color .2s,box-shadow .2s;display:flex}.tr-selectmenu--sm .tr-selectmenu__trigger{height:40px;padding:0 12px 0 14px;font-size:14px}.tr-selectmenu__trigger--picked{color:var(--text-primary);font-weight:600}.tr-selectmenu__trigger:disabled{opacity:.6;cursor:default}.tr-selectmenu__trigger:focus-visible,.tr-selectmenu--open .tr-selectmenu__trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tr-selectmenu__value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tr-selectmenu__badge{border-radius:var(--radius-pill);background:var(--accent-soft);min-width:20px;height:20px;color:var(--orange-text);font-family:var(--font-mono);text-align:center;padding:0 6px;font-size:11px;line-height:20px}.tr-selectmenu__chevron{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.tr-selectmenu--open .tr-selectmenu__chevron{transform:rotate(180deg)}.tr-selectmenu__list{z-index:30;border-radius:var(--radius-box);border:1px solid var(--border);background:var(--surface-raised);min-width:180px;box-shadow:var(--shadow-md);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.tr-selectmenu__list:before{content:"";height:8px;position:absolute;bottom:100%;left:0;right:0}.tr-selectmenu__option{border-radius:var(--radius-chip);min-height:38px;font-family:var(--font-sans);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.tr-selectmenu__option .tr-checkbox{border-radius:6px;width:18px;height:18px}.tr-selectmenu__option .tr-checkbox svg{width:12px;height:12px}.tr-selectmenu__option:focus-visible{background:var(--bg);outline:none}@media (hover:hover){.tr-selectmenu__option:hover{background:var(--bg)}}.tr-selectmenu__option--on .tr-selectmenu__label{font-weight:600}.tr-selectmenu__label{flex:1;min-width:0}.tr-selectmenu__count{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.tr-selectmenu__tick{width:16px;height:16px;color:var(--accent);visibility:hidden}.tr-selectmenu__option--on .tr-selectmenu__tick{visibility:visible}.tr-selectmenu__reset{border:0;border-top:1px solid var(--border-divider);min-height:34px;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;margin-top:4px;font-size:13px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body:before{content:"";background:radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);pointer-events:none;z-index:0;width:500px;height:500px;position:fixed;top:-40%;right:-20%}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f10f 0%,#0000 70%);width:400px;height:400px;position:fixed;bottom:-20%;left:-30%}#root{z-index:1;position:relative}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;max-width:480px;min-height:100dvh;margin:0 auto;padding:32px 24px;display:flex;position:relative}.entry-split{grid-template-columns:minmax(0,1fr) minmax(440px,42%);min-height:100dvh;display:grid}.entry-split--plain{display:block}.entry-split__aside{border-right:1px solid var(--border-divider);height:100dvh;position:sticky;top:0;overflow:hidden}.entry-split__main{background:var(--surface);--auth-field-notch:var(--surface);min-width:0}.entry-split__main>.auth-screen.entry-screen--start{justify-content:flex-start;padding-top:max(32px,50dvh - 170px)}.auth-hero{flex-direction:column;align-items:center;gap:18px;max-width:340px;animation:.5s ease-out backwards cardIn;display:flex}.auth-icon{color:#fff;border-radius:28px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative}.auth-icon svg{z-index:1;width:48px;height:48px;position:relative}.auth-icon--neutral{border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-muted);background:#0000000a}.auth-icon--warning{background:linear-gradient(135deg, var(--warning), #fbbf24);box-shadow:0 4px 16px #f59e0b4d}.auth-icon--telegram{background:linear-gradient(135deg, var(--telegram), #4fc3f7);box-shadow:0 4px 16px #2aabee52}.auth-icon--accent{background:linear-gradient(135deg, var(--accent), #f59e6c);box-shadow:var(--shadow-accent-lg)}.auth-icon.auth-icon--sm{border-radius:20px;width:64px;height:64px}.auth-icon.auth-icon--sm svg{width:32px;height:32px}.auth-screen--joined{gap:16px}.auth-screen--joined .auth-hero{gap:12px}.splash-logo{object-fit:contain;width:96px;height:96px;animation:cardIn .5s var(--ease-bounce);border-radius:24px}.auth-screen--splash .auth-hero,.auth-screen--splash .splash-logo{animation:none}.auth-app-name{letter-spacing:-.5px;color:var(--text-primary);font-size:24px;font-weight:700}.auth-404{font-family:var(--font-mono);color:var(--text-muted);opacity:.45;letter-spacing:-2px;margin-bottom:4px;font-size:72px;font-weight:600;line-height:1}@media (max-height:700px){.auth-404{font-size:64px}}.splash-title,.auth-title{letter-spacing:-.3px;color:var(--text-primary);max-width:320px;font-size:22px;font-weight:700;line-height:1.25}.splash-meta,.auth-subtitle{color:var(--text-secondary);text-align:center;max-width:320px;font-size:13px;font-weight:400;line-height:1.5}.splash-meta code{font-family:var(--font-mono)}.splash-status{color:var(--text-muted);font-size:13px;font-family:var(--font-mono)}.splash-status--error{color:var(--danger)}.auth-spinner{width:32px;height:32px;margin-top:4px;animation:.9s linear infinite auth-spin}.auth-spinner circle{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:60 100}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-actions,.auth-form{text-align:left;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:340px;margin-top:8px;animation:.55s ease-out 50ms backwards cardIn;display:flex}.auth-form__details{animation:cardIn .4s var(--ease-sheet) backwards;flex-direction:column;align-items:stretch;gap:12px;scroll-margin-top:16px;display:flex}.auth-screen--intro{justify-content:flex-start;gap:16px;padding-top:16px}.auth-screen--intro .auth-hero{gap:8px}.auth-intro-showcase{width:100%;max-width:340px}.auth-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-secondary-actions>:only-child{grid-column:1/-1}.auth-secondary-actions .tr-btn{height:auto;min-height:48px;padding:8px}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>span:first-child{color:var(--text-secondary);font-size:12.5px;font-weight:600}.auth-field:has(>input,>.pw-wrap){margin-top:6px;position:relative}.auth-field:has(>input,>.pw-wrap)>span:first-child{z-index:1;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(to bottom, var(--auth-field-notch,var(--bg)) 50%, var(--surface) 50%);pointer-events:none;max-width:calc(100% - 22px);padding:0 4px;line-height:16px;transition:color .2s;position:absolute;top:-8px;left:11px;overflow:hidden}.auth-field:has(>input,>.pw-wrap):focus-within>span:first-child{color:var(--text-primary)}.auth-field:has(>input[aria-invalid=true],>.pw-wrap input[aria-invalid=true])>span:first-child{color:var(--danger)}.auth-field input{border:1.5px solid var(--border-active);background:var(--surface);border-radius:var(--radius-btn);width:100%;height:50px;font-size:15px;font-family:var(--font-sans);color:var(--text-primary);box-shadow:var(--shadow-xs);outline:none;padding:0 15px;transition:all .2s}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input[type=email]{font-family:var(--font-mono);font-size:14px}.auth-field__hint{color:var(--text-muted);font-size:11px}.auth-field>.auth-field__error{color:var(--danger);font-size:12px}.auth-field input[aria-invalid=true]{border-color:var(--danger)}.auth-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)}.auth-error{color:var(--danger);font-size:13px}.auth-note{background:var(--accent-soft);border-radius:var(--radius-btn);color:var(--text-primary);padding:12px 14px;font-size:13px;line-height:1.5}.auth-note strong{font-weight:600}.auth-steps{gap:6px;margin:0;padding-left:18px;display:grid}.auth-screen.entry-screen{gap:18px;max-width:600px}.entry-hero{gap:12px}.entry-hero .splash-logo{border-radius:18px}.entry-card{--auth-field-notch:var(--surface);box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet);width:100%;max-width:420px;box-shadow:var(--shadow-md);text-align:left;flex-direction:column;align-items:stretch;gap:14px;padding:24px;animation:.5s ease-out 50ms backwards cardIn;display:flex}.entry-card--wide{max-width:560px}.entry-card .auth-form{max-width:none;margin-top:0;animation:none}.entry-actions{gap:10px}.entry-form .auth-link.auth-link--field{margin-top:-6px}.entry-or{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.entry-or:before,.entry-or:after{content:"";background:var(--border-divider);flex:1;height:1px}.entry-methods{flex-direction:column;gap:8px;display:flex}.entry-chips{flex-wrap:wrap;gap:8px;display:flex}.entry-chips .tr-btn{white-space:nowrap;flex:1 1 0;gap:6px;padding:0 8px}.entry-chevron{width:16px;height:16px;transition:transform .2s var(--ease-sheet)}.entry-chevron.is-open{transform:rotate(180deg)}.entry-more-toggle{color:var(--text-secondary);align-self:center;align-items:center;gap:4px;font-weight:500;display:inline-flex}.entry-method-row.tr-btn{justify-content:flex-start;padding-left:20px}.entry-support{margin-top:4px}.entry-switch{color:var(--text-muted);margin:0;font-size:13px}.auth-link.auth-link--inline.entry-switch__action{text-decoration:none}.auth-link.auth-link--accent{color:var(--accent);padding:4px 0;font-weight:600}.auth-link.auth-link--accent:hover{color:var(--accent-hover)}.entry-name-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-email-row{border:1.5px solid var(--border-input);border-radius:var(--radius-btn);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;height:50px;margin-top:6px;padding:0 14px 0 15px;display:flex;position:relative}.entry-email-row__label{color:var(--text-secondary);background:linear-gradient(to bottom, var(--auth-field-notch,var(--bg)) 50%, var(--bg) 50%);padding:0 4px;font-size:12.5px;font-weight:600;line-height:16px;position:absolute;top:-9.5px;left:11px}.entry-email-row--invalid{border-color:var(--danger)}.entry-email-row--invalid .entry-email-row__label{color:var(--danger)}.entry-email-row__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text-primary);font-size:14px;overflow:hidden}.auth-link.auth-link--inline.entry-email-row__change{flex:none;text-decoration:none}.auth-field-actions.entry-email-error{margin-top:-6px}.entry-email-error>.auth-field__error{color:var(--danger);flex-basis:100%;font-size:12px}.entry-promo-toggle{border:1.5px dashed var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);cursor:pointer;align-self:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .18s;display:inline-flex}.entry-promo-toggle svg{width:16px;height:16px}@media (hover:hover){.entry-promo-toggle:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}}.entry-promo-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entry-notice{border-radius:var(--radius-btn);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);background:var(--warning-soft);color:var(--text-primary);align-items:center;gap:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.entry-notice svg{width:18px;height:18px;color:var(--warning-text);flex:none}.entry-qr{align-items:center;gap:24px;display:flex}.entry-qr__code{border:1px solid var(--border);border-radius:var(--radius-box);background:var(--surface);flex:none;width:176px;height:176px;margin:0;padding:6px;position:relative}.entry-qr__code>img:first-child,.entry-qr__placeholder{border-radius:var(--radius-seg);width:100%;height:100%;display:block}.entry-qr__placeholder{box-sizing:border-box;background:var(--bg);text-align:center;color:var(--text-muted);place-items:center;padding:12px;font-size:12px;display:grid}.entry-qr__logo{border-radius:var(--radius-chip);width:36px;height:36px;box-shadow:0 0 0 3px var(--surface);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.entry-qr__code.is-scanned>img:first-child{filter:blur(3px);opacity:.35}.entry-qr__done{background:var(--success-soft);width:52px;height:52px;color:var(--success);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.entry-qr__done svg{width:26px;height:26px}.entry-steps{counter-reset:entry-step;color:var(--text-primary);flex-direction:column;gap:14px;margin:0;padding:0;font-size:14px;line-height:1.5;list-style:none;display:flex}.entry-steps li{counter-increment:entry-step;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.entry-steps li:before{content:counter(entry-step);background:var(--accent-soft);width:24px;height:24px;color:var(--accent);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.entry-qr__wait{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.entry-code-link{align-self:flex-start}.entry-phone-state{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.entry-phone-state__title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.entry-phone-state__text{color:var(--text-secondary);margin:0 0 6px;font-size:13px;line-height:1.5}.entry-qr__wait .entry-phone-state__text{margin-bottom:2px}.entry-code{flex-direction:column;align-items:center;gap:14px;display:flex}.entry-code>.tr-btn{align-self:stretch}.entry-code__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.entry-code__hint{text-align:center;color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.entry-code .auth-field__error{color:var(--danger);text-align:center;font-size:12px}.entry-lead{text-align:center;text-wrap:balance;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.entry-stack{flex-direction:column;gap:10px;display:flex}@media (max-width:560px){.entry-card{padding:20px 16px}.entry-qr{flex-direction:column;gap:16px}}.auth-qr{flex-direction:column;align-items:center;gap:8px;margin:0;display:flex}.auth-qr img{border-radius:var(--radius-btn);width:220px;height:220px}.auth-qr figcaption{color:var(--text-secondary);text-align:center;font-size:13px;line-height:1.5}.auth-consent{text-align:left;align-items:flex-start;gap:10px;display:flex}.auth-consent .tr-checkbox{flex-shrink:0}.auth-consent__text{color:var(--text-muted);font-size:12.5px;line-height:1.5}.auth-consent__text a{color:var(--accent);text-decoration:underline}.auth-consent__error{color:var(--danger);margin-top:-6px;padding-left:32px;font-size:12px}.auth-consent--framed{border:1.5px solid var(--border);border-radius:var(--radius-box);background:var(--surface);padding:12px}.auth-consent--framed .auth-consent__text{color:var(--text-secondary);font-size:14px}.auth-consent--invalid{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.auth-consent-hint{color:var(--danger);text-align:left;font-size:13px;line-height:1.45;display:block}.auth-promo-applied strong{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.policy-links{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:12px;line-height:1.5;display:flex}.policy-links a{color:var(--text-muted);text-decoration:underline}.guest-status{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:12px;font-weight:600}.guest-code{background:var(--accent-soft);border-radius:var(--radius-btn);color:var(--text-muted);flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.guest-code strong{letter-spacing:2px;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:20px}.guest-thread{flex-direction:column;gap:8px;margin:4px 0;display:flex}.guest-msg{border-radius:14px;max-width:82%;padding:9px 12px;font-size:14px;line-height:1.45}.guest-msg__text{white-space:pre-wrap;word-break:break-word}.guest-msg__time{opacity:.6;margin-top:4px;font-size:11px}.guest-msg--me{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.guest-msg--support{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.auth-hint{max-width:340px;color:var(--text-muted);text-align:center;font-size:12.5px;line-height:1.5}.auth-close{top:max(12px, env(safe-area-inset-top));position:absolute;right:12px}.auth-notify{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-box);width:100%;max-width:340px;box-shadow:var(--shadow-xs);text-align:left;margin:0;padding:6px 0;list-style:none;animation:.55s ease-out 30ms backwards cardIn}.auth-notify__item{align-items:center;gap:12px;padding:9px 14px;display:flex}.auth-notify__item+.auth-notify__item{border-top:1px solid var(--border-divider)}.auth-notify__icon{border-radius:var(--radius-chip);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.auth-notify__icon svg{width:18px;height:18px}.auth-notify__text{flex-direction:column;gap:1px;min-width:0;display:flex}.auth-notify__text strong{color:var(--text-primary);font-size:14px;font-weight:600}.auth-notify__text span{color:var(--text-secondary);font-size:12.5px;line-height:1.4}.auth-footer{text-align:center;color:var(--text-muted);padding:0 24px;font-size:12px;position:absolute;bottom:24px;left:0;right:0}.auth-footer a{color:var(--text-secondary);text-decoration:none}.auth-footer a:hover{color:var(--accent)}.auth-mode{justify-content:center;gap:8px;margin-top:4px;display:flex}.pw-wrap{display:flex;position:relative}.pw-wrap input{text-overflow:ellipsis;flex:1;padding-right:46px}.pw-wrap--copyable input{padding-right:82px}.pw-actions{align-items:center;gap:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-copy-fail{color:var(--warning-text);margin-top:6px;font-size:11px;display:block}.pw-eye{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;place-items:center;display:grid;position:relative}.pw-eye:hover{color:var(--text-primary);background:var(--accent-soft)}.role-cards{flex-direction:column;gap:12px;display:flex}.role-card{text-align:left;border-radius:var(--radius-btn);border:1.5px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-sans);align-items:center;gap:14px;padding:15px 16px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.role-card--tutor{--rc-color:var(--accent);--rc-soft:#e8734a1a}.role-card--student{--rc-color:var(--indigo);--rc-soft:#6366f11a}.role-card--parent{--rc-color:var(--success);--rc-soft:#10b9811a}.role-card--active{border-color:var(--rc-color);background:var(--rc-soft);box-shadow:0 4px 14px var(--rc-soft)}.role-card__icon{background:var(--rc-soft);width:46px;height:46px;color:var(--rc-color);border-radius:13px;flex:none;place-items:center;display:grid}.role-card__icon svg{width:22px;height:22px}.role-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.role-card__title{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:600}.role-card__desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.role-card__check{border:1.5px solid var(--border-active);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;transition:all .18s;display:grid}.role-card__check svg{color:#fff;opacity:0;width:13px;height:13px}.role-card--active .role-card__check{background:var(--rc-color);border-color:var(--rc-color)}.role-card--active .role-card__check svg{opacity:1}.role-cards--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.role-cards--compact .role-card{text-align:center;flex-direction:column;justify-content:center;gap:8px;padding:12px 6px 10px}.role-cards--compact .role-card__icon{border-radius:var(--radius-box);width:40px;height:40px;transition:background .18s,color .18s,box-shadow .18s}.role-cards--compact .role-card__icon svg{width:20px;height:20px}.role-cards--compact .role-card--active .role-card__icon{background:linear-gradient(135deg, var(--rc-color) 0%, color-mix(in srgb, var(--rc-color) 70%, var(--surface)) 100%);color:var(--surface);box-shadow:0 4px 12px color-mix(in srgb, var(--rc-color) 25%, transparent)}.role-cards--compact .role-card__title{font-size:14px}.role-cards--compact .role-card__desc,.role-cards--compact .role-card__check{display:none}.auth-link{color:var(--text-muted);font-size:13px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:8px}.auth-link:hover{color:var(--text-primary)}.auth-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-seg)}.auth-link.auth-link--field{color:var(--accent);align-self:flex-start;margin-top:-8px;padding:0;font-weight:600}.auth-link.auth-link--inline{font-size:inherit;color:var(--accent);text-underline-offset:2px;padding:0;font-weight:600;text-decoration:underline}.auth-field-actions{flex-wrap:wrap;gap:4px 16px;margin-top:-8px;display:flex}.auth-field-actions .auth-link.auth-link--field{margin-top:0}.auth-error-box{flex-direction:column;align-items:center;gap:4px;display:flex}.auth-error-box .auth-link.auth-link--field{align-self:center;margin-top:0}.invite-kind{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}@media (max-width:360px){.auth-screen{gap:18px;padding:24px 18px}.splash-title,.auth-title{font-size:20px}.auth-icon{border-radius:24px;width:88px;height:88px}.auth-icon svg{width:42px;height:42px}}.guest-code strong,.guest-msg__time{font-family:var(--font-mono)}.auth-link{position:relative}.pw-eye:before{content:"";position:absolute;inset:-5px}.auth-link:before{content:"";position:absolute;inset:-8px 0}
