.thtt-document{margin:0;background:#f5f7fb;color:#17263e;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.thtt-document *{box-sizing:border-box}#thtt-root{--tt-ink:#17263e;--tt-muted:#62738b;--tt-line:#dfe6f0;--tt-primary:#5846ca;--tt-teal:#107b83;font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tt-ink)}#thtt-root a{color:var(--tt-primary);text-decoration:none}#thtt-root a:hover{text-decoration:underline}#thtt-root button,#thtt-root input,#thtt-root select{font:inherit}#thtt-root button,#thtt-root a{touch-action:manipulation}#thtt-root button{cursor:pointer}#thtt-root button:disabled{opacity:.5;cursor:wait}#thtt-root :focus-visible{outline:3px solid #32a4e3;outline-offset:3px}#thtt-root h1{font-size:clamp(26px,3vw,37px);line-height:1.25;letter-spacing:-.025em;margin:12px 0 16px}#thtt-root h2{font-size:24px;line-height:1.35;margin:0 0 16px}#thtt-root h3{font-size:18px;line-height:1.4;margin:0 0 9px}#thtt-root p{margin:0 0 16px}#thtt-root small,.tt-meta{font-size:13px;line-height:1.5;color:var(--tt-muted)}#thtt-root [hidden]{display:none!important}.tt-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px max(22px,calc((100% - 1220px)/2));background:#fff;border-bottom:1px solid var(--tt-line)}.tt-brand{display:flex;align-items:center;gap:10px;font-weight:750;color:var(--tt-ink)!important}.tt-brand svg{color:var(--tt-primary)}.tt-brand small{display:block;font-size:11px;letter-spacing:.1em}.tt-topnav{display:flex;align-items:center;gap:14px}.tt-lang{display:flex;border:1px solid var(--tt-line);border-radius:8px;overflow:hidden}.tt-lang button{border:0;background:transparent;padding:5px 10px;font-size:13px!important}.tt-lang button[aria-pressed=true]{background:#eeeafd;color:var(--tt-primary);font-weight:700}.tt-container{max-width:1268px;margin:0 auto;padding:32px 24px 80px}.tt-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:25px;font-size:13px}.tt-tag{display:inline-flex;align-items:center;gap:6px;background:#e7f4f2;color:#10757d;padding:4px 11px;border-radius:100px;font-size:12px;font-weight:650}.tt-hero{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px;background:linear-gradient(110deg,#fff,#efedf9);padding:32px;border:1px solid var(--tt-line);border-radius:14px}.tt-hero p{max-width:680px;color:var(--tt-muted)}.tt-hero-side{display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--tt-line);border-radius:12px;padding:22px;gap:12px}.tt-review-count{font-size:28px;font-weight:750;line-height:1.2}.tt-progress-track{height:7px;border-radius:5px;background:#eaeef5;overflow:hidden}.tt-progress-track span{display:block;height:100%;background:#15969a;border-radius:5px}.tt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 18px}.tt-search{width:min(440px,100%);position:relative}.tt-search input{width:100%;padding:10px 14px 10px 40px;border:1px solid #cbd5e6;border-radius:9px;background:#fff}.tt-search svg{position:absolute;left:12px;top:15px;color:#697c99}.tt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tt-card{background:#fff;border:1px solid var(--tt-line);border-radius:11px;padding:23px;display:flex;flex-direction:column;gap:9px;min-width:0}.tt-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.tt-unit-number{display:grid;place-items:center;background:#f0edff;color:var(--tt-primary);width:37px;height:37px;border-radius:10px;font-weight:700}.tt-card p{font-size:14px;color:var(--tt-muted);margin:0!important}.tt-card .tt-card-bottom{margin-top:auto;padding-top:14px}.tt-card.is-plan{background:#f9fafc}.tt-card.is-plan .tt-unit-number{background:#eef1f6;color:#7b8799}.tt-ready{color:#0d7a66!important;font-size:12px}.tt-plan{background:#eff2f6;border-radius:5px;padding:3px 8px;font-size:12px;color:#69778d}.tt-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #d3dbea;background:#fff;color:var(--tt-ink)!important;padding:8px 14px;border-radius:7px;font-size:14px!important;font-weight:600;min-height:40px;text-decoration:none!important}.tt-btn:hover{background:#f2f0ff}.tt-btn.primary{background:var(--tt-primary);border-color:var(--tt-primary);color:#fff!important}.tt-btn.primary:hover{background:#4636b0}.tt-btn.small{font-size:13px!important;padding:5px 10px;min-height:34px}.tt-empty,.tt-note{padding:20px;border:1px solid var(--tt-line);border-radius:10px;background:#fff}.tt-note{margin:22px 0;font-size:14px;color:var(--tt-muted);display:flex;gap:10px}.tt-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px}.tt-outline{position:sticky;top:20px;align-self:start}.tt-outline>details{background:#fff;border:1px solid var(--tt-line);border-radius:10px;padding:15px}.tt-outline summary{font-weight:700;font-size:14px;cursor:pointer}.tt-outline nav{display:flex;flex-direction:column;margin-top:10px}.tt-outline nav a{font-size:13px;color:#52657e!important;padding:9px 10px;border-left:2px solid transparent;line-height:1.5}.tt-outline nav a.active{color:var(--tt-primary)!important;background:#f1eefc;border-color:var(--tt-primary);font-weight:600}.tt-outline .tt-meta{display:block;margin-top:15px}.tt-lesson{min-width:0;max-width:860px}.tt-lesson-header{margin-bottom:30px}.tt-lesson-header>p{color:var(--tt-muted)}.tt-objectives{padding:18px 22px;background:#edf5f7;border-left:3px solid #16a2aa;border-radius:0 8px 8px 0;font-size:14px}.tt-objectives strong{display:block;margin-bottom:5px}.tt-objectives ul{margin:0;padding-left:20px}.tt-block{margin:34px 0;scroll-margin-top:20px}.tt-block-heading{display:flex;gap:11px;align-items:center;margin-bottom:17px}.tt-block-heading span{font-size:12px;color:var(--tt-muted);background:#e9eef6;border-radius:100%;width:26px;height:26px;display:grid;place-items:center;flex:none}.tt-block-heading h2{font-size:21px!important;margin:0!important}.tt-paragraphs{white-space:normal;overflow-wrap:anywhere}.tt-paragraphs p{white-space:pre-wrap}.tt-callout{padding:20px 24px;background:#eef8f5;border-left:3px solid #2ca486;border-radius:0 9px 9px 0}.tt-callout.warning{background:#fff7e9;border-color:#e3a339}.tt-callout .tt-block-heading span{background:transparent}.tt-summary{padding:22px;background:#f0edfb;border:1px solid #e0d9f9;border-radius:10px}.tt-steps{border:1px solid var(--tt-line);border-radius:10px;background:#fff;overflow:hidden}.tt-step{padding:16px 20px;border-top:1px solid var(--tt-line)}.tt-step:first-child{border-top:0}.tt-step summary{display:flex;align-items:center;gap:10px;font-weight:650;cursor:pointer;font-size:15px}.tt-step summary::marker{color:var(--tt-primary)}.tt-step>div{margin:15px 0 0 30px;color:#31485f}.tt-step-number{width:25px;height:25px;display:grid;place-items:center;border-radius:100%;background:#f0edff;color:var(--tt-primary);font-size:12px;flex:none}.tt-diagram{border:1px solid #d8e5ee;border-radius:12px;background:linear-gradient(145deg,#fff,#f4f9fb);padding:24px}.tt-diagram-caption{font-size:14px;color:var(--tt-muted);margin-top:18px!important}.tt-diagram label{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:14px}.tt-diagram input[type=range]{width:180px;accent-color:#5b48cf}.tt-control-row{display:flex;flex-wrap:wrap;gap:22px;margin:20px 0 0}.tt-percent-row{display:grid;grid-template-columns:120px minmax(0,1fr) 76px;align-items:center;gap:14px;margin:16px 0}.tt-percent-row span{font-size:13px;color:#566b82}.tt-bar-track{height:36px;position:relative;background:#e9eef4;border-radius:5px;overflow:hidden}.tt-bar{height:100%;background:#5d56c9;transition:width .2s}.tt-percent-row:nth-child(2) .tt-bar{background:#f1ac4e}.tt-percent-row:nth-child(3) .tt-bar{background:#109a96}.tt-percent-row b{font-size:19px}.tt-equation{padding:15px;background:#fff;border:1px solid var(--tt-line);border-radius:8px;font-weight:700;text-align:center;font-size:19px}.tt-area-grid{display:grid;gap:3px;width:min(100%,310px);margin:16px auto}.tt-area-cell{aspect-ratio:1;border:1px solid #8fcaca;background:linear-gradient(135deg,#22a6a0 0%,#22a6a0 49.8%,#fff 50%,#fff 100%);border-radius:2px}.tt-area-grid.is-paired .tt-area-cell:nth-child(even){background:#22a6a0}.tt-area-grid.is-paired .tt-area-cell:nth-child(odd){background:#fff}.tt-area-controls,.tt-path-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.tt-path-svg{display:block;width:100%;max-height:210px;margin:15px 0}.tt-path-readout{text-align:center;min-height:30px;font-weight:600;color:#147d83}.tt-path-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tt-path-list button{font:13px ui-monospace,monospace!important;border:1px solid var(--tt-line);border-radius:5px;background:#fff;padding:5px 8px;color:var(--tt-ink)}.tt-check{padding:24px;border:1px solid #dcd6f3;border-radius:12px;background:#fff}.tt-check form{margin-top:16px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.tt-check-options{display:grid;gap:8px;width:100%;margin-bottom:8px}.tt-check-options label{display:flex;align-items:center;gap:10px;border:1px solid var(--tt-line);border-radius:7px;padding:10px 13px;cursor:pointer}.tt-check-options label:has(input:checked){background:#f1eefc;border-color:#9e8bdf}.tt-check input[type=number]{border:1px solid #c6d1e2;padding:8px 12px;border-radius:7px;width:200px;max-width:100%}.tt-feedback{padding:15px;border-radius:8px;margin-top:16px;background:#fff4e7}.tt-feedback.correct{background:#e9f7f0;color:#146f50}.tt-feedback p:last-child{margin-bottom:0!important}.tt-practice-list{display:grid;gap:10px}.tt-practice-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--tt-line);border-radius:8px;padding:14px 16px;background:#fff}.tt-practice-item>div{min-width:0}.tt-practice-item strong{font-size:15px}.tt-practice-item small{display:block;overflow-wrap:anywhere}.tt-practice-item.is-missing{background:#f9fafc;color:#69788a}.tt-finish{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:35px 0;border-top:1px solid var(--tt-line);padding-top:25px}.tt-footer{font-size:12px;text-align:center;color:var(--tt-muted);margin-top:45px}.tt-error{color:#972f37;border-color:#e5b7bd}.tt-error button{margin-left:10px}.tt-toast{position:fixed;right:20px;bottom:20px;max-width:calc(100vw - 40px);padding:14px 20px;color:white;background:#243d58;border-radius:8px;z-index:50;box-shadow:0 4px 24px #23364c25}.tt-course-lesson-links{display:grid;gap:8px;margin-top:10px}.tt-skip{position:absolute;top:-60px;left:16px;background:#fff;z-index:100;padding:10px}.tt-skip:focus{top:10px}.tt-icon{width:19px;height:19px;vertical-align:middle;flex:none}#thtt-root .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}#thtt-root .tt-user{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}@media(max-width:980px){.tt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}.tt-hero{grid-template-columns:minmax(0,1fr) 235px;gap:24px}.tt-percent-row{grid-template-columns:100px minmax(0,1fr) 60px}}@media(max-width:760px){.tt-top{padding:12px 16px;gap:8px;flex-wrap:wrap}.tt-brand{font-size:14px}.tt-brand small{font-size:9px}.tt-topnav{gap:10px}.tt-topnav .tt-bank-link,.tt-topnav .tt-user{display:none}.tt-container{padding:22px 16px 55px}.tt-hero{grid-template-columns:1fr;padding:23px;gap:18px}.tt-hero-side{padding:15px;gap:8px}.tt-review-count{font-size:22px}.tt-grid{grid-template-columns:1fr}.tt-toolbar{align-items:stretch;flex-direction:column}.tt-search{width:100%}.tt-layout{display:block}.tt-outline{position:static;margin-bottom:24px}.tt-outline nav{max-height:260px;overflow:auto}.tt-outline .tt-meta{display:none}.tt-lesson-header{margin-top:25px}.tt-diagram,.tt-check{padding:18px}.tt-percent-row{grid-template-columns:83px minmax(0,1fr) 52px;gap:8px}.tt-percent-row b{font-size:16px}.tt-percent-row span{font-size:12px}.tt-diagram label{width:100%}.tt-diagram input[type=range]{width:48%}.tt-control-row{gap:12px}.tt-equation{font-size:17px;padding:12px}.tt-practice-item{align-items:flex-start;flex-direction:column}.tt-finish{align-items:stretch;flex-direction:column}.tt-note{padding:15px}.tt-breadcrumb{margin-bottom:20px}.tt-block{margin:28px 0}}@media(prefers-reduced-motion:reduce){.tt-bar{transition:none}}
