:root{--bg: #f2f7fd;--bg-2: #e6f0fb;--surface: #ffffff;--surface-2: #eef4fb;--surface-glass: rgba(250, 252, 255, .78);--border: #dbe7f4;--border-strong: #c2d5eb;--text: #102540;--text-2: #435a7a;--text-3: #6e84a3;--primary: #2b6cb0;--primary-2: #5a96d6;--violet: #7c8fe0;--purple: #6aa8e8;--blue: #2b6cb0;--sky: #4fa7d8;--success: #059669;--success-bg: #ecfdf5;--warn: #b45309;--warn-bg: #fffbeb;--danger: #dc2626;--danger-bg: #fef2f2;--official: #0f766e;--official-bg: #ecfdf8;--ai: #7c3aed;--ai-bg: #f5f0ff;--grad: linear-gradient(135deg, #2b6cb0 0%, #3a86c8 60%, #4c9bd6 100%);--grad-soft: linear-gradient(135deg, rgba(90, 150, 214, .12), rgba(130, 196, 236, .14));--grad-blue: linear-gradient(135deg, #2b6cb0, #3a86c8);--ring: 0 0 0 3px rgba(74, 143, 216, .35);--shadow-sm: 0 1px 2px rgba(16, 37, 64, .06), 0 1px 1px rgba(16, 37, 64, .04);--shadow: 0 6px 24px -8px rgba(30, 70, 120, .16), 0 2px 6px -2px rgba(30, 70, 120, .08);--shadow-lg: 0 24px 48px -16px rgba(30, 80, 140, .26);--tint-base: #ffffff;--tint-ink: 100%;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--font: "Inter", "Noto Sans Devanagari", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", "Noto Sans Devanagari", system-ui, sans-serif;--ease: cubic-bezier(.2, .8, .2, 1);--top-h: 64px;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0a1424;--bg-2: #0f1b30;--surface: #122036;--surface-2: #172840;--surface-glass: rgba(18, 32, 54, .78);--border: #22385a;--border-strong: #2f4a72;--text: #eaf2fc;--text-2: #b3c6de;--text-3: #8399b8;--primary: #7fb4ec;--primary-2: #a8cdf3;--tint-base: #122036;--tint-ink: 50%;--grad: linear-gradient(135deg, #2f6fb3 0%, #3c87c9 60%, #4b98d3 100%);--success: #34d399;--success-bg: rgba(16, 185, 129, .12);--warn: #fbbf24;--warn-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--official: #5eead4;--official-bg: rgba(45, 212, 191, .12);--ai: #c4b5fd;--ai-bg: rgba(139, 92, 246, .16);--grad-soft: linear-gradient(135deg, rgba(90, 150, 214, .16), rgba(130, 196, 236, .14));--shadow: 0 8px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #0a1424;--bg-2: #0f1b30;--surface: #122036;--surface-2: #172840;--surface-glass: rgba(18, 32, 54, .78);--border: #22385a;--border-strong: #2f4a72;--text: #eaf2fc;--text-2: #b3c6de;--text-3: #8399b8;--primary: #7fb4ec;--primary-2: #a8cdf3;--tint-base: #122036;--tint-ink: 50%;--grad: linear-gradient(135deg, #2f6fb3 0%, #3c87c9 60%, #4b98d3 100%);--success: #34d399;--success-bg: rgba(16, 185, 129, .12);--warn: #fbbf24;--warn-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--official: #5eead4;--official-bg: rgba(45, 212, 191, .12);--ai: #c4b5fd;--ai-bg: rgba(139, 92, 246, .16);--grad-soft: linear-gradient(135deg, rgba(90, 150, 214, .16), rgba(130, 196, 236, .14));--shadow: 0 8px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:-20vh -10vw auto;height:70vh;z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 20% 20%,rgba(74,143,216,.12),transparent 70%),radial-gradient(50% 50% at 85% 10%,rgba(130,196,236,.1),transparent 70%)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2;margin:0 0 .4em}h1{font-size:clamp(1.8rem,3.5vw,2.6rem)}h2{font-size:clamp(1.35rem,2.4vw,1.75rem)}h3{font-size:1.1rem}p{margin:0 0 .8em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:100}.skip-link:focus{left:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.muted{color:var(--text-3)}.small{font-size:13px}.nowrap{white-space:nowrap}.topbar{position:sticky;top:0;z-index:40;height:var(--top-h);background:var(--surface-glass);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1440px;margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none!important;flex-shrink:0}.brand-logo{display:block;height:32px;width:auto}.logo-dark{display:none}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:block}}.footer-brand .brand-logo{height:24px}@media (max-width: 420px){.brand-logo{height:26px}}.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--grad);position:relative;box-shadow:0 6px 16px -6px #2b6cb0b3}.brand-mark:after{content:"";position:absolute;inset:9px 8px;border:3px solid #fff;border-top:0;border-left-color:transparent;transform:rotate(-45deg) skew(10deg);border-radius:2px;opacity:.95}.brand-name{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.03em}.brand-name span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;flex:1;font-size:14px;color:var(--text-3);overflow:hidden}.crumbs a,.crumbs span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs a{color:var(--text-2);padding:4px 8px;border-radius:8px}.crumbs a:hover{background:var(--surface-2);text-decoration:none}.crumbs .sep{color:var(--border-strong)}.crumbs .current{color:var(--text);font-weight:600;padding:4px 8px}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:.2s var(--ease)}.icon-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px}.lang-btn{height:38px;padding:3px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:inline-flex;align-items:center;gap:2px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1;transition:.2s var(--ease)}.lang-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.lang-btn span{padding:0 9px;height:30px;display:grid;place-items:center;border-radius:9px}.lang-btn span.on{background:var(--grad);color:#fff}.profile-chip{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none!important;transition:.2s var(--ease)}.profile-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.streak{font-size:12.5px;font-weight:600;color:var(--text-2)}#app{outline:none}.page{max-width:1240px;margin:0 auto;padding:36px 20px 120px;animation:pageIn .45s var(--ease) both}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-head{margin-bottom:26px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--grad)}.lead{color:var(--text-2);font-size:16.5px;max-width:720px}.grid{display:grid;gap:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.section{margin-top:34px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-title h2,.section-title h3{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;border:1px solid transparent;font-weight:600;font-size:15px;cursor:pointer;transition:transform .18s var(--ease),box-shadow .2s,background .2s,border-color .2s;text-decoration:none!important;white-space:nowrap}.btn svg{width:18px;height:18px;transition:transform .2s var(--ease)}.btn:hover svg.arrow{transform:translate(3px)}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 24px -10px #2b6cb0cc}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px #2b6cb0e6}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{border-color:var(--primary-2);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-lg{height:52px;padding:0 26px;font-size:16px;border-radius:14px}.btn-sm{height:34px;padding:0 12px;font-size:13.5px;border-radius:10px}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important}.btn-danger-soft{background:var(--danger-bg);color:var(--danger)}.link-btn{background:none;border:0;color:var(--primary);cursor:pointer;font-weight:600;padding:0;display:inline-flex;gap:6px;align-items:center}.link-btn svg{width:16px;height:16px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.chip svg{width:14px;height:14px}.chip-official{background:var(--official-bg);color:var(--official);border-color:transparent}.chip-ai{background:var(--ai-bg);color:var(--ai);border-color:transparent}.chip-warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.chip-success{background:var(--success-bg);color:var(--success);border-color:transparent}.chip-danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.chip-primary{background:var(--grad-soft);color:var(--primary);border-color:transparent}button.chip{cursor:pointer;transition:.18s var(--ease)}button.chip:hover{border-color:var(--primary-2);color:var(--primary)}button.chip.active{background:var(--grad);color:#fff;border-color:transparent}.source-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--official)}.source-link svg{width:14px;height:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.card-hover{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;cursor:pointer;position:relative;overflow:hidden}.card-hover:before{content:"";position:absolute;inset:0;background:var(--grad-soft);opacity:0;transition:opacity .3s;pointer-events:none}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#4a8fd859}.card-hover:hover:before{opacity:1}.card-hover>*{position:relative}a.card{color:var(--text);text-decoration:none!important;display:block}a.card.subj-card,a.card.chap-card,a.card.class-card{display:flex}.card-title{font-family:var(--font-display);font-weight:700;font-size:17px;margin:0 0 4px}.hero{max-width:1240px;margin:0 auto;padding:72px 20px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.05}.hero h1 .grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{font-size:clamp(16px,1.6vw,18.5px);margin:18px 0 30px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-trust{margin-top:28px;display:flex;gap:18px;flex-wrap:wrap;color:var(--text-3);font-size:13.5px}.hero-trust span{display:inline-flex;align-items:center;gap:6px}.hero-trust svg{width:16px;height:16px;color:var(--official)}.journey{position:relative;background:var(--surface-glass);border:1px solid var(--border);border-radius:28px;padding:26px 24px;box-shadow:var(--shadow-lg);backdrop-filter:blur(10px)}.journey:before{content:"";position:absolute;inset:-1px;border-radius:28px;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none}.journey-title{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px;display:flex;justify-content:space-between}.j-steps{position:relative;display:grid;gap:10px}.j-line{position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:var(--border);border-radius:2px;overflow:hidden}.j-line:after{content:"";position:absolute;left:0;right:0;height:30%;background:var(--grad);border-radius:2px;animation:travel 4.2s var(--ease) infinite}@keyframes travel{0%{top:-30%}to{top:100%}}.j-step{position:relative;display:flex;align-items:center;gap:14px;padding:8px 12px 8px 8px;border-radius:14px;opacity:.55;transform:translate(0);transition:.5s var(--ease)}.j-step.on{opacity:1;background:var(--surface);box-shadow:var(--shadow);transform:translate(6px)}.j-icon{width:28px;height:28px;margin:0 0 0 7px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);flex-shrink:0;z-index:1;transition:.4s}.j-step.on .j-icon{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 6px 14px -4px #4a8fd8b3}.j-icon svg{width:15px;height:15px}.j-text b{display:block;font-size:14.5px}.j-text span{font-size:12.5px;color:var(--text-3)}.features{max-width:1240px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{padding:24px}.feature .f-icon{width:44px;height:44px;border-radius:13px;background:var(--grad-soft);color:var(--primary);display:grid;place-items:center;margin-bottom:14px}.feature .f-icon svg{width:22px;height:22px}.feature h3{margin-bottom:6px}.feature p{color:var(--text-2);margin:0;font-size:14.5px}.footer{max-width:1240px;margin:50px auto 0;padding:24px 20px 90px;color:var(--text-3);font-size:13px;border-top:1px solid var(--border);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.class-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.class-card{padding:22px;min-height:170px;display:flex;flex-direction:column}.class-card,.subj-card{--c: #2b6cb0;background:color-mix(in srgb,var(--c) 11%,var(--tint-base));border-color:color-mix(in srgb,var(--c) 22%,var(--tint-base))}.class-card:hover,.subj-card:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--tint-base))}.class-card:nth-child(8n+2){--c: #1f8a6a}.class-card:nth-child(8n+3){--c: #6a5cc4}.class-card:nth-child(8n+4){--c: #c0692e}.class-card:nth-child(8n+5){--c: #1a84a8}.class-card:nth-child(8n+6){--c: #b8456f}.class-card:nth-child(8n+7){--c: #96760f}.class-card:nth-child(8n+8){--c: #3d6f9e}.class-card .num{font-family:var(--font-display);font-size:44px;font-weight:800;line-height:1;letter-spacing:-.04em;color:color-mix(in srgb,var(--c) var(--tint-ink),#fff)}.class-card .cls-label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;display:flex;align-items:center;gap:8px}.class-card .tagline{font-weight:600;font-size:16px;margin:6px 0 0}.class-card .foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text-3)}.class-card .go{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 70%,transparent);color:color-mix(in srgb,var(--c) var(--tint-ink),#fff);transition:.25s var(--ease)}.class-card:hover .go{background:var(--c);color:#fff;transform:translate(4px)}.class-card .go svg{width:17px;height:17px}.class-card .c-icon{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 70%,transparent);color:color-mix(in srgb,var(--c) var(--tint-ink),#fff);transition:transform .35s var(--ease)}.class-card:hover .c-icon{transform:rotate(-8deg) scale(1.08)}.class-card .c-icon svg{width:20px;height:20px}.class-card.featured{border-color:#4a8fd859}.subj-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.subj-card{padding:20px;display:flex;flex-direction:column;min-height:196px}.subj-card .s-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;margin-bottom:14px;background:var(--c);box-shadow:0 10px 20px -10px color-mix(in srgb,var(--c) 80%,transparent);transition:transform .35s var(--ease)}.subj-card:hover .s-icon{transform:translateY(-2px) rotate(-6deg)}.subj-card .s-icon svg{width:22px;height:22px}.subj-card .meta{color:var(--text-3);font-size:13.5px}.subj-card .foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:10px}.subj-card .continue{margin-left:auto;font-weight:600;font-size:14px;color:color-mix(in srgb,var(--c) var(--tint-ink),#fff);display:inline-flex;align-items:center;gap:4px}.subj-card .continue svg{width:16px;height:16px;transition:transform .2s}.subj-card:hover .continue svg{transform:translate(3px)}.subj-card.compact{min-height:0;padding:14px 16px;flex-direction:row;align-items:center;gap:12px}.subj-card.compact .s-icon{width:36px;height:36px;margin:0;border-radius:11px}.subj-card.compact .s-icon svg{width:18px;height:18px}.group-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:28px 0 12px;display:flex;align-items:center;gap:10px}.group-title:after{content:"";flex:1;height:1px;background:var(--border)}details.more>summary{cursor:pointer;list-style:none}details.more>summary::-webkit-details-marker{display:none}.bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;position:relative;border:1px solid var(--border)}.bar>i{position:absolute;inset:0 auto 0 0;width:0;background:var(--grad);border-radius:99px;transition:width 1.1s var(--ease)}.bar.thin{height:6px}.bar.success>i{background:linear-gradient(90deg,#10b981,#059669)}.pct{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 20px}.unit-block{margin-top:26px}.unit-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}.unit-head .u-roman{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--primary);background:var(--grad-soft);padding:3px 9px;border-radius:8px}.unit-head h3{margin:0}.chap-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.chap-card{padding:20px;display:flex;flex-direction:column;gap:10px}.chap-card .top{display:flex;align-items:flex-start;gap:14px}.chap-card .n{font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--border-strong);line-height:1;min-width:36px;transition:color .3s}.chap-card:hover .n{color:var(--primary)}.chap-card h3{margin:0;font-size:16.5px}.chap-card .stats{display:flex;gap:14px;color:var(--text-3);font-size:13px;flex-wrap:wrap}.chap-card .stats b{color:var(--text);font-weight:700}.chap-card .mastery-row{display:flex;align-items:center;gap:10px}.chap-card .mastery-row .bar{flex:1}.chap-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.status i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px}.status.completed{color:var(--success)}.status.completed i{background:var(--success);color:#fff}.status.in_progress{color:var(--primary)}.status.in_progress i{background:var(--grad);color:#fff}.status.not_started{color:var(--text-3)}.status.not_started i{border:2px solid var(--border-strong)}.chap-card.formative{border-style:dashed}.ws{max-width:1440px;margin:0 auto;padding:22px 20px 120px;display:grid;grid-template-columns:228px minmax(0,1fr) 300px;gap:22px;align-items:start;animation:pageIn .45s var(--ease) both}.ws-nav{position:sticky;top:calc(var(--top-h) + 18px);display:flex;flex-direction:column;gap:4px}.ws-nav .nav-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:4px 12px 8px}.ws-tab{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;border:0;background:transparent;cursor:pointer;color:var(--text-2);font-weight:600;font-size:14.5px;text-align:left;transition:.18s var(--ease);position:relative}.ws-tab svg{width:18px;height:18px;flex-shrink:0}.ws-tab:hover{background:var(--surface);color:var(--text)}.ws-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.ws-tab.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--grad)}.ws-tab .count{margin-left:auto;font-size:11.5px;background:var(--surface-2);color:var(--text-3);padding:1px 8px;border-radius:99px}.ws-nav .chapter-jump{margin-top:14px;padding:12px;border-radius:12px;border:1px dashed var(--border-strong);font-size:13px;color:var(--text-3);display:grid;gap:8px}.ws-main{min-width:0}.ws-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 26px;margin-bottom:18px;position:relative;overflow:hidden}.ws-head:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:var(--grad-soft);filter:blur(10px);pointer-events:none}.ws-head h1{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:6px;position:relative}.ws-head .sub{color:var(--text-2);display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:relative;font-size:14px}.ws-panel{animation:panelIn .35s var(--ease) both}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ws-side{position:sticky;top:calc(var(--top-h) + 18px);display:grid;gap:14px}.side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.side-card h3{font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:10px}.side-card h3 svg{width:17px;height:17px;color:var(--primary)}.insight-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:11px;border:0;background:transparent;cursor:pointer;text-align:left;transition:.18s var(--ease);font-size:14px;color:var(--text-2)}.insight-item:hover{background:var(--surface-2);color:var(--text);transform:translate(2px)}.insight-item .ii-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.insight-item .ii-icon svg{width:16px;height:16px}.insight-item b{color:var(--text);font-variant-numeric:tabular-nums}.ii-star{background:#fef3c7;color:#b45309}.ii-fire{background:#ffe4e6;color:#e11d48}.ii-doc{background:#e0f2fe;color:#0369a1}.ii-warn{background:#fff7ed;color:#c2410c}.ii-target{background:#e3eefb;color:#2b6cb0}.ii-time{background:#dcfce7;color:#15803d}:root[data-theme=dark] .ii-star,:root[data-theme=dark] .ii-fire,:root[data-theme=dark] .ii-doc,:root[data-theme=dark] .ii-warn,:root[data-theme=dark] .ii-target,:root[data-theme=dark] .ii-time{background:var(--surface-2)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .insight-item .ii-icon{background:var(--surface-2)}}.next-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.next-btn{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;transition:.2s var(--ease)}.next-btn:hover{border-color:#4a8fd873;transform:translateY(-2px);box-shadow:var(--shadow)}.next-btn svg{width:20px;height:20px;color:var(--primary)}.next-btn b{font-size:14.5px}.next-btn span{font-size:12.5px;color:var(--text-3)}.next-btn.primary{background:var(--grad);color:#fff;border-color:transparent}.next-btn.primary svg,.next-btn.primary span{color:#ffffffd9}.topic-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.topic-list li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:14.5px}.topic-list li .tick{width:22px;height:22px;border-radius:7px;background:var(--grad-soft);color:var(--primary);display:grid;place-items:center;flex-shrink:0;margin-top:1px}.topic-list li .tick svg{width:13px;height:13px}.topic-list li.formative{background:transparent;border:1px dashed var(--border-strong)}.callout{display:flex;gap:12px;padding:14px 16px;border-radius:14px;font-size:14px;line-height:1.55}.callout svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.callout.info{background:var(--grad-soft);color:var(--text-2)}.callout.warn{background:var(--warn-bg);color:var(--warn)}.callout.official{background:var(--official-bg);color:var(--official)}.callout.ai{background:var(--ai-bg);color:var(--ai)}details.fold{border:1px solid var(--border);border-radius:14px;background:var(--surface)}details.fold>summary{padding:14px 16px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:10px;list-style:none}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary .chev{margin-left:auto;transition:transform .25s var(--ease);width:18px;height:18px;color:var(--text-3)}details.fold[open]>summary .chev{transform:rotate(180deg)}details.fold>.fold-body{padding:0 16px 16px;color:var(--text-2);font-size:14.5px}.official-text{white-space:pre-wrap;font-size:13.5px;background:var(--surface-2);padding:14px;border-radius:12px;border-left:3px solid var(--official);color:var(--text-2)}.chat{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:560px;height:calc(100vh - var(--top-h) - 190px);max-height:860px;overflow:hidden}.chat-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border)}.chat-head .mini-orb{width:40px;height:40px;flex-shrink:0}.chat-head h2{font-size:17px;margin:0}.chat-head p{margin:0;font-size:12.5px;color:var(--text-3)}.chat-body{flex:1;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.chat-empty{margin:auto;text-align:center;max-width:520px;padding:20px 0}.chat-empty .big-orb{width:86px;height:86px;margin:0 auto 16px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.suggestion{border:1px solid var(--border);background:var(--surface);padding:8px 14px;border-radius:999px;font-size:13.5px;cursor:pointer;color:var(--text-2);transition:.18s var(--ease)}.suggestion:hover{border-color:var(--primary-2);color:var(--primary);transform:translateY(-1px)}.msg{display:flex;gap:10px;max-width:88%;animation:msgIn .3s var(--ease) both}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg .bubble{padding:12px 15px;border-radius:16px;font-size:14.8px;line-height:1.62;min-width:0;overflow-wrap:anywhere}.msg.user .bubble{background:var(--grad);color:#fff;border-bottom-right-radius:6px}.msg.ai .bubble{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:6px}.msg .who{width:30px;height:30px;flex-shrink:0;margin-top:2px}.msg.user .who{border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--text-2)}.bubble p:last-child{margin-bottom:0}.bubble ul,.bubble ol{padding-left:20px;margin:6px 0 10px}.bubble blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--official);background:var(--surface);border-radius:8px;color:var(--text-2);font-size:14px}.bubble code{font-size:13px;background:var(--surface);padding:1px 5px;border-radius:5px}.bubble .cite{display:inline-flex;font-size:10.5px;font-weight:700;padding:0 5px;border-radius:5px;background:var(--official-bg);color:var(--official);vertical-align:1px;margin:0 1px}.msg-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.msg-sources .chip{height:24px;font-size:11.5px;max-width:280px;overflow:hidden;text-overflow:ellipsis}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-input{border-top:1px solid var(--border);padding:12px;display:flex;gap:10px;align-items:flex-end;background:var(--surface)}.chat-input textarea{flex:1;resize:none;border:1px solid var(--border-strong);border-radius:14px;padding:12px 14px;font:inherit;background:var(--surface-2);color:var(--text);max-height:160px;min-height:48px;line-height:1.45;transition:border-color .2s}.chat-input textarea:focus{outline:none;border-color:var(--primary-2);box-shadow:var(--ring)}.send-btn{width:48px;height:48px;border-radius:14px;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:.2s var(--ease)}.send-btn:hover{transform:translateY(-1px) scale(1.03)}.send-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.send-btn svg{width:20px;height:20px}.chat-tools{display:flex;gap:8px;align-items:center;margin-left:auto}.orb{position:relative;display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e0efff,#93c3f0 30%,#3a86c8 70%,#1f5591);box-shadow:0 0 0 1px #fff3 inset,0 10px 30px -6px #2b6cb0b3,0 0 40px -6px #7eb6eccc;animation:orbFloat 6s ease-in-out infinite;overflow:hidden}.orb:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent 0 20%,rgba(255,255,255,.45) 30%,transparent 45% 70%,rgba(147,197,253,.45) 80%,transparent 90%);animation:spin 7s linear infinite;mix-blend-mode:overlay}.orb .orb-core{position:absolute;inset:26%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,rgba(255,255,255,.15) 60%,transparent 70%);filter:blur(1px);animation:pulse 3.2s ease-in-out infinite}.orb.thinking:before{animation-duration:1.6s}.orb.thinking .orb-core{animation-duration:.9s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(.9);opacity:.85}50%{transform:scale(1.05);opacity:1}}@keyframes orbFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.orb-btn{position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer;transition:transform .25s var(--ease)}.orb-btn:hover{transform:scale(1.06)}.orb-btn:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(126,182,236,.5);animation:ripple 2.6s ease-out infinite;pointer-events:none}@keyframes ripple{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}.close-x{margin-left:auto;width:32px;height:32px;border-radius:10px;border:0;background:var(--surface-2);cursor:pointer;display:grid;place-items:center}.close-x svg{width:16px;height:16px}.skel{background:linear-gradient(90deg,var(--surface-2) 0%,var(--border) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-card{height:170px;border-radius:var(--radius)}.skel-line{height:14px;margin:8px 0}.empty{text-align:center;padding:44px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-2);background:var(--surface)}.empty svg{width:40px;height:40px;color:var(--text-3);margin-bottom:10px}.empty h3{color:var(--text)}.banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--warn-bg);color:var(--warn);margin-bottom:16px;font-size:14px}.banner svg{width:18px;height:18px;flex-shrink:0}.toast-wrap{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:90;display:grid;gap:8px}.toast{background:var(--text);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);animation:popIn .25s var(--ease) both}.ws-mobile-tabs{display:none}@media (max-width: 1180px){.ws{grid-template-columns:210px minmax(0,1fr)}.ws-side{grid-column:2;position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width: 900px){.hero{grid-template-columns:1fr;padding-top:40px;gap:32px}.features{grid-template-columns:1fr 1fr}.ws{grid-template-columns:minmax(0,1fr);padding:14px 16px 120px}.ws-nav{display:none}.ws-side{grid-column:1}.ws-mobile-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 10px;padding:2px 16px 10px;scrollbar-width:none;position:sticky;top:var(--top-h);z-index:20;background:linear-gradient(var(--bg) 70%,transparent)}.ws-mobile-tabs::-webkit-scrollbar{display:none}.ws-mobile-tabs .ws-tab{flex-shrink:0;border:1px solid var(--border);background:var(--surface);padding:8px 12px;font-size:13.5px}.ws-mobile-tabs .ws-tab.active:before{display:none}.ws-mobile-tabs .ws-tab.active{background:var(--grad);color:#fff;border-color:transparent}.two-col{grid-template-columns:1fr}.crumbs{display:none}.chat{height:calc(100vh - var(--top-h) - 150px);min-height:480px}.msg{max-width:96%}}@media (max-width: 600px){.page{padding:24px 16px 110px}.topbar-inner{padding:0 16px}.features{grid-template-columns:1fr}.profile-meta{display:none}.profile-chip{padding:4px}.ws-head{padding:18px}.orb-btn{right:16px;bottom:16px;width:56px;height:56px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.side-card .row .bar,.row>.bar{flex:1;min-width:60px}h1>svg,h2>svg,h3>svg,.row>svg,.pct+svg{width:20px;height:20px;flex-shrink:0}app-icon{width:18px;height:18px}.btn app-icon,.link-btn app-icon{width:18px;height:18px}.btn:hover app-icon.arrow{transform:translate(3px)}app-icon.arrow{transition:transform .2s var(--ease)}.hero-trust app-icon{width:16px;height:16px;color:var(--official)}.j-icon app-icon{width:15px;height:15px}.feature .f-icon app-icon{width:22px;height:22px}.class-card .c-icon app-icon,.subj-card .s-icon app-icon{width:20px;height:20px}.class-card .go app-icon,.subj-card .continue app-icon{width:16px;height:16px}.empty app-icon{width:40px;height:40px;color:var(--text-3);margin-bottom:10px}.banner app-icon{width:18px;height:18px}.mt{margin-top:12px}.stagger{animation:pageIn .5s var(--ease) both}.page-head .link-btn{font-size:14px}.topbar{height:auto}.topbar-inner{height:var(--top-h)}.crumbs-mobile{display:none}.top-actions{margin-left:auto}.icon-btn app-icon{width:18px;height:18px}app-root:has(app-workspace){display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}app-root:has(app-workspace) .topbar{flex-shrink:0}main:has(>app-workspace){flex:1;min-height:0;display:flex;flex-direction:column}app-workspace{flex:1;min-height:0;display:flex;flex-direction:column}.ws{width:100%;max-width:1680px;margin:0 auto;padding:16px 20px;flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr);gap:18px;align-items:stretch;overflow:hidden}.chap-nav,.ws-side,.ws-center{min-height:0;min-width:0}.chap-nav{display:flex;flex-direction:column}.chap-nav .nav-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:4px 12px 8px;flex-shrink:0}.chap-nav-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:2px 4px 2px 2px;scrollbar-width:thin}.chap-link{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:12px;color:var(--text-2);font-size:14px;font-weight:500;text-decoration:none!important;transition:background .18s,color .18s,transform .18s var(--ease);position:relative;border:1px solid transparent;flex-shrink:0}.chap-link:hover{background:var(--surface);color:var(--text);transform:translate(2px)}.chap-link .cn{font-family:var(--font-display);font-weight:800;color:var(--text-3);min-width:20px;font-variant-numeric:tabular-nums}.chap-link .ct{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.chap-link.active{background:var(--surface);color:var(--primary);border-color:var(--border);box-shadow:var(--shadow-sm);font-weight:600;animation:chapPick .4s var(--ease)}.chap-link.active:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--grad)}.chap-link.active .cn{color:var(--primary)}@keyframes chapPick{0%{transform:scale(.97)}to{transform:none}}.mobile-switch{display:none}.pdf-btn{margin-left:auto;flex-shrink:0;position:relative}.pdf-btn app-icon{width:16px;height:16px}.pdf-card{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none!important;transition:border-color .2s,transform .2s var(--ease),box-shadow .2s}.pdf-card:hover{border-color:var(--primary-2);transform:translateY(-1px);box-shadow:var(--shadow)}.pdf-card .ii-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.pdf-card .ii-icon app-icon{width:18px;height:18px}.pdf-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.pdf-card .ext{width:16px;height:16px;margin-left:auto;color:var(--text-3)}.page-link{color:var(--official);text-decoration:underline;text-underline-offset:2px}.page-link:hover{color:var(--primary)}.ws-center{display:flex;flex-direction:column;gap:12px}.ws-bar{flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden}.ws-bar:after{content:"";position:absolute;right:-40px;top:-70px;width:180px;height:180px;border-radius:50%;background:var(--grad-soft);pointer-events:none}.ws-bar-text{min-width:0;position:relative}.ws-bar h1{font-size:clamp(1.15rem,1.8vw,1.5rem);margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-bar .sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ws-bar .chip{height:24px;font-size:12px}.ws-center .banner{margin:0;flex-shrink:0}.chat{flex:1;min-height:0;height:auto;max-height:none}.chat-head{flex-shrink:0;padding:12px 16px}.chat-head .mini-orb{display:block;width:36px;height:36px}.chat-clear{margin-left:auto}.chat-body{min-height:0;overscroll-behavior:contain}.chat-empty .big-orb{display:block}.chat-empty h3{margin-bottom:6px}.msg .who{font-size:11px}.bubble-wrap{min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.msg.user .bubble-wrap{align-items:flex-end}.bubble .pre{white-space:pre-wrap;margin:0}.bubble.err{background:var(--danger-bg)!important;color:var(--danger);border-color:transparent!important}.bubble .md-h{font-weight:700;color:var(--text)}.based-on{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--official);font-weight:600;line-height:1.4}.based-on app-icon{width:14px;height:14px;margin-top:1px}.tools{flex-shrink:0;display:flex;gap:8px;padding:10px 12px 0;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--border)}.tools::-webkit-scrollbar{display:none}.tool{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:.18s var(--ease)}.tool app-icon{width:16px;height:16px;color:var(--primary)}.tool:hover:not([disabled]){border-color:var(--primary-2);color:var(--primary);transform:translateY(-1px)}.tool.on{background:var(--grad);color:#fff;border-color:transparent}.tool.on app-icon{color:#fff}.tool[disabled]{opacity:.5;cursor:not-allowed}.chat-input{flex-shrink:0;border-top:0}.chat-input textarea{min-height:48px;max-height:140px}.chat-input .send{height:48px;flex-shrink:0}.ws-side{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px;scrollbar-width:thin;overscroll-behavior:contain}.ws-side .side-card{flex-shrink:0}.overview{color:var(--text-2);font-size:14px;margin-bottom:4px}.topic-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.topic-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:.18s var(--ease);min-height:34px}.topic-chip:hover{border-color:var(--primary-2);color:var(--primary);transform:translateY(-1px)}.topic-chip.done{background:var(--success-bg);color:var(--success);border-color:transparent}.topic-chip app-icon{width:14px;height:14px}.side-card .bar{margin:6px 0 4px}.ins-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:16px 0 6px}.ins-list{margin:0;padding-left:18px;color:var(--text-2);font-size:14px;display:grid;gap:3px}.insight-item app-icon{width:16px;height:16px}.insight-item[disabled]{opacity:.5;cursor:not-allowed}.side-card h3 app-icon{width:17px;height:17px;color:var(--primary)}.book-q{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;text-align:left;padding:10px 12px;margin-top:8px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;line-height:1.45;cursor:pointer;transition:.18s var(--ease)}.book-q:hover{border-color:var(--primary-2);transform:translate(2px)}.book-q .chip{height:22px;font-size:11px}.pyq-note{margin-top:16px;padding-top:14px;border-top:1px dashed var(--border-strong)}.pyq-note p{margin:8px 0 0}@media (max-width: 1180px){.ws{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto minmax(0,1fr);gap:12px 16px}.chap-nav{grid-column:1 / -1}.chap-nav .nav-label{display:none}.chap-nav-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;gap:8px;scrollbar-width:none}.chap-nav-list::-webkit-scrollbar{display:none}.chap-link{max-width:230px;border:1px solid var(--border);background:var(--surface);padding:7px 12px}.chap-link .ct{-webkit-line-clamp:1;white-space:nowrap;display:block;text-overflow:ellipsis}.chap-link.active{background:var(--grad);color:#fff;border-color:transparent}.chap-link.active .cn{color:#fff}.chap-link.active:before{display:none}}@media (max-width: 900px){.ws{display:flex;flex-direction:column;padding:10px 12px 12px;gap:10px}.crumbs-mobile{display:flex;gap:6px;align-items:center;padding:0 16px 10px;font-size:13px;color:var(--text-3);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.crumbs-mobile::-webkit-scrollbar{display:none}.crumbs-mobile a{color:var(--text-2)}.crumbs-mobile .current{color:var(--text);font-weight:600}.crumbs-mobile .sep{color:var(--border-strong)}.chap-nav{flex-shrink:0;margin:0 -12px}.chap-nav-list{padding:2px 12px}.mobile-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex-shrink:0;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.mobile-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.mobile-switch button app-icon{width:16px;height:16px}.mobile-switch button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.ws-center{flex:1}.ws-side{display:none;flex:1;padding-right:0}.ws.show-info .ws-center{display:none}.ws.show-info .ws-side{display:flex;animation:panelIn .3s var(--ease) both}.ws-bar{display:none}}@media (max-width: 600px){.ws-bar{padding:12px 14px}.chat-head{padding:10px 12px}.chat-head p{display:none}.chat-body{padding:14px 12px}.chat-input{padding:10px;gap:8px}.chat-input .send span{display:none}.chat-input .send{width:48px;padding:0}.chat-input textarea{font-size:16px}.msg{max-width:100%}.hero h1{font-size:2.1rem}.class-grid{grid-template-columns:1fr 1fr}.class-card{min-height:150px;padding:16px}.class-card .c-icon{right:12px;top:12px;width:34px;height:34px}.class-card .num{font-size:38px}.subj-grid,.chap-grid{grid-template-columns:1fr}}@media (max-width: 360px){.class-grid{grid-template-columns:1fr}}
