.lib-root{--lib-accent:var(--site-accent,#4f46e5);--lib-on-accent:var(--lib-on-accent-light,#fff);--lib-bg:color-mix(in oklab, var(--lib-accent) 2%, #fafaf8);--lib-surface:#fff;--lib-surface-2:color-mix(in oklab, var(--lib-accent) 4%, #fff);--lib-ink:#12161c;--lib-muted:#566170;--lib-faint:#7f8896;--lib-line:color-mix(in oklab, var(--lib-accent) 9%, #e3e3df);--lib-accent-soft:color-mix(in oklab, var(--lib-accent) 9%, #fff);--lib-accent-mid:color-mix(in oklab, var(--lib-accent) 22%, #fff);--lib-ok:#12804a;--lib-ok-soft:#e6f4ec;--lib-warn:#8a5200;--lib-warn-soft:#fdf1dc;--lib-danger:#b42318;--lib-danger-soft:#fdecea;--lib-radius:20px;--lib-shadow:0 1px 2px #1018280a, 0 14px 32px -18px #1018282e;--lib-glow-a:color-mix(in oklab, var(--lib-accent) 9%, transparent);--lib-glow-b:color-mix(in oklab, var(--lib-accent) 6%, transparent);background-color:var(--lib-bg);background-image:radial-gradient(70rem 34rem at 88% -10%, var(--lib-glow-a), transparent 72%), radial-gradient(56rem 30rem at -8% 22%, var(--lib-glow-b), transparent 70%), linear-gradient(180deg, color-mix(in oklab, var(--lib-accent) 3%, transparent), transparent 40rem);color:var(--lib-ink);-webkit-font-smoothing:antialiased;background-repeat:no-repeat}@media (prefers-color-scheme:dark){.lib-root{--lib-accent:color-mix(in oklab, var(--site-accent,#4f46e5) 42%, #fff);--lib-on-accent:#0b0f14;--lib-bg:#0c0f14;--lib-surface:#141922;--lib-surface-2:#19202b;--lib-ink:#eef1f5;--lib-muted:#a3adba;--lib-faint:#7d8896;--lib-line:#ffffff17;--lib-accent-soft:color-mix(in oklab, var(--lib-accent) 14%, #141922);--lib-accent-mid:color-mix(in oklab, var(--lib-accent) 30%, #141922);--lib-ok:#5fd39a;--lib-ok-soft:#5fd39a1f;--lib-warn:#f2c26b;--lib-warn-soft:#f2c26b1f;--lib-danger:#ff9b92;--lib-danger-soft:#ff9b921f;--lib-shadow:0 1px 2px #0000004d, 0 14px 32px -18px #0009;--lib-glow-a:color-mix(in oklab, var(--lib-accent) 16%, transparent);--lib-glow-b:color-mix(in oklab, var(--lib-accent) 9%, transparent)}}.lib-root :focus-visible{outline:2px solid var(--lib-accent);outline-offset:2px;border-radius:8px}.lib-root a{-webkit-text-decoration-color:color-mix(in oklab, currentColor 40%, transparent);text-decoration-color:color-mix(in oklab, currentColor 40%, transparent)}.lib-display{font-family:var(--font-heading,inherit);letter-spacing:-.015em;text-wrap:balance;font-weight:600;line-height:1.12}.lib-h1{font-size:clamp(1.75rem,1.2rem + 2vw,2.6rem)}.lib-h2{font-size:1.3rem}.lib-muted{color:var(--lib-muted)}.lib-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--lib-muted);font-size:.72rem;font-weight:650}.lib-card{background:var(--lib-surface);border:1px solid var(--lib-line);border-radius:var(--lib-radius);box-shadow:var(--lib-shadow)}.lib-card-link{transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}.lib-card-link:hover{border-color:color-mix(in oklab, var(--lib-accent) 35%, var(--lib-line));transform:translateY(-2px)}.lib-card-link a.lib-stretch:after{content:"";border-radius:inherit;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.lib-card-link{transition:none}.lib-card-link:hover{transform:none}}.lib-btn{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 1.15rem;font-size:.925rem;font-weight:620;line-height:1;text-decoration:none;transition:filter .15s,background .15s,border-color .15s;display:inline-flex}.lib-btn:disabled{opacity:.6;cursor:not-allowed}.lib-btn-primary{background:var(--lib-accent);color:var(--lib-on-accent);box-shadow:0 1px 2px #0000001f}.lib-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.lib-btn-secondary{background:var(--lib-surface);color:var(--lib-ink);border-color:var(--lib-line);box-shadow:0 1px 2px #1018280a}.lib-btn-secondary:hover:not(:disabled){background:var(--lib-accent-soft);border-color:color-mix(in oklab, var(--lib-accent) 30%, var(--lib-line))}.lib-btn-ghost{color:var(--lib-muted);background:0 0}.lib-btn-ghost:hover{background:var(--lib-accent-soft);color:var(--lib-ink)}.lib-btn-block{width:100%}.lib-btn-lg{border-radius:15px;min-height:52px;padding:0 1.6rem;font-size:1rem}.lib-label{color:var(--lib-ink);font-size:.85rem;font-weight:600;display:block}.lib-input{border:1px solid color-mix(in oklab, var(--lib-ink) 18%, transparent);background:var(--lib-surface);width:100%;min-height:48px;color:var(--lib-ink);border-radius:13px;margin-top:.4rem;padding:0 .95rem;font-size:1rem;transition:border-color .15s,box-shadow .15s;display:block}.lib-input:hover{border-color:color-mix(in oklab, var(--lib-ink) 30%, transparent)}.lib-input:focus{border-color:var(--lib-accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--lib-accent) 20%, transparent);outline:none}.lib-hint{color:var(--lib-muted);margin-top:.35rem;font-size:.8rem;font-weight:400}.lib-check{width:1.1rem;height:1.1rem;accent-color:var(--lib-accent);flex:none}.lib-chip{background:var(--lib-accent-soft);color:color-mix(in oklab, var(--lib-accent) 75%, var(--lib-ink));border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.lib-chip-ok{background:var(--lib-ok-soft);color:var(--lib-ok)}.lib-chip-warn{background:var(--lib-warn-soft);color:var(--lib-warn)}.lib-chip-plain{background:color-mix(in oklab, var(--lib-ink) 7%, transparent);color:var(--lib-muted)}.lib-notice{border:1px solid #0000;border-radius:14px;padding:.85rem 1rem;font-size:.9rem;line-height:1.5}.lib-notice-error{background:var(--lib-danger-soft);color:var(--lib-danger);border-color:color-mix(in oklab, var(--lib-danger) 25%, transparent)}.lib-notice-ok{background:var(--lib-ok-soft);color:var(--lib-ok);border-color:color-mix(in oklab, var(--lib-ok) 25%, transparent)}.lib-notice-info{background:var(--lib-accent-soft);color:var(--lib-ink);border-color:var(--lib-accent-mid)}.lib-cover{aspect-ratio:16/10;background:linear-gradient(var(--a,135deg), color-mix(in oklab, var(--lib-accent) 14%, var(--lib-surface)), color-mix(in oklab, var(--lib-accent) 40%, var(--lib-surface)));position:relative;overflow:hidden}.lib-cover:before,.lib-cover:after{content:"";border-radius:999px;position:absolute}.lib-cover:before{aspect-ratio:1;width:64%;right:-14%;top:var(--y,-34%);background:color-mix(in oklab, var(--lib-accent) 18%, transparent)}.lib-cover:after{aspect-ratio:1;width:36%;left:var(--x,-6%);background:color-mix(in oklab, var(--lib-accent) 13%, transparent);bottom:-20%}.lib-cover-title{font-family:var(--font-heading,inherit);color:color-mix(in oklab, var(--lib-accent) 82%, var(--lib-ink));z-index:1;text-wrap:balance;padding:.9rem 1.1rem;font-size:1.05rem;font-weight:600;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.lib-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.lib-progress{background:color-mix(in oklab, var(--lib-ink) 10%, transparent);border-radius:999px;height:8px;overflow:hidden}.lib-progress>span{border-radius:inherit;background:var(--lib-accent);height:100%;transition:width .4s;display:block}.lib-header{background:color-mix(in oklab, var(--lib-surface) 84%, transparent);-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);border-bottom:1px solid var(--lib-line)}.lib-avatar{background:var(--lib-accent);width:36px;height:36px;color:var(--lib-on-accent);letter-spacing:.02em;border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.lib-menu{background:var(--lib-surface);border:1px solid var(--lib-line);z-index:60;border-radius:16px;min-width:15rem;padding:.4rem;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 60px -20px #10182859}.lib-menu a,.lib-menu button{width:100%;color:var(--lib-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.65rem;padding:.6rem .7rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.lib-menu a:hover,.lib-menu button:hover{background:var(--lib-accent-soft)}.lib-menu hr{border:0;border-top:1px solid var(--lib-line);margin:.35rem 0}.lib-lesson-row{color:inherit;align-items:center;gap:.85rem;padding:.8rem 1rem;text-decoration:none;transition:background .12s;display:flex}a.lib-lesson-row:hover{background:var(--lib-accent-soft)}.lib-lesson-row[aria-current=page]{background:var(--lib-accent-soft);box-shadow:inset 3px 0 0 var(--lib-accent)}.lib-step{border:1.5px solid color-mix(in oklab, var(--lib-ink) 22%, transparent);width:28px;height:28px;color:var(--lib-muted);border-radius:999px;flex:none;place-items:center;font-size:.75rem;font-weight:650;display:inline-grid}.lib-step-done{background:var(--lib-ok);border-color:var(--lib-ok);color:#fff}.lib-step-now{border-color:var(--lib-accent);color:var(--lib-accent);background:var(--lib-surface)}.lib-split-panel{background:var(--site-accent,#4f46e5);color:var(--lib-on-accent-light,#fff);position:relative;overflow:hidden}.lib-split-panel:before,.lib-split-panel:after{content:"";background:color-mix(in oklab, var(--lib-on-accent-light,#fff) 9%, transparent);border-radius:999px;position:absolute}.lib-split-panel:before{width:34rem;height:34rem;top:-12rem;right:-14rem}.lib-split-panel:after{background:color-mix(in oklab, var(--lib-on-accent-light,#fff) 6%, transparent);width:22rem;height:22rem;bottom:-10rem;left:-9rem}.lib-split-panel>*{z-index:1;position:relative}.lib-space-card{border-color:color-mix(in oklab, var(--lib-accent) 16%, var(--lib-line));background:linear-gradient(135deg, color-mix(in oklab, var(--lib-accent) 16%, var(--lib-surface)) 0%, var(--lib-surface) 52%, color-mix(in oklab, var(--lib-accent) 7%, var(--lib-surface)) 100%);border-radius:22px;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.lib-space-card:before{content:"";pointer-events:none;background:radial-gradient(20rem 11rem at 100% 0%, color-mix(in oklab, var(--lib-accent) 28%, transparent), transparent 68%);opacity:.8;transition:opacity .2s;position:absolute;inset:0}.lib-space-card>*{position:relative}.lib-space-card:hover{border-color:color-mix(in oklab, var(--lib-accent) 45%, var(--lib-line));box-shadow:0 1px 2px #1018280d, 0 22px 40px -20px color-mix(in oklab, var(--lib-accent) 55%, transparent);transform:translateY(-3px)}.lib-space-card:hover:before{opacity:1}.lib-space-icon{background:linear-gradient(145deg, color-mix(in oklab, var(--lib-accent) 78%, #fff), color-mix(in oklab, var(--lib-accent) 100%, #000 22%));color:var(--lib-on-accent);box-shadow:0 8px 18px -8px color-mix(in oklab, var(--lib-accent) 70%, transparent), inset 0 1px 0 #ffffff40}.lib-space-card .lib-btn-primary{background:linear-gradient(135deg, color-mix(in oklab, var(--lib-accent) 82%, #fff), var(--lib-accent) 60%);box-shadow:0 6px 14px -6px color-mix(in oklab, var(--lib-accent) 65%, transparent)}.lib-space-card:hover .lib-btn-primary{filter:brightness(1.07)}@media (prefers-reduced-motion:reduce){.lib-space-card,.lib-space-card:before{transition:none}.lib-space-card:hover{transform:none}}
