:root{--primary:#015dfd;--primary-hover:#0050e0;--primary-pressed:#0043bd;--primary-subtle:#eaf1ff;--primary-deep:#0a2f8f;--ink:#121212;--ink-hover:#2a2a2a;--text:#3d3d3d;--text-strong:#141414;--muted:#6e6e6e;--subtle:#a3a3a3;--border:#ebebeb;--border-strong:#d9d9d9;--bg:#fff;--bg-subtle:#f7f7f7;--bg-muted:#f0f0f0;--success:#08bd80;--success-subtle:#e6f8f2;--warning:#f5a524;--warning-subtle:#fff6e5;--danger:#eb5757;--danger-subtle:#fdecec;--rating:#ffb400;--footer-bg:#0b0f1a;--footer-bg-top:#101831;--footer-text:#9aa3b5;--footer-head:#fff;--footer-line:#ffffff17;--on-brand:#fff;--on-brand-muted:#ffffffc7;--on-brand-soft:#ffffff29;--video-bg:#0b0f14;--on-video:#fff;--video-scrim:#000000b8;--video-menu:#14181ef5;--video-line:#ffffff2e;--video-line-strong:#ffffff73;--tint-blue-bg:#eaf2ff;--tint-blue:#015dfd;--tint-violet-bg:#f1edff;--tint-violet:#6e4bff;--tint-rose-bg:#ffeef0;--tint-rose:#f0435a;--tint-amber-bg:#fff5e3;--tint-amber:#f59e0b;--tint-green-bg:#e8f8f1;--tint-green:#10b981;--tint-pink-bg:#ffeff5;--tint-pink:#ec4899;--tint-sky-bg:#e8f6ff;--tint-sky:#0ea5e9;--tint-indigo-bg:#eef0ff;--tint-indigo:#4f46e5;--cover-blue:#1d4ed8;--cover-rose:#be3455;--cover-teal:#0f766e;--cover-violet:#5b3fd6;--cover-navy:#1e2a4f;--cover-orange:#b4471a;--cover-green:#15803d;--cover-amber:#b45309;--cover-board:#1b2027;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--shadow-1:0 2px 8px #1018280f;--shadow-2:0 8px 24px #1018281f;--header-row-h:64px;--header-h:64px;--bottom-h:60px;--container:1680px;--gutter:16px}@media (min-width:768px){:root{--gutter:24px}}@media (min-width:1024px){:root{--gutter:32px}}@media (min-width:1440px){:root{--gutter:48px}}@media (min-width:2200px){:root{--container:1920px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{color:var(--text);background:var(--bg);font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}@media (min-width:768px){body{font-size:16px}}img,video,iframe{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--ink)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{color:var(--text-strong);margin:0;line-height:1.25}h1{letter-spacing:-.02em;font-size:24px;font-weight:700}h2{letter-spacing:-.01em;font-size:19px;font-weight:600}h3{font-size:16px;font-weight:600}@media (min-width:768px){h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}}p{margin:0 0 12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}main{min-height:60vh;padding-bottom:calc(var(--bottom-h) + 24px)}@media (min-width:768px){main{padding-bottom:48px}}.section{margin-top:32px}@media (min-width:768px){.section{margin-top:44px}}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack>*+*{margin-top:12px}.dot:before{content:"•";color:var(--subtle);margin:0 6px}.header{z-index:40;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{height:var(--header-row-h);align-items:center;gap:16px;display:flex}.brand{letter-spacing:-.02em;color:var(--primary);flex-shrink:0;align-items:center;gap:2px;font-size:26px;font-weight:800;line-height:1;display:inline-flex}.brand:hover{color:var(--primary)}.brand img{width:auto;height:30px}.nav-links{align-self:stretch;gap:4px;display:none}.nav-links a{color:var(--muted);align-items:center;padding:0 12px;font-size:15px;font-weight:500;transition:color .15s ease-out;display:inline-flex;position:relative}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--ink);font-weight:600}.nav-links a.active:after{content:"";background:var(--ink);border-radius:2px;width:22px;height:2px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.nav-links a.for-you.active:after{background:var(--grad-majestic)}@media (min-width:1024px){.nav-links{display:flex}}.header-search{flex:1;max-width:520px;display:none;position:relative}@media (min-width:768px){.header-search{display:block}}.header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.icon-btn{border-radius:var(--r-pill);width:40px;height:40px;color:var(--text);background:0 0;border:none;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--bg-subtle);color:var(--ink)}.icon-btn .count{background:var(--danger);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:4px;right:2px}.mobile-only{display:inline-grid}@media (min-width:768px){.mobile-only{display:none!important}}.desktop-only{display:none!important}@media (min-width:768px){.desktop-only{display:inline-flex!important}}.header-search-row{display:none}@media (max-width:767px){.header-search-row{padding:0 var(--gutter) 10px;display:block}.search-trigger{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);width:100%;height:42px;color:var(--muted);text-align:left;align-items:center;gap:10px;padding:0 14px;font-size:15px;display:flex}.search-trigger:active{border-color:var(--ink)}}.search{position:relative}.search input{border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--r-md);width:100%;height:42px;font:inherit;color:var(--text-strong);padding:0 16px 0 42px;font-size:15px;transition:border-color .15s ease-out,background .15s ease-out}.search input::placeholder{color:var(--muted)}.search input:focus{border-color:var(--ink);background:var(--bg);outline:none}.search .search-icon{color:var(--muted);pointer-events:none;position:absolute;top:11px;left:13px}.suggest{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:50;max-height:70vh;padding:6px 0;position:absolute;top:50px;left:0;right:0;overflow:auto}.suggest .group{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 14px 4px;font-size:11px;font-weight:600}.suggest a{align-items:center;gap:10px;padding:8px 14px;font-size:14px;display:flex}.suggest a:hover,.suggest a.active{background:var(--bg-subtle);color:var(--ink)}.search-sheet{background:var(--bg);z-index:60;padding:12px var(--gutter);position:fixed;inset:0}.bottom-nav{z-index:40;height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--border);box-shadow:none;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{letter-spacing:.01em;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;display:flex}.bottom-nav a svg{stroke-width:1.5px}.bottom-nav a:hover{color:var(--ink)}.bottom-nav a.active{color:var(--ink);font-weight:600}.bottom-nav a.active svg{stroke-width:2px}@media (min-width:768px){.bottom-nav{display:none}}.footer{background:linear-gradient(180deg, var(--footer-bg-top), var(--footer-bg) 320px);padding:56px 0 calc(var(--bottom-h) + 32px);color:var(--footer-text);margin-top:56px;font-size:14px}@media (min-width:768px){.footer{padding-bottom:40px}}.footer-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px;display:grid}@media (min-width:768px){.footer-grid{grid-template-columns:1.6fr repeat(5,1fr)}}.footer h4{letter-spacing:0;text-transform:none;color:var(--footer-head);margin-bottom:14px;font-size:14px;font-weight:600}.footer ul{margin:0;padding:0;list-style:none}.footer li{margin-bottom:10px}.footer a{color:var(--footer-text);transition:color .15s ease-out}.footer a:hover,.footer .brand,.footer .brand:hover{color:var(--footer-head)}.footer-about{max-width:300px;color:var(--footer-text);margin-top:12px;font-size:14px;line-height:1.6}.btn{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg);height:44px;color:var(--text-strong);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;transition:background .15s ease-out,border-color .15s ease-out;display:inline-flex}.btn:hover{background:var(--bg-subtle);border-color:var(--ink);color:var(--text-strong)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover);color:#fff}.btn.white{color:var(--primary);background:#fff;border-color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{border-color:#0000}.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn.dark:hover{background:var(--ink-hover);color:var(--bg)}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.sm{height:36px;padding:0 12px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.link{color:var(--primary);align-items:center;gap:4px;font-size:14px;font-weight:600;display:inline-flex}.pills{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:2px 0 4px;display:flex;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pill{border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border-strong);height:36px;color:var(--text);scroll-snap-align:start;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .15s ease-out;display:inline-flex}.pill:hover{border-color:var(--ink);color:var(--ink)}.pill.active{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:600}.pill.outline{background:var(--bg);border-color:var(--border-strong)}.pill.outline.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pill .n{opacity:.7;font-size:12px}.badge{border-radius:var(--r-sm);letter-spacing:.04em;background:var(--bg-muted);height:22px;color:var(--text);text-transform:uppercase;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.pdf{color:var(--danger);border:1px solid var(--danger-subtle);background:#fff}.badge.free{background:var(--success-subtle);color:#057a52}.badge.paid{background:var(--warning-subtle);color:#9a6200}.badge.amber{background:var(--tint-amber-bg);color:var(--tint-amber)}.badge.blue{background:var(--bg-muted);color:var(--ink)}.badge.dark{color:#fff;background:#000000b8}.tag{border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border-strong);height:24px;color:var(--text);align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.tag.green{background:var(--success-subtle);color:#057a52}.tag.violet{background:var(--tint-violet-bg);color:var(--tint-violet)}.tag.gray{background:var(--bg-muted);color:var(--text)}.section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.section-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.grid{align-items:stretch;gap:16px;display:grid}.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:768px){.grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1400px){.grid.cards{grid-template-columns:repeat(5,minmax(0,1fr))}}.grid.cards-3{grid-template-columns:1fr}@media (min-width:640px){.grid.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.grid.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid.shorts{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.grid.shorts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.grid.shorts{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1400px){.grid.shorts{grid-template-columns:repeat(7,minmax(0,1fr))}}.scroll-row{scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding-bottom:4px;padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding:0 var(--gutter);grid-auto-columns:72%;grid-auto-flow:column;gap:14px;display:grid;overflow-x:auto}.scroll-row::-webkit-scrollbar{display:none}.scroll-row>*{scroll-snap-align:start}.scroll-row.shorts{grid-auto-columns:42%}@media (min-width:640px){.scroll-row{grid-auto-columns:40%}.scroll-row.shorts{grid-auto-columns:24%}}@media (min-width:1024px){.scroll-row{grid-auto-columns:calc(25% - 10.5px);margin:0;padding:0 0 4px}.scroll-row.shorts{grid-auto-columns:calc(16.6667% - 11.6667px)}}@media (min-width:1400px){.scroll-row{grid-auto-columns:calc(20% - 11.2px)}.scroll-row.shorts{grid-auto-columns:calc(14.2857% - 12px)}}.hero{border-radius:var(--r-xl);color:#fff;background:var(--primary-deep);align-items:center;min-height:220px;margin-top:16px;display:flex;position:relative;overflow:hidden}.hero.light{background:var(--primary-subtle);color:var(--text-strong);background-image:none}.hero-body{z-index:1;max-width:640px;padding:28px 24px;position:relative}@media (min-width:768px){.hero{min-height:320px}.hero-body{padding:44px 52px}}.hero .eyebrow,.cat-hero .eyebrow{color:inherit}.hero .eyebrow{letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-bottom:10px;font-size:12px;font-weight:600}.hero h1,.hero h2{color:inherit;letter-spacing:-.02em;margin-bottom:10px;font-size:28px;font-weight:700;line-height:1.15}@media (min-width:768px){.hero h1,.hero h2{font-size:46px}}.hero p{opacity:.9;margin-bottom:20px;font-size:15px}@media (min-width:768px){.hero p{font-size:17px}}.hero .art{justify-content:center;align-items:center;width:46%;display:none;position:absolute;top:0;bottom:0;right:0}@media (min-width:768px){.hero .art{display:flex}}.hero .art img{object-fit:contain;width:auto;max-height:86%}.hero .accent{font-family:var(--font-hand), cursive;opacity:.95;text-align:right;font-size:26px;line-height:1.05;display:none;position:absolute;top:22px;right:28px;transform:rotate(-6deg)}@media (min-width:1024px){.hero .accent{display:block}}.dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:16px;left:24px}@media (min-width:768px){.dots{bottom:22px;left:52px}}.dots button{background:#ffffff73;border:none;border-radius:4px;width:8px;height:8px;padding:0}.dots button.active{background:#fff;width:20px}.hero.light .dots button{background:#015dfd4d}.hero.light .dots button.active{background:var(--primary)}.bn{border-radius:var(--r-xl);touch-action:pan-y;margin-top:16px;display:grid;position:relative;overflow:hidden}.bn-slide{opacity:0;visibility:hidden;grid-area:1/1;min-width:0;transition:opacity .45s,visibility 0s linear .45s}.bn-slide.on{opacity:1;visibility:visible;transition:opacity .45s}.bn-slide>.hero{height:100%;margin:0}.bn-img{aspect-ratio:3;background:var(--bg-muted);border-radius:var(--r-xl);height:100%;display:block;overflow:hidden}@media (max-width:767px){.bn-img.has-m{aspect-ratio:16/9}}.bn-img picture,.bn-img img{width:100%;height:100%;display:block}.bn-img img{object-fit:cover;-webkit-user-select:none;user-select:none}.bn-compact .bn-img{aspect-ratio:3}.bn-compact .bn-img.m-only{aspect-ratio:16/9}.bn-nav{cursor:pointer;background:var(--video-scrim);width:38px;height:38px;color:var(--on-video);opacity:0;z-index:2;border:0;border-radius:50%;place-items:center;transition:opacity .15s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.bn-nav.prev{left:12px}.bn-nav.next{right:12px}@media (hover:hover) and (min-width:768px){.bn-nav{display:grid}.bn:hover .bn-nav,.bn-nav:focus-visible{opacity:1}}.bn-dots{z-index:2;pointer-events:none;justify-content:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.bn-dots button{pointer-events:auto;cursor:pointer;background:var(--video-line-strong);width:8px;height:8px;box-shadow:0 0 0 1px var(--video-scrim);border:0;border-radius:4px;padding:0;transition:width .2s}.bn-dots button.active{background:var(--on-video);width:20px}.bn-compact{margin-top:0}.bn.has-img .bn-slide:not(:has(.bn-img)){position:absolute;inset:0}.bn.has-img .hero{min-height:0}.bn.has-img .hero-body{padding:16px 20px 28px}.bn.has-img .hero h1,.bn.has-img .hero h2{font-size:clamp(18px,3.2vw,38px)}.bn.has-img .hero .accent{display:none}@media (max-width:767px){.bn.has-img .hero p,.bn.has-img .hero .eyebrow{display:none}}.hero-mark{width:240px;height:240px;position:relative}.hero-mark .tile{background:#ffffff1f;border:1px solid #ffffff40;border-radius:22px;position:absolute}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:768px){.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}.cat{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);color:var(--text);flex-direction:column;align-items:flex-start;gap:12px;padding:14px;transition:border-color .15s ease-out;display:flex;position:relative}@media (min-width:768px){.cat{flex-direction:row;align-items:center;gap:14px;padding:16px 18px}}.cat:hover{border-color:var(--ink);color:var(--text)}.cat .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;transition:background .2s ease-out,color .2s ease-out;display:grid}.cat .tile.has-img{overflow:hidden}.cat .tile.has-img img{object-fit:cover;width:100%;height:100%}.cat:hover .tile:not(.has-img){background:currentColor}.cat:hover .tile:not(.has-img) svg{color:var(--bg)}.cat-text{flex-direction:column;gap:2px;min-width:0;display:flex}.cat-name{color:var(--text-strong);font-size:15px;font-weight:600;line-height:1.3}.cat-meta{color:var(--muted);font-size:12px}.cat-go{color:var(--subtle);flex-shrink:0;margin-left:auto;transition:transform .15s ease-out,color .15s ease-out;display:none}@media (min-width:768px){.cat-go{display:block}.cat:hover .cat-go{color:var(--ink);transform:translate(2px)}}.t-blue{background:var(--tint-blue-bg);color:var(--tint-blue)}.t-violet{background:var(--tint-violet-bg);color:var(--tint-violet)}.t-rose{background:var(--tint-rose-bg);color:var(--tint-rose)}.t-amber{background:var(--tint-amber-bg);color:var(--tint-amber)}.t-green{background:var(--tint-green-bg);color:var(--tint-green)}.t-pink{background:var(--tint-pink-bg);color:var(--tint-pink)}.t-sky{background:var(--tint-sky-bg);color:var(--tint-sky)}.t-indigo{background:var(--tint-indigo-bg);color:var(--tint-indigo)}.explore{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:768px){.explore{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}}.explore a{border-radius:var(--r-lg);border:1px solid #0000;flex-direction:column;gap:10px;min-height:120px;padding:16px;display:flex;position:relative}.explore a:hover{border-color:currentColor}.explore .ico{background:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.explore strong{color:var(--text-strong);font-size:15px;display:block}.explore span.sub{color:var(--muted);font-size:12px}.explore .chev{position:absolute;bottom:12px;right:12px}.uni-chip{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);height:56px;color:var(--text-strong);flex-shrink:0;align-items:center;gap:10px;padding:0 18px 0 10px;font-size:14px;font-weight:600;display:inline-flex}.uni-chip.active{border:2px solid var(--ink);color:var(--ink)}.logo-box{background:var(--bg-muted);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid;overflow:hidden}.logo-box img{object-fit:contain;width:100%;height:100%}.logo-box.lg{border:1px solid var(--border);border-radius:16px;width:72px;height:72px;font-size:18px}.logo-box.lg:not(.mono),.logo-box.xl:not(.mono){background:var(--bg)}.logo-box.mono{letter-spacing:.02em;border-color:#0000;font-weight:800}.logo-box.xl{border-radius:18px;width:96px;height:96px;font-size:22px}.uni-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:14px;padding:16px;transition:border-color .15s ease-out;display:flex;position:relative}.uni-card:hover{border-color:var(--ink);color:inherit}.uni-card .name{color:var(--text-strong);letter-spacing:-.01em;font-size:16px;font-weight:600}.uni-card .full{color:var(--muted);margin:2px 0 10px;font-size:13px;line-height:1.4}.uni-card .go{color:var(--ink);place-items:center;transition:transform .15s ease-out;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.uni-card:hover .go{transform:translate(3px,-50%)}.uni-card.big{flex-direction:column;align-items:flex-start;min-height:230px}.uni-card.big .go{top:auto;bottom:16px;transform:none}.uni-card.big:hover .go{transform:translate(3px)}.uni-card.big.active{border:2px solid var(--ink)}.subject-row{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:14px;padding:14px;display:flex}.subject-row:hover{border-color:var(--border-strong);color:inherit}.subject-row .tile{border-radius:12px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.subject-row .name{color:var(--text-strong);font-weight:600}.subject-row .meta{color:var(--muted);font-size:13px}.subject-row .chev{color:var(--subtle);flex-shrink:0;margin-left:auto}.subject-row:hover .chev{color:var(--ink)}.card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);flex-direction:column;height:100%;transition:box-shadow .15s ease-out;display:flex;overflow:hidden}.card:hover{border-color:var(--border-strong);color:inherit}.card .body{flex-direction:column;flex:1;gap:4px;padding:10px 12px 12px;display:flex}.card .title{color:var(--text-strong);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}@media (min-width:768px){.card .title{font-size:15px}}.card .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.card .meta{color:var(--muted);flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.card .price{color:var(--text-strong);font-size:14px;font-weight:700}.card .price s{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.rating{color:var(--text-strong);align-items:center;gap:3px;font-weight:600;display:inline-flex}.rating svg{color:var(--rating)}.cover{aspect-ratio:16/9;color:#fff;border-radius:var(--r-md);flex-direction:column;justify-content:flex-end;margin:8px 8px 0;padding:12px;display:flex;position:relative;overflow:hidden}.cover img.bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover .ttl{text-shadow:0 1px 2px #00000026;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.2;display:-webkit-box;position:relative;overflow:hidden}@media (min-width:768px){.cover .ttl{font-size:17px}}.cover .tl{gap:6px;display:flex;position:absolute;top:10px;left:10px}.cover .br{position:absolute;bottom:8px;right:8px}.cover .deco{background:#ffffff1a;border-radius:50%;width:120px;height:120px;position:absolute;top:-10px;right:-14px}.cover .deco2{background:#ffffff14;border-radius:22px;width:90px;height:90px;position:absolute;bottom:-40px;right:30px;transform:rotate(18deg)}.c-blue{background:var(--cover-blue)}.c-rose{background:var(--cover-rose)}.c-teal{background:var(--cover-teal)}.c-violet{background:var(--cover-violet)}.c-navy{background:var(--cover-navy)}.c-orange{background:var(--cover-orange)}.c-green{background:var(--cover-green)}.c-amber{background:var(--cover-amber)}.c-board{background:var(--cover-board)}.cover.video,.card.video .cover,.card.short .cover{border-radius:0;margin:0}.cover.short{aspect-ratio:9/16}.play{width:40px;height:40px;color:var(--text-strong);background:#ffffffeb;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #0003}.cover.video .ttl,.cover.short .ttl{padding-right:52px}.cover.short .ttl{-webkit-line-clamp:3}.duration{color:#fff;background:#000000bf;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;position:absolute;bottom:8px;right:8px}.progress-bar{background:#ffffff59;height:3px;position:absolute;bottom:0;left:0;right:0}.progress-bar span{background:var(--danger);height:100%;display:block}.one-shot{color:#1f2a33;letter-spacing:.02em;background:#ffd23f;border-radius:6px;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block;transform:rotate(-2deg)}.pl-card{border-radius:var(--r-lg);color:#fff;flex-direction:column;gap:6px;min-height:120px;padding:18px;display:flex;position:relative;overflow:hidden}.pl-card:hover{color:#fff;filter:brightness(1.05)}.pl-card strong{font-size:16px}.pl-card .sub{opacity:.85;font-size:13px}.pl-card .go{width:34px;height:34px;color:var(--primary);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:14px;right:14px}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;padding:14px 0 0;font-size:13px;display:flex}.crumbs a:hover{color:var(--primary)}.crumbs .sep{color:var(--subtle)}.page-head{padding:16px 0 8px}.page-head h1{margin-bottom:6px}.page-head .lead{color:var(--muted);max-width:760px;font-size:15px}.uni-head{border-radius:var(--r-xl);color:#fff;background:var(--primary-deep);margin-top:12px;position:relative;overflow:hidden}.uni-head .bgimg{object-fit:cover;opacity:.28;width:100%;height:100%;position:absolute;inset:0}.uni-head .inner{flex-direction:column;gap:18px;padding:22px;display:flex;position:relative}@media (min-width:768px){.uni-head .inner{flex-direction:row;align-items:flex-start;padding:32px 36px}}.uni-head h1{color:#fff}.uni-head .full{opacity:.92;margin-bottom:10px;font-size:17px}.uni-head .stats{flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:14px;display:flex}.uni-head .stats span{align-items:center;gap:6px;display:inline-flex}.uni-head p{opacity:.9;max-width:680px;font-size:14px}.uni-head .btn:not(.primary){color:var(--text-strong);background:#fff;border-color:#fff}.tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:4px;margin-top:16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--muted);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:12px 14px;font-size:14px;font-weight:500;display:inline-flex}.tabs a.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tabs a .n{background:var(--bg-muted);color:var(--text);border-radius:10px;padding:0 6px;font-size:12px}.stats-strip{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:768px){.stats-strip{grid-template-columns:repeat(5,1fr)}}.stat{border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px}.stat b{color:var(--text-strong);font-size:22px;display:block}.stat span{color:var(--muted);font-size:13px}.detail{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:12px;display:grid}@media (min-width:1024px){.detail{grid-template-columns:minmax(0,1fr) 360px}}.panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);padding:16px}.panel+.panel{margin-top:16px}.panel h2{margin-bottom:12px;font-size:17px}.sticky{top:calc(var(--header-h) + 16px);position:sticky}.prose{color:var(--text);font-size:15px;line-height:1.7}.prose h2{margin:22px 0 10px;font-size:20px}.prose h3{margin:18px 0 8px;font-size:17px}.prose a{color:var(--primary);text-decoration:underline}.prose ul,.prose ol{padding-left:22px}.prose code{background:var(--bg-muted);border-radius:4px;padding:1px 5px;font-size:.92em}.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid var(--border);padding:6px 8px}.excerpt{white-space:pre-wrap;max-height:420px;font-size:14px;line-height:1.65;position:relative;overflow:hidden}.excerpt:after{content:"";background:linear-gradient(transparent, var(--bg));height:90px;position:absolute;bottom:0;left:0;right:0}.excerpt.open{max-height:none}.excerpt.open:after,.excerpt.fits:after{display:none}.expand-toggle{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-top:8px;padding:6px 0;font-size:14px;font-weight:600;display:inline-flex}.expand-toggle:hover{color:var(--primary-hover)}.expand-toggle svg{transition:transform .2s ease-out}.expand-toggle svg.up{transform:rotate(180deg)}.player{aspect-ratio:16/9;border-radius:var(--r-lg);background:#0b0f14;position:relative;overflow:hidden}.player iframe,.player video{border:0;width:100%;height:100%;position:absolute;inset:0}.player .facade{background:#0b0f14 50%/cover no-repeat;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.player .facade .big-play{background:var(--primary);color:#fff;width:68px;height:68px;box-shadow:var(--shadow-2);border-radius:50%;place-items:center;display:grid}.player .lock{color:#fff;text-align:center;background:linear-gradient(135deg,#0a2f8fe6,#015dfdd9);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.pdf-frame{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);width:100%;height:70vh;min-height:420px}.chapters a{border-radius:var(--r-md);grid-template-columns:56px 1fr;gap:10px;padding:9px 10px;font-size:14px;display:grid}.chapters a:hover{background:var(--bg-subtle)}.chapters a span:first-child{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:600}.list-row{border-radius:var(--r-md);align-items:center;gap:12px;padding:10px;display:flex}.list-row:hover{background:var(--bg-subtle);color:inherit}.list-row.active{background:var(--bg-muted)}.list-row .thumb{aspect-ratio:16/9;border-radius:8px;flex-shrink:0;width:112px;position:relative;overflow:hidden}.list-row .thumb .cover{aspect-ratio:auto;border-radius:0;height:100%;margin:0;padding:6px}.list-row .thumb .cover .ttl{font-size:10px}.list-row .t{color:var(--text-strong);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.list-row .s{color:var(--muted);font-size:12px}.list-row .idx{text-align:center;width:22px;color:var(--muted);flex-shrink:0;font-size:13px}.buy-box .price{color:var(--text-strong);font-size:28px;font-weight:700}.buy-box .price s{color:var(--muted);margin-left:8px;font-size:16px;font-weight:400}.buy-box .off{color:var(--success);margin-left:8px;font-size:14px;font-weight:700}.owned{background:var(--success-subtle);color:#057a52;border-radius:var(--r-md);align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.paywalled{position:relative}.accordion details{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);margin-bottom:10px}.accordion summary{cursor:pointer;color:var(--text-strong);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.accordion details[open] summary{border-bottom:1px solid var(--border)}.accordion .inner{padding:8px 16px 14px}.topic-link{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.topic-link:last-child{border-bottom:0}.question{border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:12px;padding:14px 16px}.question .q{color:var(--text-strong);margin-bottom:10px;font-weight:600}.option{text-align:left;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:10px 12px;font-size:14px;display:flex}.option:hover{border-color:var(--primary)}.option.selected{border-color:var(--primary);background:var(--primary-subtle)}.option.correct{border-color:var(--success);background:var(--success-subtle)}.option.wrong{border-color:var(--danger);background:var(--danger-subtle)}.option .key{border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.field{color:var(--text-strong);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.input{border:1px solid var(--border-strong);border-radius:var(--r-md);height:46px;font:inherit;color:var(--text-strong);background:var(--bg);width:100%;padding:0 14px;font-size:16px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle);outline:none}.alert{border-radius:var(--r-md);padding:10px 14px;font-size:14px}.alert.error{background:var(--danger-subtle);color:#a43030}.alert.ok{background:var(--success-subtle);color:#057a52}.alert.info{background:var(--primary-subtle);color:var(--primary-deep)}.auth-card{max-width:420px;margin:32px auto}.summary-row{justify-content:space-between;padding:6px 0;font-size:15px;display:flex}.summary-row.total{border-top:1px solid var(--border);color:var(--text-strong);margin-top:6px;padding-top:12px;font-size:18px;font-weight:800}body:has(.shorts-wrap) .footer{display:none}body:has(.shorts-wrap) main{min-height:0;padding-bottom:0}html:has(.shorts-wrap){overflow:hidden}.shorts-wrap{position:relative}.shorts-feed{height:calc(100dvh - var(--header-h) - var(--bottom-h));overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;background:var(--video-bg);margin:0 calc(var(--gutter) * -1);outline:none;overflow-y:auto}@media (min-width:768px){.shorts-feed{height:calc(100dvh - var(--header-h) - 24px);background:0 0;margin:12px 0}}.shorts-feed::-webkit-scrollbar{display:none}.short-slide{scroll-snap-align:start;scroll-snap-stop:always;justify-content:center;align-items:center;height:100%;padding:0;display:flex;position:relative}.short-frame{background:var(--video-bg);width:100%;height:100%;color:var(--on-video);position:relative;overflow:hidden}@media (min-width:768px){.short-frame{aspect-ratio:9/16;border-radius:var(--r-xl);width:auto;max-width:100%;height:calc(100% - 24px)}}.short-ph{aspect-ratio:auto;border-radius:0;margin:0;position:absolute;inset:0}.short-soon{text-align:center;justify-items:center;gap:6px;display:grid;position:absolute;top:45%;left:0;right:0}.sv{background:var(--video-bg);-webkit-user-select:none;user-select:none;position:absolute;inset:0}.sv-yt{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sv-yt>div,.sv-yt iframe{border:0;width:100%;height:calc(100% + 120px);position:absolute;top:-60px;left:0}.sv-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sv.landscape .sv-video{object-fit:contain}.sv-poster{z-index:1;background:var(--video-bg) center / cover no-repeat;position:absolute;inset:0}.sv-shield{z-index:2;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.sv-pause-cover{z-index:3;background:linear-gradient(transparent, var(--video-scrim) 50%);pointer-events:none;height:45%;position:absolute;bottom:0;left:0;right:0}.sv-paused{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sv-progress{z-index:8;align-items:flex-end;height:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.sv-progress input{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--on-video) var(--p), var(--video-line-strong) var(--p));border:0;width:100%;height:3px;margin:0;transition:height .12s;display:block}.sv-progress:hover input,.sv-progress input:focus-visible{height:6px}.sv-progress input::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0}.sv-progress input::-moz-range-thumb{border:0;width:0;height:0}.short-info{z-index:6;color:var(--on-video);background:linear-gradient(transparent, var(--video-scrim));pointer-events:none;padding:60px 72px 22px 16px;position:absolute;bottom:0;left:0;right:0}.short-info a,.short-info button{pointer-events:auto}.short-info h2{color:var(--on-video);margin-bottom:6px;font-size:17px}.short-actions{z-index:7;flex-direction:column;gap:14px;display:flex;position:absolute;bottom:96px;right:8px}.short-actions button{cursor:pointer;color:var(--on-video);background:0 0;border:0;justify-items:center;gap:4px;padding:0;font-size:11px;font-weight:600;display:grid}.short-actions button svg{background:var(--video-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;width:46px;height:46px;padding:12px}.short-actions button.on svg{background:var(--primary)}.short-unmute{z-index:7;border-radius:var(--r-pill);background:var(--video-scrim);color:var(--on-video);cursor:pointer;border:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px}.short-end>div{aspect-ratio:9/16;border-radius:var(--r-xl);background:var(--video-bg);max-width:100%;height:calc(100% - 24px);color:var(--on-video);align-content:center;justify-items:center;gap:10px;display:grid}.shorts-nav{display:none}@media (min-width:768px){.shorts-nav{gap:10px;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.shorts-nav button{border:1px solid var(--border);background:var(--bg);width:48px;height:48px;color:var(--text-strong);cursor:pointer;border-radius:50%;place-items:center;display:grid}.shorts-nav button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.shorts-nav button:disabled{opacity:.4;cursor:default}}.flip{transform:rotate(180deg)}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:40px 16px}.skeleton{background:linear-gradient(90deg, var(--bg-muted), var(--bg-subtle), var(--bg-muted));border-radius:var(--r-md);background-size:200% 100%;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}.toast{left:50%;bottom:calc(var(--bottom-h) + 16px);background:var(--text-strong);color:#fff;border-radius:var(--r-md);z-index:100;box-shadow:var(--shadow-2);max-width:90vw;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}@media (min-width:768px){.toast{bottom:24px}}.menu{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);min-width:220px;box-shadow:var(--shadow-2);z-index:50;padding:6px;position:absolute;top:48px;right:0}.menu a,.menu button{border-radius:var(--r-md);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;display:flex}.menu a:hover,.menu button:hover{background:var(--bg-subtle);color:var(--primary)}.avatar{background:var(--primary-subtle);width:36px;height:36px;color:var(--primary);border:none;border-radius:50%;place-items:center;font-weight:700;display:grid}.hide-lg{display:block}.show-lg{display:none}@media (min-width:1024px){.hide-lg{display:none}.show-lg{display:block}}.list-row .thumb .cover .tl,.list-row .thumb .cover .one-shot,.list-row .thumb .cover .deco2{display:none}.list-row .thumb .cover .ttl{-webkit-line-clamp:3;padding-right:0;font-size:10px;line-height:1.2}.list-row .thumb .cover .deco{width:50px;height:50px;top:-10px;right:-10px}.list-row .thumb .play{width:22px;height:22px}.list-row .thumb .play svg{width:10px;height:10px}.list-row .thumb .duration{padding:1px 4px;font-size:10px;bottom:4px;right:4px}.dl{background:var(--primary-subtle);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.cat-hero{border-radius:var(--r-xl);color:#fff;background:var(--primary-deep);margin-top:16px;position:relative;overflow:hidden}.cat-hero .inner{z-index:1;max-width:640px;padding:20px 22px 26px;position:relative}@media (min-width:768px){.cat-hero .inner{padding:28px 48px 40px}}.cat-hero .crumbs{color:#fffc;padding:0 0 12px}.cat-hero .crumbs a:hover{color:#fff}.cat-hero h1{color:#fff;font-size:36px}@media (min-width:768px){.cat-hero h1{font-size:52px}}.cat-hero .sub{opacity:.9;margin:6px 0 14px;font-size:16px}.cat-hero .stats{flex-wrap:wrap;gap:16px;margin-bottom:18px;font-size:14px;display:flex}.cat-hero .stats span{align-items:center;gap:6px;display:inline-flex}.cat-hero .art{align-items:center;display:none;position:absolute;top:0;bottom:0;right:24px}@media (min-width:900px){.cat-hero .art{display:flex}}.picker{gap:14px;margin-top:20px;display:grid}@media (min-width:768px){.picker{grid-template-columns:260px 1fr;align-items:end;gap:20px}}.picker label{color:var(--text-strong);margin-bottom:8px;font-size:15px;font-weight:700;display:block}.uni-select{position:relative}.uni-select select{appearance:none;border:1px solid var(--border-strong);border-radius:var(--r-lg);width:100%;height:52px;font:inherit;color:var(--text-strong);background:var(--bg);padding:0 40px 0 56px;font-weight:600}.uni-select .logo-box{pointer-events:none;position:absolute;top:8px;left:10px}.uni-select .chev{pointer-events:none;color:var(--muted);position:absolute;top:16px;right:14px}.sem-pills .pill{justify-content:center;min-width:56px;padding:0 16px}.subject-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:560px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.continue-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:12px;padding:10px;display:flex}.continue-card:hover{border-color:var(--border-strong);color:inherit}.continue-card .thumb{border-radius:10px;flex-shrink:0;width:120px;overflow:hidden}.continue-card .thumb .cover{border-radius:0;margin:0;padding:8px}.continue-card .thumb .cover .tl,.continue-card .thumb .cover .one-shot{display:none}.continue-card .thumb .cover .ttl{font-size:11px}.continue-card .bar{background:var(--bg-muted);border-radius:3px;height:6px;margin:8px 0 4px;overflow:hidden}.continue-card .bar span{background:var(--primary);border-radius:3px;height:100%;display:block}@media (min-width:1024px){.hero .art{padding-right:130px}.cat-hero .art{right:170px}}.section-head .link{white-space:nowrap;flex-shrink:0}.detail-head{margin-top:4px}.detail-head h1{margin-top:8px;font-size:clamp(22px,3vw,30px)}.detail-head .subtitle{color:var(--muted);margin:6px 0 0}.detail-head .meta{color:var(--muted);margin-top:10px;font-size:13px}.scope-cards{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px;display:grid}@media (min-width:640px){.scope-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.scope-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:12px;min-width:0;padding:10px 12px;transition:border-color .15s ease-out;display:flex}.scope-card:hover{border-color:var(--primary);color:inherit}.scope-card .logo-box{border-radius:var(--r-md);border:1px solid var(--border);width:44px;height:44px}.scope-card .logo-box:not(.mono){background:var(--bg)}.scope-card .logo-box.mono{border-color:#0000;font-size:12px}.scope-card .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.scope-card .label{color:var(--muted);font-size:12px;font-weight:500;display:block}.scope-card .val{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;display:block;overflow:hidden}.scope-card .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.scope-card .chev{color:var(--subtle);flex-shrink:0;margin-left:auto}.scope-card:hover .chev{color:var(--ink)}.buy-box .kicker{color:var(--muted);margin-bottom:4px;font-size:13px}.incl{border-top:1px solid var(--border);gap:8px;margin:14px 0 0;padding:14px 0 0;font-size:14px;list-style:none;display:grid}.incl li{align-items:flex-start;gap:8px;display:flex}.incl li svg{color:var(--success);flex-shrink:0;margin-top:2px}.buy-box .alt{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.owned-actions{gap:10px;margin-top:12px;display:grid}.topic-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:14px;font-weight:500;display:inline-flex}.topic-chip:hover{border-color:var(--ink)}.topic-chip .n{background:var(--primary-subtle);width:24px;height:24px;color:var(--primary);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.reader-frame{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);width:100%;height:78vh;min-height:480px}.doc-viewer{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.doc-viewer .reader-frame{border:0;border-radius:0;display:block}.doc-bar{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex}.doc-title{min-width:0;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex;overflow:hidden}.doc-title svg{color:var(--muted);flex-shrink:0}.doc-actions{flex-shrink:0;gap:4px;display:inline-flex}.doc-viewer.is-full{z-index:1000;border:0;border-radius:0;position:fixed;inset:0}.doc-viewer.is-full .doc-bar{padding-top:max(6px, env(safe-area-inset-top))}.doc-viewer.is-full .reader-frame{flex:1;height:auto;min-height:0}.lesson{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.lesson:last-child{border-bottom:0}.lesson .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lesson .ico{color:var(--muted);flex-shrink:0}.lesson.open .ico{color:var(--primary)}.form-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}}.field .hint{color:var(--muted);font-size:12px;font-weight:400}.field .err{color:var(--danger);font-size:12px;font-weight:500}.field .input.invalid{border-color:var(--danger)}.input-prefix{display:flex}.input-prefix span{border:1px solid var(--border-strong);border-radius:var(--r-md) 0 0 var(--r-md);background:var(--bg-subtle);color:var(--muted);border-right:0;place-items:center;padding:0 12px;font-size:15px;font-weight:600;display:grid}.input-prefix .input{border-radius:0 var(--r-md) var(--r-md) 0}.check{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.check input{width:18px;height:18px;accent-color:var(--primary)}.pay-methods{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:640px){.pay-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}.pay-method{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);cursor:pointer;align-items:center;gap:12px;padding:14px;transition:border-color .15s ease-out,background .15s ease-out;display:flex;position:relative}.pay-method:hover{border-color:var(--primary)}.pay-method input{opacity:0;pointer-events:none;position:absolute}.pay-method .pay-logo{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);flex-shrink:0;place-items:center;width:92px;height:46px;padding:6px 8px;display:grid}.pay-method .pay-logo img{max-width:100%;max-height:100%}.pay-method strong{color:var(--text-strong);font-size:15px;display:block}.pay-method small{color:var(--muted);font-size:12px;line-height:1.35;display:block}.pay-method .radio{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-left:auto;display:grid}.pay-method.selected{border-color:var(--primary);background:var(--primary-subtle);box-shadow:inset 0 0 0 1px var(--primary)}.pay-method.selected .radio{border-color:var(--primary)}.pay-method.selected .radio:after{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px}.pay-method:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.co-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.co-item:last-child{border-bottom:0}.co-item .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.co-item .t{flex:1;min-width:0}.co-item .t strong{color:var(--text-strong);font-size:15px;line-height:1.3;display:block}.secure-note{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.order-wrap{max-width:920px;margin:0 auto}.order-head{text-align:center;padding:28px 0 8px}.order-head h1{margin-top:14px;font-size:26px}@media (min-width:768px){.order-head h1{font-size:30px}}.order-head p{color:var(--muted);max-width:560px;margin:8px auto 0}.order-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (min-width:768px){.order-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}.order-meta .k{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:500;display:block}.order-meta .v{color:var(--text-strong);align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:700;display:flex}.status-chip{border-radius:var(--r-pill);align-items:center;gap:6px;height:26px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.status-chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-chip.paid{background:var(--success-subtle);color:var(--success)}.status-chip.failed{background:var(--danger-subtle);color:var(--danger)}.status-chip.pending{background:var(--warning-subtle);color:var(--warning)}.order-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.order-actions .btn{flex:200px}.order-item+.order-item{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.order-item .head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.order-item .head strong{color:var(--text-strong)}.order-item .list-row .thumb{width:96px}.status-mark{width:80px;height:80px;margin:0 auto;display:block}.status-mark svg{display:block;overflow:visible}.status-mark .bg{stroke:none}.status-mark .ring,.status-mark .draw{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.status-mark .ring{stroke-dasharray:227;stroke-dashoffset:227px;transform-origin:50%;animation:.6s ease-out forwards mark-ring;transform:rotate(-90deg)}.status-mark .draw{stroke-width:5px;stroke-dasharray:60;stroke-dashoffset:60px;animation:.35s ease-out .5s forwards mark-draw}.status-mark .draw.d2{animation-delay:.7s}.status-mark.paid{color:var(--success)}.status-mark.paid .bg{fill:var(--success-subtle)}.status-mark.failed{color:var(--danger)}.status-mark.failed .bg{fill:var(--danger-subtle)}.status-mark.pending{color:var(--warning)}.status-mark.pending .bg{fill:var(--warning-subtle)}.status-mark.paid svg{animation:.45s ease-out .75s mark-pop}.status-mark.failed svg{animation:.4s ease-in-out .9s mark-shake}.status-mark.spin .ring{stroke-dasharray:60 167;stroke-dashoffset:0;animation:1s linear infinite mark-spin}@keyframes mark-ring{to{stroke-dashoffset:0}}@keyframes mark-draw{to{stroke-dashoffset:0}}@keyframes mark-pop{50%{transform:scale(1.12)}}@keyframes mark-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes mark-spin{to{transform:rotate(270deg)}}@media (prefers-reduced-motion:reduce){.status-mark .ring,.status-mark .draw{stroke-dashoffset:0}}.hide-sm{display:none}@media (min-width:640px){.hide-sm{display:inline-flex}.show-sm{display:none!important}}.ellipsis{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:0}.btn.active,.btn.marked{border-color:var(--tint-violet);color:var(--tint-violet);background:var(--tint-violet-bg)}.modal-scrim{z-index:90;background:#10182873;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border-radius:var(--r-xl);width:100%;max-width:460px;box-shadow:var(--shadow-2);padding:20px}.modal h2{margin-bottom:14px;font-size:20px}.scrim{z-index:44;background:#10182859;position:fixed;inset:0}.syllabus{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);padding:16px}.syllabus+.syllabus{margin-top:12px}.syllabus-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.syllabus-head .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.syllabus-head h3{font-size:17px}.syllabus-title{flex:220px;min-width:0}.syllabus-meta{row-gap:6px;margin-top:4px}.syllabus-meta .tag{max-width:100%;height:auto;min-height:24px;padding:3px 10px;line-height:1.35}.syllabus-actions{flex-shrink:0}.syllabus-summary{color:var(--text);margin:12px 0 0}.syllabus-body{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.syllabus-body>summary{cursor:pointer;color:var(--primary);font-weight:600;list-style:none}.syllabus-body>summary::-webkit-details-marker{display:none}.syllabus-body>summary:after{content:" ▾"}.syllabus-body[open]>summary:after{content:" ▴"}.syllabus-body .prose{margin-top:10px;overflow-x:auto}.syllabus-body .prose table{min-width:480px}.syllabus-body .prose th{background:var(--bg-subtle);text-align:left}.syllabus-peek{border:1px solid var(--border);border-left:3px solid var(--tint-indigo);border-radius:var(--r-lg);background:var(--bg);align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.syllabus-peek .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.lib-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}@media (min-width:640px){.lib-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}.lib-summary div{border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px}.lib-summary b{color:var(--text-strong);font-size:22px;display:block}.lib-summary span{color:var(--muted);font-size:13px}.lib-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px;display:grid}@media (min-width:1024px){.lib-layout{grid-template-columns:240px minmax(0,1fr);gap:28px}}.lib-nav{scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);gap:6px;display:flex;overflow-x:auto}.lib-nav::-webkit-scrollbar{display:none}.lib-nav-group{display:none}.lib-nav-item{border-radius:var(--r-pill);background:var(--bg-muted);height:40px;color:var(--text);white-space:nowrap;border:1px solid #0000;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.lib-nav-item .n{color:var(--muted);font-size:12px}.lib-nav-item.active{background:var(--ink);color:var(--bg)}.lib-nav-item.active .n{color:var(--subtle)}@media (min-width:1024px){.lib-nav{top:calc(var(--header-h) + 16px);flex-direction:column;align-self:start;gap:2px;margin:0;padding:0;position:sticky;overflow:visible}.lib-nav-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px;font-size:11px;font-weight:600;display:block}.lib-nav-group:first-child{padding-top:0}.lib-nav-item{border-radius:var(--r-md);background:0 0;width:100%;height:40px}.lib-nav-item:hover{background:var(--bg-subtle);color:var(--primary)}.lib-nav-item .n{margin-left:auto}.lib-nav-item.active{background:var(--bg-muted);color:var(--ink);font-weight:600}.lib-nav-item.active .n{color:var(--ink)}}.lib-toolbar{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:640px){.lib-toolbar{grid-template-columns:minmax(0,1fr) 170px 170px}}.lib-toolbar .input{height:44px;font-size:15px}.lib-search input{background:var(--bg)}.lib-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.lib-tags span{color:var(--muted);background:var(--bg-subtle);border-radius:var(--r-sm);align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.lib-tags span.locked{color:var(--danger);background:var(--danger-subtle)}.lib-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:768px){.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-series{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:12px;padding:12px;display:flex}.lib-series:hover{border-color:var(--primary);color:inherit}.lib-series .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.lib-series strong{color:var(--text-strong);display:block}.lib-series .bar{background:var(--bg-muted);border-radius:3px;height:6px;margin:6px 0 4px;display:block;overflow:hidden}.lib-series .bar span{background:var(--primary);height:100%;display:block}.player-shell{min-height:calc(100dvh - var(--header-h));background:var(--bg-subtle)}.player-bar{top:var(--header-h);z-index:30;padding:10px var(--gutter);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky}.player-bar>div:first-child{flex:1;min-width:0}.timer{font-variant-numeric:tabular-nums;color:var(--text-strong);border-radius:var(--r-pill);background:var(--bg-subtle);border:1px solid var(--border);align-items:center;gap:6px;padding:6px 12px;font-size:18px;font-weight:800;display:inline-flex}.timer.low{color:var(--danger);background:var(--danger-subtle);border-color:var(--danger)}.player-body{max-width:1280px;padding:16px var(--gutter) 96px;grid-template-columns:minmax(0,1fr);gap:16px;margin:0 auto;display:grid}@media (min-width:1024px){.player-body{grid-template-columns:minmax(0,1fr) 320px}}.q-pane{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;padding:18px}.q-stem{color:var(--text-strong);font-size:17px;line-height:1.6}.q-stem p{margin:0 0 8px}.option p{margin:0}.q-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;display:flex}.q-actions .btn.primary{margin-left:auto}.palette{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);top:calc(var(--header-h) + 72px);max-height:calc(100dvh - var(--header-h) - 90px);align-self:start;padding:14px;position:sticky;overflow-y:auto}@media (max-width:1023px){.palette{z-index:45;border-radius:0;width:min(340px,88vw);max-height:none;transition:transform .25s ease-out;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.palette.open{box-shadow:var(--shadow-2);transform:none}}.palette-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.palette-sec{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 6px;font-size:12px;font-weight:700}.palette-grid{grid-template-columns:repeat(auto-fill,42px);gap:8px;display:grid}.palette-grid .pq{width:42px;height:42px}.legend{color:var(--muted);grid-template-columns:1fr 1fr;gap:6px 10px;font-size:12px;display:grid}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .pq{width:16px;height:16px;font-size:0}.pq{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg);height:38px;color:var(--text);font-variant-numeric:tabular-nums;place-items:center;font-size:13px;font-weight:700;display:inline-grid;position:relative}.pq.a{background:var(--success);border-color:var(--success);color:#fff}.pq.na{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger)}.pq.m,.pq.am{background:var(--tint-violet);border-color:var(--tint-violet);color:#fff;border-radius:50%}.pq.am:after{content:"";background:var(--success);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.pq.cur{outline:2px solid var(--primary);outline-offset:2px}.submit-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.submit-grid div{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}.submit-grid b{color:var(--text-strong);font-size:20px;display:block}.submit-grid span{color:var(--muted);font-size:12px}.result-hero{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg);grid-template-columns:minmax(0,1fr);align-items:center;gap:20px;padding:20px;display:grid}@media (min-width:768px){.result-hero{grid-template-columns:150px minmax(0,1fr)}}.score-ring{background:conic-gradient(var(--primary) var(--p), var(--bg-muted) 0);border-radius:50%;place-items:center;width:140px;height:140px;margin:0 auto;display:grid}.score-ring span{background:var(--bg);width:112px;height:112px;color:var(--muted);border-radius:50%;align-content:center;place-items:center;font-size:14px;display:grid}.score-ring b{color:var(--text-strong);font-size:30px;line-height:1}.result-split{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pill-stat{border-radius:var(--r-pill);background:var(--bg-muted);align-items:center;gap:6px;height:34px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.pill-stat.ok{background:var(--success-subtle);color:var(--success)}.pill-stat.bad{background:var(--danger-subtle);color:var(--danger)}.palette-toggle{display:inline-flex}@media (min-width:1024px){.palette-toggle{display:none!important}}div.scrim.palette-toggle{display:block}@media (min-width:1024px){div.scrim.palette-toggle{display:none}}.detail-head .meta>.dot:first-child:before{content:none}.syllabus-pdf{height:72vh;min-height:420px;margin:10px 0 8px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:inline-flex}.signup{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;max-width:1080px;margin:24px auto 40px;display:grid}@media (min-width:1024px){.signup{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.signup-aside{border-radius:var(--r-xl);background:var(--primary-subtle);border:1px solid var(--border);top:calc(var(--header-h) + 24px);padding:28px;display:none;position:sticky}@media (min-width:1024px){.signup-aside{display:block}}.signup-aside h2{margin-bottom:20px;font-size:24px;line-height:1.25}.signup-aside ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.signup-aside li{color:var(--text-strong);align-items:center;gap:12px;font-weight:500;display:flex}.signup-aside li svg{color:var(--primary);flex-shrink:0}.signup-form{gap:20px;padding:20px;display:grid}@media (min-width:640px){.signup-form{padding:28px}}.signup-form h1{margin-bottom:4px;font-size:24px}.su-section{border:0;border-top:1px solid var(--border);min-width:0;margin:0;padding:16px 0 0}.su-section legend{color:var(--text-strong);margin-bottom:10px;padding:0 8px 0 0;font-size:15px;font-weight:700}.input-affix{position:relative}.input-affix .input{padding-right:48px}.input-affix .icon-btn{width:38px;height:38px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-meter{align-items:center;gap:6px;display:flex}.pw-meter span{border-radius:var(--r-pill);background:var(--bg-muted);flex:1;height:4px}.pw-meter em{color:var(--muted);text-align:right;min-width:64px;font-size:12px;font-style:normal}.pw-meter[data-s="1"] span:nth-child(-n+1){background:var(--danger)}.pw-meter[data-s="2"] span:nth-child(-n+2){background:var(--warning)}.pw-meter[data-s="3"] span:nth-child(-n+3),.pw-meter[data-s="4"] span{background:var(--success)}.choice-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:640px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.choice{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);cursor:pointer;text-align:left;font:inherit;color:var(--text);align-items:center;gap:12px;width:100%;min-width:0;padding:12px 14px;transition:border-color .15s ease-out,background .15s ease-out;display:flex;position:relative}.choice:hover:not(:disabled){border-color:var(--ink)}.choice:disabled{opacity:.6;cursor:progress}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.choice .ico{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.choice .ico:not([class*=t-]){background:var(--bg-muted);color:var(--primary)}.choice strong{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.choice small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;display:block;overflow:hidden}.choice .chev{color:var(--subtle);flex-shrink:0;margin-left:auto;transition:transform .15s ease-out,color .15s ease-out}.choice:hover:not(:disabled) .chev{color:var(--ink);transform:translate(2px)}.choice-check{background:var(--primary);width:22px;height:22px;color:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.choice.selected{border-color:var(--primary);background:var(--bg);box-shadow:inset 0 0 0 1px var(--primary)}.choice.selected:hover:not(:disabled){border-color:var(--primary)}.choice.selected .ico:not([class*=t-]){background:var(--primary-subtle);color:var(--primary)}.choice .logo-box{border-radius:var(--r-md);border:1px solid var(--border);width:40px;height:40px}.choice-error .choice{border-color:var(--danger)}.choice-error input[type=checkbox]{outline:2px solid var(--danger);outline-offset:1px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg label{border:1px solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;height:40px;color:var(--text);align-items:center;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.seg label:hover{border-color:var(--primary)}.seg label.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.onb{max-width:760px;margin:24px auto 40px}.onb-head{margin-bottom:16px}.onb-steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.onb-steps li{min-width:0}.onb-steps button{width:100%;font:inherit;color:var(--subtle);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:10px;padding:0 0 4px;font-size:13px;font-weight:500;display:flex}.onb-steps button:before{content:"";border-radius:var(--r-pill);background:var(--bg-muted);width:100%;height:4px;transition:background .25s ease-out;display:block}.onb-steps button:disabled{cursor:default}.onb-steps .l{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:100%;display:inline-flex;overflow:hidden}.onb-steps .ok{color:var(--primary);flex-shrink:0}.onb-steps li.on button{color:var(--ink);font-weight:600}.onb-steps li.on button:before,.onb-steps li.done button:before{background:var(--primary)}.onb-steps li.done button{color:var(--text)}.onb-steps li.done button:hover:not(:disabled){color:var(--ink)}.onb-step-count{color:var(--muted);margin:10px 0 0;font-size:13px;display:none}.onb-step-count strong{color:var(--ink);font-weight:600}@media (max-width:639px){.onb-steps .l{display:none}.onb-step-count{display:block}}.onb-body{padding:20px;position:relative}@media (min-width:640px){.onb-body{padding:28px}}.onb-body h1{margin-bottom:6px;font-size:22px}.onb-body>p.muted{margin:0 0 16px}.onb-cats{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px;display:grid}@media (min-width:560px){.onb-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}.onb-alt{cursor:pointer;background:0 0;border:0;margin-top:16px;padding:0;display:inline-block}.onb-search{margin:14px 0;display:block}.onb-list{grid-template-columns:minmax(0,1fr);gap:8px;padding:2px;display:grid}@media (min-width:640px){.onb-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:56vh;overflow:auto}}.onb-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}@media (min-width:560px){.onb-terms{grid-template-columns:repeat(4,minmax(0,1fr))}}.term-tile{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);font:inherit;cursor:pointer;color:var(--text);justify-items:center;gap:2px;padding:16px 8px;display:grid}.term-tile strong{color:var(--text-strong);font-size:26px;line-height:1}.term-tile span{color:var(--muted);font-size:13px}.term-tile:hover:not(:disabled){border-color:var(--primary)}.term-tile.selected{border-color:var(--primary);background:var(--primary-subtle);box-shadow:inset 0 0 0 1px var(--primary)}.term-tile.selected strong{color:var(--primary)}.onb-summary{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.onb-summary>div{min-width:0}.onb-summary strong{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.onb-summary small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.onb-summary .btn{flex-shrink:0;margin-left:auto}.onb-summary .logo-box{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);width:44px;height:44px}.onb-college{position:relative}.onb-college .suggest{top:76px}.onb-college .suggest button{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;align-items:center;gap:10px;padding:8px 14px;font-size:14px;display:flex}.onb-college .suggest button:hover{background:var(--bg-subtle);color:var(--primary)}.onb-college .listed{color:var(--success);align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.sub-chip{border:1px solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;color:var(--text);background:var(--bg);align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.sub-chip input{opacity:0;pointer-events:none;position:absolute}.sub-chip .tile{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.sub-chip small{color:var(--muted);margin-left:6px;font-size:11px}.sub-chip>svg:last-child{color:var(--subtle)}.sub-chip:hover{border-color:var(--primary)}.sub-chip.on{border-color:var(--primary);background:var(--primary-subtle);color:var(--text-strong)}.sub-chip.on>svg:last-child{color:var(--primary)}.sub-chip:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.onb-back{margin-top:16px}.fy{padding-top:16px}.fy-hero{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:20px;display:grid}.fy-hero .fy-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}@media (min-width:900px){.fy-hero{grid-template-columns:auto minmax(0,1fr) auto;padding:24px 28px}.fy-hero .fy-actions{grid-column:auto}}.fy-hero h1{font-size:22px;line-height:1.25}@media (min-width:640px){.fy-hero h1{font-size:26px}}.fy-hero .eyebrow{margin-bottom:4px}.fy-scope{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.fy-scope span:first-child{color:var(--text-strong);font-weight:600}.fy-empty{background:var(--bg)}.fy-empty p{margin:6px 0 0}.fy-badge{border-radius:var(--r-lg);background:var(--ink);width:56px;height:56px;color:var(--bg);place-items:center;display:grid}.fy-jump{margin-top:16px}.fy-jump .pill{height:36px;padding:0 14px}.fy-exam{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:14px;margin-top:16px;padding:14px 16px;display:flex}.fy-exam .ico{border-radius:var(--r-md);background:var(--warning-subtle);width:40px;height:40px;color:var(--tint-amber);flex-shrink:0;place-items:center;display:grid}.fy-exam>div{min-width:0}.fy-exam strong{color:var(--text-strong);display:block}.fy-exam small{color:var(--muted)}.fy-count{text-align:right;color:var(--muted);flex-shrink:0;margin-left:auto;font-size:12px}.fy-count b{letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:700;line-height:1;display:block}.fy-subjects{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:768px){.fy-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.fy-subjects{grid-template-columns:repeat(3,minmax(0,1fr))}}.fy-subject{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:center;gap:8px;padding:10px 10px 10px 12px;transition:border-color .15s ease-out;display:flex}.fy-subject.on{border-color:var(--border-strong)}.fy-subject-link{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.fy-subject-link:hover{color:inherit}.fy-subject-link:hover .name{color:var(--ink)}.fy-subject .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.fy-subject .name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.fy-subject .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.follow{border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--bg);height:32px;font:inherit;color:var(--text);cursor:pointer;flex-shrink:0;align-items:center;gap:4px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.follow:hover{border-color:var(--primary);color:var(--primary)}.follow.on{background:var(--primary-subtle);border-color:var(--primary-subtle);color:var(--primary)}.fy-note{color:var(--muted);align-items:flex-start;gap:6px;margin:6px 0 0;font-size:12px;font-weight:500;line-height:1.35;display:flex}.fy-note svg{flex-shrink:0;margin-top:1px}.fy-pick{align-content:start;gap:4px;display:grid}.fy-syl{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:flex-start;gap:12px;padding:14px;display:flex}.fy-syl:hover{border-color:var(--ink);color:inherit}.fy-syl .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.fy-syl strong{color:var(--text-strong);display:block}.fy-syl small{color:var(--muted);font-size:12px;display:block}.fy-syl .sum{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;display:-webkit-box;overflow:hidden}.fy-dates{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:768px){.fy-dates{grid-template-columns:repeat(2,minmax(0,1fr))}}.fy-dates li{border:1px solid var(--border);border-radius:var(--r-lg);align-items:center;gap:12px;padding:10px 12px;display:flex}.fy-dates .d{border-radius:var(--r-md);background:var(--bg-muted);width:48px;height:52px;color:var(--ink);text-transform:uppercase;flex-shrink:0;align-content:center;place-items:center;font-size:11px;font-weight:600;display:grid}.fy-dates .d b{font-size:20px;line-height:1}.fy-dates strong{color:var(--text-strong);display:block}.fy-dates small{color:var(--muted)}.onb-body .su-section{margin-top:6px}.bar{border-radius:var(--r-pill);background:var(--bg-muted);height:6px;overflow:hidden}.bar span{background:var(--success);border-radius:inherit;height:100%;transition:width .3s ease-out;display:block}.course-progress{gap:6px;margin:4px 0 12px;display:grid}.lesson.locked .t{color:var(--muted)}.lesson.locked>svg:last-child{flex-shrink:0}.course-scopes{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.course-scopes .pill{height:32px;padding:0 12px;font-size:13px}.course-link{border:1px solid var(--border);border-radius:var(--r-lg);gap:10px;padding:10px}.course-link .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.player-shell{min-height:calc(100vh - var(--header-h))}.player-top{top:var(--header-h);z-index:20;padding:10px var(--gutter);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky}.pt-title{flex:1;min-width:0;display:grid}.pt-title strong{white-space:nowrap;text-overflow:ellipsis;color:var(--text-strong);overflow:hidden}.player-body{max-width:var(--container);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}@media (min-width:1024px){.player-body{grid-template-columns:minmax(0,1fr) 360px}}.player-main{padding:16px var(--gutter) 32px;min-width:0}.player-outline{border-top:1px solid var(--border);background:var(--bg-subtle);padding:8px 0 24px;display:none}.player-outline.open{display:block}@media (min-width:1024px){.player-outline{border-top:0;border-left:1px solid var(--border);top:calc(var(--header-h) + 57px);height:calc(100vh - var(--header-h) - 57px);display:block;position:sticky;overflow-y:auto}}.player-outline h3{gap:2px;margin:0;padding:12px 16px 6px;font-size:14px;display:grid}.po-item{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;border-left:3px solid #0000;align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.po-item:hover{background:var(--bg-muted)}.po-item.on{background:var(--primary-subtle);border-left-color:var(--primary)}.po-item.locked{color:var(--muted)}.po-check{border:1.5px solid var(--border-strong);width:22px;height:22px;color:var(--muted);background:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.po-check.done{background:var(--success);border-color:var(--success);color:var(--bg)}.po-t{gap:2px;min-width:0;font-size:14px;font-weight:500;display:grid}.po-t small{color:var(--muted);font-size:12px;font-weight:400}.lesson-view{gap:16px;display:grid}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lesson-head h1{margin:0 0 4px;font-size:22px}.lesson-head p{margin:0}.lesson-nav{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding-top:16px;display:flex}.lesson-quiz{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.lesson-quiz .tile{border-radius:var(--r-lg);flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.lesson-locked{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 20px;display:grid}.lesson-locked h2{color:var(--text-strong);margin:0}.muted-prose{color:var(--text);font-size:15px}.my-courses{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:768px){.my-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}.my-course{align-content:start;gap:8px;display:grid}.my-course .btn{text-overflow:ellipsis;justify-self:start;max-width:100%;overflow:hidden}.mc-title{color:var(--text-strong);font-size:16px;font-weight:700}.sp{aspect-ratio:16/9;background:var(--video-bg);border-radius:var(--r-lg);color:var(--on-video);-webkit-user-select:none;user-select:none;outline:none;position:relative;overflow:hidden}.sp:focus-visible{box-shadow:0 0 0 3px var(--primary)}.sp-yt{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sp-yt>div,.sp-yt iframe{border:0;width:100%;height:calc(100% + 120px);position:absolute;top:-60px;left:0}.sp-video{background:var(--video-bg);width:100%;height:100%;position:absolute;inset:0}.sp-shield{z-index:2;cursor:pointer;position:absolute;inset:0}.sp-pause-cover{z-index:3;background:linear-gradient(transparent, var(--video-scrim) 55%);cursor:pointer;height:42%;position:absolute;bottom:0;left:0;right:0}.sp-start{z-index:4;background:var(--video-bg) center / cover no-repeat;cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.sp-big{background:var(--primary);width:72px;height:72px;color:var(--on-video);box-shadow:var(--shadow-2);border-radius:50%;place-items:center;padding-left:4px;display:grid}.sp-end{z-index:6;background:var(--video-scrim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.sp-end p{max-width:420px;margin:0}.sp-spin{z-index:4;border:3px solid var(--video-line);border-top-color:var(--on-video);pointer-events:none;border-radius:50%;width:42px;height:42px;margin:-21px;animation:.8s linear infinite sp-rot;position:absolute;top:50%;left:50%}@keyframes sp-rot{to{transform:rotate(360deg)}}.sp-wm{z-index:5;pointer-events:none;opacity:1;position:absolute;inset:0;overflow:hidden}.sp-wm span{white-space:nowrap;color:var(--on-video);text-shadow:0 0 2px var(--video-bg);letter-spacing:.04em;font-weight:700;position:absolute}.sp-wm-center{opacity:.13;font-size:clamp(14px,3.4vw,34px);top:50%;left:50%;transform:translate(-50%,-50%)rotate(-14deg)}.sp-wm-drift{opacity:.2;font-size:12px;transition:left 1.2s ease-in-out,top 1.2s ease-in-out}.sp-wm-code{opacity:.32;font-family:ui-monospace,monospace;font-size:10px;font-weight:500}.sp-wm-code.c0{top:8px;left:10px}.sp-wm-code.c1{top:8px;right:10px}.sp-wm-code.c2{bottom:58px;right:10px}.sp-wm-code.c3{bottom:58px;left:10px}.sp-bar{z-index:7;background:linear-gradient(transparent, var(--video-scrim));opacity:0;padding:18px 10px 6px;transition:opacity .2s ease-out;position:absolute;bottom:0;left:0;right:0}.sp-ui .sp-bar{opacity:1}.sp-row{align-items:center;gap:2px;display:flex}.sp-row button,.sp-menu-wrap>button{border-radius:var(--r-md);min-width:36px;height:36px;color:var(--on-video);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.sp-row button:hover{background:var(--video-line)}.sp-time{font-variant-numeric:tabular-nums;opacity:.9;margin-left:6px;font-size:12px}.sp-grow{flex:1}.sp-seek input,.sp-vol{appearance:none;cursor:pointer;background:0 0}.sp-seek input{width:100%;height:16px;margin:0}.sp-seek input::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--primary) var(--p), var(--video-line-strong) var(--p) var(--b), var(--video-line) var(--b));border-radius:4px;height:4px}.sp-seek input::-moz-range-track{background:linear-gradient(90deg, var(--primary) var(--p), var(--video-line-strong) var(--p) var(--b), var(--video-line) var(--b));border-radius:4px;height:4px}.sp-seek input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border:2px solid var(--on-video);border-radius:50%;width:14px;height:14px;margin-top:-5px}.sp-seek input::-moz-range-thumb{background:var(--primary);border:2px solid var(--on-video);border-radius:50%;width:12px;height:12px}.sp-vol{width:80px;height:16px}.sp-vol::-webkit-slider-runnable-track{background:var(--video-line-strong);border-radius:3px;height:3px}.sp-vol::-webkit-slider-thumb{-webkit-appearance:none;background:var(--on-video);border-radius:50%;width:12px;height:12px;margin-top:-4.5px}.sp-menu-wrap{position:relative}.sp-menu{border-radius:var(--r-md);background:var(--video-menu);min-width:150px;box-shadow:var(--shadow-2);padding:6px;display:grid;position:absolute;bottom:42px;right:0}.sp-menu button{border-radius:var(--r-sm);height:32px;color:var(--on-video);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:flex-start;padding:0 10px;font-size:13px}.sp-menu button:hover,.sp-menu button.on{background:var(--video-line)}.sp-menu button.on:before{content:"✓";margin-right:6px}.sp-menu small{opacity:.65;padding:6px 10px 2px;font-size:11px;line-height:1.3}.sp:fullscreen{aspect-ratio:auto;border-radius:0;width:100%;height:100%}.sp-fs{z-index:1000;aspect-ratio:auto;border-radius:0;position:fixed;inset:0}.course-hero{border-radius:var(--r-xl);margin-top:16px;position:relative;overflow:hidden}.course-hero .cover{border-radius:var(--r-xl);aspect-ratio:16/9;margin:0;padding:clamp(16px,3vw,32px)}.course-hero .cover .ttl{max-width:80%;font-size:clamp(20px,3.2vw,36px);line-height:1.15}.course-hero .sp{border-radius:var(--r-xl)}.ch-play{cursor:pointer;color:var(--on-video);background:0 0;border:0;align-content:center;place-items:center;gap:10px;display:grid;position:absolute;inset:0}.ch-play:hover .sp-big{transform:scale(1.06)}.ch-play .sp-big{transition:transform .15s ease-out}.ch-label{border-radius:var(--r-pill);background:var(--video-scrim);padding:4px 12px;font-size:15px;font-weight:700}a.rating:hover{color:var(--primary)}.stars{vertical-align:middle;gap:1px;display:inline-flex}.stars .st{color:var(--border-strong);line-height:0;display:inline-block;position:relative}.stars .st .fill{height:100%;width:var(--f);color:var(--rating);position:absolute;top:0;left:0;overflow:hidden}.ratings h2{margin-bottom:14px}.rt-top{grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;display:grid}@media (min-width:560px){.rt-top{grid-template-columns:160px minmax(0,1fr)}}.rt-score{justify-items:start;gap:4px;display:grid}.rt-score strong{color:var(--text-strong);font-size:40px;line-height:1}.rt-dist{gap:4px;display:grid}.rt-row{grid-template-columns:12px 14px minmax(0,1fr) 36px;align-items:center;gap:6px;font-size:12px;display:grid}.rt-row svg{color:var(--rating)}.rt-bar{border-radius:var(--r-pill);background:var(--bg-muted);height:8px;overflow:hidden}.rt-bar span{background:var(--rating);border-radius:inherit;height:100%;display:block}.rt-form{border-top:1px solid var(--border);gap:10px;margin-top:16px;padding-top:16px;display:grid}.rt-form textarea.input{resize:vertical;height:auto;padding:10px 14px}.rt-pick{align-items:center;gap:2px;display:flex}.rt-pick button{cursor:pointer;color:var(--border-strong);border-radius:var(--r-sm);background:0 0;border:0;padding:2px;line-height:0}.rt-pick button.on{color:var(--rating)}.rt-pick .muted{margin-left:8px}.rt-mine{border-radius:var(--r-md);background:var(--bg-subtle);margin-top:16px;padding:12px}.rt-mine .row .link{cursor:pointer;background:0 0;border:0;padding:0}.rt-note{margin:14px 0 0}.rt-reviews{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.rt-reviews li{border-top:1px solid var(--border);gap:4px;padding-top:12px;display:grid}.rt-reviews p{margin:2px 0 0}.detail-thumb{max-width:760px;margin-top:16px}.detail-thumb .cover{border-radius:var(--r-xl);margin:0}.legal-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (min-width:1024px){.legal-grid{grid-template-columns:240px minmax(0,1fr)}}.legal-toc{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);padding:14px 16px}@media (min-width:1024px){.legal-toc{top:calc(var(--header-h) + 16px);position:sticky}}.legal-toc ol{gap:6px;margin:8px 0 0;padding-left:20px;font-size:14px;display:grid}.legal-toc a:hover{color:var(--primary)}.legal .prose section{scroll-margin-top:calc(var(--header-h) + 12px)}.legal .prose hr{border:0;border-top:1px solid var(--border);margin:24px 0 12px}.contact-card{color:var(--text-strong);justify-items:start;gap:6px;display:grid}a.contact-card:hover{border-color:var(--primary)}.contact-card svg{color:var(--primary)}.footer-legal{border-top:1px solid var(--footer-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:40px;padding-top:20px;font-size:13px;display:flex}.footer-legal nav{flex-wrap:wrap;gap:6px 20px;font-size:13px;display:flex}.footer-legal nav a:hover{color:var(--footer-head)}.blog-head{max-width:860px;margin:8px 0 16px}.blog-head h1{margin-bottom:8px;font-size:clamp(24px,3.4vw,34px);line-height:1.2}.lede{color:var(--text);margin:0 0 10px;font-size:16px;line-height:1.6}.chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);height:34px;color:var(--text-strong);white-space:nowrap;align-items:center;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}span.chip:hover{border-color:var(--border);color:var(--text-strong)}.chip-nav{scrollbar-width:none;gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.chip-nav::-webkit-scrollbar{display:none}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.chip-wrap .chip{height:30px;padding:0 12px;font-size:13px}.post-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}@media (min-width:640px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.post-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.post-card:hover{border-color:var(--ink)}.post-thumb .cover{border-radius:0;margin:0}.post-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.post-cat{letter-spacing:.04em;text-transform:uppercase;color:var(--primary);align-self:flex-start;font-size:12px;font-weight:700}.post-title{margin:0;font-size:17px;line-height:1.35}.post-title a:hover{color:var(--primary)}.post-excerpt{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.post-meta{color:var(--muted);flex-wrap:wrap;margin-top:auto;padding-top:6px;font-size:13px;display:flex}.post-card.lead{margin-bottom:8px}@media (min-width:900px){.post-card.lead{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.post-card.lead .post-body{justify-content:center;padding:28px}.post-card.lead .post-title{font-size:26px}.post-card.lead .post-excerpt{-webkit-line-clamp:4;font-size:16px}.post-card.lead .post-meta{margin-top:8px}}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:24px;display:flex}.topic-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:640px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.topic-tile{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);flex-direction:column;gap:6px;padding:16px;display:flex}.topic-tile:hover{border-color:var(--ink)}.topic-tile strong{color:var(--text-strong)}.blog-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:8px;display:grid}@media (min-width:1024px){.blog-layout{grid-template-columns:minmax(0,1fr) 300px;gap:48px}}.post-head h1{margin:8px 0 12px;font-size:clamp(26px,3.6vw,38px);line-height:1.2}.post-head .lede{color:var(--text);font-size:18px}.post-byline{align-items:center;gap:10px;margin-top:14px;display:flex}.post-byline>span:last-child{flex-direction:column;display:flex}.post-byline .by{color:var(--text-strong);font-size:14px;font-weight:600}.post-hero{margin:20px 0}.post-hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-xl);border:1px solid var(--border);width:100%;height:auto;display:block}.post-hero .cover{border-radius:var(--r-xl);margin:0}.post-hero .cover .ttl{-webkit-line-clamp:3;font-size:clamp(18px,3vw,28px)}.post-hero figcaption{margin-top:6px}.post-content{font-size:17px;line-height:1.75}.post-content h2{scroll-margin-top:calc(var(--header-h) + 16px);margin:32px 0 12px;font-size:24px}.post-content h3{scroll-margin-top:calc(var(--header-h) + 16px);margin:24px 0 10px;font-size:19px}.post-content p,.post-content ul,.post-content ol,.post-content table{margin-bottom:16px}.post-content blockquote{border-left:3px solid var(--primary);background:var(--primary-subtle);border-radius:var(--r-sm);margin:16px 0;padding:10px 16px}.post-content table{font-size:15px;display:block;overflow-x:auto}.post-content th{background:var(--bg-subtle);text-align:left}.toc{margin:4px 0 20px}.toc h2,.toc summary{color:var(--text-strong);cursor:pointer;margin-bottom:8px;font-size:15px;font-weight:700}details.toc{border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 16px}.toc ol{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.toc li.sub{padding-left:14px}.toc a{color:var(--text)}.toc a:hover{color:var(--primary)}.post-tags{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.post-tags .chip{height:28px;color:var(--muted);font-size:13px}.post-sources{margin-top:16px}.post-sources ol{flex-direction:column;gap:6px;margin:0 0 8px;padding-left:20px;font-size:14px;display:flex}.post-sources a{color:var(--primary);word-break:break-word}.share{gap:6px;margin:20px 0}.share .btn{border-color:var(--border)}.cat-cards{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:640px){.cat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.cat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.cat-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);align-items:flex-start;gap:14px;padding:16px;display:flex}.cat-card:hover{border-color:var(--ink)}.cat-card .tile{transition:background .2s ease-out}.cat-card:hover .tile:not(.has-img){background:currentColor}.cat-card:hover .tile:not(.has-img) svg{color:var(--bg)}.cat-card .tile{border-radius:var(--r-lg);flex:none;place-items:center;width:56px;height:56px;display:grid}.cat-card .tile.has-img{overflow:hidden}.cat-card .tile.has-img img{object-fit:cover;width:100%;height:100%}.cat-card .body{flex-direction:column;gap:4px;min-width:0;display:flex}.cat-card strong{color:var(--text-strong);font-size:16px}:root{--grad-majestic:linear-gradient(100deg, var(--tint-violet) 0%, var(--primary) 35%, var(--tint-pink) 65%, var(--tint-violet) 100%)}.grad-text{background:var(--grad-majestic);color:#0000;-webkit-text-fill-color:transparent;font-weight:inherit;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite alternate grad-shift}@keyframes grad-shift{0%{background-position:0%}to{background-position:100%}}@media (prefers-reduced-motion:reduce){.grad-text{animation:none}}.footer-col>summary{cursor:default;pointer-events:none;list-style:none}.footer-col>summary::-webkit-details-marker{display:none}@media (max-width:767px){:root{--header-row-h:56px;--header-h:108px}body:has(.shorts-wrap){--header-h:var(--header-row-h)}body:has(.shorts-wrap) .header-search-row{display:none}body{-webkit-tap-highlight-color:transparent}html{scroll-padding-top:calc(var(--header-h) + 8px)}main{padding-bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom) + 24px)}.section{margin-top:26px}.section-head{align-items:center;margin-bottom:10px}.section-head h2{font-size:18px;line-height:1.25}.section-head p{font-size:13px}.section-head .link{min-height:40px;padding-left:12px}.dots button{position:relative}.dots button:after{content:"";position:absolute;inset:-10px -4px}.lib-summary{scrollbar-width:none;scroll-snap-type:x mandatory;margin:16px calc(var(--gutter) * -1) 0;padding:0 var(--gutter);scroll-padding:0 var(--gutter);display:flex;overflow-x:auto}.lib-summary::-webkit-scrollbar{display:none}.lib-summary div{scroll-snap-align:start;flex:none;min-width:112px}.footer{margin-top:40px;padding-top:32px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:0}.footer-grid>div:first-child{padding-bottom:16px}.footer-col{border-top:1px solid var(--footer-line)}.footer-col>summary{pointer-events:auto;cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;display:flex}.footer-col>summary h4{margin:0}.footer-col>summary:after{content:"";border-right:1.5px solid var(--footer-head);border-bottom:1.5px solid var(--footer-head);width:7px;height:7px;margin:-4px 4px 0 0;transition:transform .2s ease-out;transform:rotate(45deg)}.footer-col[open]>summary:after{margin-top:4px;transform:rotate(-135deg)}.footer-col ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding-bottom:12px;display:grid}.footer-col li{margin:0}.footer-col li a{padding:8px 0;display:block}.footer-legal{flex-direction:column;align-items:flex-start;gap:10px;margin-top:0;padding-top:16px}:is(body:has(.player-shell)>.header,body:has(.player-shell)>.bottom-nav,body:has(.player-shell)>.footer){display:none}body:has(.player-shell) main{padding-bottom:0}.player-shell{min-height:100dvh}.player-bar,.player-top{padding-top:calc(10px + env(safe-area-inset-top));top:0}.q-actions{z-index:5;background:var(--bg);padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:0 -1px 0 var(--border);margin:18px -18px -18px;position:sticky;bottom:0}.lesson-nav{z-index:5;background:var(--bg);margin:0 calc(var(--gutter) * -1);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));position:sticky;bottom:0}}.page-loading{padding-top:16px}.sk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}@media (min-width:768px){.sk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1200px){.sk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.sk{flex-shrink:0;max-width:100%;display:block}.sk-crumbs-row{gap:10px;padding-top:14px;display:flex}.sk-head{align-items:center}.sk-banner{border-radius:var(--r-xl);height:240px;margin-top:16px}.sk-explore{border-radius:var(--r-lg);height:156px}@media (min-width:768px){.sk-banner{height:354px}}.sk-cat{pointer-events:none}.sk-cat .cat-text{width:100%;padding:4px 0}.sk-card-real .body{gap:6px}.sk-card-cover{aspect-ratio:16/9;border-radius:var(--r-md);margin:8px 8px 0}.sk-hero{border-radius:var(--r-xl);height:180px;margin-top:16px}@media (min-width:768px){.sk-hero{height:260px}}.sk-tabs span{padding:17px 14px}.sk-pills{overflow:hidden}.sk-cover-lg{aspect-ratio:16/9;border-radius:var(--r-xl);max-width:760px;margin-top:16px}.sk-lines{gap:10px;margin-top:14px;display:grid}.sk-byline{align-items:center;gap:10px;margin-top:16px;display:flex}.sk-buy{align-self:start}.sk-form{max-width:440px;margin:32px auto 0;padding:24px}.sk-rows{gap:10px;margin-top:16px;display:grid}.sk-rows .sk-row{align-items:center;gap:14px;margin:0;display:flex}.sk-short{place-items:center;padding-top:16px;display:grid}.sk-short-frame{aspect-ratio:9/16;border-radius:var(--r-xl);height:calc(100dvh - 200px)}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.app-end{display:none}html[data-platform=app]{--sat:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px));--header-h:calc(64px + var(--sat));overscroll-behavior-y:none}html[data-platform=app] body{overscroll-behavior-y:none}html[data-platform=app] .header{padding-top:var(--sat)}html[data-platform=app] .search-sheet{padding-top:calc(12px + var(--sat))}html[data-platform=app] .footer{display:none}html[data-platform=app] .app-end{text-align:center;color:var(--muted);padding:28px var(--gutter) calc(var(--bottom-h) + env(safe-area-inset-bottom) + 28px);border-top:1px solid var(--border);margin-top:8px;font-size:13px;line-height:1.5;display:block}html[data-platform=app] .app-end p{margin:0 0 4px}html[data-platform=app] .app-end .app-end-title{color:var(--text-strong);font-size:14px;font-weight:600}html[data-platform=app] .app-end-love{color:var(--danger)}html[data-platform=app] .app-end nav{justify-content:center;gap:16px;margin-top:12px;font-size:12px;display:flex}html[data-platform=app] .app-end nav a{color:var(--muted)}html[data-platform=app] body:has(.shorts-wrap) .app-end{display:none}@media (max-width:767px){html[data-platform=app]{--header-h:calc(108px + var(--sat))}html[data-platform=app] body:has(.shorts-wrap){--header-h:calc(var(--header-row-h) + var(--sat))}html[data-platform=app] main{padding-bottom:0}html[data-platform=app] .palette{padding-top:calc(14px + var(--sat))}}.ptr{top:var(--header-h);z-index:39;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border);width:40px;height:40px;box-shadow:var(--shadow-1);color:var(--muted);pointer-events:none;place-items:center;display:grid;position:fixed;left:50%}.ptr.ready{color:var(--primary)}.ptr span{place-items:center;display:grid}.ptr.busy span{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.auth-hero{display:none}.input-icon{display:contents}.input-icon>.ii,.input-icon>.pw-toggle,:is(html[data-platform=app] body:has(.auth-page) .header,html[data-platform=app] body:has(.auth-page) .bottom-nav,html[data-platform=app] body:has(.auth-page) .app-end){display:none}html[data-platform=app] body:has(.auth-page) main{min-height:100dvh;padding-bottom:0}html[data-platform=app] .auth-page{max-width:none;padding:0}html[data-platform=app] .auth-screen{background:var(--bg);view-transition-name:auth-screen;flex-direction:column;min-height:100dvh;display:flex}html[data-platform=app] .auth-hero{padding:calc(var(--sat) + 10px) 24px 44px;color:var(--on-brand);background:radial-gradient(110% 90% at 0% 100%, var(--tint-violet) 0%, transparent 60%), linear-gradient(155deg, var(--primary-deep) 0%, var(--primary) 100%);display:block;position:relative}html[data-platform=app] .auth-back{border-radius:var(--r-pill);width:40px;height:40px;color:var(--on-brand);background:0 0;border:0;place-items:center;margin-left:-8px;display:grid}html[data-platform=app] .auth-back:active{background:var(--on-brand-soft)}html[data-platform=app] .auth-brand{letter-spacing:-.01em;align-items:center;gap:10px;margin:14px 0 22px;font-size:20px;font-weight:700;display:flex}html[data-platform=app] .auth-brand img{box-shadow:0 0 0 1px var(--on-brand-soft);border-radius:10px}html[data-platform=app] .auth-hero h2{color:var(--on-brand);letter-spacing:-.02em;max-width:320px;font-size:30px;font-weight:800;line-height:1.15}html[data-platform=app] .auth-hero p{color:var(--on-brand-muted);max-width:320px;margin:10px 0 0;font-size:15px}html[data-platform=app] .auth-screen .auth-card,html[data-platform=app] .auth-screen .signup-form{background:var(--bg);max-width:none;box-shadow:none;border:0;border-radius:24px 24px 0 0;flex:1;margin:-20px 0 0;position:relative;padding:28px 24px calc(28px + env(safe-area-inset-bottom))!important}html[data-platform=app] .auth-screen .signup{flex-direction:column;flex:1;gap:0;margin:0;display:flex}html[data-platform=app] .auth-screen .auth-head{text-align:left!important}html[data-platform=app] .auth-screen .auth-logo{display:none}html[data-platform=app] .auth-screen h1{font-size:24px;font-weight:800}html[data-platform=app] .auth-screen .input{border-radius:var(--r-pill);height:50px;padding:0 18px}html[data-platform=app] .auth-screen .input-prefix .input{border-radius:0 var(--r-pill) var(--r-pill) 0}html[data-platform=app] .auth-screen .input-prefix>span{border-radius:var(--r-pill) 0 0 var(--r-pill)}html[data-platform=app] .auth-screen .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle);outline:none}html[data-platform=app] .auth-screen .btn.primary{border-radius:var(--r-pill);height:50px}html[data-platform=app] .input-icon{font-weight:400;display:block;position:relative}html[data-platform=app] .input-icon>.ii{color:var(--muted);pointer-events:none;display:block;position:absolute;top:50%;left:18px;transform:translateY(-50%)}html[data-platform=app] .input-icon>.input{padding-left:46px}html[data-platform=app] .input-icon>.pw-toggle{border-radius:var(--r-pill);width:40px;height:40px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}html[data-platform=app] .input-icon:has(.pw-toggle)>.input{padding-right:50px}html:not([data-platform=app])::view-transition-group(*){animation:none!important}html:not([data-platform=app])::view-transition-old(*){animation:none!important}html:not([data-platform=app])::view-transition-new(*){animation:none!important}html[data-platform=app]::view-transition{pointer-events:none}html[data-platform=app]::view-transition-old(root){animation:none}html[data-platform=app]::view-transition-new(root){animation:none}html[data-platform=app]::view-transition-group(auth-screen){z-index:30}html[data-platform=app] .header{view-transition-name:app-header}html[data-platform=app] .bottom-nav{view-transition-name:app-tabs}html[data-platform=app]::view-transition-group(app-header){z-index:20;animation:none}html[data-platform=app]::view-transition-group(app-tabs){z-index:20;animation:none}html[data-platform=app]::view-transition-old(app-header){display:none}html[data-platform=app]::view-transition-old(app-tabs){display:none}html[data-platform=app]::view-transition-new(app-header){animation:none}html[data-platform=app]::view-transition-new(app-tabs){animation:none}html[data-platform=app][data-nav=back]::view-transition-old(root){animation:.12s ease-in both app-fade-out,.2s ease-in both app-to-right}html[data-platform=app][data-nav=back]::view-transition-new(root){animation:.2s ease-out 60ms both app-fade-in,.28s cubic-bezier(.2,.8,.2,1) both app-from-left}html[data-platform=app]::view-transition-old(.app-page){animation:.12s ease-in both app-fade-out,.2s ease-in both app-to-left}html[data-platform=app]::view-transition-new(.app-page){animation:.2s ease-out 60ms both app-fade-in,.28s cubic-bezier(.2,.8,.2,1) both app-from-right}html[data-platform=app][data-nav=back]::view-transition-old(.app-page){animation:.12s ease-in both app-fade-out,.2s ease-in both app-to-right}html[data-platform=app][data-nav=back]::view-transition-new(.app-page){animation:.2s ease-out 60ms both app-fade-in,.28s cubic-bezier(.2,.8,.2,1) both app-from-left}html[data-platform=app][data-nav=tab]::view-transition-old(.app-page){animation:.1s ease-in both app-fade-out}html[data-platform=app][data-nav=tab]::view-transition-new(.app-page){animation:.16s ease-out both app-fade-in}html[data-platform=app][data-nav=screen]::view-transition-new(auth-screen){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-in}html[data-platform=app][data-nav=screen]::view-transition-old(auth-screen){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=screen]::view-transition-old(.app-page){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=screen]::view-transition-old(root){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=screen]::view-transition-old(app-header){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=screen]::view-transition-old(app-tabs){animation:.34s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=screen]::view-transition-new(.app-page){animation:.34s both app-hidden}html[data-platform=app][data-nav=screen]::view-transition-new(root){animation:.34s both app-hidden}html[data-platform=app][data-nav=screen-back]::view-transition-old(auth-screen){animation:.3s cubic-bezier(.4,0,.6,1) both app-pop-out}html[data-platform=app][data-nav=screen-back]::view-transition-new(.app-page){animation:.3s cubic-bezier(.2,.8,.2,1) both app-pop-under}html[data-platform=app][data-nav=screen-back]::view-transition-new(root){animation:.3s cubic-bezier(.2,.8,.2,1) both app-pop-under}html[data-platform=app][data-nav=screen-back]::view-transition-new(app-header){animation:.3s cubic-bezier(.2,.8,.2,1) both app-pop-under}html[data-platform=app][data-nav=screen-back]::view-transition-new(app-tabs){animation:.3s cubic-bezier(.2,.8,.2,1) both app-pop-under}html[data-platform=app][data-nav=screen-back]::view-transition-old(.app-page){animation:.3s both app-hidden}html[data-platform=app][data-nav=screen-back]::view-transition-old(root){animation:.3s both app-hidden}@keyframes app-fade-in{0%{opacity:0}}@keyframes app-fade-out{to{opacity:0}}@keyframes app-from-right{0%{translate:32px}}@keyframes app-from-left{0%{translate:-32px}}@keyframes app-to-left{to{translate:-32px}}@keyframes app-to-right{to{translate:32px}}@keyframes app-push-in{0%{translate:100vw}}@keyframes app-push-under{to{filter:brightness(.88);translate:-28vw}}@keyframes app-pop-out{to{translate:100vw}}@keyframes app-pop-under{0%{filter:brightness(.88);translate:-28vw}}@keyframes app-hidden{0%,to{opacity:0}}@media (prefers-reduced-motion:reduce){html[data-platform=app]::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}html[data-platform=app]::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}html[data-platform=app]::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}html[data-platform=app] .auth-screen .auth-card{flex-direction:column;display:flex}html[data-platform=app] .auth-screen .auth-head{margin-bottom:24px!important}html[data-platform=app] .auth-screen .auth-head p{margin-top:6px!important}html[data-platform=app] .auth-screen .auth-card .stack{gap:18px}html[data-platform=app] .auth-screen .auth-hint{display:none}html[data-platform=app] .auth-screen .auth-switch{margin:14px 0 0!important}html[data-platform=app] .auth-screen .auth-switch .link{border-radius:var(--r-pill);width:100%;height:50px;color:var(--text-strong);place-items:center;font-weight:600;display:grid;border:1px solid var(--border-strong)!important}html[data-platform=app] .auth-screen .auth-signup{color:var(--muted);margin:22px 0 0!important}html[data-platform=app] .auth-screen .auth-signup .link{color:var(--ink);font-weight:700}html[data-platform=app] .auth-screen .auth-terms{margin:auto 0 0;padding-top:28px}html[data-platform=app] body:before{content:"";height:var(--sat);background:var(--bg);z-index:70;pointer-events:none;position:fixed;top:0;left:0;right:0}html[data-platform=app] body:has(.auth-page):before{background:var(--primary-deep)}html[data-platform=app] .onb{margin:12px auto 24px}html[data-platform=app] .onb-body{box-shadow:none;background:0 0;border:0;margin-top:8px;padding:0}html[data-platform=app] .onb-body h1{font-size:22px}html[data-platform=app] .onb-cats,html[data-platform=app] .onb-list{gap:0;max-height:none;padding:0;overflow:visible}html[data-platform=app] .onb .choice{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:14px 2px}html[data-platform=app] .onb .choice:last-child{border-bottom:0}html[data-platform=app] .onb .choice.selected strong{color:var(--primary)}html[data-platform=app] .onb .choice:active:not(:disabled){background:var(--bg-subtle)}html[data-platform=app] .onb-summary{border:0}html[data-platform=app] .onb-alt{margin-top:12px}.app-topbar,.app-only{display:none}html[data-platform=app]:has(.detail-screen){--header-h:calc(52px + var(--sat))}:is(html[data-platform=app] body:has(.detail-screen) .header,html[data-platform=app] body:has(.detail-screen) .bottom-nav){display:none}html[data-platform=app] body:has(.detail-screen) .app-topbar{z-index:40;height:var(--header-h);padding:var(--sat) 4px 0;background:var(--bg);border-bottom:1px solid var(--border);view-transition-name:app-header;align-items:center;gap:4px;display:flex;position:sticky;top:0}.app-topbar button{border-radius:var(--r-pill);width:44px;height:44px;color:var(--text-strong);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.app-topbar button:active{background:var(--bg-muted)}.app-topbar-title{min-width:0;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;opacity:0;flex:1;font-size:16px;font-weight:600;transition:opacity .18s ease-out,transform .18s ease-out;overflow:hidden;transform:translateY(4px)}.app-topbar-title.on{opacity:1;transform:none}html[data-platform=app] .detail-screen .crumbs{display:none}html[data-platform=app] .detail-screen .cat-hero{margin-top:12px}html[data-platform=app] .detail-screen .detail{padding-top:6px}@media (max-width:1023px){html[data-platform=app] .detail-screen .detail>article{flex-direction:column;display:flex}html[data-platform=app] .detail-screen .detail>article>*{order:4}html[data-platform=app] .detail-screen .detail-head{display:contents}html[data-platform=app] .detail-screen .detail-head>*{order:0}html[data-platform=app] .detail-screen .detail>article>#player{order:-1;margin-bottom:12px}html[data-platform=app] .detail-screen .detail>article>:is(#reader,.course-hero,.detail-thumb){order:1}html[data-platform=app] .detail-screen .detail-head>.scope-cards{order:2;margin-top:18px}html[data-platform=app] .detail-screen .detail>article>.app-includes{order:3}html[data-platform=app] .detail-screen .app-includes{border-top:1px solid var(--border);margin-top:18px;padding-top:16px;display:block}html[data-platform=app] .detail-screen .app-includes h2{font-size:16px}html[data-platform=app] .detail-screen .app-includes .incl{border:0;margin:10px 0 0;padding:0}html[data-platform=app] .detail-screen:has(.app-cta){padding-bottom:76px}html[data-platform=app] .detail-screen .app-cta{z-index:45;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0;margin:0!important}html[data-platform=app] .app-cta .buy-box{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:6px;margin:0;padding:0;display:grid}html[data-platform=app] .app-cta .buy-box>*{display:none}html[data-platform=app] .app-cta .buy-box>.toast{display:block}html[data-platform=app] .app-cta .buy-box>.skeleton{grid-column:1/-1;display:block;height:46px!important}html[data-platform=app] .app-cta .buy-box>:is(.kicker,.price,.owned,h2){grid-column:1;min-width:0;display:block;margin:0!important}html[data-platform=app] .app-cta .buy-box>.kicker{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}html[data-platform=app] .app-cta .buy-box>.price{flex-wrap:wrap;align-items:center;gap:0 6px;font-size:20px;line-height:1.25;display:flex}html[data-platform=app] .app-cta .buy-box .price s{margin:0;font-size:13px}html[data-platform=app] .app-cta .buy-box .price .off{border-radius:var(--r-pill);background:var(--success-subtle);margin:0;padding:1px 7px;font-size:11px}html[data-platform=app] .app-cta .buy-box>h2{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}html[data-platform=app] .app-cta .buy-box>.owned{justify-self:start;max-width:100%;padding:6px 10px;font-size:13px;display:flex}html[data-platform=app] .app-cta .buy-box>:is(.stack,.owned-actions){grid-area:1/3/span 3;align-items:center;gap:6px;display:flex;margin:0!important}html[data-platform=app] .app-cta .buy-box>.btn.primary{grid-area:1/3/span 3;display:inline-flex;margin:0!important}html[data-platform=app] .app-cta .buy-box>.row{flex-wrap:nowrap;grid-area:1/2/span 3;gap:0;display:flex;margin:0!important}html[data-platform=app] .app-cta .buy-box>.row>.btn:last-child{display:none}html[data-platform=app] .app-cta .btn.primary{width:auto;height:46px;padding:0 18px}html[data-platform=app] .app-cta .buy-box>.row>.btn,html[data-platform=app] .app-cta :is(.stack,.owned-actions)>.btn:not(.primary){gap:0;width:44px;height:44px;padding:0;font-size:0}html[data-platform=app] .app-cta :is(.stack,.owned-actions)>:is(.btn.ghost,a[href^=\/library]){display:none}}html[data-platform=app] .detail-screen :is(.detail>article,.detail>aside) .panel:not(.ratings,#ratings,.buy-box){box-shadow:none;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:16px 0 0;margin-top:18px!important}html[data-platform=app] .detail-screen .detail>aside .panel h2{font-size:16px}html[data-platform=app][data-nav=push] :is(.header,.bottom-nav),html[data-platform=app][data-nav=pop] :is(.header,.bottom-nav,.app-topbar){view-transition-name:none!important}html[data-platform=app][data-nav=push]::view-transition-new(app-header){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-in}html[data-platform=app][data-nav=push]::view-transition-old(app-header){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-under;display:block}html[data-platform=app][data-nav=push]::view-transition-new(root){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-in}html[data-platform=app][data-nav=push]::view-transition-new(.app-page){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-in}html[data-platform=app][data-nav=push]::view-transition-old(root){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-under}html[data-platform=app][data-nav=push]::view-transition-old(.app-page){animation:.32s cubic-bezier(.2,.8,.2,1) both app-push-under}html[data-platform=app][data-nav=pop]::view-transition-old(root){z-index:1;animation:.28s cubic-bezier(.4,0,.6,1) both app-pop-out}html[data-platform=app][data-nav=pop]::view-transition-new(root){animation:.28s cubic-bezier(.2,.8,.2,1) both app-pop-under}@media (max-width:1023px){html[data-platform=app] .app-cta .buy-box:has(>.price)>.kicker{display:none}html[data-platform=app] .app-cta :is(.stack,.owned-actions)>.btn.primary{order:2}html[data-platform=app] .app-cta .buy-box>.row>.btn{border:1px solid var(--border-strong);margin-right:6px}}.pdf-pages-wrap{position:relative}.pdf-pages{overscroll-behavior:contain;background:var(--bg-muted);flex-direction:column;gap:8px;height:100%;padding:8px;display:flex;overflow-y:auto}.pdf-page{background:var(--bg);width:100%;height:auto;box-shadow:var(--shadow-1);display:block}.pdf-status{text-align:center;color:var(--muted);pointer-events:none;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.pdf-status .spinner{border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ptr-spin}.hero-banners,.app-skip{display:contents}html[data-platform=app] body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-platform=app] :is(input,textarea,select,[contenteditable=true]){-webkit-user-select:text;user-select:text}html[data-platform=app] .crumbs,html[data-platform=app] .hero-banners:is([data-placement=universities_hero],[data-placement=shorts_hero],[data-placement=courses_hero]),html[data-platform=app] .app-skip,html[data-platform=app] .page-search{display:none}html[data-platform=app] .page-search-bar{display:block}html[data-platform=app] .page-search-bar input{height:42px}html[data-platform=app]:has(.lib-layout){--header-h:calc(var(--header-row-h) + var(--sat))}html[data-platform=app] body:has(.lib-layout) :is(.header-search-row,.header-actions a[href=\/cart]){display:none}html[data-platform=app] body:has(.onb) :is(.header,.bottom-nav,.app-end,.app-topbar){display:none}html[data-platform=app] body:has(.onb) main{padding-bottom:0}html[data-platform=app] .onb{padding-top:calc(var(--sat) + 14px);padding-bottom:calc(24px + env(safe-area-inset-bottom));margin-top:0}.app-topbar-title .t,.app-topbar-title .s{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.app-topbar-title .s{color:var(--muted);font-size:12px;font-weight:400;line-height:1.3}.app-topbar-title.two .t{line-height:1.25}.app-topbar button.on{color:var(--primary)}@media (max-width:767px){html[data-platform=app] .pills{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding:0 var(--gutter)}html[data-platform=app] .cat-grid{scrollbar-width:none;scroll-snap-type:x proximity;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 4px;scroll-padding:0 var(--gutter);grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:46%;grid-auto-flow:column;overflow-x:auto}html[data-platform=app] .cat-grid::-webkit-scrollbar{display:none}html[data-platform=app] .cat-grid>*{scroll-snap-align:start}html[data-platform=app] .fy .grid.cards{scrollbar-width:none;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 4px;scroll-padding:0 var(--gutter);grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;gap:14px;overflow-x:auto}html[data-platform=app] .fy .grid.cards::-webkit-scrollbar{display:none}html[data-platform=app] .fy .grid.cards>*{scroll-snap-align:start}html[data-platform=app] .uni-head{border-radius:var(--r-lg);margin-top:10px}html[data-platform=app] .uni-head .inner{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 14px;padding:16px;display:grid}html[data-platform=app] .uni-head .inner>div{display:contents}html[data-platform=app] .uni-head :is(h1,.full){display:none}html[data-platform=app] .uni-head .logo-box.xl{border-radius:var(--r-md);width:60px;height:60px}html[data-platform=app] .uni-head .stats{gap:6px 14px;margin:0;font-size:13px}html[data-platform=app] .uni-head p{-webkit-line-clamp:3;-webkit-box-orient:vertical;grid-column:1/-1;margin:0;display:-webkit-box;overflow:hidden}html[data-platform=app] .uni-head .row{scrollbar-width:none;flex-wrap:nowrap;grid-column:1/-1;padding:2px 16px;overflow-x:auto;margin:0 -16px!important}html[data-platform=app] .uni-head .row::-webkit-scrollbar{display:none}html[data-platform=app] .uni-head .row .btn{flex-shrink:0}}@media (max-width:1023px){html[data-platform=app] .app-cta .buy-box{grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:2px}html[data-platform=app] .app-cta .buy-box>.row{display:none}html[data-platform=app] .app-cta .buy-box>:is(.stack,.owned-actions){flex-direction:row;grid-area:1/2/span 2;align-self:center}html[data-platform=app] .app-cta .buy-box>.btn.primary{grid-area:1/2/span 2;align-self:center}html[data-platform=app] .app-cta .buy-box>:is(.kicker,.price,.owned,h2){align-self:center}html[data-platform=app] .app-cta :is(.stack,.owned-actions)>.btn:not(.primary){border-radius:var(--r-md);order:1;width:46px;height:46px}html[data-platform=app] .app-cta .btn.primary{min-width:132px}html[data-platform=app] .app-cta .buy-box>.price{white-space:nowrap;flex-wrap:nowrap}html[data-platform=app] .app-cta .buy-box>.owned{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}html[data-platform=app] .app-cta :is(.stack,.owned-actions)>*{margin:0!important}html[data-platform=app] .app-cta .buy-box>.owned{white-space:normal;background:0 0;align-items:center;gap:6px;padding:0;font-size:13px;line-height:1.3;display:flex}html[data-platform=app] .app-cta .buy-box>.owned svg{flex-shrink:0}html[data-platform=app] .app-cta .buy-box{grid-template-rows:1fr auto auto 1fr;min-height:46px}html[data-platform=app] .app-cta .buy-box>:is(.stack,.owned-actions,.btn.primary){grid-row:1/-1}html[data-platform=app] .app-cta .buy-box>.kicker{grid-row:2}html[data-platform=app] .app-cta .buy-box>:is(.price,h2){grid-row:3}html[data-platform=app] .app-cta .buy-box>.owned{grid-row:2/span 2}html[data-platform=app] .app-cta .buy-box>.price{flex-wrap:wrap;row-gap:2px}}.prod-thumb{border-radius:var(--r-md);background:var(--bg-muted);flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.prod-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (max-width:1023px){html[data-platform=app] .detail-screen:has(.app-sticky-cta){padding-bottom:84px}html[data-platform=app] .app-sticky-cta{z-index:45;background:var(--bg);border-top:1px solid var(--border);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}html[data-platform=app] .app-sticky-cta>.btn{height:50px;margin:0!important}}@media (max-width:767px){html[data-platform=app] .uni-head .row .btn:not(.primary){display:none}html[data-platform=app] .uni-head .row .btn.primary{flex:1}}html[data-platform=app][data-nav=none]::view-transition-group(*){animation:none!important}html[data-platform=app][data-nav=none]::view-transition-old(*){animation:none!important}html[data-platform=app][data-nav=none]::view-transition-new(*){animation:none!important}html[data-platform=app] main>:is(.detail-screen,.page-loading){min-height:calc(100dvh - var(--header-h));background:var(--bg)}.co-agree{align-items:flex-start;margin-top:14px;font-weight:400;line-height:1.45}.co-agree input{flex-shrink:0;margin-top:2px}.co-agree.choice-error input{outline:2px solid var(--danger);outline-offset:2px}html[data-platform=app] .checkout-form .panel{box-shadow:none;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:18px 0 0;position:static}html[data-platform=app] .checkout-form>div>.panel:first-child{border-top:0;padding-top:4px}.push-ask-scrim{z-index:95;background:#10182873;align-items:flex-end;display:flex;position:fixed;inset:0}.push-ask{background:var(--bg);width:100%;padding:26px 22px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) push-ask-up}.push-ask-icon{background:var(--primary-subtle);width:56px;height:56px;color:var(--primary);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.push-ask h2{font-size:21px;font-weight:800}.push-ask p{color:var(--muted);margin:6px 0 12px}.push-ask ul{color:var(--text-strong);gap:10px;margin:0 0 18px;padding:0;font-size:14px;list-style:none;display:grid}.push-ask li{align-items:center;gap:10px;display:flex}.push-ask li svg{color:var(--primary);flex-shrink:0}.push-ask .btn{height:50px}.push-ask .btn+.btn{margin-top:6px}@keyframes push-ask-up{0%{transform:translateY(100%)}}html[data-platform=app] body:has(.app-sticky-cta) .app-end{display:none}.offline-bar{left:50%;bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom) + 10px);z-index:45;border-radius:var(--r-pill);background:var(--ink);max-width:calc(100% - 32px);color:var(--bg);white-space:nowrap;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;display:inline-flex;position:fixed;transform:translate(-50%)}.offline-bar a{color:var(--bg);text-underline-offset:2px;margin-left:4px;font-weight:600;text-decoration:underline}@media (min-width:768px){.offline-bar{bottom:20px}}.offline-page{max-width:640px;padding-top:28px}.offline-hero{text-align:center;justify-items:center;gap:8px;margin-bottom:24px;display:grid}.offline-hero .tile{border-radius:var(--r-lg);place-items:center;width:56px;height:56px;display:grid}.offline-hero h1{margin:6px 0 0;font-size:22px}.offline-hero p{margin:0 0 8px}.saved-list{border:1px solid var(--border);border-radius:var(--r-lg);margin:0;padding:0;list-style:none;overflow:hidden}.saved-list li{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding-right:12px;display:flex}.saved-list li:first-child{border-top:0}.saved-list a{flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 14px;display:flex}.saved-list .t{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.saved-list .xs{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-list li:hover{background:var(--bg-subtle)}.dl-btn{gap:6px}.dl-btn.done{color:var(--success);border-color:var(--success)}.dl-btn.busy{color:var(--muted);cursor:default}.dl-btn .spinner{border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite ptr-spin;display:inline-block}.dl-row{justify-content:flex-end;margin-top:10px;display:flex}.lesson-actions{flex-wrap:wrap;gap:8px}.dl-page{max-width:760px;padding-top:20px}.dl-page h1,.dl-viewer h1{margin:0;font-size:22px}.dl-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.dl-head p{margin:4px 0 0}.dl-list{border:1px solid var(--border);border-radius:var(--r-lg);margin:0;padding:0;list-style:none;overflow:hidden}.dl-list li{border-top:1px solid var(--border);align-items:center;gap:4px;padding-right:8px;display:flex}.dl-list li:first-child{border-top:0}.dl-list li.expired .tile{filter:grayscale();opacity:.6}.dl-open{min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:12px 14px;display:flex}.dl-open:disabled{cursor:default}.dl-open .tile,.dl-entry .tile,.dl-empty .tile{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.dl-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dl-text .t{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.dl-text .xs{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dl-bar{border-radius:var(--r-pill);background:var(--bg-muted);height:4px;margin-top:4px;display:block;overflow:hidden}.dl-bar span{background:var(--primary);height:100%;transition:width .3s ease-out;display:block}.dl-empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);justify-items:center;gap:6px;padding:32px 20px;display:grid}.dl-empty p{max-width:420px;margin:0}.dl-empty .btn{margin-top:10px}.dl-note{align-items:center;gap:6px;margin-top:16px;display:flex}.dl-entry{border:1px solid var(--border);border-radius:var(--r-lg);color:var(--muted);align-items:center;gap:12px;margin:4px 0 20px;padding:12px 14px;display:flex}.dl-entry:hover{border-color:var(--ink)}.dl-viewer{gap:12px;padding-top:12px;display:grid}.dl-back{justify-self:start;padding-left:4px}
