@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--background:#f4f4f8;--card:#fff;--foreground:#0a0a0f;--primary:#10b981;--primary-hover:#0ea371;--primary-soft:#10b9811f;--primary-foreground:#fff;--primary-strong:#04805b;--primary-strong-hover:#036b4c;--primary-ink:#036b4c;--accent:#ffd902;--accent-soft:#ffd90238;--secondary:#fbf3d6;--secondary-foreground:#23253a;--muted:#efeff4;--muted-foreground:#6c6b73;--ok-ink:#11683d;--danger-ink:#b42318;--border:#dfdfe5;--input:#d0d0d8;--ok:#17864f;--ok-soft:#e4f4ea;--destructive:#d92d20;--ink:#0b0b12;--ink-card:#1c1c1e;--fluid-tint:#ffffffb8;--brand:#10b981;--brand-ink:#047857;--brand-soft:#10b98124;--on-brand:#fff;--side:var(--background);--cover-shine:#ffffff73;--row-fade:var(--background);--radius-unit:4px;--radius-xs:calc(var(--radius-unit) * 2);--radius-sm:calc(var(--radius-unit) * 2.5);--radius-md:calc(var(--radius-unit) * 3);--radius-lg:calc(var(--radius-unit) * 3.5);--radius-xl:calc(var(--radius-unit) * 4);--radius-2xl:calc(var(--radius-unit) * 5);--radius:var(--radius-xl);--radius-card:calc(var(--radius-unit) * 7);--radius-pill:9999px;--shadow-xs:0 2px 0 0 #33333312;--shadow-sm:0 2px 0 0 #33333326, 0 1px 2px -1px #33333326;--shadow-lg:0 24px 60px -24px #0f122847, 0 2px 6px -2px #0f12281a;--font:Peyda, Vazirmatn, Tahoma, sans-serif;--fs-xs:.78rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:clamp(1.08rem, 1rem + .35vw, 1.25rem);--fs-2xl:clamp(1.35rem, 1.15rem + .9vw, 1.85rem);--fs-3xl:clamp(1.6rem, 1.3rem + 1.3vw, 2.3rem);--fs-display:clamp(1.9rem, 1.3rem + 2.2vw, 3.1rem);--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--side-w:256px;--content-w:1100px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--card:#1c1c1e;--foreground:#fff;--primary:#10b981;--primary-hover:#34d399;--primary-soft:#10b9812e;--primary-ink:#34d399;--secondary:#262a45;--secondary-foreground:#fff;--muted:#2c2c2e;--muted-foreground:#a1a1a6;--ok-ink:#4ade80;--danger-ink:#f87171;--border:#38383a;--input:#48484a;--ok-soft:#10b98129;--ink-card:#1c1c1e;--side:var(--background);--fluid-tint:#1c1c1eb8;--brand-ink:#34d399;--brand-soft:#10b9812e;--cover-shine:#ffffff0f;--shadow-xs:none;--shadow-lg:0 24px 60px -24px #000c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--card:#1c1c1e;--foreground:#fff;--primary:#10b981;--primary-hover:#34d399;--primary-soft:#10b9812e;--primary-ink:#34d399;--secondary:#262a45;--secondary-foreground:#fff;--muted:#2c2c2e;--muted-foreground:#a1a1a6;--ok-ink:#4ade80;--danger-ink:#f87171;--border:#38383a;--input:#48484a;--ok-soft:#10b98129;--ink-card:#1c1c1e;--side:var(--background);--fluid-tint:#1c1c1eb8;--brand-ink:#34d399;--brand-soft:#10b9812e;--cover-shine:#ffffff0f;--shadow-xs:none;--shadow-lg:0 24px 60px -24px #000c}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (corner-shape:squircle){*,:before,:after{corner-shape:squircle}.avatar,.icon-btn,.dot,.l-state,.week span,.t-av,.lvl,.car-arrow,.car-dot,.car-dots,.car-pause,.play-badge,.bar,.bar span,.streak-pill{corner-shape:round}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-base);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.85}a{color:inherit;text-decoration:none}a:hover{color:var(--primary-ink)}h1,h2,h3{text-wrap:balance;margin:0 0 .4em;font-weight:600;line-height:1.45}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{text-wrap:pretty}img{max-width:100%;display:block}.i{flex:none}.muted{color:var(--muted-foreground)}.small{font-size:var(--fs-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{inset-inline-start:12px;z-index:100;background:var(--foreground);color:#fff;border-radius:var(--radius-md);padding:8px 16px;position:absolute;top:-60px}.skip:focus{top:12px}:focus-visible{outline:2.5px solid var(--primary-ink);outline-offset:3px}::selection{background:var(--primary-strong);color:var(--primary-foreground)}.err{color:var(--destructive);border-radius:var(--radius-md);background:#fdecea;padding:8px 14px}@view-transition{navigation:auto}.display{font-size:var(--fs-display);margin:0 0 .35em;font-weight:700;line-height:1.35}.display-md{font-size:var(--fs-3xl);font-weight:600;line-height:1.4}.display-sm{font-size:var(--fs-2xl);font-weight:600;line-height:1.45}.eyebrow{font-size:var(--fs-sm);color:var(--muted-foreground);align-items:center;gap:10px;margin:0 0 .5em;font-weight:500;display:flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:22px;height:1.5px}.eyebrow.light{color:#a9a9b8}.lead{font-size:var(--fs-base);color:var(--muted-foreground);max-width:46ch;margin:0 0 1em}.prose{white-space:pre-line;font-size:var(--fs-base);max-width:64ch;line-height:2}.split .w{vertical-align:top;margin-block:-.12em;padding-block:.12em;display:inline-block;overflow:clip}.split .wi{display:inline-block}.glass{background:var(--fluid-tint);-webkit-backdrop-filter:blur(14px)saturate(1.6)brightness(1.05);backdrop-filter:blur(14px)saturate(1.6)brightness(1.05);border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);box-shadow:inset 0 1px 0 0 color-mix(in oklab, var(--foreground) 8%, transparent)}.glass-bar{background:color-mix(in oklab, var(--background) 78%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.9);backdrop-filter:blur(28px)saturate(1.9);border:1px solid #ffffff8c;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #0000000a,0 10px 30px -10px #0f122847,0 2px 6px -2px #0f12281f}.glass-dark{-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);color:#f2f2f7;background:#1c1c1e8c;border:1px solid #ffffff1f;box-shadow:inset 0 1px #ffffff24,0 24px 50px -20px #0009}:root[data-theme=dark] .glass-bar{background:color-mix(in oklab, var(--background) 70%, transparent);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff1f,0 12px 32px -10px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass-bar{background:color-mix(in oklab, var(--background) 70%, transparent);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff1f,0 12px 32px -10px #0009}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-bar{background:var(--card)}.glass-dark{background:var(--ink-card)}}.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);min-height:100vh;display:grid}.col{min-width:0}.side{background:var(--side);border-inline-start:1px solid color-mix(in oklab, var(--foreground) 7%, transparent);flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{font-weight:800;font-size:var(--fs-lg);align-items:center;gap:10px;padding:0 8px 26px;line-height:1.4;display:flex}.brand:hover{color:var(--foreground)}.logo{flex:none;width:36px;height:36px;display:block}.side-nav{gap:4px;display:grid}.side-nav a{border-radius:var(--radius-lg);color:var(--muted-foreground);transition:background .18s var(--ease), color .18s var(--ease);align-items:center;gap:12px;padding:9px 12px;display:flex}.side-nav a:hover{background:var(--muted);color:var(--foreground)}.side-nav a[aria-current]{background:var(--primary-soft);color:var(--primary-ink);font-weight:500}.topbar{z-index:10;background:color-mix(in oklab, var(--background) 65%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.7);backdrop-filter:blur(20px)saturate(1.7);border-bottom:1px solid color-mix(in oklab, var(--foreground) 8%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:12px clamp(16px,3vw,40px);display:flex;position:sticky;top:0}.top-search{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;height:44px;color:var(--muted-foreground);align-items:center;gap:8px;padding:0 14px;display:flex}.top-search input{font:inherit;width:100%;color:var(--foreground);background:0 0;border:0;padding:9px 0}.top-search input:focus{box-shadow:none;outline:none}.top-search:focus-within{border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft)}.top-actions{align-items:center;gap:10px;display:flex}.top-actions form{margin:0}.streak-pill{color:var(--brand-ink);background:var(--brand-soft);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:2px 10px;font-weight:500;display:inline-flex}.streak-pill .i{fill:var(--brand);stroke:var(--brand)}[data-theme-toggle]{margin:0}.to-light{display:none}:root[data-theme=dark] .to-light{display:contents}:root[data-theme=dark] .to-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .to-light{display:contents}:root:not([data-theme=light]) .to-dark{display:none}}.avatar{border-radius:var(--radius-pill);background:var(--primary-soft);width:38px;height:38px;color:var(--primary-ink);place-items:center;font-weight:600;display:grid}.icon-btn{color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid}.icon-btn:hover{background:var(--muted);color:var(--foreground)}main{grid-template-columns:minmax(0, 1fr) min(var(--content-w), 100%) minmax(0, 1fr);align-content:start;display:grid}main>*{grid-column:2;min-width:0;margin-inline:0}main>:is(.carousel,.course-banner){grid-column:1/-1}main>.seg{justify-self:start;max-width:100%}main{padding:clamp(24px,4vw,48px) clamp(16px,3vw,40px) 150px}.btn{--edge:#00000038;border-radius:var(--radius-xl);height:44px;font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:var(--primary-strong);color:var(--primary-foreground);box-shadow:inset 0 -2px 0 var(--edge);transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), translate 80ms var(--ease), box-shadow 80ms var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;display:inline-flex;position:relative}.btn:hover{background-color:var(--primary-strong-hover);color:var(--primary-foreground)}.btn:active:not(:disabled){box-shadow:inset 0 -1px 0 var(--edge);translate:0 1px}.btn:disabled{opacity:.5;pointer-events:none}.btn .i{transition:translate .25s var(--ease)}.btn:hover .i:last-child{translate:-3px}.btn.ghost{--edge:color-mix(in oklab, var(--foreground) 10%, transparent);background:var(--card);color:var(--foreground);border-color:var(--input)}.btn.ghost:hover{background:var(--muted);border-color:color-mix(in oklab, var(--foreground) 30%, var(--input));color:var(--foreground)}.btn.ghost-light{--edge:#ffffff1f;color:#fff;background:#ffffff14;border-color:#fff3}.btn.ghost-light:hover{color:#fff;background:#ffffff29}.btn.ok{background:var(--ok)}.btn.ok:hover{background-color:#12703f}.btn.danger-btn{background:var(--destructive)}.btn.sm{border-radius:var(--radius-lg);height:36px;padding:0 14px;font-size:.8rem}.btn.lg{border-radius:var(--radius-2xl);height:52px;padding:0 26px;font-size:.95rem}.btn.block{width:100%;display:flex}.link{color:var(--primary-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px}.danger{color:var(--danger-ink)}input,textarea,select{width:100%;font:inherit;border:1px solid var(--input);border-radius:var(--radius);background:var(--card);color:var(--foreground);padding:11px 14px;transition:border-color .18s,box-shadow .18s}input[type=radio],input[type=checkbox]{width:auto;padding:0}input:focus,textarea:focus,select:focus{border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.form{gap:16px;display:grid}.form label{font-size:var(--fs-sm);gap:6px;font-weight:500;display:grid}.form small{font-weight:400}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:24px}:is(.card,.chapter,.ar-author)+:is(.card,.chapter,.ar-author){margin-top:16px}.card>h2:first-child{margin-top:0}.two-col{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:clamp(24px,4vw,48px);display:grid}.rail{position:sticky;top:92px}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin:52px 0 20px;display:flex}.section-head h2{font-size:var(--fs-xl);align-items:baseline;gap:12px;margin:0;display:flex}.idx{font-size:var(--fs-sm);color:var(--primary-ink);font-weight:500}.more{font-weight:500;font-size:var(--fs-sm);color:var(--primary-ink);align-items:center;gap:6px;display:inline-flex}.crumbs{color:var(--muted-foreground);font-size:var(--fs-sm);margin:0 0 14px}.meta{color:var(--muted-foreground);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 16px;margin:10px 0;padding:0;list-style:none;display:flex}.meta li{align-items:center;gap:6px;display:flex}.page-head{margin-bottom:8px}.empty{border:1.5px dashed var(--border);border-radius:var(--radius-card);text-align:center;background:var(--card);padding:32px}.cover{--bg:var(--muted);--fg:var(--foreground);aspect-ratio:16/11;border-radius:var(--radius-2xl);background:var(--bg);color:var(--fg);isolation:isolate;background-image:radial-gradient(120% 90% at 100% 0%, var(--cover-shine), transparent 60%), repeating-linear-gradient(0deg, transparent 0 23px, color-mix(in srgb, var(--fg) 6%, transparent) 23px 24px);flex-direction:column;padding:14px 16px;display:flex;position:relative;overflow:hidden;container-type:inline-size}[data-p="0"]{--bg:#e3e5ff;--fg:#2a2fb8}[data-p="1"]{--bg:#fff4bf;--fg:#5c4a00}[data-p="2"]{--bg:#1d1f3a;--fg:#f2f2ff}[data-p="3"]{--bg:#d9f5e9;--fg:#065f46}[data-p="4"]{--bg:#ece4ff;--fg:#4a2a9e}[data-p="5"]{--bg:#e9e9ef;--fg:#1f1f27}:root[data-theme=dark] :is([data-p="0"],[data-p="1"],[data-p="2"],[data-p="3"],[data-p="4"],[data-p="5"]){--fg:#fff}:root[data-theme=dark] [data-p="0"]{--bg:#232a8f}:root[data-theme=dark] [data-p="1"]{--bg:#5c4500}:root[data-theme=dark] [data-p="2"]{--bg:#20223f}:root[data-theme=dark] [data-p="3"]{--bg:#065f46}:root[data-theme=dark] [data-p="4"]{--bg:#3f2785}:root[data-theme=dark] [data-p="5"]{--bg:#2c2c34}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is([data-p="0"],[data-p="1"],[data-p="2"],[data-p="3"],[data-p="4"],[data-p="5"]){--fg:#fff}:root:not([data-theme=light]) [data-p="0"]{--bg:#232a8f}:root:not([data-theme=light]) [data-p="1"]{--bg:#5c4500}:root:not([data-theme=light]) [data-p="2"]{--bg:#20223f}:root:not([data-theme=light]) [data-p="3"]{--bg:#065f46}:root:not([data-theme=light]) [data-p="4"]{--bg:#3f2785}:root:not([data-theme=light]) [data-p="5"]{--bg:#2c2c34}}.cover img{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.cover-top{font-size:var(--fs-xs);opacity:.8;justify-content:space-between;font-weight:500;display:flex}.cover-glyph{flex:1;place-items:center;font-size:clamp(3rem,5vw,4.4rem);font-weight:600;line-height:1;display:grid}.cover-title{font-size:var(--fs-sm);font-weight:500;line-height:1.5}@container (max-width:150px){.cover-top,.cover-title{display:none}.cover-glyph{font-size:3rem}}.cover.xs{aspect-ratio:1;border-radius:var(--radius-md);flex:none;width:52px;padding:4px}.cover.xs .cover-top,.cover.xs .cover-title{display:none}.cover.xs .cover-glyph{font-size:1.5rem}.cover.lg{aspect-ratio:4/5;border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-lg)}.cover.lg .cover-glyph{font-size:6.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));grid-auto-rows:1fr;gap:20px;display:grid}.ccard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);height:100%;color:var(--foreground);box-shadow:var(--shadow-xs);transition:translate .5s var(--spring), scale .5s var(--spring), box-shadow .3s var(--ease), border-color .2s;flex-direction:column;padding:12px;display:flex}.ccard .cover{border-radius:var(--radius-xl)}.ccard:hover{color:var(--foreground);box-shadow:var(--shadow-lg);border-color:var(--input);translate:0 -4px}.ccard-body{flex-direction:column;flex:1;padding:12px 6px 4px;display:flex}.teacher{font-size:var(--fs-sm);color:var(--primary-ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;display:flex;overflow:hidden}.t-av{border-radius:var(--radius-pill);background:var(--primary-soft);width:26px;height:26px;font-size:var(--fs-xs);place-items:center;font-weight:600;display:grid}.ccard h3,.one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ccard h3{font-size:var(--fs-lg);margin:8px 0 0}.ccard .meta{flex-wrap:nowrap;overflow:hidden}.ccard .meta li{white-space:nowrap}.clamp{color:var(--muted-foreground);font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.7em;margin:4px 0 0;display:-webkit-box;overflow:hidden}.ccard .meta{margin-top:auto;padding-top:10px}.ccard-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.go{border-radius:var(--radius-lg);background:var(--primary-strong);width:40px;height:40px;color:var(--primary-foreground);transition:translate .5s var(--spring);place-items:center;display:grid;box-shadow:inset 0 -2px #00000038}.ccard:hover .go{translate:-4px}.bar-row{flex:1;align-items:center;gap:10px;display:flex}.bar-row small{color:var(--muted-foreground);min-width:2.6em;font-weight:500}.bar{background:var(--muted);border-radius:var(--radius-pill);flex:1;height:6px;overflow:hidden}.bar span{background:var(--primary);border-radius:var(--radius-pill);width:100%;height:100%;transform:scaleX(var(--p));transform-origin:100%;display:block}.streak{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px;padding:14px 20px;display:grid}.streak-ic{border-radius:var(--radius-xl);background:var(--brand-soft);width:44px;height:44px;color:var(--brand-ink);place-items:center;display:grid}.streak-ic .i{fill:var(--brand);stroke:var(--brand)}.streak-n{margin:0;line-height:1.5}.streak-n strong{font-size:var(--fs-xl);color:var(--brand-ink);margin-inline-end:4px;font-weight:600}.streak .small{color:var(--muted-foreground);margin:0}.week{text-align:center;font-size:var(--fs-xs);color:var(--muted-foreground);grid-template-columns:repeat(7,34px);margin:0;padding:0;list-style:none;display:grid}.week span{border-radius:var(--radius-pill);border:1.5px solid var(--border);width:26px;height:26px;color:var(--on-brand);place-items:center;margin:0 auto 2px;display:grid}.week .done span{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.week .today{color:var(--foreground);font-weight:600}.week .today span{border-color:var(--foreground)}.row{margin-top:40px}.row-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.row-head h2{font-size:var(--fs-xl);margin:0}.row-viewport{margin-inline:calc(-1*clamp(16px,3vw,40px));position:relative}.track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:clamp(200px,21vw,250px);grid-auto-flow:column;gap:16px;margin:0;padding:8px clamp(16px,3vw,40px) 20px;scroll-padding-inline:clamp(16px,3vw,40px);list-style:none;display:grid;overflow-x:auto}.track::-webkit-scrollbar{display:none}.track>li{scroll-snap-align:start}.row-btn{z-index:3;cursor:pointer;width:48px;color:var(--foreground);background:var(--fluid-tint);-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6);opacity:0;transition:opacity .2s var(--ease);border:0;place-items:center;display:grid;position:absolute;top:8px;bottom:20px}.row-btn.prev{border-start-end-radius:var(--radius-card);border-end-end-radius:var(--radius-card);inset-inline-start:0}.row-btn.next{border-start-start-radius:var(--radius-card);border-end-start-radius:var(--radius-card);inset-inline-end:0}.row-viewport:hover .row-btn,.row-btn:focus-visible{opacity:1}.row-btn[hidden]{display:none}@media (hover:hover){.track .ccard:hover{z-index:2;position:relative;translate:none;scale:1.03}}.ranked{height:100%;transition:translate .5s var(--spring);flex-direction:column;padding-top:34px;display:flex;position:relative}.ranked .ccard{border-start-start-radius:0;flex:1}.rank-tab{top:0;z-index:1;background:var(--card);border:1px solid var(--border);height:35px;font-size:var(--fs-xs);color:var(--muted-foreground);border-bottom:0;border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);align-items:center;gap:8px;padding:0 8px 0 14px;display:inline-flex;position:absolute;inset-inline-start:0}.rank-tab b{border-radius:var(--radius-xs);background:var(--muted);min-width:22px;height:22px;color:var(--foreground);font-weight:600;font-size:var(--fs-sm);place-items:center;padding:0 6px;display:grid}.ranked.top .rank-tab b{background:var(--primary-strong);color:var(--primary-foreground)}.ranked.first .rank-tab{color:var(--primary-ink);font-weight:500}@media (hover:hover){.track .ranked:hover{translate:0 -6px}.track .ranked .ccard:hover{translate:none;scale:none}}.ccont .cover-wrap{position:relative}.ccont .bar-row{inset-inline:12px;position:absolute;bottom:10px}.ccont .bar{background:#00000040;height:5px}.ccont .bar span{background:var(--brand)}.play-badge{border-radius:var(--radius-pill);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;width:52px;height:52px;transition:opacity .2s, scale .4s var(--spring);background:#00000073;place-items:center;margin:auto;display:grid;position:absolute;inset:0;scale:.8;box-shadow:inset 0 1px #fff3}.play-badge .i{fill:currentColor}.ccont:hover .play-badge,.ccont:focus-visible .play-badge{opacity:1;scale:1}.row-continue .ccard h3{margin-top:2px}.closing{border-radius:var(--radius-card);background:var(--primary-strong) linear-gradient(135deg, #ffffff1f, transparent 60%);color:var(--primary-foreground);box-shadow:0 24px 50px -24px var(--primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:56px;padding:clamp(32px,5vw,56px);display:flex}.closing h2{max-width:20ch;margin:0}.closing .btn{--edge:#0000001f;color:#036b4c;background:#fff}.closing .btn:hover{color:#036b4c;background-color:#ecfdf5}.list{align-content:start;gap:10px;display:grid}.list-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);align-items:center;gap:14px;padding:8px;transition:border-color .18s,box-shadow .18s;display:flex}.list-row:hover{color:var(--foreground);border-color:var(--input);box-shadow:var(--shadow-sm)}.list-row>div{flex:1;min-width:0;padding-inline-end:8px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 28px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips a{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-sm);padding:6px 16px;transition:border-color .18s,background .18s}.chips a:hover{border-color:var(--input);color:var(--foreground)}.chips a[aria-current]{background:var(--primary-soft);color:var(--primary-ink);border-color:#0000;font-weight:500}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters input{width:200px}.filters select{width:150px}.course-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:48px;padding-bottom:32px;display:grid}.hero-book{width:300px}.cta-row{gap:10px;margin-top:24px;display:flex}.cta-row form{margin:0}.details{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0 0;display:grid}.details div{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:12px 16px}.details dt{font-size:var(--fs-xs);color:var(--muted-foreground);align-items:center;gap:6px;display:flex}.details dd{margin:2px 0 0;font-weight:500}.chapter{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-top:14px;padding:20px}.chapter-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.chapter-head h3{font-size:var(--fs-lg);margin:0}.chapter-head .eyebrow,.chapter-head form{margin:0}.chapter-no{border-radius:var(--radius-lg);background:var(--primary-soft);width:48px;height:48px;color:var(--primary-ink);font-size:var(--fs-lg);place-items:center;font-weight:600;display:grid}.chapter-pct{width:150px;padding-top:10px}.lrows{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.lrow{border-radius:var(--radius-md);background:var(--background);align-items:center;gap:14px;padding:10px 14px;transition:background .18s;display:flex}a.lrow:hover{background:var(--muted);color:var(--foreground)}.lrow.next{background:var(--primary-soft);box-shadow:inset 0 0 0 1px #10b98166}.lrow.locked{color:var(--muted-foreground)}.lrow form{margin:0}.l-no{font-size:var(--fs-sm);color:var(--muted-foreground);min-width:1.6em}.l-title{flex:1;font-weight:500}.tag-next{font-style:normal;font-size:var(--fs-xs);color:var(--primary-ink);margin-inline-start:10px;font-weight:500}.l-state{border-radius:var(--radius-pill);background:var(--card);border:1px solid var(--border);width:30px;height:30px;color:var(--muted-foreground);place-items:center;display:grid}.l-state.done{background:var(--ok);border-color:var(--ok);color:#fff}.big-n{font-size:var(--fs-2xl);margin:0 0 10px;font-weight:600;line-height:1.2}.big-n small{font-size:var(--fs-lg);color:var(--muted-foreground)}.sticky .btn{margin-top:18px}.sticky .eyebrow{margin-top:0}.page-sheet{min-width:0}.reading{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);max-width:none;margin-top:20px;padding:clamp(20px,3vw,32px);font-size:clamp(1rem,.96rem + .2vw,1.1rem)}.player{aspect-ratio:16/9;border-radius:var(--radius-card);background:#000;margin:20px 0;overflow:hidden}.player video,.player iframe{border:0;width:100%;height:100%;display:block}.mini-course{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:16px;display:flex}.mini-course span{line-height:1.5;display:grid}.toc{gap:2px;margin:14px 0 20px;padding:0;list-style:none;display:grid}.toc a{border-radius:var(--radius-md);color:var(--muted-foreground);font-size:var(--fs-sm);align-items:center;gap:10px;padding:7px 10px;display:flex}.toc a:hover{color:var(--foreground);background:var(--muted)}.toc a[aria-current]{color:var(--foreground);background:var(--muted);font-weight:500}.dot{border-radius:var(--radius-pill);border:1.5px solid var(--input);flex:none;place-items:center;width:18px;height:18px;display:grid}.dot.done{background:var(--ok);border-color:var(--ok);color:#fff}.toc a[aria-current] .dot:not(.done){border-color:var(--primary);box-shadow:inset 0 0 0 4px var(--primary)}.lessonbar{bottom:16px;inset-inline:calc(var(--side-w) + 16px) 16px;max-width:var(--content-w);z-index:9;border-radius:var(--radius-card);margin-inline:auto;position:fixed;overflow:hidden}.lessonbar .sweep{background:var(--ok-soft);transform-origin:100%;position:absolute;inset:0;transform:scaleX(0)}.lessonbar.is-done{background:color-mix(in oklab, var(--ok-soft) 85%, transparent)}.lessonbar-in{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.lessonbar form{margin:0}.done-badge{color:var(--ok-ink);align-items:center;gap:8px;margin-inline-start:auto;font-weight:500;display:inline-flex}.auth{border-radius:var(--radius-card);background:var(--card);border:1px solid var(--border);grid-template-columns:1fr 1fr;min-height:70vh;display:grid;overflow:hidden;box-shadow:0 24px 80px #0f172a1f}.auth-art{background:var(--ink);color:#f2f2f7;flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,64px);display:flex;position:relative;overflow:hidden}.auth-art .display-sm{max-width:12ch;position:relative}.auth-art:after{content:"";aspect-ratio:1;border-radius:var(--radius-pill);background:radial-gradient(closest-side,#10b98173,#0000);width:90%;position:absolute;inset:auto auto -40% -30%}.auth-form{place-self:center;width:100%;max-width:480px;padding:clamp(32px,5vw,64px)}.auth-form input{height:52px}.message{align-content:center;justify-items:start;gap:8px;min-height:60vh;display:grid}.message .display{max-width:16ch;font-size:var(--fs-3xl)}@media (max-width:1024px){.two-col{grid-template-columns:1fr}.rail{position:static}.hero{grid-template-columns:1fr;min-height:0}.shelf{height:300px}.book{width:min(160px,32%)}}@media (max-width:760px){:root{--side-w:0px}.shell{grid-template-columns:minmax(0,1fr)}main{padding-bottom:190px}.lessonbar{inset-inline:16px;bottom:calc(84px + env(safe-area-inset-bottom))}.course-hero{grid-template-columns:1fr;gap:16px}.hero-book{order:-1;width:180px}.cover.lg .cover-glyph{font-size:5rem}.continue{grid-template-columns:1fr}.continue-cover .cover{aspect-ratio:16/7;min-height:0}.continue-foot{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-inline-start:0}.stats div:nth-child(n+3){border-top:1px solid var(--border)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ccard{border-radius:var(--radius-2xl);padding:8px}.ccard .cover{border-radius:var(--radius-md)}.ccard-body{padding:10px 4px 2px}.ccard .clamp,.ccard .meta{display:none}.chapter{padding:14px}.chapter-head{grid-template-columns:auto minmax(0,1fr)}.chapter-pct{grid-column:1/-1;width:100%;padding:0}.lrow small{display:none}.auth{grid-template-columns:1fr}.auth-art{min-height:200px}.toolbar{flex-direction:column;align-items:stretch}.filters input,.filters select{flex:1;width:auto}.ui-card{width:230px;inset-inline-end:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}.btn:active:not(:disabled){translate:none}@view-transition{navigation:none}}@media (max-width:760px){.streak{grid-template-columns:auto minmax(0,1fr)}.streak .week{grid-column:1/-1;grid-template-columns:repeat(7,1fr)}.track{grid-auto-columns:72%}.row-btn{display:none}}.carousel{isolation:isolate;color:#fff;margin-inline:calc(-1*clamp(16px,3vw,40px));background:#08080c;max-width:none;height:clamp(380px,56vh,540px);margin-top:calc(-1*clamp(24px,4vw,48px));position:relative;overflow:hidden}.slide{isolation:isolate;align-items:center;padding:0 clamp(56px,7vw,96px);display:flex;position:absolute;inset:0}.slide[hidden]{display:none}.slide:before{content:"";z-index:-2;background:radial-gradient(80% 130% at 18% 40%, var(--key), transparent 72%), #08080c;position:absolute;inset:0}.slide:after{content:"";z-index:-1;background:linear-gradient(270deg,#000000c7 0%,#00000059 45%,#0000 75%),linear-gradient(#0000 55%,#0000008c);position:absolute;inset:0}.slide[data-p="0"]{--key:#2a2fb8}.slide[data-p="1"]{--key:#8a6a00}.slide[data-p="2"]{--key:#2f3366}.slide[data-p="3"]{--key:#047857}.slide[data-p="4"]{--key:#5b34c9}.slide[data-p="5"]{--key:#3a3a46}.bb-glyph{inset-inline-end:8%;z-index:-1;color:#fff;opacity:.12;font-size:clamp(13rem,30vw,28rem);font-weight:700;line-height:1;position:absolute;top:50%;translate:0 -50%}.bb-text{max-width:540px}.bb-text .display{margin:10px 0 6px}.bb-lead{color:#d4d4dc;max-width:46ch;margin:0}.bb-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bb-chips li{border-radius:var(--radius-xs);font-size:var(--fs-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border:1px solid #ffffff24;align-items:center;gap:5px;padding:2px 10px;display:inline-flex}.bb-chips .brand-chip{background:var(--primary-strong);color:var(--on-brand);border-color:#0000;font-weight:600}.bb-chips .brand-chip .i{fill:currentColor}.carousel .hero-cta{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.carousel .hero-cta form{margin:0}.btn.light{--edge:#0000001f;color:#0a0a0f;background:#fff}.btn.light:hover{color:#0a0a0f;background-color:#ececf2}.car-arrow{z-index:2;border-radius:var(--radius-pill);cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;place-items:center;width:44px;height:44px;transition:background .18s;display:grid;position:absolute;top:50%;translate:0 -50%}.car-arrow:hover{background:#ffffff38}.car-arrow.prev{inset-inline-start:14px}.car-arrow.next{inset-inline-end:14px}.car-dots{bottom:16px;z-index:2;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;align-items:center;gap:6px;width:fit-content;margin-inline:auto;padding:6px 10px;display:flex;position:absolute;inset-inline:0}.car-dot{border-radius:var(--radius-pill);cursor:pointer;width:8px;height:8px;transition:width .4s var(--spring), background .2s;background:#ffffff73;border:0;padding:0}.car-dot[aria-current]{background:var(--brand);width:24px}.car-pause{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:22px;margin-inline-start:4px;padding:0;display:grid}.car-pause .play-ic{display:none}.car-pause[aria-pressed=true] .play-ic{display:contents}.car-pause[aria-pressed=true] .pause-ic,.car-pause[hidden]{display:none}.row-mini .track{grid-auto-columns:clamp(240px,24vw,280px)}.mcard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);height:100%;box-shadow:var(--shadow-xs);align-items:center;gap:12px;padding:8px;transition:border-color .18s,box-shadow .18s;display:flex}.mcard:hover{color:var(--foreground);border-color:var(--input);box-shadow:var(--shadow-sm)}.mcard>span{gap:2px;min-width:0;line-height:1.6;display:grid}.mcard strong{font-weight:600;font-size:var(--fs-sm)}.mcard .teacher{font-size:var(--fs-xs)}.mcard .t-av{width:20px;height:20px}.cover.thumb{aspect-ratio:4/3;border-radius:var(--radius-md);flex:none;width:84px;padding:4px}.cover.thumb .cover-top,.cover.thumb .cover-title{display:none}.cover.thumb .cover-glyph{font-size:1.8rem}.badge-new{vertical-align:middle;border-radius:var(--radius-xs);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-xs);margin-inline-end:6px;padding:0 8px;font-weight:600;line-height:1.8;display:inline-block}.side-head{justify-content:space-between;align-items:center;gap:6px;padding-bottom:22px;display:flex}.side-head .brand{padding:0 8px}.side-toggle{width:36px;height:36px}@media (min-width:761px){:root[data-side=mini]{--side-w:76px}[data-side=mini] .side{padding-inline:12px}[data-side=mini] .side .label{display:none}[data-side=mini] .side-head{flex-direction:column;gap:12px}[data-side=mini] .side-head .brand{padding:0}[data-side=mini] .side-nav a{justify-content:center;padding:10px}.side{transition:padding .3s var(--ease)}.shell{transition:grid-template-columns .3s var(--ease)}}@media (max-width:760px){.carousel{height:520px}.slide{align-items:flex-end;padding:24px 20px 64px}.bb-glyph{font-size:15rem;top:28%}.car-arrow,.side-head{display:none}}.side{gap:0;padding:12px}.side-head{height:44px;margin-bottom:0;padding:0}.side-head .brand{font-size:var(--fs-base);padding:0 6px}.side-head .logo{width:30px;height:30px}.side-toggle{border-radius:var(--radius-md);width:34px;height:34px}.side-nav{gap:2px;margin-top:clamp(28px,14vh,120px)}.side-nav a{border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--foreground);gap:10px;padding:7px 10px}.side-nav a .i{color:var(--muted-foreground)}.side-nav a:hover{background:color-mix(in oklab, var(--foreground) 6%, transparent)}.side-nav a[aria-current]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-xs);font-weight:500}.side-nav a[aria-current] .i{color:var(--primary-ink)}.side-foot{gap:4px;margin-top:auto;padding-top:12px;display:grid}.side-level{font-size:var(--fs-sm);color:var(--muted-foreground);align-items:center;gap:10px;padding:6px 10px;display:flex}.lvl{border-radius:var(--radius-pill);border:1.5px solid var(--input);width:26px;height:26px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.lvl .i{fill:var(--primary);stroke:var(--primary)}.side-user{border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--foreground);align-items:center;gap:10px;padding:6px 8px;font-weight:500;display:flex}a.side-user:hover{background:color-mix(in oklab, var(--foreground) 6%, transparent);color:var(--foreground)}.side-user .avatar{width:30px;height:30px;font-size:var(--fs-sm);flex:none}.side-user form{margin:0 auto 0 0;margin-inline-start:auto}.side-user .icon-btn{width:32px;height:32px}.topbar{grid-template-columns:1fr minmax(0,440px) 1fr;display:grid}.topbar .top-search{grid-column:2}.topbar .top-actions{grid-column:3;justify-self:end}.mobile-only{display:none}@media (min-width:761px){[data-side=mini] .side-head{height:auto}[data-side=mini] .side-level,[data-side=mini] .side-user{justify-content:center;padding-inline:0}}.cat-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;display:flex}.cat-head .lead{margin:0}.cat-search{gap:8px;width:min(440px,100%);display:flex}.field-icon{flex:1;display:block;position:relative}.field-icon .i{inset-inline-start:14px;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.field-icon input{border-radius:var(--radius-xl);height:44px;padding-inline-start:40px}.filter-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);gap:12px;margin:24px 0 16px;padding:16px 18px;display:grid}.filter-group{align-items:center;gap:14px;min-width:0;display:flex}.filter-label{width:2.6em;font-size:var(--fs-sm);color:var(--muted-foreground);flex:none}.filter-bar .chips{scrollbar-width:none;flex-wrap:nowrap;padding:2px;overflow-x:auto}.filter-bar .chips::-webkit-scrollbar{display:none}.filter-bar .chips a{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chips .n{font-size:var(--fs-xs);color:var(--muted-foreground)}.chips a[aria-current] .n{color:inherit;opacity:.8}.seg{background:var(--muted);border-radius:var(--radius-lg);gap:2px;padding:4px;display:inline-flex}.seg a{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--muted-foreground);white-space:nowrap;padding:4px 14px;transition:background .18s,color .18s}.seg a:hover{color:var(--foreground)}.seg a[aria-current]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-xs);font-weight:500}.result-line{font-size:var(--fs-sm);color:var(--muted-foreground);justify-content:space-between;align-items:center;margin:0 0 14px;display:flex}.result-line a{color:var(--primary-ink)}.empty{justify-items:center;gap:6px;padding:48px 24px;display:grid}.empty>.i{color:var(--muted-foreground)}.empty h2{margin:6px 0 0}.course-banner{isolation:isolate;color:#fff;margin-inline:calc(-1*clamp(16px,3vw,40px));background:#08080c;max-width:none;margin-top:calc(-1*clamp(24px,4vw,48px));padding:clamp(28px,5vw,56px) clamp(16px,3vw,40px);position:relative;overflow:hidden}.course-banner:before{content:"";z-index:-2;background:radial-gradient(80% 130% at 18% 40%, var(--key), transparent 72%), #08080c;position:absolute;inset:0}.course-banner:after{content:"";z-index:-1;background:linear-gradient(270deg,#000000b3,#0003 60%,#0000);position:absolute;inset:0}.course-banner[data-p="0"]{--key:#2a2fb8}.course-banner[data-p="1"]{--key:#8a6a00}.course-banner[data-p="2"]{--key:#2f3366}.course-banner[data-p="3"]{--key:#047857}.course-banner[data-p="4"]{--key:#5b34c9}.course-banner[data-p="5"]{--key:#3a3a46}.course-banner .bb-glyph{opacity:.07;font-size:clamp(12rem,26vw,22rem);inset-inline:4% auto}.cb-in{max-width:var(--content-w);grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:40px;margin-inline:auto;display:grid}.cb-text .crumbs,.cb-text .crumbs a{color:#b8b8c6}.cb-text .crumbs a:hover{color:#fff}.cb-text .display-md{margin:12px 0 6px}.cb-teacher{font-size:var(--fs-sm);color:#e4e4ec;align-items:center;gap:8px;margin:14px 0 0;display:inline-flex}.cb-teacher .t-av{color:#fff;background:#ffffff24}.cb-cover{width:240px}.cb-cover .cover{rotate:-4deg;box-shadow:0 30px 60px -20px #000000b3}.course-body{margin-top:28px}.about h2,.syllabus-head h2{font-size:var(--fs-xl);margin:0 0 8px}.about .prose{color:color-mix(in oklab, var(--foreground) 85%, transparent);margin:0}.syllabus-head{justify-content:space-between;align-items:baseline;gap:12px;margin:32px 0 4px;display:flex}.chapter-head h3{margin:0}.chapter-head p{margin:2px 0 0}.chapter-no{width:40px;height:40px;font-size:var(--fs-base)}.lrow .l-state{flex:none;width:28px;height:28px}.includes{font-size:var(--fs-sm);gap:10px;margin:4px 0 6px;padding:0;list-style:none;display:grid}.includes li{align-items:center;gap:10px;display:flex}.includes .i{color:var(--primary-ink)}@media (max-width:760px){.cat-search{width:100%}.filter-bar{padding:12px}.filter-group{flex-direction:column;align-items:flex-start;gap:6px}.filter-bar .chips{width:100%}.cb-in{grid-template-columns:1fr}.cb-cover{display:none}.syllabus-head{flex-direction:column;gap:0}}.course-banner .hero-cta{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.course-banner .hero-cta form{margin:0}.course-banner .bb-glyph{display:none}@media (max-width:760px){.course-banner .bb-glyph{opacity:.1;display:block;inset-inline:auto -6%}}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:min(78vh,680px)}.auth-art{color:#eafff6;background:#07130f;gap:32px}.auth-art:after{background:radial-gradient(closest-side,#10b98161,#0000);width:110%;inset:auto -20% -45% auto}.auth-art .brand{color:#fff;z-index:1;padding:0;position:relative}.auth-art>div,.auth-safe{z-index:1;position:relative}.auth-art .display-sm{max-width:14ch;margin:0 0 18px}.auth-points{color:#c9eadb;font-size:var(--fs-sm);gap:12px;margin:0;padding:0;list-style:none;display:grid}.auth-points li{align-items:center;gap:10px;display:flex}.auth-points .i{color:var(--primary)}.auth-safe{color:#8fb8a6;align-items:center;gap:8px;margin:0;display:flex}.auth-form{max-width:440px}.auth-form .display-sm{margin:0 0 4px}.auth-form>.muted{margin:0 0 18px}.auth-form .err{margin:0 0 14px}.auth-tabs{width:100%;margin-bottom:26px;display:flex}.auth-tabs a{flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.phone-field,.pw-field{display:block;position:relative}.phone-field input{font-size:var(--fs-lg);letter-spacing:.04em;padding-left:64px}.phone-field .cc{border-right:1px solid var(--border);width:52px;color:var(--muted-foreground);font-size:var(--fs-sm);place-items:center;display:grid;position:absolute;top:1px;bottom:1px;left:1px}.pw-field input{padding-left:48px}.pw-field .icon-btn{width:36px;height:36px;position:absolute;top:50%;left:4px;translate:0 -50%}.pw-field .icon-btn[aria-pressed=true]{color:var(--primary-ink)}.strength{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;display:grid}.strength i{border-radius:var(--radius-pill);background:var(--muted);height:4px;transition:background .2s}.strength[data-score="1"] i:nth-child(-n+1){background:var(--destructive)}.strength[data-score="2"] i:nth-child(-n+2){background:#f59e0b}.strength[data-score="3"] i:nth-child(-n+3){background:var(--primary)}.strength[data-score="4"] i{background:var(--primary-ink)}.otp-input{text-align:center;letter-spacing:.6em;border-radius:var(--radius-2xl);height:60px;font-size:1.5rem}.otp-boxes{direction:ltr;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.otp-boxes input{text-align:center;border-radius:var(--radius-2xl);height:60px;padding:0;font-size:1.5rem;font-weight:600}.otp-boxes input.filled{border-color:var(--primary-ink);background:var(--primary-soft)}.otp-boxes.shake{animation:shake .35s var(--ease)}@keyframes shake{20%,60%{translate:-6px}40%,80%{translate:6px}}.resend{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.resend .link{padding:0}.resend .link:disabled{color:var(--muted-foreground);cursor:default}.dev-hint{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--foreground);font-size:var(--fs-sm);margin:0 0 14px;padding:8px 12px}.back{color:var(--muted-foreground);font-size:var(--fs-sm);align-items:center;gap:6px;margin-bottom:14px;display:inline-flex}.ok-line{color:var(--primary-ink);font-size:var(--fs-sm);align-items:center;gap:6px;margin:0 0 10px;display:inline-flex}@media (max-width:760px){.auth{grid-template-columns:1fr}.auth-art{gap:14px;min-height:0}.auth-points,.auth-safe{display:none}.otp-boxes{gap:6px}.otp-boxes input{height:54px}}[hidden]{display:none!important}.auth-form .form+.muted,.auth-form .resend+.muted{margin-top:18px}.or{color:var(--muted-foreground);font-size:var(--fs-sm);align-items:center;gap:12px;margin:20px 0 14px;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.forgot{font-size:var(--fs-sm);color:var(--primary-ink);justify-self:start;margin-top:-6px}.pill-rec{border-radius:var(--radius-xs);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-xs);padding:0 8px;font-weight:500}.state-ic{border-radius:var(--radius-2xl);background:var(--primary-soft);width:56px;height:56px;color:var(--primary-ink);place-items:center;margin-bottom:14px;display:grid}.state-ic.warn{background:var(--accent-soft);color:#8a6d00}.term-seg{scrollbar-width:none;max-width:100%;overflow-x:auto}.term-seg::-webkit-scrollbar{display:none}.term-seg a{white-space:nowrap}.term-block{margin-top:28px}.term-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.term-head h2{font-size:var(--fs-xl);align-items:center;gap:8px;margin:0;display:flex}.term-head h2 .i{color:var(--primary-ink)}.term-head .more{margin-inline-start:auto}.notes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.note{border-radius:var(--radius-md);background:var(--background);align-items:center;gap:12px;padding:10px 12px;display:flex}.note-ic{border-radius:var(--radius-md);letter-spacing:.02em;background:color-mix(in oklab, var(--kind) 14%, transparent);width:44px;height:44px;color:var(--kind-ink);--kind:#64748b;--kind-ink:#475569;flex:none;place-items:center;font-size:.68rem;font-weight:700;display:grid}.note-ic[data-kind=PDF]{--kind:#dc2626;--kind-ink:#b91c1c}.note-ic[data-kind=DOCX]{--kind:#2563eb;--kind-ink:#1d4ed8}.note-ic[data-kind=PPTX]{--kind:#ea580c;--kind-ink:#c2410c}.note-ic[data-kind=ZIP]{--kind:#7c3aed;--kind-ink:#6d28d9}.note-body{flex:1;min-width:0;line-height:1.6;display:grid}.note-body strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;line-height:1.6;display:-webkit-box;overflow:hidden}.note-body small{font-size:var(--fs-xs)}.note form{margin:0}.notes.compact{margin-bottom:16px}.notes.compact .note{padding:8px}.notes.compact .note-ic{width:36px;height:36px}.about h2{align-items:center;gap:8px;display:flex}.about h2 .i{color:var(--primary-ink)}.about+.about{margin-top:16px}.note-groups{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:16px;display:grid}.note-course{padding:16px}.note-course-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.note-course-head strong{font-weight:600}.file-drop{text-align:center;cursor:pointer;border:1.5px dashed var(--input);border-radius:var(--radius-xl);background:var(--background);justify-items:center;gap:4px;padding:20px 14px;transition:border-color .18s,background .18s;display:grid;position:relative}.file-drop .i{color:var(--primary-ink)}.file-drop:hover,.file-drop.over{border-color:var(--primary-ink);background:var(--primary-soft)}.file-drop.has-file{border-style:solid;border-color:var(--primary-ink)}.file-drop input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-drop:focus-within{outline:2.5px solid var(--primary-ink);outline-offset:3px}@media (max-width:760px){.term-head{flex-wrap:wrap}.note .btn.sm{width:40px;padding:0}.note .btn-label{display:none}}.now-dot{vertical-align:middle;border-radius:var(--radius-pill);background:var(--primary);width:6px;height:6px;margin-inline-start:6px;display:inline-block}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.reading{white-space:normal}.reading>:first-child{margin-top:0}.reading h3{font-size:var(--fs-xl);margin:1.4em 0 .4em;font-weight:600}.reading h4{font-size:var(--fs-lg);margin:1.2em 0 .3em;font-weight:600}.reading p{margin:0 0 1em}.reading ul,.reading ol{margin:0 0 1em;padding-inline-start:1.4em}.reading blockquote{border-inline-start:3px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius-xs);margin:0 0 1em;padding:4px 16px}.reading code{background:var(--muted);border-radius:var(--radius-xs);direction:ltr;unicode-bidi:isolate;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.88em}.reading a{color:var(--primary-ink);text-underline-offset:3px;text-decoration:underline}.kind-eyebrow .i{color:var(--primary-ink)}.kind-eyebrow:before{display:none}.notice{border-radius:var(--radius-xl);background:var(--primary-soft);color:var(--foreground);font-size:var(--fs-sm);align-items:center;gap:10px;margin:0 0 16px;padding:10px 16px;display:flex}.notice .i{color:var(--primary-ink);flex:none}.notice.warn{background:var(--accent-soft)}.notice a{color:var(--primary-ink);font-weight:500}.chip-s{font-style:normal;font-size:var(--fs-xs);border-radius:var(--radius-xs);background:var(--muted);color:var(--muted-foreground);white-space:nowrap;padding:2px 8px;font-weight:500}.chip-s.free{background:var(--primary-soft);color:var(--primary-ink)}.chip-s.draft,.chip-s.warn{background:var(--accent-soft);color:var(--foreground)}.warn-t{color:#a15c00}:root[data-theme=dark] .warn-t{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .warn-t{color:#fbbf24}}.lrow .chip-s{flex:none}.lrow .l-kind{flex:none;margin-inline-start:auto}.l-title{min-width:0}.goals{border-radius:var(--radius-xl);background:var(--background);margin:14px 0 0;padding:14px 16px}.goals .eyebrow{margin:0 0 6px}.goals ul{font-size:var(--fs-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.goals li{align-items:baseline;gap:8px;display:flex}.goals .i{color:var(--primary-ink);flex:none;translate:0 2px}.grades{font-size:var(--fs-sm);gap:4px;margin:0 0 16px;padding:0;list-style:none;display:grid}.grades li{justify-content:space-between;align-items:center;gap:8px;display:flex}.grades a{min-width:0;color:var(--muted-foreground);align-items:center;gap:8px;display:flex}.grades a:hover{color:var(--foreground)}.grades b{white-space:nowrap;font-weight:600}.facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:20px 0;padding:0;list-style:none;display:grid}.facts.col{grid-template-columns:1fr 1fr;margin:0}.facts li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);gap:2px;padding:10px 14px;display:grid}.facts small{color:var(--muted-foreground);font-size:var(--fs-xs)}.facts b{font-weight:600}.quiz{gap:14px;margin-top:16px;display:grid}.q{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-card);gap:8px;min-width:0;margin:0;padding:18px 20px;display:grid}.q legend{float:inline-start;align-items:baseline;gap:10px;width:100%;margin-bottom:6px;padding:0;font-weight:500;display:flex}.q legend small{margin-inline-start:auto;font-weight:400}.q-no{border-radius:var(--radius-sm);background:var(--primary-soft);min-width:28px;height:28px;color:var(--primary-ink);font-size:var(--fs-sm);flex:none;place-items:center;font-weight:600;display:inline-grid}.opt{border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s,background .15s;display:flex}.opt:hover{border-color:var(--input);background:var(--background)}.opt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.opt input{accent-color:var(--primary-strong);flex:none;width:18px;height:18px;margin:0}.q>input{height:44px}.result{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--card);align-items:center;gap:20px;margin:16px 0;padding:18px 22px;display:flex}.result .big-n{font-size:var(--fs-3xl);margin:0}.result h2{font-size:var(--fs-lg);margin:0}.result p{margin:2px 0 0}.result.pass{background:var(--ok-soft);border-color:#0000}.result.pass .big-n{color:var(--ok)}.result.fail{background:var(--accent-soft);border-color:#0000}.review{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.review li{border-radius:var(--radius-xl);background:var(--card);border:1px solid var(--border);border-inline-start:3px solid var(--border);padding:10px 14px}.review li.ok{border-inline-start-color:var(--ok)}.review li.no{border-inline-start-color:var(--destructive)}.review p{margin:0 0 2px}.ok-t{color:var(--ok-ink);align-items:center;gap:4px;font-weight:500;display:inline-flex}.no-t{color:var(--danger-ink);font-weight:500}.retake>summary{width:max-content;list-style:none}.retake>summary::-webkit-details-marker{display:none}.retake[open]>summary{display:none}#submission{gap:14px;margin-top:8px;display:grid}.sub .eyebrow{margin-top:0}.feedback{border-radius:var(--radius-xl);background:var(--ok-soft);margin-top:14px;padding:12px 16px}.feedback p{margin:0}.prompt{border-radius:var(--radius-card);background:var(--primary-soft);gap:14px;margin:16px 0;padding:18px 20px;display:flex}.prompt>.i{color:var(--primary-ink);flex:none;margin-top:6px}.prompt .prose{white-space:normal}.prompt .prose p{margin:0}.small-h{font-size:var(--fs-lg);margin:24px 0 10px;font-weight:600}.posts{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.post{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 16px;display:grid}.post p{margin:0}.post-head{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 4px;display:flex}.post-head .chip-s{margin-inline-start:auto}.post form{margin:0}.transcript{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-top:16px;padding:12px 18px}.transcript summary{cursor:pointer;font-weight:500;font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.transcript p{line-height:2;font-size:var(--fs-sm);max-height:320px;margin:12px 0 0;overflow:auto}.resources ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.resources a{border-radius:var(--radius-xl);background:var(--card);border:1px solid var(--border);color:var(--foreground);align-items:center;gap:10px;padding:10px 14px;display:flex}.resources a:hover{border-color:var(--input)}.resources .i{color:var(--primary-ink)}.builder-head h1{align-items:center;gap:12px;display:flex}.builder-stats{font-size:var(--fs-sm);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;display:flex}.builder-stats>span{align-items:center;gap:6px;display:inline-flex}.builder-stats .btn{margin-inline-start:auto}.builder-stats .btn~.btn{margin-inline-start:0}.module{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-bottom:16px;padding:18px;scroll-margin-top:90px}.module-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.module-title h2{font-size:var(--fs-lg);margin:0}.module-title p{margin:0}.module-title .eyebrow{margin-bottom:2px}.tools{align-items:center;gap:2px;margin:0;display:flex}.icon-btn.sm{width:32px;height:32px}.icon-btn.sm:hover[aria-label^=حذف]{color:var(--destructive)}.module-edit{border-radius:var(--radius-xl);background:var(--background);margin:12px 0 0}.module-edit summary{cursor:pointer;font-size:var(--fs-sm);color:var(--muted-foreground);align-items:center;gap:8px;padding:10px 14px;display:flex}.module-edit summary:hover{color:var(--foreground)}.module-edit .form{padding:0 14px 14px}.items{gap:6px;min-height:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.item{border-radius:var(--radius-xl);background:var(--background);border:1px solid #0000;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 8px 8px 6px;scroll-margin-top:90px;display:grid}.item:hover{border-color:var(--border)}.item:target{border-color:var(--primary)}.item.dragging{opacity:.5}.item.drop-ghost{border:1.5px dashed var(--primary);background:var(--primary-soft)}.grip{color:var(--muted-foreground);cursor:grab;touch-action:none;place-items:center;width:22px;height:32px;display:grid}.grip:active{cursor:grabbing}.k-ic{border-radius:var(--radius-md);background:var(--card);width:34px;height:34px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.k-ic.lg{border-radius:var(--radius-lg);background:var(--primary-soft);width:44px;height:44px}.k-ic[data-kind=quiz],.kind-btn[data-kind=quiz] .i{color:#7c3aed}.k-ic[data-kind=assignment],.kind-btn[data-kind=assignment] .i{color:#c2410c}.k-ic[data-kind=discussion],.kind-btn[data-kind=discussion] .i{color:#0369a1}:root[data-theme=dark] :is(.k-ic,.kind-btn .i){filter:brightness(1.6)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.k-ic,.kind-btn .i){filter:brightness(1.6)}}.item-title{min-width:0;color:var(--foreground);display:grid}.item-title strong{font-weight:500}.item-title small{font-size:var(--fs-xs)}.item-title:hover strong{color:var(--primary-ink)}.badges{gap:4px;display:flex}.status{font:inherit;font-size:var(--fs-xs);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;height:28px;padding:0 10px;font-weight:500;display:inline-flex}.status:before{content:"";border-radius:var(--radius-pill);background:currentColor;width:6px;height:6px}.status.published{background:var(--ok-soft);color:var(--ok-ink)}.status.draft{background:var(--muted);color:var(--muted-foreground)}button.status:hover{border-color:currentColor}.empty-module{margin:12px 4px 0}.add-item{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;padding-top:12px;display:flex}.add-item>span{align-items:center;gap:6px;margin-inline-end:4px;display:inline-flex}.kind-btn{font:inherit;font-size:var(--fs-sm);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);height:34px;color:var(--foreground);cursor:pointer;align-items:center;gap:6px;padding:0 12px;transition:border-color .15s,background .15s;display:inline-flex}.kind-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.kind-btn .i{color:var(--primary-ink)}.new-module{border:1.5px dashed var(--input);border-radius:var(--radius-card);gap:8px;padding:14px;display:flex}.new-module input{flex:1;min-width:0}.fold>summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary h2{margin:0}.fold>summary:after{content:"−";color:var(--muted-foreground);font-size:1.3rem}.fold:not([open])>summary:after{content:"+"}.fold[open]>summary{margin-bottom:16px}.form-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings{border:1px solid var(--border);border-radius:var(--radius-2xl);gap:12px;min-width:0;margin:0;padding:14px 16px;display:grid}.settings legend{font-size:var(--fs-sm);padding:0 6px;font-weight:600}.form .check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:500;display:flex}.check input{accent-color:var(--primary-strong);flex:none;width:18px;height:18px;margin:2px 0 0}.check span{gap:2px;display:grid}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.small-player{margin:0}.q-edit{gap:12px;margin-bottom:12px;scroll-margin-top:90px;display:grid}.card.q-edit+.card.q-edit{margin-top:0}.q-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.q-head select{width:auto;height:36px}.q-head .tools{margin-inline-start:auto}.pts{align-items:center;gap:6px!important;font-weight:400!important;display:flex!important}.pts input{width:64px;height:36px}.opts{gap:6px;display:grid}.opt-row{align-items:center;gap:8px;display:flex}.opt-row>input[type=radio],.opt-row>input[type=checkbox]{accent-color:var(--primary-strong);flex:none;width:20px;height:20px;margin:0}.opt-row>input[name=opt]{flex:1;min-width:0}.q-tf{gap:8px;display:flex}.q-tf .opt{flex:1}.grade-form{border-top:1px solid var(--border);grid-template-columns:140px minmax(0,1fr) auto;align-items:end;margin-top:12px;padding-top:12px}.res-list{gap:4px;margin:0 0 14px;padding:0;list-style:none;display:grid}.res-list li{justify-content:space-between;align-items:center;gap:6px;display:flex}.res-list a{font-size:var(--fs-sm);color:var(--foreground);align-items:center;gap:8px;min-width:0;display:flex}.res-list form{margin:0}.tips ul{gap:6px;margin:0;padding-inline-start:1.1em;line-height:1.8;display:grid}@media (max-width:760px){.item{grid-template-columns:auto auto minmax(0,1fr)}.item .badges{grid-column:3}.item .tools{grid-column:1/-1;justify-content:flex-end}.module-head{grid-template-columns:auto minmax(0,1fr)}.module-head .tools{grid-column:1/-1;justify-content:flex-end}.form-2,.grade-form{grid-template-columns:1fr}.lrow .l-kind{display:none}.builder-stats .btn{margin-inline-start:0}}.form-2{align-items:start}.q-head select{min-width:150px;padding-block:0}.pts input{padding-block:0}.reading>:last-child{margin-bottom:0}.badges:empty{display:none}.face{border-radius:var(--radius-pill);background:var(--primary-soft);width:40px;height:40px;color:var(--primary-ink);object-fit:cover;flex:none;place-items:center;font-weight:600;display:grid}.face.sm{width:34px;height:34px;font-size:var(--fs-sm)}.face.md{width:56px;height:56px;font-size:var(--fs-lg)}.face.lg{width:76px;height:76px;font-size:var(--fs-xl)}.face.xl{width:clamp(96px,12vw,132px);height:clamp(96px,12vw,132px);font-size:var(--fs-3xl);border-radius:var(--radius-card)}a.cb-teacher{color:#e4e4ec;text-decoration:none}a.cb-teacher:hover b{text-underline-offset:3px;text-decoration:underline}.cb-teacher span{line-height:1.5;display:grid}.cb-teacher small{color:#b9b9c6;font-size:var(--fs-xs)}.cb-teacher .face{color:#fff;background:#ffffff24}.tgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.tcard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--foreground);transition:border-color .18s, box-shadow .18s, translate .25s var(--ease);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:16px;display:grid}.tcard:hover{color:var(--foreground);border-color:var(--input);box-shadow:var(--shadow-sm);translate:0 -2px}.tcard-body{gap:2px;min-width:0;display:grid}.tcard-body strong{font-weight:600}.tcard-terms{font-size:var(--fs-xs);color:var(--primary-ink)}.tcard-stats{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted-foreground);grid-column:1/-1;gap:14px;margin-top:6px;padding-top:10px;display:flex}.tcard-stats b{color:var(--foreground);font-weight:600}.profile-hero{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(20px,3vw,32px);display:grid}.ph-text h1{margin:0}.ph-text .crumbs{margin:0 0 4px}.ph-affil{color:var(--muted-foreground);margin:4px 0 0}.ph-links{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.ph-links a{border-radius:var(--radius-md);background:var(--background);border:1px solid var(--border);height:30px;font-size:var(--fs-xs);color:var(--foreground);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.ph-links a:hover{border-color:var(--primary);color:var(--primary-ink)}.ph-links .i{color:var(--primary-ink)}.ph-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.ph-actions:empty{display:none}.ph-stats{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.ph-stats li{border-radius:var(--radius-xl);background:var(--background);justify-items:center;min-width:92px;padding:10px 12px;display:grid}.ph-stats b{font-size:var(--fs-xl);font-weight:600}.ph-stats small{font-size:var(--fs-xs);color:var(--muted-foreground)}.profile-tabs{scrollbar-width:none;max-width:100%;margin:18px 0 4px;overflow-x:auto}.profile-body section,.profile-sec{scroll-margin-top:90px}.profile-sec{margin:24px 0}.profile-sec>h2{font-size:var(--fs-xl);margin:0 0 14px}.profile-sec .term-block{margin-top:18px}.profile-sec .term-head h3{font-size:var(--fs-lg);align-items:center;gap:8px;margin:0;display:flex}.profile-sec .term-head .i{color:var(--primary-ink)}.reading-plain{white-space:normal;max-width:none}.reading-plain p{margin:0 0 1em}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-sm);padding:4px 12px}.note-where{font-size:var(--fs-xs);color:var(--primary-ink);font-weight:400;display:block}.cv-block+.cv-block{margin-top:18px}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:auto minmax(0,1fr);gap:12px;padding-bottom:14px;display:grid;position:relative}.timeline li:not(:last-child):before{content:"";inset-inline-start:13px;background:var(--border);width:1.5px;position:absolute;top:30px;bottom:2px}.timeline p{margin:0}.tl-title{font-weight:500}.tl-dot{border-radius:var(--radius-pill);background:var(--primary-soft);width:28px;height:28px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.pubs{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pub{border-radius:var(--radius-xl);background:var(--background);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px 14px;display:grid}.pub p{margin:0}.pub-year{text-align:center;min-width:48px;font-weight:600;font-size:var(--fs-sm);color:var(--primary-ink);padding-top:2px}.pub-title{font-weight:500;line-height:1.7}.pub-title a{color:var(--foreground)}.pub-title a:hover{color:var(--primary-ink)}.pub-title .i{color:var(--muted-foreground);vertical-align:-2px}.subject-links{font-size:var(--fs-sm);gap:4px;margin:0;padding:0;list-style:none;display:grid}.subject-links a{color:var(--foreground);border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 8px;display:flex}.subject-links a:hover{background:var(--muted)}.subject-links .i{color:var(--primary-ink)}.bb-chips.plain{margin-top:14px}.bb-chips.plain li{background:var(--card);border:1px solid var(--border);color:var(--foreground)}.offerings .eyebrow{margin-top:0}.offer-list{gap:4px;margin:0 0 12px;padding:0;list-style:none;display:grid}.offer-list a{border-radius:var(--radius-md);color:var(--foreground);border:1px solid #0000;gap:2px;padding:8px 12px;display:grid}.offer-list a:hover{background:var(--muted)}.offer-list a[aria-current]{background:var(--primary-soft);border-color:#10b98159}.offer-term{font-weight:500;font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.offer-term .i{color:var(--primary-ink)}.offer-list small{font-size:var(--fs-xs);padding-inline-start:20px}.photo-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.row-item{border-bottom:1px solid var(--border)}.row-item>summary{cursor:pointer;align-items:center;gap:10px;padding:10px 0;list-style:none;display:flex}.row-item>summary::-webkit-details-marker{display:none}.row-item>summary>span:last-child{min-width:0;display:grid}.row-item>summary .pub-year{padding:0}.row-item>summary p{margin:0}.row-item>summary>div{flex:1;min-width:0}.row-item[open]{padding-bottom:14px}.row-form .wide{grid-column:1/-1}.row-form+.eyebrow,.row-item+.eyebrow{margin-top:18px}.users-card{padding:8px;overflow-x:auto}.users{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.users th{text-align:start;color:var(--muted-foreground);font-weight:500;font-size:var(--fs-xs);padding:10px 12px}.users td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 12px}.u-name{white-space:nowrap;align-items:center;gap:10px;font-weight:500;display:flex}.u-name .avatar{width:32px;height:32px;font-size:var(--fs-xs)}.role-form{align-items:center;gap:6px;display:flex}.role-form select{width:auto;height:36px;padding-block:0}@media (max-width:900px){.profile-hero{grid-template-columns:auto minmax(0,1fr)}.ph-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.ph-stats li{min-width:0}}@media (max-width:560px){.profile-hero{grid-template-columns:1fr;justify-items:start}.ph-stats{grid-template-columns:1fr 1fr;width:100%}.pub{grid-template-columns:auto minmax(0,1fr)}.pub .chip-s{grid-column:2;justify-self:start}}.cc-media{position:relative}.cc-media .cover-top{visibility:hidden}.cover-badges{top:8px;pointer-events:none;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset-inline:8px}.cover-badges li{border-radius:var(--radius-xs);white-space:nowrap;color:#fff;-webkit-backdrop-filter:blur(8px);background:#0a0a0fad;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:.7rem;font-weight:500;display:inline-flex}.ccard-foot{margin-top:auto;padding-top:10px}.site-notice{background:var(--primary-soft);font-size:var(--fs-sm);border-bottom:1px solid var(--border);align-items:center;gap:10px;margin:0;padding:10px clamp(16px,3vw,40px);display:flex}.site-notice .i{color:var(--primary-ink);flex:none}.site-notice.warn{background:var(--accent-soft)}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.admin-head h1{margin:0}.admin-head .lead{max-width:60ch;margin:6px 0 0}.admin-head .lead a{color:var(--primary-ink)}.admin-tabs{background:var(--muted);border-radius:var(--radius-lg);scrollbar-width:none;gap:4px;margin:20px 0;padding:4px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs a{border-radius:var(--radius-sm);height:36px;font-size:var(--fs-sm);color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.admin-tabs a:hover{color:var(--foreground)}.admin-tabs a[aria-current]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-xs);font-weight:500}.admin-tabs a[aria-current] .i{color:var(--primary-ink)}.kpis{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;display:grid}.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);color:var(--foreground);grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;column-gap:12px;padding:16px 18px;display:grid}a.kpi{transition:border-color .18s,box-shadow .18s}a.kpi:hover{color:var(--foreground);border-color:var(--input);box-shadow:var(--shadow-sm)}.kpi-ic{border-radius:var(--radius-md);background:var(--primary-soft);width:40px;height:40px;color:var(--primary-ink);grid-row:1/3;place-items:center;display:grid}.kpi small{color:var(--muted-foreground);font-size:var(--fs-xs);align-self:end}.kpi b{font-size:var(--fs-2xl);font-weight:600;line-height:1.2}.kpi-sub{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted-foreground);grid-column:1/-1;margin-top:8px;padding-top:8px;line-height:1.8}.charts{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;margin-top:16px;display:grid}.charts .card{margin:0}.chart-card{padding:18px 20px}.chart-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.chart-head h2{font-size:var(--fs-base);margin:0;font-weight:600}.chart{position:relative}.chart-max{inset-inline-start:0;font-size:var(--fs-xs);color:var(--muted-foreground);position:absolute;top:-2px}.bars{border-bottom:1px solid var(--border);direction:ltr;align-items:flex-end;gap:2px;height:120px;padding-top:18px;display:flex}.bars .b{height:max(2px, calc(var(--h) * 100%));background:var(--primary);opacity:.85;border-radius:4px 4px 0 0;flex:1;transition:opacity .15s;position:relative}.bars .b:hover{opacity:1}.bars .b:before{content:"";position:absolute;inset:-40px -1px 0}.bars .b:hover:after{content:attr(data-tip);z-index:2;white-space:nowrap;border-radius:var(--radius-xs);background:var(--foreground);color:var(--background);font-size:var(--fs-xs);pointer-events:none;direction:rtl;padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%}.chart-axis{font-size:var(--fs-xs);color:var(--muted-foreground);direction:ltr;justify-content:space-between;margin-top:6px;display:flex}.chart-table{font-size:var(--fs-xs);margin-top:10px}.chart-table summary{cursor:pointer;color:var(--muted-foreground)}.chart-table table{border-collapse:collapse;width:100%;margin-top:8px}.chart-table td,.chart-table th{text-align:start;border-top:1px solid var(--border);padding:3px 6px}.admin-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.admin-2.wide-start{grid-template-columns:minmax(0,1fr) 320px}.admin-2>.card,.stack>.card{margin:0}.stack{gap:16px;display:grid}.admin-2>div{gap:16px;min-width:0;display:grid}.admin-2>div>.card{margin:0}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 16px;padding:14px 16px;display:flex}.toolbar .seg{scrollbar-width:none;max-width:100%;overflow-x:auto}.tool-search{flex:1;gap:8px;min-width:min(100%,260px);display:flex}.tool-search .field-icon{flex:1}.table-card{padding:6px;overflow-x:auto}.users td a{color:var(--foreground)}.users td a:hover{color:var(--primary-ink)}.users tbody tr:hover td{background:var(--background)}.users tr.is-hidden td{opacity:.65}.nowrap{white-space:nowrap}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.u-name{color:var(--foreground)}.role-chip{border-radius:var(--radius-xs);height:22px;font-size:var(--fs-xs);background:var(--muted);color:var(--muted-foreground);white-space:nowrap;vertical-align:middle;align-items:center;padding:0 8px;font-weight:500;display:inline-flex}.role-chip.teacher{background:var(--primary-soft);color:var(--primary-ink)}.role-chip.admin{color:#7c3aed;background:#7c3aed24}.role-chip.banned{color:var(--danger-ink);background:#d92d201f}:root[data-theme=dark] .role-chip.admin{color:#c4b5fd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .role-chip.admin{color:#c4b5fd}}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.empty-row{text-align:center;color:var(--muted-foreground);margin:0;padding:28px 16px}.log-list{margin:0;padding:0;list-style:none;display:grid}.log-list li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:9px 0;display:grid}.log-list li:first-child{border-top:0}.log-list time{white-space:nowrap;grid-area:1/2/3;align-self:center}.log-act{font-weight:500;font-size:var(--fs-sm);color:var(--foreground)}.card .eyebrow{margin-top:16px}.person{align-items:center;gap:16px;display:flex}.person h2{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.person p{margin:4px 0 0}.person a{color:var(--primary-ink)}.avatar.xl{width:64px;height:64px;font-size:var(--fs-xl);flex:none}.plain-list{margin:0;padding:0;list-style:none;display:grid}.plain-list li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.plain-list li:first-child{border-top:0}.plain-list a{color:var(--foreground);font-weight:500}.plain-list a:hover{color:var(--primary-ink)}.gap-top{margin-top:12px}.subject-rows .row-item>summary{flex-wrap:wrap;justify-content:flex-start}.subject-rows .row-item>summary .more{margin-inline-start:auto}.subject-rows{padding:4px 14px}.admin-posts{margin:0;padding:8px}.org{gap:16px;display:grid}.org>.card{margin:0}.org-head{align-items:center;gap:12px;display:flex}.org-head h2{font-size:var(--fs-lg);margin:0}.org-head p{margin:0}.org-head .btn{margin-inline-start:auto}.org-facs{gap:10px;margin-top:12px;display:grid}.org-fac{border-radius:var(--radius-xl);background:var(--background);padding:12px}.org-deps{padding:0;border-inline-start:2px solid var(--border);gap:6px;margin:8px 0 0;padding-inline-start:20px;list-style:none;display:grid}.inline-edit{align-items:center;gap:6px;display:flex}.inline-edit input{flex:1;min-width:0;height:38px;padding-block:0}.org-fac>.inline-edit input{font-weight:600}.inline-edit small{white-space:nowrap}.inline-edit.add input{background:0 0;border-style:dashed}.new-org h2{margin:0}.pager{justify-content:space-between;align-items:center;gap:12px;padding:12px 10px 6px;display:flex}.t-status{border-radius:var(--radius-sm);height:24px;font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.t-status:before{content:"";border-radius:var(--radius-pill);background:currentColor;width:6px;height:6px}.t-status.open{background:var(--accent-soft);color:#a15c00}.t-status.answered{background:var(--ok-soft);color:var(--ok-ink)}.t-status.closed{background:var(--muted);color:var(--muted-foreground)}:root[data-theme=dark] .t-status.open{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .t-status.open{color:#fbbf24}}.ticket-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;display:flex}.ticket-meta a{color:var(--primary-ink)}.thread{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.msg{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.msg-body{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:14px 16px}.msg-body p{margin:0}.msg-body .post-head{margin-bottom:6px}.msg.staff .msg-body{background:var(--primary-soft);border-color:#0000}.msg.internal .msg-body{background:var(--accent-soft);border-style:dashed}.narrow-form{max-width:none}.empty{text-align:center;justify-items:center;gap:6px;padding:40px 16px;display:grid}.empty h2{font-size:var(--fs-lg);margin:6px 0 0}.empty p{margin:0 0 10px}.empty .i{color:var(--primary-ink)}@media (max-width:900px){.admin-2.wide-start{grid-template-columns:1fr}}.side-me{color:inherit}.side-me:hover{color:var(--primary-ink)}.org-hero .face{background:var(--primary-soft)}.fac-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.fac-grid .card{margin:0}.fac-card h3{font-size:var(--fs-base);align-items:center;gap:8px;margin:0 0 10px;display:flex}.fac-card h3 .i{color:var(--primary-ink)}.dep-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.dep-list li{border-radius:var(--radius-md);background:var(--background);font-size:var(--fs-sm);justify-content:space-between;gap:8px;padding:6px 10px;display:flex}.dep-list a{color:var(--foreground)}.dep-list a:hover{color:var(--primary-ink)}.alogo{border-radius:var(--radius-lg);background:var(--primary-strong);color:#fff;object-fit:cover;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.alogo.md{width:52px;height:52px;font-size:var(--fs-lg)}.alogo.lg{width:76px;height:76px;font-size:var(--fs-xl);border-radius:var(--radius-2xl)}.alogo.xl{width:clamp(96px,12vw,132px);height:clamp(96px,12vw,132px);font-size:var(--fs-3xl);border-radius:var(--radius-card)}.agrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;display:grid}.acard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--foreground);transition:border-color .18s, box-shadow .18s, translate .25s var(--ease);flex-direction:column;gap:10px;padding:16px;display:flex}.acard:hover{color:var(--foreground);border-color:var(--input);box-shadow:var(--shadow-sm);translate:0 -2px}.acard-top{align-items:center;gap:12px;min-width:0;display:flex}.acard-top>span{gap:2px;min-width:0;display:grid}.acard-top strong{font-weight:600}.acard p{margin:0}.acard-foot{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:auto;padding-top:10px;display:flex}.acard-foot>span{align-items:center;gap:4px;display:inline-flex}.acard-foot .role-chip{margin-inline-start:auto}.egrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px;display:grid}.ecard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);color:var(--foreground);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.ecard:hover{color:var(--foreground);border-color:var(--input)}.ecard>.i{color:var(--muted-foreground)}.ecard-body{gap:2px;min-width:0;display:grid}.ecard-body strong{font-weight:600}.date-tile{border-radius:var(--radius-lg);background:var(--primary-soft);width:54px;height:58px;color:var(--primary-ink);place-items:center;line-height:1.1;display:grid}.date-tile b{font-size:var(--fs-xl);font-weight:700}.date-tile small{font-size:var(--fs-xs)}.past-events{margin-top:14px}.past-events summary{cursor:pointer;color:var(--muted-foreground);font-size:var(--fs-sm);margin-bottom:10px}.past-events .ecard{filter:grayscale(.7)}.council{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:12px;display:grid}.council-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--foreground);justify-items:center;gap:4px;padding:18px 12px;display:grid}.council-card:hover{color:var(--foreground);border-color:var(--primary)}.council-card .face{margin-bottom:6px}.council-card strong{font-weight:600}.council-title{font-size:var(--fs-xs);color:var(--primary-ink);background:var(--primary-soft);border-radius:var(--radius-xs);padding:2px 10px;font-weight:500}.goals-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.goals-list li{align-items:baseline;gap:8px;display:flex}.goals-list .i{color:var(--primary-ink);flex:none;translate:0 2px}.member-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.member-list a{border-radius:var(--radius-md);color:var(--foreground);font-size:var(--fs-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.member-list a:hover{background:var(--muted)}.join-box>summary{list-style:none}.join-box>summary::-webkit-details-marker{display:none}.join-box[open]>summary{display:none}.join-box .card{min-width:min(100%,360px);margin:0}.ph-actions form{margin:0}.ph-actions{align-items:center}.count-dot{border-radius:var(--radius-pill);background:var(--destructive);color:#fff;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:600;display:inline-grid}.pad-h{margin:0;padding:10px 12px 0}h2.pad-h{margin-bottom:8px}.cell-input{min-width:120px;height:36px;padding:0 10px}.cell-input.num{width:64px;min-width:0}.mini-assoc{color:var(--foreground);align-items:center;gap:12px;display:flex}.mini-assoc span{display:grid}.event-facts .includes{margin-bottom:14px}.event-facts a{color:var(--primary-ink)}.council-card{align-content:start}.profile-tabs{margin-bottom:16px}.users input[type=checkbox]{accent-color:var(--primary-strong);width:18px;height:18px}main{row-gap:clamp(20px,2.4vw,28px)}main>:not(.carousel):not(.course-banner){margin-block:0}main>:not(.carousel):not(.course-banner):is(.section-head,.row,.profile-sec){margin-top:clamp(8px,1.6vw,20px)}.rte{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);font-weight:400;transition:border-color .18s,box-shadow .18s;overflow:hidden}.rte:focus-within{border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft)}.rte-bar{border-bottom:1px solid var(--border);background:var(--background);z-index:2;flex-wrap:wrap;align-items:center;gap:2px 4px;padding:6px;display:flex;position:sticky;top:0}.rte-group{border-inline-end:1px solid var(--border);align-items:center;gap:1px;margin-inline-end:2px;padding-inline-end:4px;display:flex}.rte-group:last-child{border:0}.rte-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.rte-btn:hover{background:var(--muted);color:var(--foreground)}.rte-btn.on{background:var(--primary-soft);color:var(--primary-ink)}.rte-btn:focus-visible,.rte-chip:focus-visible{outline:2px solid var(--primary-ink);outline-offset:1px}.rte-select{border-radius:var(--radius-sm);width:auto;height:32px;font-size:var(--fs-sm);background:var(--card);padding:0 10px}.rte-color{border-radius:var(--radius-sm);cursor:pointer;background:var(--card);width:32px;height:32px;padding:3px}.rte-table{background:var(--primary-soft);gap:4px}.rte-table[hidden]{display:none}.rte-chip{font:inherit;font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);height:28px;color:var(--foreground);cursor:pointer;padding:0 10px}.rte-chip:hover{border-color:var(--primary)}.rte-content{outline:none;min-height:160px;max-height:70vh;padding:14px 16px;line-height:2;overflow-y:auto}.rte-foot{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted-foreground);background:var(--background);padding:6px 12px}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted-foreground);float:right;pointer-events:none;height:0}.rte-content .selectedCell{background:var(--primary-soft)}.rte-content img.ProseMirror-selectednode,.rte-content .ProseMirror-selectednode{outline:2px solid var(--primary)}.rich{white-space:normal;overflow-wrap:anywhere}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich p{margin:0 0 .9em}.rich h2{font-size:var(--fs-xl);margin:1.2em 0 .4em}.rich h3{font-size:var(--fs-lg);margin:1.1em 0 .35em}.rich h4{font-size:var(--fs-base);margin:1em 0 .3em}.rich ul,.rich ol{margin:0 0 .9em;padding-inline-start:1.5em}.rich blockquote{border-inline-start:3px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius-xs);margin:0 0 1em;padding:6px 16px}.rich code{background:var(--muted);border-radius:var(--radius-xs);direction:ltr;unicode-bidi:isolate;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.88em}.rich pre{text-align:left;color:#e6e6ec;border-radius:var(--radius-xl);direction:ltr;background:#0f1115;margin:0 0 1em;padding:14px 16px;overflow-x:auto}.rich pre code{color:inherit;background:0 0;padding:0}.rich mark{color:#1a1a1a;background:#fde68a;border-radius:3px;padding:0 2px}.rich hr{border:0;border-top:1px solid var(--border);margin:1.4em 0}.rich a{color:var(--primary-ink);text-underline-offset:3px;text-decoration:underline}.rich img{border-radius:var(--radius-xl);max-width:100%;height:auto;margin:0 0 1em;display:block}.rich table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin:0 0 1em;display:block;overflow-x:auto}.rich th,.rich td{border:1px solid var(--border);text-align:start;vertical-align:top;min-width:80px;padding:8px 10px}.rich th{background:var(--background);font-weight:600}.rich td p,.rich th p{margin:0}.rich ul[data-type=taskList]{padding-inline-start:0;list-style:none}.rich li[data-type=taskItem]{align-items:flex-start;gap:8px;display:flex}.rich li[data-type=taskItem]>label{flex:none;margin-top:5px}.rich li[data-type=taskItem]>div{flex:1}.rich li[data-type=taskItem] input{accent-color:var(--primary-strong);width:16px;height:16px}.rich li[data-checked=true]>div{color:var(--muted-foreground);text-decoration:line-through}.rich div[data-youtube-video]{margin:0 0 1em}.rich iframe{aspect-ratio:16/9;border-radius:var(--radius-xl);background:#000;border:0;width:100%;height:auto}.rich a.attach,.rte-content a.attach{max-width:420px;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);align-items:center;gap:10px;margin:0 0 1em;padding:10px 14px;text-decoration:none;display:flex}.rich a.attach:before,.rte-content a.attach:before{content:"";border-radius:var(--radius-md);background:var(--primary-soft) no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");flex:none;width:34px;height:34px}.rich a.attach:hover{border-color:var(--primary)}.attach-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.attach-size{font-size:var(--fs-xs);color:var(--muted-foreground);white-space:nowrap;margin-inline-start:auto}.post .rich,.msg-body .rich{font-size:var(--fs-sm)}.prose.rich{white-space:normal;max-width:none}.cta-card{border-radius:var(--radius-card);background:linear-gradient(135deg, var(--primary-soft), transparent 70%), var(--card);border:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(18px,3vw,28px);display:grid}.cta-card h2{font-size:var(--fs-xl);margin:0 0 4px}.cta-card p{max-width:62ch;margin:0}.cta-ic{border-radius:var(--radius-lg);background:var(--primary-strong);color:#fff;place-items:center;width:52px;height:52px;display:grid}.review h2{font-size:var(--fs-lg);margin:0 0 4px}.review h2 a{color:var(--foreground)}.poster{border-radius:var(--radius-xl);background:var(--muted);display:block;overflow:hidden}.poster img{object-fit:contain;width:100%;height:100%;display:block}.poster[data-shape=a4]{aspect-ratio:1/1.414}.poster[data-shape=portrait]{aspect-ratio:4/5}.poster[data-shape=landscape]{aspect-ratio:16/9}.poster-frame{border-radius:var(--radius-card);background:var(--card);border:1px solid var(--border);padding:8px;display:block}.poster-frame:hover{border-color:var(--primary)}.poster.mini{flex:none;width:72px}.poster-row{align-items:stretch;gap:12px;display:flex}.poster-row .file-drop{flex:1}.ecard.has-poster{grid-template-columns:auto auto minmax(0,1fr) auto}.poster.thumb{border-radius:var(--radius-md);width:56px}.poster.thumb[data-shape=landscape]{width:92px}.shape-pick{flex-wrap:wrap;gap:10px;display:flex}.shape-opt{border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--fs-xs);justify-items:center;padding:10px 14px;gap:6px!important;display:grid!important}.shape-opt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.shape-opt input{opacity:0;pointer-events:none;position:absolute}.shape-opt:has(input:focus-visible){outline:2px solid var(--primary-ink);outline-offset:2px}.shape-box{opacity:.7;border:2px solid;border-radius:4px;height:40px;display:block}.shape-box[data-shape=a4]{width:28px}.shape-box[data-shape=portrait]{width:32px}.shape-box[data-shape=landscape]{width:64px;height:36px}.pubgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:14px;display:grid}.pubcard{color:var(--foreground);gap:4px;min-width:0;display:grid}.pubcard:hover{color:var(--foreground)}.pubcard:hover .pub-cover{box-shadow:var(--shadow-lg);translate:0 -3px}.pub-cover{aspect-ratio:1/1.414;border-radius:var(--radius-lg);background:var(--muted);border:1px solid var(--border);transition:translate .25s var(--ease), box-shadow .25s;margin-bottom:6px;display:block;overflow:hidden}.pub-cover img{object-fit:cover;width:100%;height:100%;display:block}.pub-ph{text-align:center;background:linear-gradient(160deg, var(--primary-strong), #064e3b);color:#fff;place-items:center;height:100%;padding:14px;font-weight:700;display:grid}.pubcard strong{font-weight:600;font-size:var(--fs-sm)}.pubcard small{font-size:var(--fs-xs)}@media (max-width:760px){.cta-card{grid-template-columns:1fr}.cta-ic{display:none}}.attendees{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.attendees a{border-radius:var(--radius-md);color:var(--foreground);font-size:var(--fs-sm);align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.attendees a:hover{background:var(--muted)}h2.pad-h small{font-size:var(--fs-xs);font-weight:400}.cascade{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.cascade select:disabled{opacity:.55}.rail .cascade,.stack .cascade{grid-template-columns:1fr}@media (max-width:760px){.cascade{grid-template-columns:1fr}}.admin-2.wide-start>.card .cascade{grid-template-columns:1fr}.new-course{gap:16px;display:grid}.new-course>.card{margin:0}.new-course h2{font-size:var(--fs-lg);margin:0}.invites h2{font-size:var(--fs-lg);align-items:center;gap:8px;margin:0 0 6px;display:flex}.invites .i{color:var(--primary-ink)}.list-row .t-status{margin-top:4px}.chip-pick{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.chip-pick legend{font-size:var(--fs-sm);margin-bottom:8px;padding:0;font-weight:500}.chip-pick>div{flex-wrap:wrap;gap:6px;display:flex}.chip-opt{cursor:pointer;position:relative;display:inline-flex!important}.chip-opt input{opacity:0;pointer-events:none;position:absolute}.chip-opt span{border:1px solid var(--input);border-radius:var(--radius-lg);background:var(--card);height:36px;font-size:var(--fs-sm);align-items:center;padding:0 14px;font-weight:400;transition:border-color .15s,background .15s;display:inline-flex}.chip-opt:hover span{border-color:var(--primary)}.chip-opt input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);font-weight:600}.chip-opt input:focus-visible+span{outline:2px solid var(--primary-ink);outline-offset:2px}.chip-opt[data-v=high] input:checked+span{border-color:var(--destructive);color:var(--destructive);background:#d92d201a}:is(.note-groups,.tgrid,.agrid,.charts,.fac-grid,.kpis,.admin-2,.stack,.new-course,.org)>.card+.card{margin-top:0}:root{--bar-h:64px}.m-only,.brand-m,.tabbar,.search-close{display:none}.side{padding:0 12px 12px}.side-head{height:var(--bar-h);border-bottom:1px solid var(--border);box-sizing:border-box;margin:0 -12px;padding:0 16px 0 12px}.topbar{height:var(--bar-h);border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--background) 85%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:none;grid-template-columns:minmax(max-content,1fr) minmax(0,520px) minmax(max-content,1fr);align-items:center;gap:16px;padding:0 clamp(16px,3vw,40px);display:grid}.topbar .field-pick{grid-column:1;justify-self:start}.topbar .top-search{grid-column:2;position:relative}.topbar .top-actions{grid-column:3;justify-self:end;gap:8px}.side-nav{margin-top:20px}.field-pick{position:relative}.field-pick>summary{list-style:none}.field-pick>summary::-webkit-details-marker{display:none}.field-btn{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);cursor:pointer;max-width:260px;height:40px;font-size:var(--fs-sm);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.field-btn:hover,.field-pick[open] .field-btn{border-color:var(--input)}.field-btn .i:first-child{color:var(--primary-ink);flex:none}.fb-label{color:var(--muted-foreground)}.field-btn b{min-width:0;font-weight:600}@media (max-width:1100px){.fb-label{display:none}.field-btn b{max-width:120px}}.field-menu{top:calc(100% + 8px);z-index:30;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);width:280px;max-height:60vh;box-shadow:var(--shadow-lg);gap:2px;padding:8px;display:grid;position:absolute;inset-inline-start:0;overflow-y:auto}.field-menu p{margin:2px 8px 6px}.field-menu button,.field-chips button{font:inherit;cursor:pointer}.field-menu button{border-radius:var(--radius-md);color:var(--foreground);font-size:var(--fs-sm);text-align:start;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.field-menu button:hover{background:var(--muted)}.field-menu button[aria-current]{background:var(--primary-soft);color:var(--primary-ink);font-weight:600}.field-menu small{color:var(--muted-foreground)}.field-note{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-xs);vertical-align:middle;align-items:center;gap:4px;margin:0 8px 0 0;padding:2px 4px 2px 10px;font-weight:500;display:inline-flex}.field-note button{border-radius:var(--radius-xs);width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.field-note button:hover{background:#0000000f}.top-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-pop{top:calc(100% + 8px);z-index:30;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);max-height:min(70vh,560px);box-shadow:var(--shadow-lg);color:var(--foreground);padding:6px;position:absolute;inset-inline:0;overflow-y:auto}.sp-group{padding:4px 0}.sp-group+.sp-group{border-top:1px solid var(--border)}.sp-head{font-size:var(--fs-xs);color:var(--muted-foreground);padding:6px 10px 4px;font-weight:600;display:block}.sp-item{border-radius:var(--radius-md);color:var(--foreground);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:2px 10px;padding:7px 10px;display:grid}.sp-item:hover,.sp-item[aria-selected=true]{background:var(--muted);color:var(--foreground)}.sp-ic{border-radius:var(--radius-sm);background:var(--primary-soft);width:32px;height:32px;color:var(--primary-ink);grid-row:1/3;place-items:center;display:grid}.sp-item b{font-weight:500;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sp-item b mark{color:var(--primary-ink);background:0 0;font-weight:700}.sp-item small{font-size:var(--fs-xs);color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sp-all{border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--primary-ink);justify-content:space-between;align-items:center;margin-top:4px;padding:10px;font-weight:500;display:flex}.sp-all[aria-selected=true],.sp-all:hover{background:var(--muted);border-radius:var(--radius-md)}.sp-empty{text-align:center;color:var(--muted-foreground);font-size:var(--fs-sm);margin:0;padding:18px 12px}.search-group{margin:0}.search-group h2{font-size:var(--fs-lg);align-items:center;gap:8px;margin:0 0 8px;display:flex}.search-group h2 .i{color:var(--primary-ink)}.search-list{margin:0;padding:0;list-style:none;display:grid}.search-list li+li{border-top:1px solid var(--border)}.search-list a{color:var(--foreground);gap:2px;padding:10px 4px;display:grid}.search-list a:hover b{color:var(--primary-ink)}.site-foot{border-top:1px solid var(--border);background:var(--card);padding:40px clamp(16px,3vw,40px) 28px}.sf-in{max-width:var(--content-w);grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;margin:0 auto;display:grid}.sf-brand .brand{padding:0}.sf-brand p{max-width:34ch;margin:10px 0 0;line-height:1.9}.sf-col{font-size:var(--fs-sm);align-content:start;gap:8px;display:grid}.sf-col h2{font-size:var(--fs-sm);margin:0 0 4px;font-weight:600}.sf-col a{color:var(--muted-foreground);width:max-content;max-width:100%}.sf-col a:hover{color:var(--primary-ink)}.sf-bottom{max-width:var(--content-w);border-top:1px solid var(--border);color:var(--muted-foreground);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:32px auto 0;padding-top:22px;display:flex}.sf-mark{max-width:var(--content-w);text-align:center;letter-spacing:-.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background:linear-gradient(180deg, color-mix(in oklab, var(--foreground) 16%, transparent) 0%, color-mix(in oklab, var(--foreground) 7%, transparent) 55%, transparent 92%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:18px auto calc(-40px - .2em);font-size:clamp(4.5rem,21vw,17rem);font-weight:900;line-height:1}.site-foot{overflow:hidden}main{padding-bottom:64px}.about-hero{text-align:center;padding:clamp(12px,3vw,32px) 0 0}.about-hero .eyebrow{justify-content:center}.about-hero h1{margin:6px 0 10px}.about-hero .lead{margin:0 auto}.hl{color:var(--primary-ink)}.about-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.about-stats li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);justify-items:center;gap:2px;padding:18px 10px;display:grid}.about-stats b{font-size:var(--fs-2xl);font-weight:700}.about-stats small{color:var(--muted-foreground)}.team-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px;display:grid}.team-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);align-content:start;justify-items:center;gap:6px;padding:24px 16px;display:grid}.team-card h3{font-size:var(--fs-lg);margin:8px 0 0}.team-card p{margin:4px 0 0}.team-card .face{object-fit:cover}@media (max-width:760px){:root{--bar-h:58px}.side,.d-only{display:none}.m-only{place-items:center;display:inline-grid}.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:0 16px}.brand-m{font-size:var(--fs-base);grid-column:1;padding:0;display:flex}.brand-m .logo{width:32px;height:32px}.topbar .field-pick{display:none}.topbar .top-actions{grid-column:3;gap:4px}.topbar .top-actions .btn.sm{height:36px}.topbar .top-search{display:none}body.searching .topbar .top-search{inset:calc((var(--bar-h) - 44px) / 2) 12px auto;z-index:40;height:44px;box-shadow:var(--shadow-lg);display:flex;position:fixed}body.searching .search-close{display:grid}body.searching:after{content:"";z-index:35;background:#00000059;position:fixed;inset:0}body.searching .search-pop{max-height:calc(100vh - 90px)}.field-chips{scrollbar-width:none;border-bottom:1px solid var(--border);gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.field-chips::-webkit-scrollbar{display:none}.field-chips button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);height:34px;color:var(--foreground);font-size:var(--fs-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.field-chips button[aria-current]{background:var(--foreground);color:var(--background);border-color:#0000;font-weight:600}.field-chips small{opacity:.6;font-size:var(--fs-xs)}.tabbar{z-index:30;inset:auto 12px calc(10px + env(safe-area-inset-bottom));border-radius:var(--radius-card);border:1px solid var(--border);background:color-mix(in oklab, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:fixed;box-shadow:0 10px 30px -12px #0f122859}.tab{border-radius:var(--radius-2xl);height:56px;color:var(--muted-foreground);cursor:pointer;align-content:center;justify-items:center;gap:3px;font-size:.7rem;font-weight:500;line-height:1;list-style:none;display:grid}.tab::-webkit-details-marker{display:none}.tab .i,.tab-av{width:22px;height:22px}.tab[aria-current],.tab-more[open]>.tab{background:var(--muted);color:var(--foreground)}.tab[aria-current] .i{color:var(--primary-ink)}.tab-av{border-radius:var(--radius-pill);background:var(--primary-strong);color:#fff;place-items:center;font-size:.7rem;font-weight:700;display:grid}.tab-more{position:relative}.tab-sheet{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);width:min(290px,100vw - 24px);box-shadow:var(--shadow-lg);bottom:calc(100% + 12px);gap:2px;padding:8px;display:grid;position:absolute;inset-inline-end:-2px}.ts-me{border-bottom:1px solid var(--border);color:var(--foreground);align-items:center;gap:10px;margin-bottom:4px;padding:8px;display:flex}.ts-me span:last-child{min-width:0;display:grid}.tab-sheet>.btn{margin-bottom:4px}.ts-link{border-radius:var(--radius-md);color:var(--foreground);font-size:var(--fs-sm);align-items:center;gap:12px;padding:11px 10px;display:flex}.ts-link .i{color:var(--muted-foreground)}.ts-link[aria-current]{background:var(--primary-soft);color:var(--primary-ink)}.ts-row{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:4px;padding:6px 4px 0;display:flex}.ts-row form{margin:0}.ts-row form:last-child{margin-inline-start:auto}main{padding-bottom:32px}.site-foot{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.sf-mark{margin-bottom:-.12em;font-size:23vw}.sf-in{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}.about-stats{grid-template-columns:1fr 1fr}.lessonbar{inset-inline:12px;bottom:calc(92px + env(safe-area-inset-bottom))}.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{grid-template-columns:1fr;padding:12px}.kpi-ic{display:none}.kpi b{font-size:var(--fs-xl)}body.searching .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:40}body.searching .topbar .top-search{z-index:41;width:auto}}.profile-sec>.section-head{margin-top:0}:root[data-side=mini] .side-head{height:var(--bar-h);flex-direction:row;justify-content:center;gap:0;padding:0}:root[data-side=mini] .side-head .brand{display:none}:root[data-side=mini] .side-toggle{width:40px;height:40px}:root[data-side=mini] .side-nav{margin-top:20px}:root[data-side=mini] .side-nav a{justify-content:center;padding:10px}:root[data-side=mini] .side-foot{justify-items:center}.st-logo{display:none}.st-icon{place-items:center;display:grid}:root[data-side=mini] .side-toggle{border-radius:var(--radius-md);width:40px;height:40px;position:relative}:root[data-side=mini] .side-toggle .st-logo{width:36px;height:36px;transition:opacity .15s;display:grid}:root[data-side=mini] .side-toggle .st-icon{opacity:0;transition:opacity .15s;position:absolute;inset:0}:root[data-side=mini] .side-toggle:is(:hover,:focus-visible) .st-logo{opacity:0}:root[data-side=mini] .side-toggle:is(:hover,:focus-visible) .st-icon{opacity:1}:root[data-side=mini] .side-toggle:hover{background:var(--muted)}button{font-family:inherit}.side-toggle{font:inherit}.lessonbar-in{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.lb-actions{justify-self:end;align-items:center;gap:10px;display:flex}.lb-outline{border-radius:var(--radius-xl);min-width:0;max-width:100%;color:var(--foreground);border:1px solid #0000;justify-self:center;align-items:center;gap:10px;padding:6px 12px 6px 8px;transition:background .15s,border-color .15s;display:inline-flex}.lb-outline:hover{color:var(--foreground);background:color-mix(in oklab, var(--foreground) 6%, transparent);border-color:var(--border)}.lb-outline>.i:last-child{color:var(--muted-foreground);flex:none}.lb-text{min-width:0;line-height:1.5;display:grid}.lb-text b{font-size:var(--fs-sm);font-weight:600}.lb-text small{font-size:var(--fs-xs);color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lb-ic{border-radius:var(--radius-md);background:var(--primary-soft);width:38px;height:38px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.ring{--p:0;border-radius:var(--radius-pill);background:conic-gradient(var(--primary) calc(var(--p) * 1%), color-mix(in oklab, var(--foreground) 12%, transparent) 0);flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.ring:before{content:"";border-radius:var(--radius-pill);background:var(--card);position:absolute;inset:4px}.ring b{font-size:.68rem;font-weight:700;position:relative}dialog.sheet{border:1px solid var(--border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--card);width:min(720px,100%);max-width:100%;max-height:min(82vh,760px);color:var(--foreground);box-shadow:var(--shadow-lg);border-bottom:0;flex-direction:column;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}dialog.sheet[open]{animation:sheet-up .32s var(--ease);display:flex}dialog.sheet::backdrop{background:#08080c73;animation:.2s fade-in}dialog.sheet.closing{animation:.22s forwards sheet-down}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){dialog.sheet[open],dialog.sheet.closing,dialog.sheet::backdrop{animation:none}}.sheet-grab{cursor:grab;touch-action:none;flex:none;place-items:center;height:22px;display:grid}.sheet-grab span{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--foreground) 18%, transparent);width:44px;height:5px}.sheet-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 20px 14px;display:flex}.sheet-head h2{font-size:var(--fs-lg);margin:0}.sheet-head .eyebrow{margin:0 0 2px}.sheet-progress{gap:4px;min-width:min(360px,60vw);margin-top:10px;display:grid}.sheet-body{overscroll-behavior:contain;padding:8px 12px;overflow-y:auto}.sheet-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);flex:none}.os-sec{border-radius:var(--radius-xl)}.os-sec+.os-sec{margin-top:4px}.os-sec>summary{border-radius:var(--radius-xl);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 8px;list-style:none;display:grid}.os-sec>summary::-webkit-details-marker{display:none}.os-sec>summary:hover{background:var(--muted)}.os-sec>summary>.i:last-child{color:var(--muted-foreground);transition:rotate .2s var(--ease)}.os-sec[open]>summary>.i:last-child{rotate:180deg}.os-no{border-radius:var(--radius-md);background:var(--primary-soft);width:32px;height:32px;color:var(--primary-ink);font-weight:600;font-size:var(--fs-sm);place-items:center;display:grid}.os-title{min-width:0;display:grid}.os-title b{font-weight:600}.os-done{border-radius:var(--radius-pill);background:var(--ok);color:#fff;place-items:center;width:22px;height:22px;display:grid}.os-items{padding:0;border-inline-start:2px solid var(--border);margin:2px 0 8px;gap:2px;margin-inline-start:23px;padding-inline-start:22px;list-style:none;display:grid}.os-item{border-radius:var(--radius-lg);color:var(--foreground);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}a.os-item:hover{background:var(--muted);color:var(--foreground)}.os-item[aria-current]{background:var(--primary-soft);box-shadow:inset 0 0 0 1px #10b98159}.os-item.locked{color:var(--muted-foreground)}.os-item-title{min-width:0;display:grid}.os-item-title b{font-weight:500;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.os-item-title small{font-size:var(--fs-xs)}.os-state{border-radius:var(--radius-pill);border:1.5px solid var(--border);width:28px;height:28px;color:var(--muted-foreground);background:var(--card);place-items:center;display:grid}.os-state[data-state=done]{background:var(--ok);border-color:var(--ok);color:#fff}.os-state[data-state=here]{border-color:var(--primary);color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft)}.os-here{font-style:normal;font-size:var(--fs-xs);color:var(--primary-ink);white-space:nowrap;font-weight:600}@media (max-width:760px){.lb-prev .lb-text,.lb-hint{display:none}.lb-prev{width:44px;padding:0}.lb-outline{gap:8px;padding-inline:4px}.lb-outline>.i:last-child{display:none}.lb-actions .btn{padding-inline:14px}dialog.sheet{max-height:88vh}}@supports (corner-shape:squircle){.ring,.ring:before,.os-state,.os-done,.tab-av{corner-shape:round}}body:has(.lessonbar) .site-foot{padding-bottom:120px}@media (max-width:760px){body:has(.lessonbar) .site-foot{padding-bottom:calc(190px + env(safe-area-inset-bottom))}}.vtick{border-radius:var(--radius-pill);color:#fff;vertical-align:-2px;background:#1d9bf0;flex:none;place-items:center;width:16px;height:16px;display:inline-grid}h1 .vtick,h2 .vtick{vertical-align:2px;width:20px;height:20px}h1 .vtick svg,h2 .vtick svg{width:13px;height:13px}@supports (corner-shape:squircle){.vtick{corner-shape:round}}.teacher .vtick{margin-inline-start:4px}.role-chip.custom{color:#1a7fc4;background:#1d9bf01f}:root[data-theme=dark] .role-chip.custom{color:#7cc4f5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .role-chip.custom{color:#7cc4f5}}.ph-role{margin:6px 0 0}.role-card{padding:0}.role-card>summary{cursor:pointer;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 20px;list-style:none;display:grid}.role-card>summary::-webkit-details-marker{display:none}.role-card[open]>summary{border-bottom:1px solid var(--border)}.role-card>:not(summary){margin-inline:20px}.role-card>form{margin-bottom:20px}.role-name{align-items:center;gap:6px;display:inline-flex}.perm-chips{flex-wrap:wrap;gap:4px;display:flex}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px 18px;display:grid}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-head h2{margin:0}.head-act{margin-bottom:10px}.cropper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.crop-preview{border:1px dashed var(--input);border-radius:var(--radius-2xl);background:var(--background);align-content:start;justify-items:center;gap:8px;min-height:120px;padding:10px;display:grid}.crop-preview>img{border-radius:var(--radius-lg);object-fit:contain;max-width:100%;max-height:260px}.crop-preview>.muted{align-self:center;padding:30px 0}.crop-stage{border-radius:var(--radius-lg);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#111;width:min(100%,320px);position:relative;overflow:hidden}.crop-stage:active{cursor:grabbing}.crop-stage img{transform-origin:50%;pointer-events:none;max-width:none;position:absolute;top:50%;left:50%}.crop-grid{pointer-events:none;background:linear-gradient(90deg,#0000 33.2%,#ffffff59 33.3% 33.5%,#0000 33.6% 66.5%,#ffffff59 66.6% 66.8%,#0000 66.9%),linear-gradient(#0000 33.2%,#ffffff59 33.3% 33.5%,#0000 33.6% 66.5%,#ffffff59 66.6% 66.8%,#0000 66.9%);position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffffd9}.crop-tools{align-items:center;gap:10px;width:100%;max-width:320px;display:flex}.crop-zoom{flex:1;align-items:center;gap:8px!important;font-weight:400!important;display:flex!important}.crop-zoom input{accent-color:var(--primary-strong);border:0;flex:1;height:auto;padding:0}.crop-side{gap:8px;display:grid}@media (max-width:760px){.cropper{grid-template-columns:1fr}}.shelf{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:22px 16px;display:grid}.bookcard{color:var(--foreground);align-content:start;gap:4px;min-width:0;display:grid}.bookcard:hover{color:var(--foreground)}.bookcard:hover .bcover{translate:0 -4px;box-shadow:0 18px 34px -16px #0f122873}.bookcard strong{font-weight:600;font-size:var(--fs-sm);margin-top:6px;line-height:1.6}.bookcard small{font-size:var(--fs-xs)}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bcover{aspect-ratio:2/3;background:var(--muted);transition:translate .25s var(--ease), box-shadow .25s;border-radius:6px 12px 12px 6px;display:block;position:relative;overflow:hidden;box-shadow:0 10px 22px -14px #0f122866,inset 4px 0 #00000014}.bcover img{object-fit:cover;width:100%;height:100%;display:block}.bcover.gen{color:#fff;background:linear-gradient(165deg, hsl(var(--h) 55% 42%), hsl(var(--h) 60% 22%));flex-direction:column;justify-content:space-between;padding:14px 12px;display:flex}.bcover.gen b{font-size:var(--fs-sm);-webkit-line-clamp:5;-webkit-box-orient:vertical;font-weight:700;line-height:1.6;display:-webkit-box;overflow:hidden}.bcover.gen small{opacity:.8;font-size:.68rem}.bcover.gen:before{content:"";background:#ffffff2e;width:2px;position:absolute;inset-block:0;inset-inline-end:8px}.bcover.lg{width:100%}.bcover.lg.gen b{font-size:var(--fs-xl);-webkit-line-clamp:6}.lib-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.book-hero{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,44px);padding:clamp(18px,3vw,32px);display:grid}.book-info h1{margin:0}.book-info .crumbs{margin:0 0 6px}.book-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.book-progress{gap:4px;max-width:360px;margin-top:14px;display:grid}.book-stats{font-size:var(--fs-sm);color:var(--muted-foreground);flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;padding:0;list-style:none;display:flex}.book-stats li{align-items:center;gap:6px;display:inline-flex}.book-by{margin:10px 0 0}.book-by a{color:var(--primary-ink)}.row-actions.start{justify-content:flex-start;margin-top:14px}.facts-list{margin:0;display:grid}.facts-list div{border-top:1px solid var(--border);font-size:var(--fs-sm);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.facts-list div:first-child{border-top:0}.facts-list dt{color:var(--muted-foreground)}.facts-list dd{text-align:end;margin:0;font-weight:500}@media (max-width:760px){.book-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.book-hero .book-cover-wrap{width:170px}.book-actions,.book-stats,.row-actions.start{justify-content:center}.book-progress{margin-inline:auto}}.reader-body{--rd-bg:#eceef2;--rd-fg:#16181d;--rd-bar:#ffffffe6;background:var(--rd-bg);height:100dvh;color:var(--rd-fg);grid-template-rows:auto minmax(0,1fr) auto;margin:0;display:grid}.reader-body[data-theme=paper]{--rd-bg:#efe6d2;--rd-bar:#faf4e6eb;--rd-fg:#3b2f1e}.reader-body[data-theme=night]{--rd-bg:#0d0f14;--rd-bar:#16181eeb;--rd-fg:#e6e6ec}.reader-body[data-theme=paper] canvas{filter:sepia(.35)brightness(.98)}.reader-body[data-theme=night] canvas{filter:invert(.9)hue-rotate(180deg)}.reader-body .icon-btn{color:var(--rd-fg)}.rd-bar,.rd-foot{background:var(--rd-bar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:2;align-items:center;gap:10px;padding:8px 12px;display:flex}.rd-bar{border-bottom:1px solid color-mix(in oklab, var(--rd-fg) 12%, transparent)}.rd-foot{border-top:1px solid color-mix(in oklab, var(--rd-fg) 12%, transparent);padding-bottom:calc(8px + env(safe-area-inset-bottom))}.rd-title{flex:1;min-width:0;line-height:1.5;display:grid}.rd-title b{font-size:var(--fs-sm)}.rd-title small{font-size:var(--fs-xs)}.rd-tools{align-items:center;gap:2px;font-size:1.2rem;display:flex}.rd-pages{overscroll-behavior:contain;direction:ltr;outline:none;align-content:start;justify-items:center;gap:14px;padding:18px 12px 30px;display:grid;overflow-y:auto}.rd-page-box{background:#fff;border-radius:4px;place-items:center;max-width:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 18px -8px #00000059}.reader-body[data-theme=night] .rd-page-box{background:#1a1c22}.rd-page-box canvas{max-width:100%;display:block;height:auto!important}.rd-num{color:#9aa0a6;font-size:var(--fs-sm);direction:rtl}.rd-loading{color:var(--muted-foreground);direction:rtl;margin:40px auto}.rd-page{font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.rd-page input{text-align:center;width:64px;height:34px;padding:0 8px}.rd-foot input[type=range]{accent-color:var(--primary-strong);direction:rtl;background:0 0;border:0;flex:1;height:auto;padding:0}.rd-toc-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rd-toc-list button{border-radius:var(--radius-md);width:100%;color:var(--foreground);font:inherit;font-size:var(--fs-sm);text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:12px;padding:10px;display:flex}.rd-toc-list button:hover{background:var(--muted)}.rd-toc-list small{color:var(--muted-foreground)}.note .note-read{margin-inline-end:6px}.note-subjects{gap:16px;display:grid}.note-subjects>.card{margin:0}.note-subject-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.note-subject-head h2{font-size:var(--fs-lg);margin:0}.note-offer{padding-top:12px}.note-offer+.note-offer{border-top:1px dashed var(--border);margin-top:12px}.note-offer .note-course-head{justify-content:flex-start;align-items:center;gap:10px;margin-bottom:10px;display:flex}.note-offer .note-course-head span:last-child{display:grid}.sr-hero{border-radius:var(--radius-card);background:linear-gradient(135deg, var(--primary-soft), transparent 70%), var(--card);border:1px solid var(--border);gap:12px;padding:clamp(16px,3vw,28px);display:grid}.sr-form{gap:10px;display:flex}.sr-input{flex:1}.sr-input input{height:52px;font-size:var(--fs-lg)}.sr-summary{color:var(--muted-foreground);margin:0}.sr-summary b{color:var(--foreground)}.sr-tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.sr-tabs::-webkit-scrollbar{display:none}.sr-tabs a{color:var(--muted-foreground);font-size:var(--fs-sm);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;display:inline-flex}.sr-tabs a:hover{color:var(--foreground)}.sr-tabs a[aria-current]{color:var(--foreground);border-bottom-color:var(--primary);font-weight:600}.sr-tabs small{border-radius:var(--radius-pill);background:var(--muted);font-size:var(--fs-xs);padding:0 7px}.sr-block{gap:12px;display:grid}.sr-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sr-head h2{font-size:var(--fs-xl);align-items:center;gap:8px;margin:0;display:flex}.sr-head h2 .i{color:var(--primary-ink)}.sr-head small{font-size:var(--fs-sm);font-weight:400}.sr-block>.card{margin:0}.sr-fields{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.chip-btn{font:inherit;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);height:34px;color:var(--foreground);cursor:pointer;padding:0 14px}.chip-btn:hover{border-color:var(--primary);color:var(--primary-ink)}@media (max-width:760px){.sr-form{flex-direction:column}}.course-info{margin:0 0 16px;padding:0}.course-info>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;list-style:none;display:grid}.course-info>summary::-webkit-details-marker{display:none}.course-info>summary .cover.thumb{width:96px}.ci-text{min-width:0;display:grid}.ci-text b{font-weight:600}.course-info[open]>summary{border-bottom:1px solid var(--border)}.course-info[open] .ci-edit{display:none}.ci-form{padding:18px 20px 20px}@media (max-width:760px){.course-info>summary{grid-template-columns:auto minmax(0,1fr)}.ci-edit{grid-column:1/-1;justify-self:start}}.course-banner .cb-in{grid-template-columns:minmax(0,1fr)}.course-banner .cb-text{max-width:760px}.course-banner.has-cover{background:#000;align-items:end;min-height:clamp(320px,42vw,440px);display:grid}.course-banner.has-cover>.cb-in{width:100%}.course-banner.has-cover:before{display:none}.course-banner.has-cover:after{background:linear-gradient(270deg,#000000db,#0000009e 48%,#00000047),linear-gradient(#0000 45%,#0000008c)}.cb-bg{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.course-banner.plain{color:var(--foreground);background:var(--card);border-bottom:1px solid var(--border)}.course-banner.plain:before{background:radial-gradient(70% 120% at 85% 20%, var(--primary-soft), transparent 70%), radial-gradient(60% 120% at 10% 100%, color-mix(in oklab, var(--key) 14%, transparent), transparent 70%)}.course-banner.plain:after{display:none}.course-banner.plain .bb-glyph{color:var(--primary);opacity:.08;display:block}.course-banner.plain .cb-text .crumbs,.course-banner.plain .cb-text .crumbs a{color:var(--muted-foreground)}.course-banner.plain .cb-text .crumbs a:hover{color:var(--foreground)}.course-banner.plain .bb-chips li{background:var(--background);border-color:var(--border);color:var(--foreground)}.course-banner.plain .bb-chips li a{color:inherit}.course-banner.plain .bb-lead{color:var(--muted-foreground)}.course-banner.plain a.cb-teacher{color:var(--foreground)}.course-banner.plain .cb-teacher small{color:var(--muted-foreground)}.course-banner.plain .cb-teacher .face{background:var(--primary-soft);color:var(--primary-ink)}.crop-current{display:inline-block;position:relative}.crop-current img{border-radius:var(--radius-lg);max-width:100%;max-height:260px;display:block}.crop-del{top:8px;border-radius:var(--radius-md);color:#fff;height:32px;font:inherit;font-size:var(--fs-xs);cursor:pointer;background:#d92d20eb;border:0;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex;position:absolute;inset-inline-end:8px;box-shadow:0 6px 16px -6px #00000080}.crop-del:hover{background:var(--destructive)}select:not([multiple]){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c6b73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:14px;background-repeat:no-repeat;background-size:16px;padding-inline-end:40px}select:not([multiple]),:root select:not([multiple]){background-position:14px!important;background-repeat:no-repeat!important;background-size:16px!important}select:not([multiple]):hover{border-color:color-mix(in oklab, var(--foreground) 30%, var(--input))}select:disabled{cursor:not-allowed}:root[data-theme=dark] select:not([multiple]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) select:not([multiple]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}select option,select optgroup{background:var(--card);color:var(--foreground)}.combo{display:block;position:relative}.combo-pop{top:calc(100% + 6px);z-index:25;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);max-height:260px;box-shadow:var(--shadow-lg);margin:0;padding:6px;font-weight:400;list-style:none;position:absolute;inset-inline:0;overflow-y:auto}.combo-pop li{border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);color:var(--foreground);padding:9px 12px}.combo-pop li[aria-selected=true],.combo-pop li:hover{background:var(--muted)}.combo-pop mark{color:var(--primary-ink);background:0 0;font-weight:700}.combo-pop .combo-new{color:var(--muted-foreground);font-size:var(--fs-xs);cursor:default}.combo-pop .combo-new:hover{background:0 0}.offerings>p.muted{margin:-4px 0 10px}.offer-term .chip-s{margin-inline-start:6px}.offer-new>summary{list-style:none}.offer-new>summary::-webkit-details-marker{display:none}.offer-new[open]>summary{display:none}.offer-new .form{border-radius:var(--radius-xl);background:var(--background);padding:12px}.offer-new .form p{margin:0}.copy-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.copy-list li{align-items:center;gap:8px;display:flex}.copy-list .yes .i{color:var(--ok)}.copy-list .no{color:var(--muted-foreground)}.sf-trust{max-width:var(--content-w);grid-template-columns:1fr 1fr;gap:16px;margin:28px auto 0;display:grid}.sf-strip{border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--background);align-content:start;gap:10px;padding:16px;display:grid}.sf-strip h2{font-size:var(--fs-sm);margin:0;font-weight:600}.sf-slots{flex-wrap:wrap;gap:8px;display:flex}.sf-slot{border:1.5px dashed var(--input);border-radius:var(--radius-lg);min-width:110px;height:56px;color:var(--muted-foreground);font-size:var(--fs-xs);text-align:center;flex:1;place-items:center;padding:0 12px;display:grid}.sf-slot.badge{flex:0 100px;min-width:90px;height:90px;line-height:1.6}.sf-sponsor{width:max-content;font-size:var(--fs-sm);color:var(--primary-ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.sf-sponsor:hover{color:var(--primary-ink);text-underline-offset:4px;text-decoration:underline}@media (max-width:760px){.sf-trust{grid-template-columns:1fr}}.row-assoc .track{grid-auto-columns:300px}.assoc-tile{--key:var(--primary);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);height:100%;color:var(--foreground);transition:border-color .18s, box-shadow .25s, translate .25s var(--ease);flex-direction:column;display:flex;overflow:hidden}.assoc-tile[data-p="0"]{--key:#4f56e8}.assoc-tile[data-p="1"]{--key:#c79a12}.assoc-tile[data-p="2"]{--key:#5a64b8}.assoc-tile[data-p="3"]{--key:#10a37a}.assoc-tile[data-p="4"]{--key:#7c5cf0}.assoc-tile[data-p="5"]{--key:#6b6b7b}.assoc-tile:hover{color:var(--foreground);border-color:color-mix(in oklab, var(--key) 55%, var(--border));box-shadow:0 18px 40px -22px color-mix(in oklab, var(--key) 70%, transparent);translate:0 -3px}.at-band{background:radial-gradient(120% 160% at 100% 0%, color-mix(in oklab, var(--key) 55%, transparent), transparent 70%), linear-gradient(135deg, color-mix(in oklab, var(--key) 22%, var(--card)), color-mix(in oklab, var(--key) 8%, var(--card)));border-bottom:1px solid color-mix(in oklab, var(--key) 18%, var(--border));justify-content:flex-end;align-items:flex-start;height:64px;padding:10px 12px;display:flex;position:relative}.at-open{font-size:var(--fs-xs);corner-shape:round;background:color-mix(in oklab, var(--card) 85%, transparent);color:var(--primary);border:1px solid color-mix(in oklab, var(--primary) 30%, transparent);border-radius:999px;padding:1px 9px;font-weight:600}.at-head{justify-items:start;gap:8px;margin:-30px 16px 0;display:grid;position:relative}.at-head .alogo{border:3px solid var(--card);background:var(--key);width:56px;height:56px;box-shadow:0 6px 16px -8px #00000073}.at-head img.alogo{background:#fff}.at-id{width:100%;min-width:0;line-height:1.6;display:grid}.at-id strong{font-weight:700;font-size:var(--fs-sm)}.at-id small{color:var(--muted-foreground);font-size:var(--fs-xs);align-items:center;gap:4px;display:flex}.at-about{color:var(--muted-foreground);font-size:var(--fs-xs);min-height:3.8em;margin:8px 16px 0;line-height:1.9}.at-next{border-radius:var(--radius-md);font-size:var(--fs-xs);background:color-mix(in oklab, var(--key) 9%, transparent);color:var(--foreground);align-items:center;gap:6px;margin:12px 16px 0;padding:7px 10px;display:flex}.at-next .i{color:var(--key);flex:none}.at-next b{font-weight:600}.at-next.quiet{color:var(--muted-foreground);background:var(--muted)}.at-stats{grid-template-columns:repeat(3,1fr);margin-top:auto;padding-top:14px;display:grid}.at-stats>span{border-top:1px solid var(--border);color:var(--muted-foreground);text-align:center;justify-items:center;gap:1px;padding:10px 4px 12px;font-size:11px;display:grid}.at-stats>span+span{border-inline-start:1px solid var(--border)}.at-stats b{font-size:var(--fs-base);color:var(--foreground);font-weight:700}@media (max-width:560px){.row-assoc .track{grid-auto-columns:80%}}.assoc-stats{font-size:var(--fs-xs);color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;gap:4px 10px;margin-top:auto;padding-top:8px;display:flex}.assoc-stats span{align-items:center;gap:4px;display:inline-flex}.course-banner.plain .bb-glyph{inset-inline-start:auto;left:5%;right:auto}.panel-tag{border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-xs);align-items:center;gap:8px;margin:18px 0 0;padding:6px 10px;font-weight:600;display:flex}.panel .side-nav:not(.panel-switch){margin-top:14px}.panel-switch{border-top:1px solid var(--border);margin-top:0;padding-top:10px}.panel-switch a{font-size:var(--fs-xs);color:var(--muted-foreground)}.panel-switch a .i{color:var(--muted-foreground)}.topbar.panel-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-bar .top-actions{margin-inline-start:auto}.panel main{padding-bottom:clamp(48px,6vw,80px)}:root[data-side=mini] .panel-tag{justify-content:center;padding:8px 0}:root[data-side=mini] .panel .side-nav:not(.panel-switch){margin-top:14px}@media (max-width:760px){.topbar.panel-bar .brand-m span:last-child{font-size:var(--fs-sm)}.panel main{padding-bottom:110px}}.acct-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.acct-head .avatar{width:56px;height:56px;font-size:var(--fs-xl);flex:none}.acct-head h1{margin:0}.acct-head .lead{margin:4px 0 0}.acct-courses{gap:10px;display:grid}.acct-course{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:14px 16px;display:grid}.acct-course .bar-row{grid-column:1/-1}.acct-course small{display:block}.sessions li{justify-content:space-between;align-items:center;gap:12px;display:flex}.side>.side-head,.side>.panel-tag,.side>.side-foot{flex:none}.side>.side-nav{scrollbar-width:thin;flex:0 auto;min-height:0;overflow-y:auto}.bdg{--bc:#10b981;--bc2:#6ee7b7;isolation:isolate;border:1px solid color-mix(in oklab, var(--bc) 38%, transparent);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--bc) 13%, var(--card));height:28px;color:color-mix(in oklab, var(--bc) 62%, var(--foreground));font-size:var(--fs-xs);white-space:nowrap;vertical-align:middle;cursor:default;align-items:center;gap:6px;padding:0 12px 0 10px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.bdg .i{color:var(--bc);flex:none}.bdg.lg{height:34px;font-size:var(--fs-sm);gap:8px;padding:0 15px 0 12px}.bdg[data-color=blue]{--bc:#3b82f6;--bc2:#93c5fd}.bdg[data-color=violet]{--bc:#8b5cf6;--bc2:#e879f9}.bdg[data-color=amber]{--bc:#f59e0b;--bc2:#fde68a}.bdg[data-color=rose]{--bc:#f43f5e;--bc2:#fda4af}.bdg[data-color=slate]{--bc:#64748b;--bc2:#cbd5e1}.bdg[data-color=gold]{--bc:#d4a017;--bc2:#fff1a8;background:linear-gradient(135deg, color-mix(in oklab, #f6d365 32%, var(--card)), color-mix(in oklab, #d4a017 16%, var(--card)))}.badges-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.bdg[data-fx=shine]:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg, transparent 30%, color-mix(in oklab, var(--bc2) 70%, white) 50%, transparent 70%);opacity:.55;animation:3.8s ease-in-out infinite bdg-shine;position:absolute;inset:0;translate:130%}@keyframes bdg-shine{0%,50%{translate:130%}to{translate:-130%}}.bdg[data-fx=glow]{animation:2.6s ease-in-out infinite bdg-glow;overflow:visible}@keyframes bdg-glow{50%{box-shadow:0 0 0 3px color-mix(in oklab, var(--bc) 16%, transparent), 0 0 16px color-mix(in oklab, var(--bc) 45%, transparent)}}@property --bdg-a{syntax:"<angle>";inherits:false;initial-value:0deg}.bdg[data-fx=aurora]{background:linear-gradient(color-mix(in oklab, var(--bc) 13%, var(--card)), color-mix(in oklab, var(--bc) 13%, var(--card))) padding-box, conic-gradient(from var(--bdg-a), var(--bc), var(--bc2), color-mix(in oklab, var(--bc) 20%, transparent) 45%, var(--bc2) 75%, var(--bc)) border-box;border:1.5px solid #0000;animation:4s linear infinite bdg-turn}@keyframes bdg-turn{to{--bdg-a:360deg}}.bdg[data-fx=float] .i{animation:2.4s ease-in-out infinite bdg-float}@keyframes bdg-float{50%{translate:0 -2px;rotate:-10deg}}@media (prefers-reduced-motion:reduce){.bdg,.bdg:after,.bdg .i{animation:none!important}}.bdg-preview{border:1px dashed var(--border);border-radius:var(--radius-xl);background:var(--muted);place-items:center;min-height:96px;display:grid}.icon-pick,.color-pick{flex-wrap:wrap;gap:6px;display:flex}.icon-pick label,.color-pick label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);cursor:pointer;place-items:center;width:38px;height:38px;display:grid;position:relative}.icon-pick input,.color-pick input{opacity:0;pointer-events:none;position:absolute}:is(.icon-pick label:has(input:checked),.color-pick label:has(input:checked)){border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft)}:is(.icon-pick label:has(input:focus-visible),.color-pick label:has(input:focus-visible)){outline:2px solid var(--primary-ink);outline-offset:2px}.color-pick .sw{border-radius:50%;width:20px;height:20px}.badge-card summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px 14px;list-style:none;display:flex}.badge-card summary::-webkit-details-marker{display:none}.holders{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.holders li{border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--fs-xs);align-items:center;gap:4px;padding:2px 4px 2px 10px;display:inline-flex}.holders form{margin:0}.price-badge{font-weight:600;background:color-mix(in oklab, var(--primary) 85%, black)!important;color:#fff!important}.pay-methods{border:0;gap:8px;margin:0;padding:0;display:grid}.pay-methods legend{margin-bottom:8px;font-weight:600}.pay-opt,.form .pay-opt{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.pay-opt input,.form .pay-opt input{width:auto;accent-color:var(--primary-strong);flex:none;margin-top:4px}.pay-opt span{gap:2px;display:grid}.pay-opt b{align-items:center;gap:6px;display:inline-flex}.pay-opt:has(input:checked){border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft)}.pay-opt.off{opacity:.55;cursor:not-allowed}.card-to{border-radius:var(--radius-xl);background:var(--muted);text-align:center;gap:4px;padding:16px;display:grid}.card-to b{font-size:var(--fs-xl);letter-spacing:.08em}.amount-in{color:var(--primary-ink);white-space:nowrap;font-weight:600}.amount-out{color:var(--danger,#e5484d);white-space:nowrap;font-weight:600}.receipt-row{grid-template-columns:96px 1fr;align-items:start;gap:14px;display:grid!important}.receipt-img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:96px;height:96px}.payout-row{gap:8px;display:grid!important}.card-rating{color:var(--accent-ink,#d4a017)}.card-rating .i{vertical-align:-2px}.sec-bad{color:var(--danger-ink)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sec-check{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sec-check li{align-items:flex-start;gap:10px;display:flex}.sec-check li>span{gap:2px;display:grid}.sec-check li.ok>svg{color:var(--ok);flex:none;margin-top:3px}.sec-check li.todo>svg{color:var(--destructive);flex:none;margin-top:3px}.sessions li>span:first-child{gap:2px;display:grid}.sessions li>form{flex:none}.video-up{gap:6px;display:grid}.video-up-label{font-weight:500}.video-up-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.video-up progress{min-width:140px;height:8px;accent-color:var(--primary,#059669);flex:1}.video-up label.btn{flex-direction:row;align-items:center;gap:6px;font-weight:500;display:inline-flex}a.btn,button.btn,label.btn{color:var(--primary-foreground)}.dlg{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:22px;width:min(460px,100vw - 32px);max-height:min(86dvh,720px);padding:0;transition:transform .22s cubic-bezier(.2,.8,.2,1);overflow:auto;box-shadow:0 30px 80px -24px #0000008c}.dlg[open]{animation:.2s cubic-bezier(.2,.8,.2,1) dlg-in}.dlg::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a0c80;animation:.2s dlg-fade}@keyframes dlg-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes dlg-fade{0%{opacity:0}}.dlg-grip{display:none}.dlg-in{gap:14px;padding:22px 22px 20px;display:grid}.dlg-head{align-items:flex-start;gap:12px;display:flex}.dlg-head h2{font-size:var(--fs-lg);flex:1;margin:0;line-height:1.7}.dlg-ic{background:color-mix(in oklab, var(--destructive) 12%, transparent);width:38px;height:38px;color:var(--danger-ink);border-radius:12px;flex:none;place-items:center;display:grid}.dlg-x{flex:none;margin:-6px -8px 0 0;font-size:1.4rem}.dlg-body{color:var(--muted-foreground);line-height:1.9;font-size:var(--fs-sm);margin-top:-6px}.dlg-fields{gap:12px;display:grid}.dlg-field{font-size:var(--fs-sm);gap:6px;font-weight:500;display:grid}.dlg-field b{color:var(--danger-ink)}.dlg-field textarea{resize:vertical;min-height:96px}.dlg-err{color:var(--danger-ink);font-size:var(--fs-sm);margin:0}.dlg-foot{flex-direction:row;justify-content:flex-start;gap:8px;margin-top:4px;display:flex}.dlg-foot .btn{min-width:110px}.btn.danger-btn:hover{background:#b42318}@media (max-width:640px){.dlg{width:100%;max-width:none;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:22px 22px 0 0;margin:auto 0 0}.dlg[open]{animation:.28s cubic-bezier(.2,.8,.2,1) sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}}.dlg-grip{cursor:grab;touch-action:none;place-items:center;height:26px;display:grid}.dlg-grip span{background:color-mix(in oklab, var(--foreground) 22%, transparent);border-radius:999px;width:42px;height:5px}.dlg-in{padding-top:4px}.dlg-x{display:none}.dlg-foot{flex-direction:column-reverse}.dlg-foot .btn{width:100%;min-height:48px}}.toasts{inset-inline:0;z-index:1000;pointer-events:none;justify-items:center;gap:8px;margin:0;padding:0 16px;list-style:none;display:grid;position:fixed;bottom:20px}.toast{pointer-events:auto;background:var(--foreground);max-width:min(520px,100%);color:var(--background);font-size:var(--fs-sm);border-radius:14px;align-items:center;gap:10px;padding:10px 10px 10px 14px;line-height:1.8;animation:.25s cubic-bezier(.2,.8,.2,1) toast-in;display:flex;box-shadow:0 14px 40px -14px #00000080}.toast>span{flex:1}.toast>svg{flex:none}.toast.ok>svg{color:#34d399}.toast.bad>svg{color:#f87171}.toast.info>svg{color:#60a5fa}:root[data-theme=light] .toast.ok>svg,:root:not([data-theme=dark]) .toast.ok>svg{color:#4ade80}.toast button{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:32px;min-height:32px;font-size:1.2rem}.toast button:hover{opacity:1;background:#ffffff1f}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:760px){.toasts{bottom:calc(96px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.dlg[open],.dlg::backdrop,.toast{animation:none}.dlg{transition:none}}.cover-uni{z-index:2;background:#ffffffeb;border-radius:50%;place-items:center;width:34px;height:34px;padding:4px;display:grid;position:absolute;inset-block-end:8px;inset-inline-end:8px;box-shadow:0 2px 8px #00000040}.cover-uni img{object-fit:contain;width:100%;height:100%;position:static}.org-logo{object-fit:contain;background:#fff;border-radius:10px;width:40px;height:40px;padding:3px}.cover-uni.lg{width:56px;height:56px;padding:7px;inset-block-end:16px;inset-inline-end:16px}.cover.xs .cover-uni,.cover.thumb .cover-uni{display:none}
