:root{--header-height:56px;--history-height:0px;--chrome-height:var(--header-height);--content-width:1440px;--gutter:40px;--paper:#fafbf6;--surface:#fff;--surface-glass:#ffffffb8;--surface-muted:#f3f5ed;--surface-sunken:#edf1e6;--ink:#192825;--text:#414d47;--muted:#657168;--faint:#7b857e;--line:#dce2d5;--line-soft:#f0f3eb;--line-strong:#cbd4c5;--brand-accent:#d7fa73;--brand-accent-ink:#253716;--mint:#114ee8;--mint-hover:#0c3fbe;--mint-ink:#fff;--mint-icon:#3b70f0;--brand-50:#eef3ff;--brand-100:#e1eaff;--brand-200:#c4d4ff;--brand-300:#9bb6fb;--brand-400:#6c94f4;--brand-500:#3b70f0;--brand-600:#114ee8;--brand-700:#0c3fbe;--brand-800:#123794;--brand-900:#142f70;--sky-50:#eef5ff;--sky-100:#dbe9ff;--sky-500:#5b9bff;--sky-700:#2f63c4;--lilac-50:#f4f1ff;--lilac-100:#e7e1ff;--lilac-700:#5b47b8;--amber-50:#fff5e8;--amber-100:#ffe6c2;--amber-400:#f8b44f;--amber-500:#f59e2b;--amber-700:#9a5a06;--amber-ink:#3d2300;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 2px #1b2c440d;--shadow-card:0 1px 2px #1b2c440a,0 8px 24px -12px #1f3a5a24;--shadow-hover:0 2px 6px #1b2c440d,0 22px 44px -18px #1f3a5a40;--shadow-pop:0 18px 48px -12px #1a2d4a38,0 2px 6px #1a2d4a0f;--ring:0 0 0 3px #114ee826;--glass-blur:saturate(1.5) blur(20px);--display:var(--font-chinese),"PingFang SC","Microsoft YaHei",sans-serif;--text-serif:var(--display);--catalogue-red:var(--brand-600);--catalogue-olive:var(--brand-600);--atelier-green:var(--brand-600);--atelier-red:var(--brand-600);--atelier-gold:var(--amber-500);--atelier-rule:var(--line);--atelier-paper:#fff;--workspace-shadow:var(--shadow-card);--workspace-ring:var(--ring);--color-white:#fff;--color-paper:#fafbf6;--color-slate-50:#f7f9f2;--color-slate-100:#f0f3eb;--color-slate-200:#dce2d5;--color-slate-300:#cbd4c5;--color-slate-400:#919d93;--color-slate-500:#6b786e;--color-slate-600:#526155;--color-slate-700:#3d4b42;--color-slate-800:#2b3930;--color-slate-900:#192825;--color-slate-950:#101b14;--color-brand-50:#eef3ff;--color-brand-100:#e1eaff;--color-brand-200:#c4d4ff;--color-brand-300:#9bb6fb;--color-brand-400:#6c94f4;--color-brand-500:#3b70f0;--color-brand-600:#114ee8;--color-brand-700:#0c3fbe;--color-brand-800:#123794;--color-brand-900:#142f70;--color-brand-950:#102454;--color-emerald-50:#eafbf4;--color-emerald-100:#cff5e6;--color-emerald-600:#067a5f;--color-emerald-700:#05604b;--color-amber-50:#fff5e8;--color-amber-100:#ffe6c2;--color-amber-400:#f8b44f;--color-amber-500:#f59e2b;--color-amber-600:#d4800f;--color-amber-700:#9a5a06}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(900px 380px at 0% -180px,#e5edff 0%,#e5edff00 72%), radial-gradient(850px 360px at 100% -200px,#edf3d9 0%,#edf3d900 72%), var(--paper);background-repeat:no-repeat;font-size:14px;line-height:1.65}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-shadow:none;text-wrap:pretty}::selection{background:var(--brand-100);color:var(--brand-900)}::-webkit-scrollbar-thumb{background:#cbd4df}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--mint-icon);outline-offset:3px}.brand-symbol{width:var(--brand-mark-size);height:var(--brand-mark-size);flex:none;display:block}.brand-symbol img{object-fit:contain;filter:hue-rotate(65deg)saturate(1.12);width:100%;height:100%;transition:transform .2s}.brand-lockup{flex-direction:row;gap:8px}.brand-wordmark{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-size:22px;font-weight:650;line-height:1.1}.brand-lockup-compact .brand-wordmark{font-size:20px}.brand-home:is(:hover,:focus-visible) .brand-symbol img{transform:translateY(-1px)rotate(-3deg)}.library-frame{padding-left:0;overflow-x:clip}.library-frame>.library-header{z-index:40;width:auto;height:var(--header-height);border:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);box-shadow:none;color:var(--ink);background:#fafbf6f2;padding:0;display:block;position:sticky;inset:0 auto auto}.library-header-inner{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;height:100%;margin:0 auto;display:grid}.library-header-left{align-items:center;gap:6px;min-width:0;display:flex}.library-header .brand-home{border:0;align-self:center;width:auto;margin:0;padding:0}.library-header .brand-lockup{flex-direction:row;gap:8px}.library-header .brand-symbol{width:30px;height:30px}.library-header .brand-symbol img{filter:hue-rotate(65deg)saturate(1.12)}.library-header .brand-wordmark{color:var(--ink);font-size:20px}.library-header .library-menu-toggle{display:none}.library-frame .desktop-primary-nav{flex-direction:row;align-items:stretch;gap:8px;height:100%;display:flex}.library-frame .desktop-primary-nav a,.library-frame .desktop-primary-nav a[aria-current=page]{clip-path:none;height:100%;min-height:0;box-shadow:none;font-family:var(--display);color:var(--ink);background:0 0;border:0;border-radius:0;align-items:center;gap:0;padding:0 16px;font-size:14px;font-weight:400;line-height:1;display:flex;position:relative}.library-frame .desktop-primary-nav a:hover{color:var(--ink);background:0 0}.library-frame .desktop-primary-nav a[aria-current=page]{color:var(--mint);font-weight:600}.library-frame .desktop-primary-nav a:after,.library-frame .desktop-primary-nav a[aria-current=page]:after{content:"";background:var(--mint);clip-path:none;transform-origin:50%;opacity:0;pointer-events:none;border:0;border-radius:2px;width:16px;height:3px;margin-left:-8px;transition:transform .2s,opacity .2s;display:block;position:absolute;inset:8px auto auto 50%;transform:scaleX(0)}.library-frame .desktop-primary-nav a:hover:after{opacity:.35;transform:scaleX(1)}.library-frame .desktop-primary-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.library-frame .library-header-right{border:0;flex-direction:row;justify-content:flex-end;align-items:center;gap:10px;min-width:0;height:auto;margin:0;padding:0;display:flex}.header-search{color:#8a95a3;background:#fff;border:1px solid #dde3f1;border-radius:999px;align-items:center;gap:6px;width:clamp(220px,22vw,298px);height:32px;padding:3px 3px 3px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s,color .16s;display:flex}.header-search:hover{border-color:#c9d3e0}.header-search:focus-within{border-color:var(--mint);box-shadow:var(--ring);color:var(--mint);background:#fff}.header-search>svg{flex:none}.header-search input{min-width:0;height:100%;box-shadow:none;color:var(--ink);background:0 0;border:0;flex:1;padding:0;font-size:13px}.header-search input::placeholder{color:var(--faint)}.header-search input::-webkit-search-cancel-button{display:none}.header-search input:focus-visible{outline:none}.header-search button{width:26px;height:26px;color:inherit;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.header-search:focus-within button{color:var(--mint)}.library-header .history-menu{flex:none;position:relative}.library-header .history-menu-trigger{width:32px;height:32px;min-height:0;color:var(--muted);border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:background-color .16s,border-color .16s,color .16s;display:grid}.library-header .history-menu-trigger:hover,.library-header .history-menu-trigger[aria-expanded=true]{border-color:var(--line);color:var(--brand-600);background:#fff}.library-header .history-popover{border:1px solid var(--line);width:min(340px,100vw - 32px);box-shadow:var(--shadow-pop);background:#fff;border-radius:14px;padding:6px;top:calc(100% + 12px);right:-8px}.library-header .history-popover:before{border-color:var(--line);background:#fff;right:20px}.history-popover header{border-color:var(--line-soft);font-family:var(--display);color:var(--ink);padding:10px 10px 10px 12px;font-size:13px;font-weight:600}.history-popover .history-traverse{border:0;gap:2px;padding:0;display:flex}.history-popover .history-traverse button{width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.history-popover .history-traverse button:hover:not(:disabled){background:var(--surface-muted);color:var(--brand-600)}.history-popover .history-traverse button:disabled{color:#c0c8d2}.history-popover nav a{color:var(--text);border-radius:9px;font-size:13px}.history-popover nav a:hover,.history-popover nav a[aria-current=page]{background:var(--surface-muted);color:var(--ink)}.history-popover nav a>small{font-family:var(--display);color:var(--faint)}.history-popover nav a>em,.history-popover footer button{color:var(--brand-600)}.history-popover footer{border-color:var(--line-soft);color:var(--faint);font-size:11px}.library-main [id]{scroll-margin-top:calc(var(--chrome-height) + 20px)}.account-menu summary{height:36px;color:var(--ink);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 3px;font-size:13px;font-weight:500;transition:background-color .16s,border-color .16s;display:flex}.account-menu summary:hover,.account-menu[open] summary{border-color:var(--line);background:#fff}.account-menu summary>svg{color:var(--faint);margin-left:0;transition:transform .2s}.account-menu[open] summary>svg{transform:rotate(180deg)}.account-menu summary>.account-name{max-width:112px}.account-initial{background:linear-gradient(140deg,var(--brand-600),var(--brand-500));color:#fff;width:28px;height:28px;font-family:var(--display);text-shadow:0 1px 1px #0b3b4a55;border:0;border-radius:50%;font-size:13px;font-weight:600}.account-popover{border:1px solid var(--line);width:250px;box-shadow:var(--shadow-pop);color:var(--ink);background:#fff;border-radius:14px;padding:6px;position:absolute;inset:calc(100% + 10px) 0 auto auto}.account-popover:before{display:none}.account-popover p{border-color:var(--line-soft);padding:12px;font-size:14px;font-weight:600}.account-popover small{color:var(--muted)}.account-popover a,.account-popover button{color:var(--text);border-radius:9px;padding:9px 12px;font-size:13px}.account-popover a>span{color:var(--amber-700);font-variant-numeric:tabular-nums;font-weight:600}.account-popover a:hover,.account-popover button:hover{background:var(--surface-muted);color:var(--ink)}.account-menu-group{border-color:var(--line-soft)}.library-login{border:1px solid var(--ink);height:32px;color:var(--ink);font-family:var(--display);white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:400;transition:background-color .16s,color .16s;display:inline-flex}.library-login:hover{background:var(--ink);color:#fff}.library-drawer{width:320px;max-width:86vw;height:100dvh;max-height:100dvh;box-shadow:var(--shadow-pop);color:var(--ink);background:#fff;border:0;border-radius:0 20px 20px 0;margin:0;inset:0 auto 0 0}.library-drawer::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1a2459}.drawer-inner{flex-direction:column;min-height:100%;padding:20px;display:flex}.drawer-top{margin-bottom:20px}.drawer-top .brand-symbol{width:30px;height:30px}.drawer-top .brand-wordmark{font-size:20px}.header-search.drawer-search{background:var(--surface-muted);width:100%;height:42px;margin-bottom:18px;padding-left:16px}.header-search.drawer-search button{width:32px;height:32px}.drawer-inner nav{gap:4px}.library-drawer .drawer-inner nav a{font-family:var(--display);color:var(--ink);box-shadow:none;background:0 0;border-radius:12px;outline:0;gap:14px;padding:12px;font-size:15px;font-weight:500}.library-drawer .drawer-inner nav a:hover{background:var(--surface-muted)}.library-drawer .drawer-inner nav a.active,.library-drawer .drawer-inner nav a[aria-current=page]{background:var(--brand-50);color:var(--brand-600);box-shadow:none;outline:0}.drawer-inner nav a>svg{width:22px;height:22px;color:inherit}.drawer-inner nav small{font-family:var(--display);color:var(--muted);margin-top:3px;font-size:12px;font-weight:400}.drawer-bottom{border-color:var(--line-soft);color:var(--text);margin-top:auto;padding-top:18px;font-size:13px}.drawer-bottom .library-login{width:100%;height:42px}.management-nav{border:0;border-bottom:1px solid var(--line-soft);background:#ffffff8c;padding:0;display:block}.management-nav-inner{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));align-items:center;gap:18px;min-height:52px;margin:0 auto;display:flex}.management-area{border-right:1px solid var(--line);color:var(--ink);flex:none;padding-right:18px;font-size:14px;font-weight:600}.management-nav nav{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.management-nav nav::-webkit-scrollbar{display:none}.management-nav nav a{height:32px;box-shadow:none;color:var(--text);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;display:inline-flex}.management-nav nav a>svg{color:var(--faint)}.management-nav nav a:hover{background:var(--surface-muted);color:var(--ink);border:0}.management-nav nav a.active{background:var(--brand-50);box-shadow:none;color:var(--brand-600);border:0;font-weight:600}.management-nav nav a.active>svg{color:var(--mint-icon)}.management-workspace .edition-heading--compact:has(.editorial-art){min-height:0;padding-right:0}.management-workspace>div>div:first-child:has(h1){border:0}.management-workspace h1{color:var(--ink);font-size:26px;font-weight:650}.management-workspace .rounded-lg,.catalogue-dialog-body .rounded-lg,.assistant-conversations .rounded-lg{border-radius:10px}.management-workspace .rounded-xl,.catalogue-dialog-body .rounded-xl,.assistant-conversations .rounded-xl{border-radius:var(--radius-md)}.assistant-conversations .rounded-full{border-radius:999px}.management-workspace .library-panel :is(select,input:not([type=checkbox]):not([type=radio])){border-radius:10px}.library-main{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));padding:32px 0 80px}.library-main:has(.home-portal){padding-top:0}.library-footer{border:0;border-top:1px solid var(--line);width:auto;color:var(--muted);background:#fbfcfe;margin:auto 0 0;padding:0;font-size:13px;display:block}.library-footer-inner{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px;margin:0 auto;padding:44px 0 34px;display:grid}.library-footer-brand .brand-symbol{width:30px;height:30px}.library-footer-brand .brand-wordmark{font-size:20px}.library-footer-brand p{max-width:360px;margin-top:14px;line-height:1.8}.library-frame .library-footer nav{flex-direction:column;align-items:flex-start;gap:10px;margin:0;display:flex}.library-footer-title{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:600}.library-footer nav a{color:var(--muted)}.library-footer nav a:hover{color:var(--brand-600)}.library-footer>small{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));border-top:1px solid var(--line-soft);color:var(--faint);margin:0 auto;padding:18px 0 28px;font-size:12px;display:block}.page-title,.library-main>div>div:first-child>h1,.edition-heading .page-title{letter-spacing:-.03em;color:var(--ink);text-shadow:none;font-size:30px;font-weight:650;line-height:1.35}.page-intro{max-width:640px;color:var(--muted);margin-top:8px;font-size:14px;line-height:1.75}.catalogue-kicker{align-items:center;gap:8px;margin-bottom:12px;display:flex}.catalogue-kicker>span:first-child{border:1px solid var(--line);height:26px;color:var(--brand-600);letter-spacing:0;background:#ffffffb3;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:500;display:inline-flex}.catalogue-kicker>span:first-child:before{content:"";background:var(--brand-accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--surface-sunken);border-radius:50%}.catalogue-kicker i,.catalogue-kicker>span:nth-child(2){display:none}.page-kicker,.eyebrow{color:var(--brand-600);letter-spacing:0;font-size:12px;font-weight:500}.learning-page .page-heading-row{align-items:flex-end;gap:32px;margin-bottom:28px;padding:0}.learning-page .page-heading-row>.catalogue-search{width:min(380px,44%)}.catalogue-search{isolation:isolate}.catalogue-search:before,.catalogue-search-field:after{display:none}.catalogue-search-field{border:1px solid var(--line-strong);clip-path:none;height:46px;color:var(--ink);box-shadow:var(--shadow-xs);background:#fff;border-radius:999px;padding:5px;transition:border-color .16s,box-shadow .16s}.catalogue-search-field:hover{border-color:#b9c4d1}.catalogue-search-field:focus-within{border-color:var(--mint);box-shadow:var(--ring);background:#fff}.catalogue-search-field>svg{width:17px;height:17px;color:var(--faint);margin:0 8px 0 12px}.catalogue-search-field input{font-family:var(--display);color:var(--ink);font-size:14px;line-height:1.6}.catalogue-search-field input::placeholder{color:var(--faint)}.is-search-focused .catalogue-search-field>svg{color:var(--brand-600);animation:none;transform:none}.catalogue-search .search-submit{background:var(--mint);min-width:0;height:34px;color:var(--mint-ink);box-shadow:none;border:0;border-radius:999px;margin-left:4px;padding:0 18px;font-size:13px;font-weight:600}.catalogue-search .search-submit:hover{background:var(--mint-hover)}.search-clear{color:var(--muted);border:0;padding-inline:8px;font-size:12px}.catalogue-search .catalogue-suggestions{border:1px solid var(--line);box-shadow:var(--shadow-pop);background:#fff;border-radius:14px;overflow:hidden}.catalogue-suggestions:before,.catalogue-suggestions:after{display:none}.search-index-label{border-color:var(--line-soft);color:var(--faint);font-size:11px}.catalogue-suggestions [role=option]{color:var(--text);font-size:13px}.catalogue-suggestions [role=option].is-active{background:var(--brand-50);color:var(--brand-800);box-shadow:none}.catalogue-suggestions small{color:var(--muted)}.workspace-metrics{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;padding:0;display:grid}.workspace-metrics>div{border-radius:var(--radius-lg);background:radial-gradient(70% 120% at 100% 100%,var(--metric-tint,var(--brand-50)) 0%,#fff0 70%),var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;padding:20px 22px;position:relative}.workspace-metrics>div:nth-child(2){--metric-tint:var(--sky-50)}.workspace-metrics>div:nth-child(3){--metric-tint:var(--amber-50)}.workspace-metrics>div:last-child{border:1px solid #fff}.workspace-metrics dt{color:var(--muted);font-size:13px}.workspace-metrics dd{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;font-weight:650;line-height:1.3}.workspace-metrics dd>span{letter-spacing:0;color:var(--faint);margin-left:6px;font-size:13px;font-weight:400}.course-toolbar{border-bottom:0;align-items:center;gap:16px;padding-bottom:0}.library-tabs{border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.library-tabs button,.library-tabs button.active{clip-path:none;min-width:0;height:32px;box-shadow:none;font-family:var(--display);color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:500;transform:none}.library-tabs button:hover{color:var(--ink);background:#ffffff8c}.library-tabs button.active{color:var(--ink);box-shadow:var(--shadow-xs);background:#fff;font-weight:600}.library-tabs button:after,.shelf-tab-detail{display:none}.library-tabs .shelf-tab-label{animation:none}.course-toolbar>.text-link{margin:0}.category-filters{gap:8px;margin-top:16px}.category-filters button{border:1px solid var(--line);height:32px;color:var(--text);background:#fff;border-radius:999px;padding:0 14px;font-size:13px}.category-filters button:hover{border-color:var(--line-strong);color:var(--ink)}.category-filters button.active{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-600);font-weight:500}.catalogue-result-count{color:var(--muted);border:0;padding:16px 0;font-size:13px}.catalogue-result-count strong{color:var(--brand-600);font-variant-numeric:tabular-nums;margin-inline:2px;font-weight:650}.text-link{color:var(--brand-600);font-size:13px;font-weight:500}.text-link:hover{color:var(--brand-800)}.results-heading{align-items:flex-end;margin:0 0 18px}.results-heading h2,.edition-section-title{letter-spacing:-.02em;color:var(--ink);font-size:22px;font-weight:650;line-height:1.4}.section-description{color:var(--muted);margin-top:4px;font-size:13px}.discovery-shelf{border-top:0;margin-top:48px;padding-top:0}.book-grid{--book-height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0;display:grid;container-type:normal}.shelf-slot{min-width:0;position:relative}.shelf-slot:nth-child(n):before,.shelf-book:nth-child(n):before{display:none}.shelf-book{border-radius:var(--radius-lg);background:var(--surface-glass);min-width:0;height:100%;box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;flex-direction:column;padding:0;transition:transform .24s,box-shadow .24s,border-color .24s;display:flex;position:relative}.shelf-book:hover,.shelf-book:focus-within{box-shadow:var(--shadow-hover);border-color:#fff}.shelf-book:hover{transform:translateY(-4px)}.shelf-book.is-dragging{opacity:0}.book-stage{--stage-a:#3d8bff;--stage-b:#7eb0ff;--stage-glow:#9ec8ff;--stage-ink:#fff;isolation:isolate;aspect-ratio:16/9;height:auto;color:var(--stage-ink);background:radial-gradient(55% 85% at 82% 58%,var(--stage-glow) 0%,transparent 72%),linear-gradient(135deg,var(--stage-a) 0%,var(--stage-b) 100%);perspective:none;border-radius:10px;display:block;position:relative;overflow:hidden;container-type:inline-size}.book-stage[data-tone=blue]{--stage-a:#3a73f0;--stage-b:#6f9dff;--stage-glow:#9db8ff;--stage-ink:#fff}.book-stage[data-tone=cyan]{--stage-a:#1aa7c4;--stage-b:#5ccfe3;--stage-glow:#9ee4f0;--stage-ink:#fff}.book-stage[data-tone=slate]{--stage-a:#3d4c63;--stage-b:#6a7b93;--stage-glow:#9aabc0;--stage-ink:#fff}.book-stage[data-tone=green]{--stage-a:#0e9a74;--stage-b:#3dcaa0;--stage-glow:#8ee4c6;--stage-ink:#fff}.book-stage[data-tone=teal]{--stage-a:#0e8f86;--stage-b:#3cbcb2;--stage-glow:#8ad9d2;--stage-ink:#fff}.book-stage[data-tone=violet]{--stage-a:#5b4ad6;--stage-b:#8b7cf0;--stage-glow:#c0b6ff;--stage-ink:#fff}.book-stage[data-tone=amber]{--stage-a:#e08918;--stage-b:#f3b14a;--stage-glow:#ffd08a;--stage-ink:#fff}.book-stage[data-tone=rose]{--stage-a:#d45a5a;--stage-b:#ee8a86;--stage-glow:#ffc2be;--stage-ink:#fff}.book-stage:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#ffffff8c 1px,#0000 1px) 0 0/22px 22px,linear-gradient(0deg,#ffffff8c 1px,#0000 1px) 0 0/22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 78%,#000 0%,#0000 75%);mask-image:radial-gradient(70% 90% at 78%,#000 0%,#0000 75%)}.book-stage:after{content:"";z-index:-1;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 32% 28%,#ffffffd9 0%,#ffffff40 55%,#fff0 72%);border:1px solid #ffffffb3;border-radius:50%;width:52%;position:absolute;bottom:-24%;right:3%}.shelf-book .book-stage{margin:8px 8px 0}.stage-copy{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-start;min-width:0;display:flex;position:absolute;inset:11% 43% 11% 7%}.stage-brand{font-family:var(--display);letter-spacing:.02em;color:#ffffffd9;align-items:center;gap:5px;font-size:max(10px,3.3cqw);font-weight:600;display:inline-flex}.stage-level{color:#fff;-webkit-backdrop-filter:blur(8px);background:#ffffff2e;border:1px solid #fff6;border-radius:999px;align-items:center;height:max(20px,6.4cqw);margin-top:auto;padding:0 max(8px,2.8cqw);font-size:max(10px,3.2cqw);font-weight:600;display:inline-flex}.stage-brand .brand-symbol{width:max(12px,4.4cqw);height:max(12px,4.4cqw)}.stage-brand .brand-symbol img{filter:brightness(0)invert();opacity:.92}.stage-title{font-family:var(--display);letter-spacing:-.03em;color:var(--stage-ink);overflow-wrap:anywhere;flex-direction:column;margin-top:6cqw;font-size:7.4cqw;font-weight:700;line-height:1.22;display:flex}.stage-title.is-long{font-size:6.2cqw}.stage-title>span{display:block}.stage-book{z-index:1;aspect-ratio:128/180;transform-origin:50% 100%;height:78%;transition:transform .32s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:11%;right:9%;transform:rotate(5deg)}.stage-book:after{content:"";z-index:-1;background:radial-gradient(closest-side,#10233a42,#0000);border-radius:50%;height:12%;position:absolute;bottom:-7%;left:6%;right:-10%}.book-stage .stage-book .course-cover.course-cover{border:0;border-radius:3px 6px 6px 3px;width:100%;height:100%;transform:none;box-shadow:0 1px 2px #0000001f,8px 12px 22px -8px #10233a66}.book-grid.is-sorting .book-stage .stage-book .course-cover.course-cover{transform:none}.book-stage:is(:hover,:focus-visible) .stage-book{transform:rotate(1deg)translateY(-5%)}.book-stage:is(:hover,:focus-visible) .stage-book .book-front{box-shadow:none;transform:rotateY(-28deg)}.book-stage .book-front{transition:transform .36s,box-shadow .36s}.book-stage .book-front:after{box-shadow:inset 0 0 0 1px #ffffff40,inset 12px 0 12px -12px #283a31}.book-stage .book-paper-block{inset:3px 0 3px 4px}.book-stage .book-inside{background:#f8f8f4;border:1px solid #dde3ea;padding:0}.book-stage .book-turn-leaf,.book-stage .book-inside>*{display:none}.stage-book .book-cover-copy{top:14cqw;left:15cqw;right:6cqw}.stage-book .course-cover-title{max-height:4em;font-family:var(--font-book-text),serif;letter-spacing:-.02em;padding-bottom:0;font-size:13.5cqw;font-weight:600;line-height:1.3}.stage-book .course-cover-subtitle{max-height:3.3em;font-family:var(--font-book-text),serif;margin-top:6cqw;font-size:5.4cqw;line-height:1.6}.stage-book .course-cover-edition{padding:0;font-size:4.6cqw;bottom:8cqw;left:13cqw}.stage-book .book-spine{width:7cqw;padding:1px;font-size:4cqw}.stage-book .course-status{background:var(--amber-500);color:var(--amber-ink);writing-mode:vertical-rl;letter-spacing:.1em;padding:5cqw 4cqw 8cqw;font-size:max(9px,7cqw);font-weight:600;line-height:1.2;top:0;right:10cqw}.book-save-ribbon{background:linear-gradient(90deg,var(--amber-500),var(--amber-400) 55%,var(--amber-500));border:0;width:8cqw;height:22cqw;right:9cqw}.shelf-book .course-save,.shelf-book .book-move{z-index:3;width:32px;height:32px;color:var(--text);-webkit-backdrop-filter:blur(10px);background:#ffffffc7;border:1px solid #ffffffe6;border-radius:50%;place-items:center;margin:0;padding:0;font-size:0;transition:opacity .18s,transform .18s,background-color .16s,color .16s;display:grid;position:absolute;top:18px;box-shadow:0 4px 12px -4px #10233a33}.shelf-book .course-save{right:18px}.shelf-book .course-save:hover{color:var(--amber-700);background:#fff}.shelf-book .course-save.is-saved{border-color:var(--amber-500);background:var(--amber-500);color:var(--amber-ink)}.shelf-book .course-save.is-saved svg{fill:currentColor}.shelf-book .course-save:after{display:none}.shelf-book .book-move{cursor:grab;touch-action:none;opacity:0;right:58px;transform:translateY(-4px)}.shelf-book .book-move:active{cursor:grabbing}.shelf-book .book-move:hover{color:var(--ink);background:#fff}.shelf-book:hover .book-move,.shelf-book .book-move:focus-visible{opacity:1;transform:none}.shelf-book .book-information{flex-direction:column;flex:1;align-items:stretch;gap:0;min-width:0;min-height:0;margin:0;padding:14px 16px 16px;display:flex}.course-card-title{color:var(--ink);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:500;line-height:1.6;display:-webkit-box;overflow:hidden}.shelf-book.is-compact .book-information{padding:12px 16px 16px}.shelf-book.is-compact .course-card-title{-webkit-line-clamp:2}.course-card-description{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.course-card-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.course-card-tags>span{background:var(--surface-sunken);height:22px;color:var(--muted);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.course-card-foot{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-top:auto;padding-top:12px;display:flex}.course-card-stats{min-width:0;color:var(--faint);white-space:nowrap;align-items:center;gap:14px;font-size:12px;display:flex}.course-card-stats>span{align-items:center;gap:4px;display:inline-flex}.book-progress{width:auto;min-width:0;max-width:none;color:var(--muted);flex:1;margin:0;font-size:12px;line-height:1.6}.reading-line,.page-edge-progress{background:var(--surface-sunken);clip-path:none;height:6px;box-shadow:none;border:0;border-radius:999px;overflow:hidden}.reading-line i,.page-edge-fill{border-radius:inherit;background:linear-gradient(90deg,var(--mint-hover),var(--mint-icon))}.reading-line b{display:none}.book-progress .reading-line{margin-bottom:4px}.book-progress strong{font-family:var(--display);color:var(--brand-600);font-size:12px;font-weight:600}.course-action{border:1px solid var(--line-strong);width:auto;min-height:32px;box-shadow:none;font-family:var(--display);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:4px;margin:0;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.course-action:hover{border-color:var(--ink);color:var(--ink);background:#fff}.course-action[href$=\/learn],.course-action-enroll{border-color:var(--mint);background:var(--mint);color:var(--mint-ink);font-weight:600}.course-action[href$=\/learn]:hover,.course-action-enroll:hover:not(:disabled){border-color:var(--mint-hover);background:var(--mint-hover);color:var(--mint-ink)}.course-action:hover,.quiet-button,.quiet-button:hover{box-shadow:none}.course-action>svg{transition:transform .2s}.course-action[href]:hover>svg{transform:translate(2px)}.shelf-action-label,.course-action-enroll:is(:hover,:focus-visible) .shelf-action-label{transform:none}.course-action-enroll{opacity:0;transition:opacity .18s,transform .18s,background-color .16s;transform:translate(6px)}.shelf-book:is(:hover,:focus-within) .course-action-enroll,.course-action-enroll:disabled{opacity:1;transform:none}.shelf-slot:has(.is-dragging):after{border:1.5px dashed var(--brand-300);border-radius:var(--radius-lg);background:#eafbf480;height:auto;inset:0}.shelf-slot:has(.is-drop-target):after{border:1.5px dashed var(--brand-300);border-radius:var(--radius-lg);background:#eafbf480;height:auto;inset:0}.shelf-drag-overlay.book-stage{border-radius:12px;margin:0;padding:0;transform:rotate(-2deg);box-shadow:0 24px 48px -16px #10233a59}.library-panel,.account-detail,.weekly-paper,.team-principles article{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff}.library-button{min-height:34px;box-shadow:none;font-family:var(--display);border-style:solid;border-width:1px;border-radius:999px;font-size:13px;font-weight:500;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}.library-button:hover{box-shadow:none}.library-button.border{border:1px solid var(--line-strong)}.library-button[data-variant=primary]{border-color:var(--mint);background:var(--mint);color:var(--mint-ink);font-weight:600}.library-button[data-variant=primary]:hover{border-color:var(--mint-hover);background:var(--mint-hover);color:var(--mint-ink)}.library-button[data-variant=primary] .border-brand-600{border-color:var(--mint-ink);border-top-color:#0000}.library-button[data-variant=secondary]{border-color:var(--ink);background:var(--ink);color:#fff}.library-button[data-variant=secondary]:hover{background:#26323f;border-color:#26323f}.library-button[data-variant=outline]{border-color:var(--line-strong);color:var(--ink);background:#fff}.library-button[data-variant=outline]:hover{border-color:var(--ink);background:#fff}.library-button[data-variant=ghost]{color:var(--text);border-color:#0000}.library-button[data-variant=ghost]:hover{background:var(--surface-muted);color:var(--ink)}.library-button[data-variant=danger]{color:#fff;background:#d14343;border-color:#d14343}.quiet-button{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex}.quiet-button:hover{border-color:var(--ink);background:#fff}.catalogue-badge{border:0;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.library-frame input:not([type=checkbox]):not([type=radio]),.auth-page input:not([type=checkbox]):not([type=radio]),.catalogue-input,.library-frame textarea,.auth-page textarea,.library-frame select,.auth-page select{border-radius:10px}.library-frame .header-search input[type=search]{border-radius:0}.catalogue-input,.library-frame textarea,.auth-page textarea,.library-frame select,.auth-page select{border:1px solid var(--line-strong);color:var(--ink);box-shadow:none;background:#fff;font-size:14px}.catalogue-input:hover,.library-frame textarea:hover,.library-frame select:hover{border-color:#b9c4d1}.catalogue-input:focus,.library-frame textarea:focus,.auth-page textarea:focus,.library-frame select:focus{border-color:var(--mint);box-shadow:var(--ring);background:#fff;outline:none}.library-frame input[type=checkbox],.auth-page input[type=checkbox],.library-frame input[type=radio]{accent-color:var(--brand-500)}.library-panel:has(table){border:1px solid var(--line);box-shadow:var(--shadow-card)}.library-panel:has(.overflow-x-auto>table){overflow:hidden}.library-panel table{font-size:13px}.library-panel thead{background:#f7f9fc}.library-panel th{border-bottom:1px solid var(--line);font-family:var(--display);letter-spacing:0;color:var(--muted);padding-block:12px;font-size:12px;font-weight:500}.library-panel td{border-color:var(--line-soft);color:var(--text);padding-block:15px}.library-panel tbody tr:hover{background:#f8fafd}.edition-stat.library-panel{position:relative;overflow:hidden}.edition-stat:after{display:none}.edition-stat .text-2xl{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:28px;font-weight:650}.library-empty,.certificates-page>.library-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);min-height:240px;box-shadow:none;background:#ffffffa6}.library-panel .library-empty{background:0 0;border:0}.empty-title{color:var(--ink);font-size:18px;font-weight:600}.empty-hint{color:var(--muted);font-size:13px}.weekly-paper{margin-top:28px;padding:24px}.weekly-paper p{color:var(--text);font-size:14px}.catalogue-dialog{width:calc(100% - 36px);padding:0}.catalogue-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1a2466}.catalogue-dialog-paper{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px -20px #0f1a244d}.catalogue-dialog-paper:before{display:none}.catalogue-dialog-heading{border-color:var(--line-soft);background:0 0;margin-bottom:18px;padding-bottom:14px}.catalogue-dialog-heading h2{color:var(--ink);font-size:19px;font-weight:650}.catalogue-dialog-body{background:#fff}.catalogue-dialog-body :is(input,textarea,select){border-color:var(--line-strong);color:var(--ink);background:#fff;border-radius:10px}.catalogue-dialog-body dl{background:var(--surface-muted);border-radius:12px}.icon-button{width:34px;height:34px;color:var(--muted);border-radius:50%}.icon-button:hover{background:var(--surface-muted);color:var(--ink)}.catalogue-tooltip{color:#fff;background:var(--ink);box-shadow:var(--shadow-pop);border:0;border-radius:8px;font-family:inherit}.catalogue-tooltip:before{background:var(--ink)}.catalogue-toast{border:1px solid var(--line);box-shadow:var(--shadow-pop);color:var(--ink);background:#fff;border-radius:999px;padding:12px 18px;font-weight:500}.catalogue-toast:before{content:"";background:var(--brand-accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--surface-sunken);vertical-align:1px;border-radius:50%;margin-right:10px;display:inline-block}.catalogue-toast:after{display:none}.catalogue-toast.is-error{color:#a33b2f;background:#fff;border-color:#f1d6d2}.catalogue-toast.is-error:before{background:#e0624f;box-shadow:0 0 0 3px #fbe3df}.library-section-banner.edition-heading,.manual-page>.edition-heading{background:0 0;border:0;min-height:0;margin-bottom:0;padding:0 0 26px}.edition-heading--illustrated:before,.edition-heading-index:before{display:none}.edition-heading-copy,.edition-heading--compact .edition-heading-copy{max-width:100%}.edition-heading .page-title{margin:8px 0}.edition-heading .page-intro{max-width:660px;color:var(--muted);font-size:14px;line-height:1.8}.edition-heading-index{color:var(--brand-600);letter-spacing:0;font-size:12px;font-weight:500}.edition-heading>.editorial-art{display:none}.manual-toolbar{border:0;padding:0 0 18px}.manual-toolbar:after{display:none}.manual-toolbar>p{color:var(--muted)}.manual-categories.library-panel{padding:8px}.manual-index-title{color:var(--faint);padding:8px 10px 12px;font-size:12px}.manual-categories button{min-height:40px;color:var(--text);border:0;border-radius:10px;margin-bottom:2px;font-size:13px}.manual-categories button:hover{background:var(--surface-muted)}.manual-categories button.bg-brand-50{background:var(--brand-50);color:var(--brand-600);box-shadow:none;font-weight:500}.skill-edition{--manual-ink:var(--brand-600);border-radius:var(--radius-lg);background:var(--surface-glass);min-height:180px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;gap:16px;padding:22px;transition:transform .22s,box-shadow .22s,border-color .22s}.skill-edition[data-edition="1"]{--manual-ink:#b86e0c}.skill-edition[data-edition="2"]{--manual-ink:var(--sky-700)}.skill-edition[data-edition="3"]{--manual-ink:var(--lilac-700)}.skill-edition:after{display:none}.skill-edition-art{background:color-mix(in srgb,var(--manual-ink),white 88%);width:44px;min-width:44px;height:52px;min-height:0;box-shadow:none;border:0;border-radius:10px;align-self:flex-start}.manual-cover-lines{display:none}.skill-edition-number{font-family:var(--display);color:var(--manual-ink);align-self:center;margin:0;font-size:17px;font-weight:600}.skill-edition-content>span:nth-child(2){font-family:var(--display);color:var(--ink);font-size:16px;font-weight:600;line-height:1.55}.skill-edition-content small{border-color:var(--line-soft);color:var(--muted);margin-top:16px;padding-top:12px;font-size:12px}.manual-open{color:var(--brand-600)}.skill-edition:hover,.skill-edition:focus-visible{box-shadow:var(--shadow-hover);background:#fff;border-color:#fff;transform:translateY(-3px)}.skill-edition:is(:hover,:focus-visible) .skill-edition-art{box-shadow:none;transform:none}.account-destinations{background:0 0;border:0;gap:16px;overflow:visible}.account-destinations a,.account-destinations a:nth-child(odd){border:1px solid var(--line);border-radius:var(--radius-lg);min-height:150px;box-shadow:var(--shadow-card);background:#fff;gap:16px;padding:22px;transition:transform .22s,box-shadow .22s,border-color .22s}.account-destinations a:hover,.account-destinations a:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-hover);background:#fff;transform:translateY(-3px)}.account-destination-mark,.account-destinations a:nth-child(2) .account-destination-mark,.account-destinations a:nth-child(3) .account-destination-mark{background:var(--brand-50);width:42px;height:42px;color:var(--brand-600);border:0;border-radius:12px}.account-destinations a:nth-child(2) .account-destination-mark{background:var(--sky-50);color:var(--sky-700)}.account-destinations a:nth-child(3) .account-destination-mark{background:var(--amber-50);color:var(--amber-700)}.account-destination-mark>svg{width:22px;height:22px}.account-destination-index{display:none}.account-destinations strong{font-family:var(--display);color:var(--ink);font-size:16px;font-weight:600}.account-destinations small{color:var(--muted);font-size:13px}.account-detail{padding:4px 22px}.account-detail summary{font-family:var(--display);color:var(--ink);padding:18px 0;font-size:15px;font-weight:600}.account-detail[open]>div{border-color:var(--line-soft)}.account-detail .library-panel{box-shadow:none;background:#fff;border:0;padding:10px 0}.membership-card,.membership-business,.points-package,.mall-reward,.certificate-sheet{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff}.membership-card:before,.membership-card:after,.reward-display:before,.reward-display:after{display:none}.membership-card[data-period="12"]{border:1.5px solid var(--brand-300);background:linear-gradient(#f0f4ff 0%,#fff 46%)}.membership-name{border-bottom:1px solid var(--line-soft)}.membership-name>span:first-child{color:var(--ink);font-size:18px;font-weight:600}.membership-price>span:first-child{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:40px;font-weight:650}.membership-price>span:last-child{color:var(--muted)}.membership-ribbon{background:var(--amber-500);color:var(--amber-ink);box-shadow:none;border-radius:999px;font-weight:600}.membership-card li,.membership-business li,.price-page section li{border-color:var(--line-soft);color:var(--text);font-size:13px}.membership-featured{border-color:var(--brand-300);box-shadow:0 0 0 1px var(--brand-300)}.points-package>div:nth-child(2){color:var(--ink);font-size:30px}.points-package .library-button{border-top-style:solid}.points-wallet.library-panel,.library-panel.bg-gradient-to-br{border-radius:var(--radius-lg);color:#fff;background:radial-gradient(90% 140% at 100% 0,#19c29a8c 0%,#0000 60%),radial-gradient(70% 120% at 0 100%,#5b9bff59 0%,#0000 60%),linear-gradient(135deg,#0c4f45,#12294a);border:0;box-shadow:0 18px 40px -18px #12294a80}.points-wallet .text-4xl{font-family:var(--display);color:#fff;font-size:38px}.points-wallet .text-brand-200,.library-panel.bg-gradient-to-br .text-brand-200,.library-panel.bg-gradient-to-br .text-brand-100,.wallet-heading{color:#c3f3e2}.checkin-card{border:1px solid var(--line);box-shadow:var(--shadow-card)}.checkin-heading{color:var(--brand-600)}.checkin-card .text-2xl{font-size:22px}.points-mall-link{border:1px solid var(--amber-100);border-radius:var(--radius-md);background:var(--amber-50)}.points-page>a:has(.points-mall-link){display:block}.mall-reward{border-top:1px solid var(--line)}.mall-reward[data-reward=VIP_DAY],.mall-reward[data-reward=AI_CREDIT]{background:#fff}.reward-display{border-bottom:1px solid var(--line-soft)}.reward-kind{color:var(--muted);font-size:12px}.reward-value{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:38px;font-weight:650}.reward-value small{color:var(--muted);letter-spacing:0}.reward-mark{background:var(--amber-50);width:48px;height:48px;color:var(--amber-700);border:0;border-radius:14px;transform:none}.reward-mark>svg{width:26px;height:26px}.mall-reward:hover .reward-mark,.mall-reward:focus-within .reward-mark{transform:translateY(-1px)}.mall-reward>div.text-base{font-size:16px}.certificate-sheet{padding:8px}.certificate-sheet>div{border:1px solid var(--line-soft);background:linear-gradient(160deg,#fbfdff,#f1f7f6);border-radius:12px}.certificate-seal{color:var(--brand-500);transform:none}.certificate-index{color:var(--faint)}.checkout-receipt{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);background:#fff}.receipt-punches{display:none}.card-hover{transition:transform .22s,border-color .22s,box-shadow .22s}.card-hover:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.home-portal{flex-direction:column;display:flex}.portal-hero{background:linear-gradient(180deg,#f5f8fb00 calc(100% - 80px),var(--paper) 100%),radial-gradient(42% 70% at 12% 8%,#c5f3e4 0%,transparent 68%),radial-gradient(48% 80% at 88% 0%,#cfe0ff 0%,transparent 70%),radial-gradient(28% 50% at 58% 100%,#e4dcff 0%,transparent 72%),linear-gradient(180deg,#f4fbff 0%,#fff 72%);width:100vw;margin:0 0 0 calc(50% - 50vw);padding:48px 0 20px;position:relative;overflow:hidden}.portal-hero-inner{width:min(var(--content-width),calc(100% - 2 * var(--gutter)));grid-template-columns:minmax(320px,.9fr) minmax(0,1.2fr);align-items:center;gap:16px;margin:0 auto;display:grid}.portal-hero-copy{min-width:0;padding-top:12px}.portal-eyebrow{display:none}.portal-hero h1{letter-spacing:-.01em;color:var(--ink);margin:0 0 14px;font-size:clamp(34px,3.2vw,44px);font-weight:600;line-height:1.22}.portal-hero h1>span{color:var(--ink);background:0 0;display:block}.portal-hero-copy>p{color:#636b70;max-width:460px;font-size:16px;line-height:1.7}.portal-hero-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.portal-primary,.portal-secondary{border:0;border-radius:60px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 36px;font-size:16px;font-weight:400;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.portal-primary{background:var(--mint);color:#fff;border:0;box-shadow:0 8px 16px #6b90a61a}.portal-primary:hover{background:var(--mint-hover);color:#fff}.portal-primary>svg{display:none}.portal-secondary{color:#1a1a1a;background:#ffffffd9;border:1px solid #fff;box-shadow:0 1px 2px #1b2c4414}.portal-secondary:hover{color:var(--ink);background:#fff}.portal-facts{display:none}.portal-hero-art{min-width:0;position:relative}.portal-hero-art>img{mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.portal-chip{z-index:2;box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(14px);color:var(--muted);background:#ffffffc7;border:1px solid #ffffffe6;border-radius:14px;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:12px;display:flex;position:absolute}.portal-chip strong{color:var(--ink);font-size:13px;font-weight:600;display:block}.portal-chip small{color:var(--muted);font-size:12px;display:block}.portal-chip-mark{background:var(--brand-50);width:32px;height:32px;color:var(--brand-600);border-radius:10px;flex:none;place-items:center;display:grid}.portal-chip-progress{width:210px;top:12%;left:2%}.portal-chip-progress>span:nth-child(2){flex:1;min-width:0}.portal-chip-progress .reading-line{margin-top:6px;display:block}.portal-chip-progress em{color:var(--brand-600);font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.portal-chip-note{bottom:10%;right:4%}.portal-chip-note .portal-chip-mark{background:var(--amber-50);color:var(--amber-700)}.portal-section{margin-top:96px}.portal-hero+.portal-steps{margin-top:8px}.portal-section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.portal-section-head h2{letter-spacing:-.02em;color:var(--ink);font-size:36px;font-weight:600;line-height:1.25}.portal-section-head p{color:#636b70;margin-top:8px;font-size:16px}.portal-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px auto 0;padding:0;list-style:none;display:grid}.portal-steps li{border-radius:var(--radius-lg);background:var(--surface-glass);min-height:118px;box-shadow:var(--shadow-card);border:1px solid #fff;flex-direction:column;gap:6px;padding:22px 24px;display:flex}.portal-steps span{background:var(--mint);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:grid}.portal-steps strong{color:var(--ink);font-size:16px;font-weight:600}.portal-steps small{color:var(--muted);font-size:13px;line-height:1.6}.portal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.portal-feature{border-radius:var(--radius-lg);min-height:320px;box-shadow:none;isolation:isolate;background:#e8f3f8;border:0;grid-column:span 2;align-items:flex-end;transition:transform .24s,box-shadow .24s;display:flex;position:relative;overflow:hidden}.portal-feature>img{z-index:-2;object-fit:cover;object-position:right center;transition:transform .5s cubic-bezier(.2,.7,.3,1)}.portal-feature:before{content:"";z-index:-1;background:linear-gradient(90deg,#f7f9f2ef 0%,#f7f9f299 36%,#fff0 62%);position:absolute;inset:0}.portal-more{border:1px solid var(--ink);height:32px;color:var(--ink);background:#fff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:400;transition:background-color .16s,color .16s;display:inline-flex}.portal-more:hover{background:var(--ink);color:#fff}.portal-feature:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.portal-feature:hover>img{transform:scale(1.03)}.portal-feature-copy{flex-direction:column;align-items:flex-start;max-width:min(380px,62%);padding:28px;display:flex}.portal-feature-copy small{height:24px;color:var(--brand-600);background:#fffc;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.portal-feature[data-direction=ai] .portal-feature-copy small{color:var(--lilac-700)}.portal-feature-copy strong{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);margin-top:14px;font-size:26px;font-weight:700;line-height:1.3}.portal-feature-copy>span{color:var(--text);margin-top:8px;font-size:14px;line-height:1.7}.portal-feature-copy em{color:var(--brand-600);align-items:center;gap:6px;margin-top:18px;font-size:14px;font-style:normal;font-weight:600;display:inline-flex}.portal-feature-copy em>svg{transition:transform .2s}.portal-feature:hover .portal-feature-copy em>svg{transform:translate(3px)}.portal-more-tile{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);min-height:260px;color:var(--brand-600);background:#ffffff80;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:28px;transition:border-color .16s,background-color .16s;display:flex}.portal-more-tile strong{color:var(--ink);margin-top:8px;font-size:17px;font-weight:650}.portal-more-tile span{color:var(--muted);font-size:13px}.portal-more-tile em{align-items:center;gap:6px;margin-top:10px;font-size:13px;font-style:normal;font-weight:600;display:inline-flex}.portal-more-tile:hover{border-color:var(--mint);background:#fff}.portal-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.portal-tool{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;border:1px solid #fff;flex-direction:column;padding:8px 8px 22px;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden}.portal-tool:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.portal-tool-art{background:linear-gradient(145deg,var(--brand-50),#eef6fb);border-radius:10px;flex:none;width:100%;height:168px;display:block;overflow:hidden}.portal-tool:nth-child(2) .portal-tool-art{background:linear-gradient(145deg,var(--sky-50),#eef4ff)}.portal-tool:nth-child(3) .portal-tool-art{background:linear-gradient(145deg,var(--amber-50),#fff6ea)}.portal-tool-art img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block}.portal-tool-copy{z-index:1;background:#fff;flex-direction:column;min-width:0;padding:16px 10px 0 12px;display:flex;position:relative}.portal-tool-copy small{color:var(--faint);font-size:12px}.portal-tool-copy strong{color:var(--ink);margin-top:4px;font-size:18px;font-weight:600}.portal-tool-copy>span{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.7}.portal-tool-copy em{color:var(--brand-600);align-items:center;gap:6px;margin-top:12px;font-size:14px;font-style:normal;font-weight:600;display:inline-flex}.portal-enterprise{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:radial-gradient(60% 90% at 100% 0,#dce9ff 0%,#0000 70%),radial-gradient(50% 80% at 0 100%,#f0f4e3 0%,#0000 70%),#ffffffb3;border:1px solid #fff;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:24px;margin-top:88px;padding:12px 12px 12px 48px;display:grid;overflow:hidden}.portal-enterprise-copy small{background:var(--sky-50);height:24px;color:var(--sky-700);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.portal-enterprise-copy h2{letter-spacing:-.03em;color:var(--ink);margin-top:14px;font-size:28px;font-weight:650;line-height:1.35}.portal-enterprise-copy p{max-width:480px;color:var(--text);margin-top:10px;font-size:14px;line-height:1.8}.portal-enterprise-copy ul{flex-direction:column;gap:8px;margin-top:18px;display:flex}.portal-enterprise-copy li{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.portal-enterprise-copy li>svg{background:var(--brand-50);color:var(--brand-600);box-sizing:content-box;border-radius:50%;flex:none;padding:3px}.portal-enterprise-art img{mix-blend-mode:multiply;width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(75% 80%,#000 60%,#0000 100%);mask-image:radial-gradient(75% 80%,#000 60%,#0000 100%)}.catalog-hero{width:100vw;padding:52px var(--gutter) 40px;text-align:center;background:radial-gradient(34% 90% at 16% 10%,#edf3d9 0%,transparent 70%),radial-gradient(34% 90% at 86% 0%,#e3ebff 0%,transparent 70%),radial-gradient(26% 70% at 54% 100%,#f1f4e7 0%,transparent 72%),linear-gradient(180deg,#f7f9f2,var(--paper));margin:-32px 0 0 calc(50% - 50vw);position:relative}.catalog-hero .page-title{font-size:36px;font-weight:600}.catalog-hero .page-intro{margin:8px auto 0}.catalog-hero .catalogue-search{text-align:left;width:min(560px,100%);margin:22px auto 0}.catalog-layout{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:24px;margin-top:12px;display:grid}.catalog-filters{top:calc(var(--header-height) + 16px);border-radius:var(--radius-lg);background:var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;padding:16px;position:sticky}.catalog-filters-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:28px;padding-bottom:12px;display:flex}.catalog-filters-head h2{color:var(--ink);font-size:15px;font-weight:650}.catalog-filter-group{padding:14px 0 6px}.catalog-filter-group+.catalog-filter-group{border-top:1px solid var(--line-soft)}.catalog-filter-group h3{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600}.catalog-filter-group>div{flex-direction:column;gap:2px;display:flex}.catalog-filter-group button{min-height:34px;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:0 8px;font-size:13px;transition:background-color .14s,color .14s;display:flex}.catalog-filter-group button:hover{background:var(--surface-muted);color:var(--ink)}.catalog-filter-group button>i{border:1.5px solid var(--line-strong);background:#fff;border-radius:50%;flex:none;width:16px;height:16px;transition:border-color .14s,box-shadow .14s}.catalog-filter-group button.active{color:var(--ink);font-weight:600}.catalog-filter-group button.active>i{border-color:var(--mint);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 8px var(--mint)}.catalog-filter-group button>span{flex:1;min-width:0}.catalog-filter-group button>small{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.catalog-results{min-width:0}.catalog-results>.catalogue-result-count{padding-top:4px}.catalog-results .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;font-size:13px;display:flex}.detail-breadcrumb a{color:var(--muted)}.detail-breadcrumb a:hover{color:var(--brand-600)}.detail-breadcrumb>svg{color:var(--faint);transform:rotate(-90deg)}.detail-breadcrumb [aria-current=page]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);overflow:hidden}.detail-layout{grid-template:"hero outline""intro outline""reviews outline"1fr/minmax(0,1fr) minmax(320px,380px);align-items:start;column-gap:24px;display:grid}.course-detail-page .detail-layout>.detail-hero{border-radius:var(--radius-xl);background:var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;grid-area:hero;padding:8px;display:block}.book-stage.detail-stage{aspect-ratio:5/2;cursor:default;border-radius:14px;margin:0}.detail-stage .stage-copy{inset:14% 46% 14% 5%}.detail-stage .stage-brand{font-size:13px}.detail-stage .stage-brand .brand-symbol{width:18px;height:18px}.detail-stage .stage-title,.detail-stage .stage-title.is-long{margin-top:18px;font-size:clamp(26px,4cqw,44px)}.detail-stage .stage-level{height:28px;padding:0 12px;font-size:13px}.detail-stage .stage-book{height:78%;bottom:12%;right:12%}.detail-stage:hover .stage-book{transform:rotate(5deg)}.detail-stage .stage-book .course-status{font-size:11px}.detail-copy{flex-direction:column;min-width:0;padding:22px 24px 20px;display:flex}.detail-badges{flex-wrap:wrap;gap:8px;display:flex}.detail-copy h1{letter-spacing:-.03em;color:var(--ink);margin:12px 0 6px;font-size:28px;font-weight:650;line-height:1.35}.detail-copy>p{max-width:680px;color:var(--muted);font-size:15px;line-height:1.75}.detail-meta{color:var(--text);border:0;flex-wrap:wrap;gap:10px;margin:18px 0 22px;padding:0;font-size:13px;display:flex}.detail-meta>span,.detail-meta>span+span,.detail-meta>span:last-child{background:var(--surface-sunken);border:0;border-radius:999px;align-items:center;gap:6px;width:auto;height:32px;padding:0 14px;display:inline-flex}.detail-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detail-actions .library-button{min-height:46px;padding-inline:28px;font-size:15px}.library-button.detail-continue,.detail-continue{border:1px solid var(--mint);background:var(--mint);min-height:46px;color:var(--mint-ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:15px;font-weight:600;display:inline-flex}.library-button.detail-continue:hover,.detail-continue:hover{border-color:var(--mint-hover);background:var(--mint-hover);color:var(--mint-ink)}.detail-outline-link{display:none}.detail-progress{max-width:440px;color:var(--muted);align-items:center;gap:14px;margin-top:20px;font-size:13px;display:flex}.detail-layout>.course-introduction{grid-area:intro;margin-top:20px}.detail-layout>.course-reviews{grid-area:reviews;margin-top:20px}.detail-layout>#course-outline{top:calc(var(--chrome-height) + 16px);max-height:calc(100dvh - var(--chrome-height) - 32px);flex-direction:column;grid-area:outline;display:flex;position:sticky}.detail-layout>#course-outline>div:last-child{overscroll-behavior:contain;min-height:0;overflow-y:auto}.course-detail-page h2{color:var(--ink);font-size:17px;font-weight:650}.course-introduction,.course-reviews{background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff}#course-outline{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;border:1px solid #fff}#course-outline>div:first-child{border-bottom:1px solid var(--line-soft);background:#fff}#course-outline button[aria-expanded]{background:#f8fafd}#course-outline button[aria-expanded]:hover{background:var(--surface-muted)}#course-outline button[aria-expanded=true]{box-shadow:inset 3px 0 var(--mint);border-left:0;padding-left:24px}#course-outline button[aria-expanded] .chapter-chevron{transition:transform .2s}#course-outline button[aria-expanded=false] .chapter-chevron{transform:rotate(-90deg)}#course-outline ul{background:#fff}#course-outline li button{border-color:var(--line-soft)}#course-outline li button:hover{background:var(--brand-50)}#course-outline li button>span:first-child{background:var(--surface-sunken);height:22px;color:var(--muted);font-variant-numeric:tabular-nums;border:0;border-radius:999px;font-family:inherit}#course-outline li button>span.bg-emerald-100:first-child{background:var(--brand-50);color:var(--brand-600)}.rating-options button{border-color:var(--line);color:var(--text);background:#fff;border-radius:999px}.rating-options button[aria-pressed=true]{border-color:var(--amber-400);background:var(--amber-50);color:var(--amber-700)}.rating-score{color:var(--amber-700)}.lesson-heading{border-bottom:0;padding-bottom:4px}.lesson-heading .detail-breadcrumb{margin-bottom:6px}.lesson-heading .page-edge-progress{flex:none;width:140px}.lesson-page h1{letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:650}.lesson-player,.lesson-workspace{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #fff;overflow:hidden}.lesson-player video{display:block}.lesson-player>div:last-child{border-color:var(--line-soft);background:#fff}.lesson-placeholder{background:radial-gradient(60% 90% at 80% 60%,#cdeee2 0%,#0000 72%),radial-gradient(50% 70% at 10% 0,#dce9ff 0%,#0000 70%),linear-gradient(135deg,#eaf8f3,#f3f7fd)}.lesson-placeholder>.editorial-art{opacity:.85}.lesson-placeholder h2{color:var(--ink);font-size:19px;font-weight:600}.lesson-placeholder p{color:var(--muted)}.study-tabs{border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;gap:4px;margin:10px 10px 0;padding:4px}.study-tabs button,.study-tabs button[aria-selected=true]{height:32px;box-shadow:none;font-family:var(--display);color:var(--muted);background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.study-tabs button:hover{color:var(--ink)}.study-tabs button[aria-selected=true]{color:var(--ink);box-shadow:var(--shadow-xs);background:#fff;font-weight:600}.study-tabs button>svg{width:16px;height:16px}.study-panel{border-top:1px solid var(--line-soft);margin-top:10px}#study-panel-outline>div>div{border-color:var(--line-soft);color:var(--muted);background:#f8fafd;font-size:12px}#study-panel-outline li button{border-color:var(--line-soft)}#study-panel-outline button[aria-current=step]{background:var(--brand-50);box-shadow:inset 3px 0 var(--mint);color:var(--brand-800);font-weight:500}#study-panel-outline li button>span:first-child{background:var(--surface-sunken);color:var(--muted);font-variant-numeric:tabular-nums;border:0;border-radius:999px}#study-panel-outline li button>span.bg-emerald-100:first-child{background:var(--brand-50);color:var(--brand-600)}#study-panel-outline li button[aria-current=step]>span:first-child{background:var(--brand-100);color:var(--brand-700)}.note-paper{border-color:var(--line-strong);background:#fff;background-attachment:initial;color:var(--text);border-radius:12px;padding:14px;line-height:1.9}.note-paper::placeholder{color:var(--faint)}.assistant-conversations,.assistant-letter{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff}.assistant-conversations>div:first-child,.assistant-letter>div:first-child{border-bottom:1px solid var(--line-soft);background:#fff}.assistant-conversations .group{box-shadow:none;background:0 0;border:1px solid #0000;border-radius:10px}.assistant-conversations .group:hover{background:var(--surface-muted)}.assistant-conversations .group.bg-brand-50{border-color:var(--brand-100);background:var(--brand-50)}.assistant-message-list{background:#fff}.assistant-welcome>.editorial-art{opacity:.85;width:135px;height:120px}.assistant-label{color:var(--brand-600);letter-spacing:0;font-size:12px}.assistant-welcome h2{color:var(--ink);font-size:24px;font-weight:650}.assistant-welcome p{color:var(--muted)}.assistant-prompts button{border:1px solid var(--line);box-shadow:none;color:var(--text);background:#fff;border-radius:12px}.assistant-prompts button:hover{border-color:var(--brand-200);background:var(--brand-50);box-shadow:none;color:var(--brand-800)}.assistant-prompts button:after{color:var(--brand-500)}.assistant-composer{border-top:1px solid var(--line-soft);background:#f8fafd}.assistant-composer textarea{border-color:var(--line-strong);background:#fff}.catalogue-message{border:1px solid var(--line);box-shadow:none;font-family:var(--display);background:#fff;border-radius:14px}.assistant-letter .catalogue-message{border-radius:14px;font-size:14px}.catalogue-message.is-assistant,.assistant-letter .catalogue-message.is-assistant{border:1px solid var(--line);background:var(--surface-muted);box-shadow:none;color:var(--ink)}.catalogue-message.is-user,.assistant-letter .catalogue-message.is-user{border:1px solid var(--brand-100);background:var(--brand-50);box-shadow:none;color:var(--brand-900)}.team-intro{border-bottom:1px solid var(--line);padding-bottom:32px}.team-intro h1{letter-spacing:-.035em;color:var(--ink);font-size:40px;font-weight:650}.team-intro p{color:var(--muted)}.team-overview{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:radial-gradient(60% 90% at 100% 0,#dce9ff 0%,#0000 70%),linear-gradient(160deg,#fff,#effbf6);border:1px solid #fff}.team-overview h2{color:var(--ink);font-weight:650}.team-overview>div{border-bottom-color:var(--line-soft);border-left:0}.team-overview span{color:var(--muted)}.team-principles article{padding:26px;transition:transform .22s,box-shadow .22s}.team-principles article:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover);background:#fff;transform:translateY(-3px)}.team-principles article>span{color:var(--brand-600);font-family:var(--display);font-weight:600}.team-principle-mark{color:var(--brand-600)}.team-principle-mark>span{font-family:var(--display);color:var(--brand-300);font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.team-principles h2{color:var(--ink);font-size:19px;font-weight:650}.team-principles p{color:var(--muted)}.team-course-link{border:1px solid var(--brand-100);border-radius:var(--radius-lg);background:linear-gradient(100deg,var(--brand-50),#fff)}.not-found-page{padding-top:64px}.error-code{font-family:var(--display);letter-spacing:-.04em;background:linear-gradient(120deg,var(--mint),var(--sky-500));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.primary-nav-link .primary-nav-label,.primary-nav-link:hover .primary-nav-label{transform:none}.brand-home .mascot-reader,.brand-home .mascot-page,.brand-home .brand-letter{animation:none}.brand-home .brand-name:after{display:none}.primary-nav-link:hover :is(.nav-shelf-book,.nav-index-card,.nav-index-drawer,.nav-manual-cover,.nav-manual-pages){animation:none;transform:none}:is(a,button,summary,.team-principles article):hover [data-symbol] .symbol-motion{animation:none}@media (hover:none){.shelf-book .book-move,.course-action-enroll{opacity:1;transform:none}}@media (max-width:1200px){.book-grid,.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-results .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid>.shelf-book:nth-of-type(n+2),.portal-more-tile{display:none}.header-search{width:200px}.library-frame .desktop-primary-nav a,.library-frame .desktop-primary-nav a[aria-current=page]{padding-inline:12px}}@media (max-width:1060px){.library-frame .library-header-right>.header-search{display:none}.detail-layout{grid-template:"hero""intro""outline""reviews"/minmax(0,1fr)}.detail-layout>#course-outline{max-height:none;margin-top:20px;position:static}.portal-tools{grid-template-columns:1fr}}@media (max-width:900px){:root{--gutter:20px}.library-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}.library-header .library-menu-toggle{margin-left:-8px;display:inline-flex}.library-frame .desktop-primary-nav,.account-menu summary>.account-name,.account-menu summary>svg{display:none}.account-menu summary{padding:0 3px}.library-main{padding:24px 0 56px}.library-main:has(.home-portal){padding-top:0}.portal-hero{margin-top:0}.catalog-hero{margin-top:-24px}.library-footer-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:34px 0 26px}.library-footer-brand{grid-column:1/-1}.book-grid,.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-grid>.shelf-book:nth-of-type(2){display:flex}.workspace-metrics{gap:12px}.workspace-metrics>div{padding:16px 18px}.workspace-metrics dd{font-size:26px}.portal-hero{padding:28px 0 48px}.portal-hero-inner{grid-template-columns:1fr;gap:8px}.portal-hero-art{max-width:640px;margin:0 auto}.portal-enterprise{grid-template-columns:1fr;padding:32px 24px 12px}.catalog-layout{grid-template-columns:1fr;gap:12px}.catalog-filters{padding:12px 14px;position:static}.catalog-filters-head{padding-bottom:8px}.catalog-filter-group{align-items:center;gap:10px;padding:10px 0 0;display:flex}.catalog-filter-group+.catalog-filter-group{border-top:0}.catalog-filter-group h3{width:36px;color:var(--muted);flex:none;margin:0;font-size:12px}.catalog-filter-group>div{scrollbar-width:none;flex-direction:row;gap:6px;min-width:0;overflow-x:auto}.catalog-filter-group>div::-webkit-scrollbar{display:none}.catalog-filter-group button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;flex:none;min-height:30px;padding:0 12px}.catalog-filter-group button>i{display:none}.catalog-filter-group button.active{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-600)}.catalog-filter-group button>small{margin-left:-4px}.detail-stage .stage-copy{right:42%}}@media (max-width:700px){.learning-page .page-heading-row{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:22px}.learning-page .page-heading-row>.catalogue-search{width:100%}.workspace-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:22px}.workspace-metrics>div{border-radius:14px;padding:14px}.workspace-metrics dt{font-size:12px}.workspace-metrics dd{font-size:22px}.workspace-metrics dd>span{margin-left:3px;font-size:11px}.course-toolbar{flex-flow:wrap;align-items:center}.edition-heading .page-title,.page-title,.library-main>div>div:first-child>h1{font-size:26px}.catalog-hero{padding:32px var(--gutter) 28px}.catalog-hero .page-title{font-size:28px}.edition-heading .page-intro{max-width:100%;font-size:13px}.manual-toolbar{padding-bottom:0}.manual-toolbar>.catalogue-search{width:100%}.manual-categories.library-panel{box-shadow:none;background:0 0;border:0;padding:0 0 6px}.manual-categories button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:34px;margin:0;padding-inline:14px;font-size:13px}.manual-categories button.bg-brand-50{border-color:var(--brand-200)}.account-destinations a{min-height:110px}.book-stage.detail-stage{aspect-ratio:16/9}.detail-stage .stage-copy{inset:11% 44% 11% 7%}.detail-stage .stage-title,.detail-stage .stage-title.is-long{margin-top:10px;font-size:7cqw}.detail-stage .stage-brand{font-size:11px}.detail-stage .stage-level{height:24px;font-size:12px}.detail-stage .stage-book{bottom:11%;right:9%}.detail-copy{padding:18px 14px 14px}.detail-copy h1{font-size:24px}.detail-actions .library-button,.library-button.detail-continue,.detail-continue{min-height:44px;padding-inline:22px;font-size:14px}.portal-section{margin-top:44px}.portal-section-head{flex-direction:column;align-items:flex-start;gap:12px}.portal-section-head h2{font-size:28px}.portal-steps{grid-template-columns:1fr;gap:10px}.portal-steps li{min-height:0;padding:16px 18px}.portal-hero h1{font-size:32px}.portal-hero-copy>p{font-size:15px}.portal-facts{gap:24px}.portal-feature-copy{max-width:100%;padding:22px}.portal-feature:before{background:linear-gradient(#fff0 20%,#ffffffb3 55%,#ffffffeb 100%)}.portal-feature{min-height:340px}.portal-feature>img{object-position:70% 20%}.portal-enterprise-copy h2{font-size:24px}}@media (max-width:600px){.book-grid,.catalog-results .book-grid,.portal-grid{grid-template-columns:1fr;gap:14px}.portal-feature{grid-column:auto}.portal-grid>.shelf-book:nth-of-type(2){display:none}.course-card-title{font-size:15px}.portal-chip-note{display:none}.portal-chip-progress{width:190px;top:4%;left:0}}@media (max-width:420px){:root{--gutter:16px}.library-header .brand-wordmark{font-size:19px}.library-login{padding:0 14px}.workspace-metrics dd{font-size:20px}.library-tabs button,.library-tabs button.active{padding-inline:12px;font-size:12px}.catalogue-dialog-paper{padding:20px}.catalogue-dialog-heading h2{font-size:18px}.catalogue-dialog-body{max-height:calc(90dvh - 120px)}.membership-card,.membership-business{padding:24px}.team-intro h1{font-size:30px}.portal-hero h1{font-size:28px}.portal-primary,.portal-secondary{flex:1;padding-inline:18px}.library-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-meta>span,.detail-meta>span+span{height:30px;padding:0 12px;font-size:12px}}@media (prefers-reduced-motion:reduce){.shelf-book,.shelf-book:hover,.skill-edition:hover,.account-destinations a:hover,.portal-feature:hover,.portal-tool:hover,.team-principles article:hover,.card-hover:hover,.book-stage:is(:hover,:focus-visible) .stage-book,.book-stage:is(:hover,:focus-visible) .stage-book .book-front,.portal-feature:hover>img{transform:none}.stage-book{transition:none;transform:rotate(5deg)}.library-frame .desktop-primary-nav a:after,.brand-home .brand-symbol img,.course-action-enroll,.shelf-book .book-move{transition:none}.brand-home:is(:hover,:focus-visible) .brand-symbol img{transform:none}}
.auth-page{--auth-gutter:clamp(32px,4.6vw,72px);background:#fff;grid-template-rows:96px 1fr;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-page:before{content:"";border-right:1px solid var(--line);background:#f7f8f0;grid-area:1/1/-1}.auth-header{z-index:1;padding:0 var(--auth-gutter);background:0 0;border:0;grid-area:1/1;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.auth-header .brand-lockup{gap:10px}.auth-header .brand-symbol{width:38px;height:38px}.auth-official-link{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.auth-official-link:hover{color:var(--brand-600)}.auth-showcase{z-index:1;min-width:0;padding:30px var(--auth-gutter) 26px;color:var(--ink);flex-direction:column;grid-area:2/1;justify-content:center;display:flex;position:relative;overflow:hidden}.auth-showcase-content{width:100%;max-width:650px;margin:auto}.auth-lab-kicker{letter-spacing:1.6px;color:var(--brand-700);align-items:center;gap:10px;margin:0 0 20px;font-size:11px;font-weight:550;display:flex}.auth-lab-kicker i{background:var(--brand-600);width:7px;height:7px;box-shadow:4px -4px 0 var(--brand-accent);display:block}.auth-showcase h2{font-family:var(--display);letter-spacing:-.045em;color:var(--ink);margin:0;font-size:clamp(36px,3.5vw,52px);font-weight:700;line-height:1.28}.auth-showcase h2>span{z-index:0;color:var(--brand-600);display:inline-block;position:relative}.auth-showcase h2>span:after{content:"";z-index:-1;background:var(--brand-accent);opacity:.85;height:11px;position:absolute;bottom:4px;left:0;right:0;transform:rotate(-.8deg)}.auth-lab-intro{max-width:420px;color:var(--muted);margin:17px 0 0;font-size:14px;line-height:1.9}.auth-lab-scene{isolation:isolate;margin:26px -32px 0;position:relative}.auth-lab-scene:before{content:"";z-index:-1;background:linear-gradient(#b9c8af30 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#b9c8af30 1px,#0000 1px) 0 0/28px 28px;position:absolute;inset:35px 25px 12px;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.auth-lab-register{color:#74816a;letter-spacing:1px;border-bottom:1px solid #cfd9c6;justify-content:space-between;gap:16px;margin:0 32px;padding-bottom:9px;font-size:9px;display:flex}.auth-lab-scene>img{object-fit:contain;filter:drop-shadow(0 12px 10px #1c2e1a0b);-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:clamp(280px,39vh,420px);display:block;transform:rotate(-1deg)}.auth-lab-scene figcaption{color:var(--ink);justify-content:space-between;align-items:center;gap:16px;margin:-2px 32px 0;font-size:12px;display:flex}.auth-scene-label{padding:4px 0}.auth-lab-scene figcaption small{color:#7f8b76;white-space:nowrap;font-size:9px}.auth-learning-path{color:var(--text);white-space:nowrap;border-top:1px solid #d3dccb;align-items:center;gap:14px;margin-top:22px;padding-top:18px;font-size:12px;display:flex}.auth-learning-path>span{align-items:center;gap:7px;display:inline-flex}.auth-learning-path b{font-family:var(--font-mono);color:var(--brand-600);font-size:10px;font-weight:500}.auth-learning-path>i{background:#c7d0bf;flex:1;max-width:36px;height:1px;display:block}.auth-showcase-note{color:#7a8772;margin:24px 0 0;font-size:10px;line-height:1.7}.auth-form-area{background:#fff;grid-area:1/2/-1;justify-content:center;align-items:center;min-width:0;padding:56px clamp(36px,5.8vw,96px);display:flex}.auth-form-area>div{width:100%;max-width:392px}.auth-back-link{width:fit-content;color:var(--muted);justify-content:flex-end;align-items:center;gap:7px;margin:0 0 44px auto;font-size:13px;display:flex}.auth-back-link:hover{color:var(--brand-700)}.auth-back-link span{transition:transform .16s}.auth-back-link:hover span{transform:translate(1px,-1px)}.auth-form-area h1{letter-spacing:-.03em;color:var(--ink);border:0;margin:0;padding:0;font-size:30px;font-weight:650;line-height:1.35}.auth-form-intro{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.75}.auth-method-tabs{border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;gap:2px;margin-top:28px;padding:4px;display:flex}.auth-method-tabs button{height:36px;box-shadow:none;font-family:var(--display);color:var(--muted);background:0 0;border:0;border-radius:999px;flex:1;margin:0;padding:0 12px;font-size:13px;font-weight:500}.auth-method-tabs button:hover{color:var(--ink);background:#ffffff8c}.auth-method-tabs button[aria-pressed=true]{box-shadow:var(--shadow-xs);color:var(--ink);background:#fff;border:0;font-weight:600}.auth-form-area form{margin-top:24px}.auth-form-area form>label>span:first-child{color:var(--text);margin-bottom:8px;font-size:13px}.auth-page .catalogue-input{border-color:var(--line-strong);min-width:0;height:46px;box-shadow:none;color:var(--ink);background:#fff;border-radius:12px;padding-inline:14px;font-size:14px}.auth-page .catalogue-input::placeholder{color:var(--faint)}.auth-page .catalogue-input:hover{border-color:var(--line-strong)}.auth-page .catalogue-input:focus{border-color:var(--brand-400);box-shadow:var(--ring);outline:none}.auth-form-area form>.library-button[type=submit]{border-color:var(--brand-600);background:var(--brand-600);color:#fff;border-radius:999px;height:48px;margin-top:24px;font-size:15px;font-weight:500;transition:background-color .16s,box-shadow .16s;box-shadow:0 10px 24px -14px #114ee866}.auth-form-area form>.library-button[type=submit]:hover:not(:disabled){border-color:var(--brand-700);background:var(--brand-700);box-shadow:0 12px 28px -14px #114ee888}.auth-code-field{gap:8px;display:flex}.auth-code-field>.library-button{border-radius:12px;min-width:108px;padding-inline:12px;font-size:13px}.auth-form-area .border-dashed{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px}.auth-form-area .bg-brand-50{background:var(--brand-50);color:var(--brand-800);border-radius:12px}.auth-demo-accounts{border-top:1px solid var(--line-soft);margin-top:24px;padding-top:18px}.auth-demo-accounts summary{cursor:pointer;min-height:26px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;list-style:none;display:flex}.auth-demo-accounts summary::-webkit-details-marker{display:none}.auth-demo-accounts summary>span{font-size:18px;font-weight:300;transition:transform .16s}.auth-demo-accounts[open] summary>span{transform:rotate(45deg)}.auth-demo-accounts summary:hover{color:var(--brand-700)}.auth-demo-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;display:grid}.auth-demo-option{border:1px solid var(--line);cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:8px 4px;font-size:12px;transition:background-color .16s,border-color .16s,color .16s}.auth-demo-option:hover{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-800)}.auth-switch-account{text-align:center;color:var(--muted);border-top:0;margin-top:28px;font-size:13px}.auth-switch-account a{margin-left:5px}.auth-registration-note{color:var(--faint);margin-top:16px;font-size:12px;line-height:1.8}@media (min-width:1600px){.auth-showcase-content{max-width:620px}.auth-lab-scene>img{max-height:450px}}@media (max-width:1100px) and (min-width:761px){.auth-page{--auth-gutter:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-header{gap:10px}.auth-official-link{font-size:10px}.auth-showcase h2{font-size:36px}.auth-form-area{padding-inline:34px}.auth-learning-path{gap:8px;font-size:11px}.auth-learning-path>i{max-width:18px}}@media (min-width:761px) and (max-height:820px){.auth-page{grid-template-rows:82px 1fr}.auth-showcase{padding-top:15px;padding-bottom:18px}.auth-lab-kicker{margin-bottom:13px}.auth-showcase h2{font-size:clamp(34px,3.2vw,44px)}.auth-lab-intro{margin-top:12px;font-size:13px}.auth-lab-scene{margin-top:16px}.auth-lab-scene>img{max-height:32vh}.auth-learning-path{margin-top:16px;padding-top:14px}.auth-showcase-note{margin-top:16px}.auth-form-area{padding-block:32px}.auth-back-link{margin-bottom:30px}}@media (max-width:760px){.auth-page{grid-template-rows:76px 1fr;grid-template-columns:minmax(0,1fr)}.auth-page:before{border-right:0;border-bottom:1px solid var(--line);grid-row:1}.auth-header{padding-inline:22px}.auth-header .brand-symbol{width:32px;height:32px}.auth-official-link{font-size:10px}.auth-showcase{display:none}.auth-form-area{grid-area:2/1;align-items:flex-start;min-height:0;padding:28px 22px 48px}.auth-form-area h1{font-size:27px}.auth-back-link{margin-bottom:30px}}@media (max-width:360px){.auth-header,.auth-form-area{padding-inline:18px}.auth-official-link{font-size:9px}}@media (prefers-reduced-motion:reduce){.auth-back-link span,.auth-demo-accounts summary>span{transition:none}}
:is(.hub-mark,.hub-card,.hub-kit,.hub-detail,.hub-aside-kit,.course-skills)[data-tone=mint]{--tone:#12b88f;--tone-ink:#05604b;--tone-soft:#eafbf4;--tone-soft-2:#c6f2e1}:is(.hub-mark,.hub-card,.hub-kit,.hub-detail,.hub-aside-kit,.course-skills)[data-tone=sky]{--tone:#4f8ff7;--tone-ink:#2759b8;--tone-soft:#eef5ff;--tone-soft-2:#d4e5ff}:is(.hub-mark,.hub-card,.hub-kit,.hub-detail,.hub-aside-kit,.course-skills)[data-tone=amber]{--tone:#f29a24;--tone-ink:#8f5305;--tone-soft:#fff5e8;--tone-soft-2:#ffe2b8}:is(.hub-mark,.hub-card,.hub-kit,.hub-detail,.hub-aside-kit,.course-skills)[data-tone=lilac]{--tone:#7a66e0;--tone-ink:#4f3dac;--tone-soft:#f4f1ff;--tone-soft-2:#e2dbff}:is(.hub-mark,.hub-card,.hub-kit,.hub-detail,.hub-aside-kit,.course-skills)[data-tone=ink]{--tone:#46546a;--tone-ink:#18212c;--tone-soft:#f2f5f9;--tone-soft-2:#dde4ee}.hub-page,.hub-detail,.course-skills,.catalogue-dialog-body .hub-install{--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}.hub-page,.hub-detail{flex-direction:column;display:flex}.hub-hero{box-shadow:var(--shadow-card);isolation:isolate;background:radial-gradient(58% 90% at 0 0,#e8efdc 0%,#e8efdc00 62%),radial-gradient(50% 80% at 100% 0,#d6e5ff 0%,#d6e5ff00 66%),radial-gradient(40% 60% at 62% 118%,#edf1e5 0%,#edf1e500 70%),linear-gradient(#f7fdff,#fff);border:1px solid #fff;border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:44px;padding:52px 52px 48px;display:grid;position:relative;overflow:hidden}.hub-hero:before{content:"";z-index:-1;background-image:radial-gradient(#0f1a2412 1px,#0000 1.2px);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(115deg,#000 0%,#0000 55%);mask-image:linear-gradient(115deg,#000 0%,#0000 55%)}.hub-hero-copy{min-width:0}.hub-eyebrow{height:28px;box-shadow:var(--shadow-xs);color:var(--brand-600);background:#fffc;border:1px solid #fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.hub-hero h1{letter-spacing:-.045em;color:var(--ink);background:linear-gradient(95deg,#0f1a24 0%,#0f1a24 45%,var(--brand-600) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:18px 0 14px;font-size:clamp(42px,4.6vw,60px);font-weight:700;line-height:1.05}.hub-hero-copy>p{color:#56616d;max-width:520px;font-size:16px;line-height:1.8}.hub-hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hub-stats{background:0 0;border-top:1px solid #0f1a2412;flex-wrap:wrap;gap:14px 32px;margin:34px 0 0;padding:22px 0 0;display:flex}.hub-stats dt{color:var(--muted);font-size:12px}.hub-stats dd{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:26px;font-weight:650;line-height:1.3}.hub-stats dd.hub-stat-tools{flex-wrap:wrap;gap:6px;margin-top:6px;font-size:12px;line-height:1;display:flex}.hub-stat-tools span{height:26px;color:var(--ink);box-shadow:var(--shadow-xs);background:#fffc;border:1px solid #fff;border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.hub-terminal{transform-origin:0;background:#0d1520;border-radius:18px;min-width:0;position:relative;overflow:hidden;transform:perspective(1600px)rotateY(-7deg)rotateX(2deg);box-shadow:0 34px 64px -28px #0d1a2e80,inset 0 0 0 1px #ffffff14}.hub-terminal-bar{background:#141e2b;border-bottom:1px solid #ffffff0f;align-items:center;gap:7px;height:40px;padding:0 16px;display:flex}.hub-terminal-bar i{background:#ff5f57;border-radius:50%;width:11px;height:11px}.hub-terminal-bar i:nth-child(2){background:#febc2e}.hub-terminal-bar i:nth-child(3){background:#28c840}.hub-terminal-bar span{color:#8a97a8;margin-left:10px;font-size:12px}.hub-terminal-body{min-height:312px;font-family:var(--mono);color:#c9d4e2;padding:18px 22px 22px;font-size:12.5px;line-height:1.95}.hub-terminal-body p{white-space:pre-wrap;word-break:break-all;opacity:0;animation:.45s forwards hub-line;animation-delay:calc(var(--i) * .42s + .25s);margin:0;transform:translateY(4px)}.hub-terminal-body p[data-kind=cmd]:before{content:"$ ";color:#6ee7b7}.hub-terminal-body p[data-kind=ok]{color:#6ee7b7}.hub-terminal-body p:is([data-kind=ok],[data-kind=done]):before{content:"✓ "}.hub-terminal-body p[data-kind=gap]{height:12px}.hub-terminal-body p[data-kind=ask]{color:#fff;background:#1b2838;border-radius:10px;margin:2px 0 6px;padding:8px 12px}.hub-terminal-body p[data-kind=ask]:before{content:"› ";color:#7dd3fc}.hub-terminal-body p[data-kind=step]{color:#a9b6c7}.hub-terminal-body p[data-kind=step]:before{content:"● ";color:#fbbf24}.hub-terminal-body p[data-kind=done]{color:#6ee7b7;font-weight:600}.hub-terminal-body p:last-child:after{content:"";vertical-align:-3px;background:#6ee7b7;width:8px;height:15px;margin-left:6px;animation:1s step-end infinite hub-caret;display:inline-block}@keyframes hub-line{to{opacity:1;transform:none}}@keyframes hub-caret{50%{opacity:0}}.hub-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0 0;padding:0;list-style:none;display:grid}.hub-steps li{border-radius:var(--radius-lg);background:var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #fff;align-items:flex-start;gap:14px;padding:20px 22px;display:flex;position:relative}.hub-steps li:not(:last-child):after{content:"";z-index:1;border-top:2px solid var(--line-strong);border-right:2px solid var(--line-strong);width:8px;height:8px;position:absolute;top:50%;right:-14px;transform:translateY(-50%)rotate(45deg)}.hub-steps-icon{background:linear-gradient(145deg,var(--mint),#16b3c8);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 10px 18px -10px #0ea583}.hub-steps-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.hub-steps-copy small{color:var(--brand-600);font-size:12px;font-weight:600}.hub-steps-copy strong{color:var(--ink);font-size:16px;font-weight:650}.hub-steps-copy>span{color:var(--muted);font-size:13px;line-height:1.6}.hub-section{margin-top:64px}.hub-section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.hub-section-head h2{letter-spacing:-.02em;color:var(--ink);font-size:30px;font-weight:650;line-height:1.25}.hub-section-head p{color:#636b70;max-width:660px;margin-top:6px;font-size:15px;line-height:1.7}.hub-section-head>.catalogue-search{flex:none;width:min(380px,40%)}.hub-btn-primary,.hub-btn-ghost{white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-size:14px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.hub-btn-primary{background:var(--mint);color:#fff;border:0;box-shadow:0 8px 16px -10px #0ea583}.hub-btn-primary:hover{background:var(--mint-hover);color:#fff}.hub-btn-ghost{border:1px solid var(--line-strong);color:var(--ink);background:#fff;font-weight:500}.hub-btn-ghost:hover{border-color:var(--ink)}.hub-btn-soft{background:var(--tone-soft,var(--brand-50));height:34px;color:var(--tone-ink,var(--brand-600));border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background-color .16s;display:inline-flex}.hub-btn-soft:hover{background:var(--tone-soft-2,var(--brand-100))}.hub-btn-soft>svg{transition:transform .2s}.hub-btn-soft:hover>svg{transform:translate(2px)}.hub-icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;background:#fff;border-radius:50%;place-items:center;transition:border-color .16s,color .16s;display:grid}.hub-icon-btn:hover{border-color:var(--ink);color:var(--ink)}.hub-kits{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.hub-kit{background:linear-gradient(160deg,var(--tone-soft) 0%,#fff 62%);box-shadow:var(--shadow-card);isolation:isolate;border:1px solid #fff;border-radius:20px;flex-direction:column;padding:26px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.hub-kit:before{content:"";z-index:-1;background:radial-gradient(circle,var(--tone-soft-2) 0%,transparent 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.hub-kit:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.hub-kit:target{box-shadow:0 0 0 3px var(--tone),var(--shadow-hover)}.hub-kit-tag{height:24px;box-shadow:var(--shadow-xs);color:var(--tone-ink);background:#fff;border-radius:999px;align-self:flex-start;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.hub-kit h3{color:var(--ink);margin-top:16px;font-size:21px;font-weight:650;line-height:1.35}.hub-kit>p{min-height:48px;color:var(--text);margin-top:6px;font-size:14px;line-height:1.7}.hub-kit ul{flex-direction:column;gap:6px;margin:18px 0 22px;padding:0;list-style:none;display:flex}.hub-kit li a{color:var(--ink);background:#ffffffb8;border:1px solid #fff;border-radius:12px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;transition:background-color .16s,border-color .16s;display:flex}.hub-kit li a:hover{border-color:var(--tone-soft-2);background:#fff}.hub-kit-check{color:var(--brand-500);margin-left:auto}.hub-kit-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.hub-filters{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.hub-filters button{border:1px solid var(--line);height:36px;color:var(--text);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.hub-filters button small{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.hub-filters button:hover:not(.active){border-color:var(--line-strong);color:var(--ink)}.hub-filters button.active{border-color:var(--ink);background:var(--ink);color:#fff}.hub-filters button.active small{color:#ffffffa6}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.hub-card{border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);background:#fff;border:1px solid #fff;flex-direction:column;padding:22px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.hub-card:before{content:"";background:linear-gradient(90deg,var(--tone),var(--tone-soft-2));height:4px;position:absolute;inset:0 0 auto}.hub-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.hub-card:has(.hub-card-link:focus-visible){outline:2px solid var(--mint-icon);outline-offset:3px}.hub-card-top{align-items:center;gap:10px;display:flex}.hub-card-cat{background:var(--tone-soft,var(--brand-50));height:24px;color:var(--tone-ink,var(--brand-600));border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.hub-card-flag{color:var(--brand-600);align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:600;display:inline-flex}.hub-card h3{color:var(--ink);margin-top:16px;font-size:17px;font-weight:650;line-height:1.45}.hub-card-link{color:inherit}.hub-card-link:focus-visible{outline:none}.hub-card-link:after{content:"";position:absolute;inset:0}.hub-slug{font-family:var(--mono);color:var(--faint);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:inline-block}.hub-card>p{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:13.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.hub-card-foot{color:var(--faint);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;font-size:12px;display:flex}.hub-card-actions{z-index:1;border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex;position:relative}.hub-mark{background:linear-gradient(145deg,var(--tone-soft-2),var(--tone-soft));width:40px;height:40px;font-family:var(--mono,ui-monospace,monospace);letter-spacing:.02em;color:var(--tone-ink);border-radius:12px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffffb3}.hub-mark.is-sm{border-radius:8px;width:28px;height:28px;font-size:11px}.hub-mark.is-lg{background:linear-gradient(145deg,var(--tone),color-mix(in srgb,var(--tone),#fff 38%));width:88px;height:88px;box-shadow:0 20px 36px -18px var(--tone),inset 0 0 0 1px #ffffff40;color:#fff;border-radius:24px;font-size:28px}.hub-detail-hero{background:radial-gradient(50% 130% at 0% 0%,var(--tone-soft-2) 0%,transparent 62%),radial-gradient(40% 110% at 100% 0%,#e7efff 0%,transparent 70%),#fff;box-shadow:var(--shadow-card);border:1px solid #fff;border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:28px;padding:36px;display:grid;position:relative;overflow:hidden}.hub-detail-copy{min-width:0}.hub-detail-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hub-detail-tags .hub-card-flag{margin-left:0}.hub-tag{border:1px solid var(--line);height:24px;color:var(--text);background:#fff;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;transition:border-color .16s;display:inline-flex}.hub-tag:hover{border-color:var(--ink);color:var(--ink)}.hub-detail-copy h1{letter-spacing:-.03em;color:var(--ink);margin-top:14px;font-size:34px;font-weight:700;line-height:1.2}.hub-detail-copy .hub-slug{margin-top:6px;font-size:13px}.hub-detail-copy>p{max-width:660px;color:var(--text);margin-top:12px;font-size:15px;line-height:1.75}.hub-detail-meta{background:0 0;flex-wrap:wrap;gap:8px 28px;margin:20px 0 0;padding:0;display:flex}.hub-detail-meta dt{color:var(--faint);font-size:12px}.hub-detail-meta dd{color:var(--ink);margin:0;font-size:14px;font-weight:600}.hub-detail-actions{flex-direction:column;gap:10px;min-width:180px;display:flex}.hub-detail-actions>*{cursor:pointer;padding:0 24px}.hub-detail-actions>.portal-secondary{border-color:var(--line)}.hub-detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;margin-top:24px;display:grid}.hub-detail-main{flex-direction:column;gap:20px;min-width:0;display:flex}.hub-detail-aside{top:calc(var(--chrome-height) + 16px);flex-direction:column;gap:16px;min-width:0;display:flex;position:sticky}.hub-panel{border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);background:#fff;border:1px solid #fff;padding:26px 28px}.hub-panel-head h2{color:var(--ink);font-size:20px;font-weight:650;line-height:1.35}.hub-panel-head p{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.65}.hub-panel h3{color:var(--ink);margin-bottom:12px;font-size:15px;font-weight:650}.hub-practice blockquote{border:1px solid var(--amber-100);background:linear-gradient(135deg,var(--amber-50),#fff 80%);color:var(--ink);border-radius:14px;margin:16px 0 0;padding:18px 20px 18px 54px;font-size:15px;line-height:1.85;position:relative}.hub-practice blockquote:before{content:"“";color:var(--amber-400);font-family:Georgia,serif;font-size:48px;line-height:1;position:absolute;top:4px;left:18px}.hub-trigger{border-left:3px solid var(--tone);background:var(--surface-muted);font-family:var(--mono);color:var(--text);border-radius:0 12px 12px 0;margin:16px 0 0;padding:16px 18px;font-size:13px;line-height:1.75}.hub-doc{border:1px solid var(--line-soft);max-height:440px;font-family:var(--mono);color:#344150;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fc;border-radius:12px;margin:16px 0 0;padding:18px 20px;font-size:12.5px;line-height:1.75;overflow:auto}.hub-files{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.hub-files li{font-family:var(--mono);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:flex}.hub-files li:first-child{background:var(--tone-soft);color:var(--tone-ink);font-weight:600}.hub-files li>svg{color:var(--faint);flex:none}.hub-files li:first-child>svg{color:var(--tone)}.hub-files span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hub-files small{color:var(--faint);flex:none;font-size:11px}.hub-aside-kit{background:linear-gradient(160deg,var(--tone-soft),#fff 72%)}.hub-aside-kit>small{color:var(--tone-ink);font-size:12px;font-weight:600}.hub-aside-kit h3{margin:6px 0 4px}.hub-aside-kit>p{color:var(--muted);font-size:13px;line-height:1.6}.hub-aside-kit ul{flex-direction:column;gap:2px;margin:14px 0 16px;padding:0;list-style:none;display:flex}.hub-aside-kit li a{color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px;transition:background-color .16s;display:block}.hub-aside-kit li a:hover{background:#fffc}.hub-aside-kit li[aria-current] a{color:var(--tone-ink);box-shadow:var(--shadow-xs);background:#fff;font-weight:600}.hub-install{margin-top:20px}.hub-install-controls{background:var(--surface-muted);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.hub-install-toggles{flex-wrap:wrap;gap:8px;display:flex}.hub-seg{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff;border-radius:999px;padding:3px;display:inline-flex}.hub-seg button{height:34px;color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:14px;font-weight:500;transition:background-color .16s,color .16s}.hub-seg button:hover:not([aria-checked=true]){color:var(--ink)}.hub-seg button[aria-checked=true]{background:var(--ink);color:#fff}.hub-seg.is-small button{height:28px;padding:0 12px;font-size:12.5px}.hub-install-steps{flex-direction:column;gap:26px;margin:22px 0 0;padding:0;list-style:none;display:flex}.hub-install-steps>li{min-width:0;position:relative}.hub-install-steps>li:not(:last-child):before{content:"";background:var(--line-soft);border-radius:2px;width:2px;position:absolute;top:34px;bottom:-20px;left:13px}.hub-install-steps>li>:not(.hub-step-head){margin-left:42px}.hub-step-head{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.hub-step-no{background:var(--mint);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid;box-shadow:0 0 0 4px #fff}.hub-step-head strong{color:var(--ink);font-size:15px;font-weight:650;line-height:1.6;display:block}.hub-step-head p{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.65}.hub-install code:not(pre code){background:var(--surface-muted);font-family:var(--mono);color:var(--ink);border-radius:6px;padding:1px 6px;font-size:12px}.hub-code{background:#0d1520;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px -20px #0d1a2e}.hub-code-bar{color:#8a97a8;background:#151f2c;justify-content:space-between;align-items:center;gap:12px;height:38px;padding:0 8px 0 14px;font-size:12px;display:flex}.hub-code-bar button{color:#e6edf6;cursor:pointer;background:#ffffff17;border:0;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12px;font-weight:600;transition:background-color .16s;display:inline-flex}.hub-code-bar button:hover{background:#ffffff2b}.hub-code pre{max-height:240px;font-family:var(--mono);color:#d6e2f0;white-space:pre-wrap;word-break:break-all;margin:0;padding:14px 16px 16px;font-size:12.5px;line-height:1.75;overflow:auto}.hub-code pre code{color:inherit;font:inherit;background:0 0;padding:0}.hub-code[data-variant=prompt]{border:1px solid var(--brand-100);box-shadow:none;background:linear-gradient(160deg,#f1fbf7,#fff 70%)}.hub-code[data-variant=prompt] .hub-code-bar{border-bottom:1px solid var(--brand-100);color:var(--brand-600);background:0 0;font-weight:600}.hub-code[data-variant=prompt] .hub-code-bar button{background:var(--mint);color:#fff}.hub-code[data-variant=prompt] .hub-code-bar button:hover{background:var(--mint-hover)}.hub-code[data-variant=prompt] pre{font-family:var(--display);color:var(--ink);word-break:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.hub-locked-body{color:#c9d4e2;flex-wrap:wrap;align-items:center;gap:12px;padding:22px 16px;font-size:14px;display:flex}.hub-locked-body>svg{color:#6ee7b7}.hub-locked-body .hub-btn-primary{height:34px;margin-left:auto;padding:0 16px;font-size:13px}.hub-code-loading pre{color:#8a97a8}.hub-install-note{color:var(--muted);margin-top:10px;font-size:12.5px;line-height:1.75}.hub-install-note .text-link{font-size:inherit;margin:0 2px;padding:0;display:inline}.hub-install-error{color:#b42318;background:#fff1f1;border-radius:12px;padding:12px 14px;font-size:13px}.hub-tree{border:1px dashed var(--line-strong);background:var(--surface-muted);font-family:var(--mono);color:var(--text);white-space:pre;border-radius:12px;margin:0;padding:14px 18px;font-size:12.5px;line-height:1.7;overflow:auto}.hub-slash-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hub-slash-list code{background:var(--brand-50)!important;color:var(--brand-600)!important;border-radius:999px!important;padding:3px 9px!important}.course-detail-page .detail-layout{grid-template-rows:auto auto auto 1fr;grid-template-areas:"hero outline""intro outline""skills outline""reviews outline"}.detail-layout>.course-skills{grid-area:skills;margin-top:20px}.course-skills{--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--tone-soft) 0%,#fff 60%);box-shadow:var(--shadow-card);border:1px solid #fff;padding:24px;overflow:hidden}.course-skills>.course-skills-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.course-skills-head small{color:var(--tone-ink);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.course-skills-head h2{color:var(--ink);margin-top:6px;font-size:18px;font-weight:650}.course-skills-head p{color:var(--muted);margin-top:4px;font-size:13.5px;line-height:1.65}.course-skills-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.course-skills>ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.course-skills>ul>li>a{background:#ffffffc7;border:1px solid #fff;border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:background-color .16s,border-color .16s;display:flex}.course-skills>ul>li>a:hover{border-color:var(--tone-soft-2);background:#fff}.course-skills>ul>li>a>span:last-child{flex-direction:column;min-width:0;display:flex}.course-skills>ul>li strong{color:var(--ink);font-size:13.5px;font-weight:600}.course-skills>ul>li code{font-family:var(--mono);color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}@media (max-width:1200px){.hub-kits{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-kits>.hub-kit:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:1060px){.hub-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:40px 32px}.hub-terminal{transform:none}.hub-detail-hero{grid-template-columns:auto minmax(0,1fr)}.hub-detail-actions{flex-flow:wrap;grid-column:1/-1}.hub-detail-layout{grid-template-columns:minmax(0,1fr)}.hub-detail-aside{position:static}.course-detail-page .detail-layout{grid-template-rows:auto;grid-template-areas:"hero""intro""skills""outline""reviews"}}@media (max-width:900px){.hub-steps{grid-template-columns:minmax(0,1fr);gap:12px}.hub-steps li:not(:last-child):after{display:none}.hub-section{margin-top:48px}.hub-section-head{flex-direction:column;align-items:stretch;gap:16px}.hub-section-head>.catalogue-search{width:100%}.hub-kits{grid-template-columns:minmax(0,1fr)}.hub-kits>.hub-kit:last-child:nth-child(odd){grid-column:auto}}@media (max-width:700px){.hub-hero{border-radius:20px;padding:28px 20px}.hub-hero h1{font-size:42px}.hub-stats{gap:12px 24px}.hub-stats dd{font-size:22px}.hub-terminal-body{min-height:0;padding:14px 16px 18px;font-size:11.5px}.hub-section-head h2{font-size:24px}.hub-detail-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 20px}.hub-mark.is-lg{border-radius:18px;width:64px;height:64px;font-size:22px}.hub-detail-copy h1{font-size:26px}.hub-detail-actions>*{flex:1}.hub-panel{padding:20px 18px}.hub-install-controls,.hub-install-toggles{flex-direction:column;align-items:stretch}.hub-seg{width:100%;display:flex}.hub-seg button{flex:1;padding:0 8px}.hub-install-steps>li>:not(.hub-step-head){margin-left:0}.hub-install-steps>li:not(:last-child):before{display:none}.course-skills>.course-skills-head{flex-direction:column}}@media (prefers-reduced-motion:reduce){.hub-terminal-body p{opacity:1;animation:none;transform:none}.hub-terminal-body p:last-child:after{animation:none}.hub-card,.hub-kit{transition:none}.hub-card:hover,.hub-kit:hover{transform:none}}
