@font-face{font-family:Inter;src:url(/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--stage: #0f0f0f;--surface: #1a1a1a;--raised: #262626;--line: #333333;--rail: #4d4d4d;--mute: #9a9a9a;--body: #d4d4d4;--ink: #ffffff;--accent: #47c293;--top: 64px;--left: 288px;--right: 264px;--read-size: 1.09375rem;--read-width: 760px;--read-leading: 1.72;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--chrome: rgba(15, 15, 15, .72);--chrome-blur: blur(20px) saturate(180%);--glass: rgba(28, 28, 28, .92);--glass-edge: rgba(255, 255, 255, .09);--fill-soft: rgba(255, 255, 255, .05);--fill: rgba(255, 255, 255, .07);--fill-hover: rgba(255, 255, 255, .12);--row-hover: rgba(255, 255, 255, .06);--card-hover: #202020;--primary-hover: #e6e6e6;--accent-text: var(--accent);color-scheme:dark}:root[data-theme=light]{--stage: #f2f2f7;--surface: #ffffff;--raised: #e5e5ea;--line: #e0e0e0;--rail: #c4c4c4;--mute: #666666;--body: #2a2a2a;--ink: #0f0f0f;--accent: #1f5a43;--accent-text: #1f5a43;--chrome: rgba(242, 242, 247, .78);--glass: rgba(255, 255, 255, .94);--glass-edge: rgba(0, 0, 0, .08);--fill-soft: rgba(0, 0, 0, .04);--fill: rgba(0, 0, 0, .05);--fill-hover: rgba(0, 0, 0, .09);--row-hover: rgba(0, 0, 0, .04);--card-hover: #fafafa;--primary-hover: #2a2a2a;color-scheme:light}.tile,.course-art,.frame-dark{--stage: #0f0f0f;--surface: #1a1a1a;--raised: #262626;--line: #333333;--rail: #4d4d4d;--mute: #9a9a9a;--body: #d4d4d4;--ink: #ffffff;--accent: #47c293;--accent-text: #47c293}html.theme-anim,html.theme-anim *,html.theme-anim *:before,html.theme-anim *:after{transition:background-color .32s ease,color .32s ease,border-color .32s ease,fill .32s ease,stroke .32s ease,box-shadow .32s ease!important}*,*:before,*:after{box-sizing:border-box}html{background:var(--stage);-webkit-text-size-adjust:100%}body{margin:0;background:var(--stage);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";letter-spacing:-.009em;-webkit-tap-highlight-color:transparent}a,button,label,summary,[role=slider]{touch-action:manipulation}button:not(:disabled):active,.action:active,.btn:active,.copy:active,.kf-replay:active,.icon-btn:active,.edge-btn:active{transform:scale(.96);transition:transform .1s ease-out}.lesson-link:active,.section-list a:active,.toc li a:active,.check:active,.pager-card:active,.card:active{transform:scale(.985);transition:transform .1s ease-out}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}::selection{background:var(--rail);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--raised) transparent}.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mute);padding:0 12px 12px}.shell{display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);grid-template-rows:var(--top) auto;grid-template-areas:"top top top" "left main right";min-height:100vh;transition:grid-template-columns .35s var(--ease-out)}.shell.no-left{--left: 0px}.shell.no-right{--right: 0px}.topbar{grid-area:top;position:sticky;top:0;z-index:30;height:var(--top);display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"start nav end";align-items:center;column-gap:12px;padding:0 22px;background:var(--chrome);-webkit-backdrop-filter:var(--chrome-blur);backdrop-filter:var(--chrome-blur);border-bottom:1px solid transparent;transition:border-color .25s}.topbar.scrolled{border-bottom-color:var(--glass-edge)}.topbar-start{grid-area:start;justify-self:start;display:flex;align-items:center;gap:12px;min-width:0}.topbar .navseg{grid-area:nav}.topbar .topbar-end{grid-area:end;justify-self:end}.navseg{position:relative;display:inline-flex;padding:3px;border-radius:12px;background:var(--fill-soft)}:root[data-theme=light] .topbar .navseg{background:#7676801f}.navseg a{position:relative;z-index:1;padding:7px 16px;border-radius:9px;font-size:14.5px;color:var(--mute);transition:color .2s}.navseg a.on{color:var(--ink)}@media (hover: hover){.navseg a:hover{color:var(--ink)}}.navseg-pill{position:absolute;top:3px;bottom:3px;left:0;border-radius:9px;background:var(--raised);transition:transform .38s cubic-bezier(.2,.9,.25,1),width .38s cubic-bezier(.2,.9,.25,1)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:16px;letter-spacing:-.01em}.brand .mark{flex:none}.topbar-end,.settings{position:relative}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--mute);border:1px solid transparent;transition:color .15s,background-color .15s,border-color .15s}.icon-btn:hover,.icon-btn.active{color:var(--ink);background:var(--surface);border-color:var(--line)}.menu-btn,.drawer-close{display:none}.popover{position:absolute;right:0;top:calc(100% + 10px);width:296px;padding:16px 16px 6px;background:var(--glass);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-edge);border-radius:18px;box-shadow:0 24px 60px #0000008c,0 2px 8px #0000004d;animation:materialize .32s var(--ease-out) both;transform-origin:calc(100% - 19px) -10px}.popover.leaving{animation:dematerialize .18s var(--ease-in) both;pointer-events:none}@keyframes materialize{0%{opacity:0;transform:scale(.86);filter:blur(8px)}}@keyframes dematerialize{to{opacity:0;transform:scale(.86);filter:blur(8px)}}.pop-row{margin-bottom:14px}.pop-label{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}.seg{display:flex;gap:2px;padding:3px;background:var(--stage);border:1px solid var(--line);border-radius:11px}.seg button{flex:1;padding:7px 10px;border-radius:8px;color:var(--mute);font-size:14px;transition:color .15s,background-color .15s}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--raised);color:var(--ink)}.seg.small{display:inline-flex}.seg.small button{flex:none;font-size:13px;padding:6px 11px}.sidebar{grid-area:left;position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow:hidden auto;border-right:1px solid var(--line);background:var(--stage)}.no-left .sidebar{border-right-color:transparent}.sidebar-inner{width:288px;padding:28px 16px 40px}.lesson-list,.section-list,.toc{list-style:none;margin:0;padding:0}.lesson-row{display:flex;align-items:center;gap:2px}.disclose{width:24px;height:32px;flex:none;display:grid;place-items:center;color:var(--mute);border-radius:6px}.disclose svg{transition:transform .25s var(--ease-out)}.disclose.open svg{transform:rotate(90deg)}.disclose:disabled{opacity:.35;cursor:default}.lesson-link{flex:1;min-width:0;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:4px;padding:9px 10px;border-radius:9px;font-size:15.5px;color:var(--body);transition:background-color .15s,color .15s}a.lesson-link:hover{background:var(--surface);color:var(--ink)}.lesson-link.active{background:var(--surface);color:var(--ink);font-weight:600}.lesson-link .num{color:var(--accent-text);font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums}.lesson-link .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soon .lesson-link{color:var(--mute);cursor:default}.soon .lesson-link .num{color:var(--rail)}.badge-soon{font-size:11px;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.done{display:grid}.section-list{margin:4px 0 10px 37px;border-left:1px solid var(--line);animation:unfold .3s var(--ease-out)}@keyframes unfold{0%{opacity:0;transform:translateY(-4px)}}.section-list a{display:block;margin-left:-1px;padding:6px 12px;font-size:14px;line-height:1.4;color:var(--mute);border-left:1px solid transparent;transition:color .15s,border-color .15s}.section-list a:hover{color:var(--ink)}.section-list a.here{color:var(--ink);border-left-color:var(--ink)}.edge-btn{position:fixed;top:calc(50% + var(--top) / 2);z-index:20;width:30px;height:30px;margin-top:-15px;display:grid;place-items:center;border-radius:50%;background:var(--stage);border:1px solid var(--line);color:var(--mute);transition:left .35s var(--ease-out),right .35s var(--ease-out),color .15s,border-color .15s}.edge-btn:hover{color:var(--ink);border-color:var(--rail)}.edge-left{left:calc(var(--left) - 15px)}.no-left .edge-left{left:12px}.edge-right{right:calc(var(--right) - 15px)}.no-right .edge-right{right:12px}.tocbar{grid-area:right;position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow:hidden auto;border-left:1px solid var(--line);padding:32px 0 40px}.no-right .tocbar{visibility:hidden}.tocbar>*{width:264px}.tocbar .eyebrow{padding:0 24px 14px}.tocbar .toc{padding:0 16px 0 22px}.toc{position:relative}.toc:before{content:"";position:absolute;left:calc(var(--toc-pad, 22px) + 5px);top:14px;bottom:14px;width:1px;background:var(--line)}.toc li a{position:relative;display:grid;grid-template-columns:11px 1fr;gap:12px;align-items:start;padding:6px 8px 6px 0;font-size:14px;line-height:1.4;color:var(--mute);transition:color .15s}.toc li a:hover{color:var(--ink)}.toc li.l3 a{font-size:13.5px}.toc li.l3 a span{padding-left:12px}.toc li.active a{color:var(--ink)}.toc .key{justify-self:center;margin-top:4px}.key rect{fill:var(--stage);stroke:var(--rail);stroke-width:1.4;transition:fill .2s,stroke .2s}.toc li.past .key rect{fill:var(--mute);stroke:var(--mute)}.key.on rect{fill:var(--accent);stroke:var(--accent)}.toc li.active .key{animation:land .35s var(--ease-out)}@keyframes land{0%{transform:scale(.4)}}.main{grid-area:main;min-width:0;padding:44px 56px 96px}.lesson,.home{max-width:var(--read-width);margin:0 auto;transition:max-width .35s var(--ease-out)}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--mute);font-size:14px;margin-bottom:28px}.crumbs a:hover{color:var(--ink)}.crumbs span{color:var(--body)}.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-bottom:18px}.pill{font-size:13.5px;color:var(--body);padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.pill b{color:var(--accent-text);font-weight:600}.meta{font-size:14px;color:var(--mute)}.dot{width:3px;height:3px;border-radius:50%;background:var(--rail)}.lesson h1,.home h1{font-size:clamp(34px,4.2vw,46px);line-height:1.06;font-weight:600;letter-spacing:-.024em;margin:0 0 14px;text-wrap:balance}.lede{font-size:calc(var(--read-size) + 1px);line-height:1.6;color:var(--body);margin:0 0 24px;max-width:62ch;text-wrap:pretty}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.action{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:11px;background:var(--surface);border:1px solid var(--line);font-size:14.5px;color:var(--ink);transition:border-color .15s,background-color .15s}.action:hover{border-color:var(--rail);background:var(--raised)}.action svg{color:var(--mute)}.action.primary{background:var(--ink);color:var(--stage);border-color:var(--ink);font-weight:600}.action.primary svg{color:var(--stage)}.action.primary:hover{background:var(--primary-hover)}.toc-inline{display:none}.prose{font-size:var(--read-size);line-height:var(--read-leading);color:var(--body)}.prose p,.prose ul,.prose ol{margin:0 0 1.05em;text-wrap:pretty}.prose ul{padding-left:1.2em}.prose li{margin:.35em 0}.prose li::marker{color:var(--rail)}.video-soon{color:var(--mute)}.prose a:not(.anchor){color:var(--ink);text-decoration:underline;text-decoration-color:var(--rail);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color .15s ease-out}@media (hover: hover){.prose a:not(.anchor):hover{text-decoration-color:var(--ink)}}.prose strong{color:var(--ink);font-weight:600}.prose h2{font-size:1.5em;line-height:1.25;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:2.6em 0 .75em;scroll-margin-top:calc(var(--top) + 28px)}.prose>h2:first-child{margin-top:1.6em}.prose h2 .anchor{position:relative}.prose h2 .anchor:before{content:"#";position:absolute;left:-.9em;color:var(--rail);opacity:0;transition:opacity .15s}.prose h2:hover .anchor:before{opacity:1}.prose h3{font-size:1.06em;line-height:1.4;font-weight:600;color:var(--ink);margin:1.8em 0 .4em;scroll-margin-top:calc(var(--top) + 28px);display:flex;align-items:baseline;gap:12px}.prose h3 .n{color:var(--accent-text);font-size:.85em;min-width:14px;font-variant-numeric:tabular-nums}.prose code{font-family:inherit;font-size:.92em;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.08em .4em;white-space:nowrap}.video{margin:0 0 8px}.video video{display:block;width:100%;aspect-ratio:16 / 9;background:#000;border:1px solid var(--line);border-radius:16px}.video figcaption{font-size:14px;color:var(--mute);margin-top:10px}.outcomes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.outcomes li{border-top:1px solid var(--line);padding-top:14px;margin:0}.outcomes .n{color:var(--accent-text);font-weight:600;font-size:14px}.outcomes p{margin:6px 0 0;color:var(--ink);line-height:1.5}.prompt{margin:0 0 8px}.prompt .why{margin:0 0 12px 26px;font-size:.92em;color:var(--mute)}.prompt.bare{margin:0 0 1.1em}.box{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.box-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 0 18px}.box-label{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}.box-text{margin:0!important;padding:6px 18px 18px;color:var(--ink);font-size:.96em;line-height:1.62}.copy{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--mute);transition:color .15s,background-color .15s}.copy:hover{color:var(--ink);background:var(--raised)}.copy.copied{color:var(--ink)}.copy.copied svg{color:var(--accent-text);animation:land .35s var(--ease-out)}.cmd{margin:0 0 10px}.cmd .os{display:block;font-size:13px;color:var(--mute);margin:14px 0 6px}.cmd-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:6px 6px 6px 16px}.cmd-row code{flex:1;min-width:0;overflow-x:auto;white-space:pre;background:none!important;border:0!important;padding:6px 0!important;font-size:.9em!important;color:var(--ink)}.cmd-row .sigil{color:var(--rail);-webkit-user-select:none;user-select:none}.step{margin:0 0 4px}.step-body{padding-left:26px}.step-body>p{margin-bottom:.7em}.terms{margin:0 0 1.2em;border-bottom:1px solid var(--line)}.terms>div{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.terms dt{color:var(--ink);font-weight:600}.terms dd{margin:0}.fixes{border-bottom:1px solid var(--line);margin-bottom:1.2em}.fix{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:24px;padding:14px 0;border-top:1px solid var(--line)}.fix-t{color:var(--ink);font-weight:600;line-height:1.5}.fix-d{line-height:1.6}.checklist{margin:0 0 1em}.check{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;margin:0 -14px;border-radius:12px;cursor:pointer;transition:background-color .15s}.check:hover{background:var(--surface)}.check input{position:absolute;opacity:0;pointer-events:none}.check .tick{width:22px;height:22px;flex:none;margin-top:.15em;display:grid;place-items:center;border:1.5px solid var(--rail);border-radius:6px;color:var(--accent-text);transition:border-color .15s}.check.on .tick{border-color:var(--accent-text)}.check.on .tick svg{animation:land .35s var(--ease-out)}.check input:focus-visible+.tick{outline:2px solid var(--ink);outline-offset:2px}.check .ct{line-height:1.55}.check.on .ct{color:var(--ink)}.check-count{font-size:14px;color:var(--mute);margin:10px 0 0!important}.note{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:1.6em 0;font-size:.94em}.note p{margin:0}.kf{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 22px 6px;margin:1.2em 0 1.4em}.kf svg{display:block;width:100%;height:auto;overflow:visible}.kf-word{fill:var(--ink);font-weight:600;font-size:24px;letter-spacing:-.02em}.kf-dot{fill:var(--mute)}.kf-dot.end{fill:var(--accent)}.kf-track{fill:var(--rail)}.kf-fill{fill:var(--mute)}.kf-playhead{stroke:var(--ink);stroke-width:1.5}.kf-key.start{fill:var(--mute)}.kf-key.end{fill:var(--accent)}.kf-label{fill:var(--mute);font-size:13px;font-variant-numeric:tabular-nums}.kf-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:18px 0 4px;padding-top:16px;border-top:1px solid var(--line)}.kf-group{display:flex;align-items:center;gap:10px}.kf-name{font-size:13px;color:var(--mute)}.kf-replay{margin-left:auto;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:10px;background:var(--raised);font-size:13.5px;transition:background-color .15s}.kf-replay:hover{background:var(--rail)}.kf-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 0 14px}.kf-legend h4{margin:0 0 4px;font-size:14.5px;font-weight:600;color:var(--ink)}.kf-legend p{margin:0!important;font-size:13.5px;line-height:1.5;color:var(--mute)}.pager-wrap{margin-top:72px;padding-top:20px;border-top:1px solid var(--line)}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pager-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;transition:border-color .15s,background-color .15s}a.pager-card:hover{border-color:var(--rail);background:var(--surface)}.pager-card.right{text-align:right;align-items:flex-end}.pager-card .dir{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--mute)}.pager-card .pt{font-size:16.5px;font-weight:600}.pager-card .pt b{color:var(--accent-text);margin-right:6px}.pager-card.soon{opacity:.55}.pager-card.soon .pt b{color:var(--rail)}.scrim{display:none}@media (max-width: 1240px){.shell,.shell.no-right{grid-template-columns:var(--left) minmax(0,1fr);grid-template-areas:"top top" "left main"}.tocbar,.edge-right{display:none}.toc-inline{display:block;margin:20px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.toc-inline summary{cursor:pointer;padding:12px 16px;font-size:14px;color:var(--body);list-style:none;display:flex;justify-content:space-between}.toc-inline summary:after{content:"+";color:var(--mute)}.toc-inline[open] summary:after{content:"–"}.toc-inline .toc{--toc-pad: 16px;padding:0 16px 12px}}@media (max-width: 900px){.shell,.shell.no-left,.shell.no-right{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main"}.topbar{padding:0 12px;gap:6px}.brand span{font-size:15px}.menu-btn{display:grid}.edge-left{display:none}.sidebar{position:fixed;z-index:50;top:0;left:0;height:100vh;height:100dvh;width:min(320px,86vw);transform:translate3d(-110%,0,0);will-change:transform;touch-action:pan-y;border-right:1px solid var(--glass-edge);box-shadow:24px 0 60px #00000080}.sidebar-inner{width:auto;padding-top:64px}.drawer-close{display:grid;position:absolute;top:13px;right:12px}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0009;opacity:0;pointer-events:none;touch-action:none}.shell{touch-action:pan-y pinch-zoom}.meta-row .dot{display:none}.main{padding:28px 16px 72px}.outcomes,.kf-legend{grid-template-columns:1fr;gap:12px}.terms>div,.fix{grid-template-columns:1fr;gap:4px}.step-body{padding-left:0}.prompt .why{margin-left:0}.kf{padding:16px 14px 4px}.kf-replay{margin-left:0}.pager{grid-template-columns:1fr}.pager .right{order:-1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.recipe{margin:0 0 1em;border-bottom:1px solid var(--line)}.recipe>div{display:grid;grid-template-columns:110px 1fr minmax(160px,.7fr);gap:20px;padding:12px 0;border-top:1px solid var(--line)}.recipe dt{color:var(--ink);font-weight:600}.recipe dd{margin:0}.recipe dd.ex{color:var(--mute)}.example{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 18px 16px;margin:0 0 1.2em}.example p{margin:4px 0 0!important;color:var(--ink)}.easings{margin:.4em 0 1.2em;border-bottom:1px solid var(--line)}.ease-row{display:grid;grid-template-columns:110px 64px minmax(120px,.9fr) 1.4fr;gap:20px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.ease-name{color:var(--ink);font-weight:600}.ease-curve{width:64px;height:40px}.ease-curve rect{fill:none;stroke:var(--line)}.ease-curve path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round}.ease-lane{position:relative;height:14px}.ease-lane:before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;border-radius:1px;background:var(--rail)}.ease-key{position:absolute;top:2px;left:0;width:10px;height:10px;margin-left:-1px;border-radius:2px;background:var(--accent);transform:rotate(45deg);animation:ease-travel 2.4s infinite}@keyframes ease-travel{0%,12%{left:0}62%,to{left:calc(100% - 9px)}}.ease-words{margin:0!important;line-height:1.55}.ease-note{font-size:13.5px;color:var(--mute);margin:10px 0 14px!important}.clip{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px 6px;margin:1.2em 0 1.4em}.clip-frame{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.clip-title{fill:#fff;font-weight:600;font-size:96px;letter-spacing:-.02em}.clip-sub{fill:#9a9a9a;font-size:40px}.clip-timeline{display:block;width:100%;height:auto;margin-top:18px}.clip-timeline .grid{stroke:var(--line)}.clip-timeline .tick{fill:var(--mute);font-variant-numeric:tabular-nums}.clip-timeline .lbl{fill:var(--ink);font-weight:600}.clip-timeline .bar{fill:var(--rail);transition:fill .2s}.clip-timeline .bar.on{fill:var(--accent)}.clip-timeline .bar.exit.on{fill:var(--mute)}.clip-timeline .hold{fill:var(--rail)}.clip-timeline .playhead{stroke:var(--ink);stroke-width:1.5}.clip-time{font-size:13.5px;color:var(--mute);font-variant-numeric:tabular-nums;margin-left:auto}.clip .kf-replay{margin-left:0}.rewrites{margin:0 0 1.2em;border-bottom:1px solid var(--line)}.rw-head,.rw{display:grid;grid-template-columns:minmax(170px,.8fr) 1.4fr;gap:24px;padding:12px 0;border-top:1px solid var(--line)}.rw-head{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);padding:8px 0}.rw .v{color:var(--mute)}.rw .c{color:var(--ink)}@media (max-width: 900px){.recipe>div,.rw,.rw-head{grid-template-columns:1fr;gap:2px}.rw-head{display:none}.ease-row{grid-template-columns:64px 1fr;grid-template-areas:"curve name" "curve lane" "words words";gap:8px 16px}.ease-row .ease-name{grid-area:name}.ease-row .ease-curve{grid-area:curve}.ease-row .ease-lane{grid-area:lane}.ease-row .ease-words{grid-area:words}.clip{padding:12px 12px 4px}.clip-time{margin-left:0}}.box-text,.cmd-row code,.prose code,.example p{font-feature-settings:"calt" 0}.page-in{animation:page-in .42s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width: 900px){.topbar{grid-template-columns:1fr auto 1fr;grid-template-areas:"start nav end";padding:0 11px;column-gap:8px}}@media (max-width: 640px){.brand span{display:none}.navseg a{padding:7px 13px;font-size:14px}}.home-site{min-height:100vh}.home-site .topbar{position:sticky}.home2{max-width:1160px;margin:0 auto;padding:0 32px}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding:88px 0 72px}.kicker{font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mute);margin:0 0 18px}.hero h1{font-size:clamp(44px,6.4vw,80px);line-height:1.02;letter-spacing:-.032em;font-weight:600;margin:0 0 22px;text-wrap:balance}.hero-lede{font-size:1.25rem;line-height:1.55;letter-spacing:-.014em;color:var(--body);margin:0 0 32px;max-width:34em;text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:13px;font-size:15.5px;font-weight:600;letter-spacing:-.011em;color:var(--ink);background:var(--fill);transition:background-color .15s}@media (hover: hover){.btn:hover{background:var(--fill-hover)}.btn.primary:hover{background:var(--primary-hover)}}.btn.primary{background:var(--ink);color:var(--stage)}.hero-meta{margin:22px 0 0;font-size:14px;color:var(--mute)}.scrub{--travel: .64;background:var(--surface);border-radius:24px;padding:26px 26px 20px;box-shadow:inset 0 1px 0 var(--glass-edge),0 30px 80px #00000059;user-select:none;-webkit-user-select:none}.scrub-stage{position:relative;height:150px;margin:0 12px}.scrub-word{position:absolute;top:30px;font-size:clamp(34px,4vw,48px);font-weight:600;letter-spacing:-.03em;white-space:nowrap;will-change:left}.scrub-dots{position:absolute;left:0;right:0;bottom:18px;height:12px}.scrub-dot{position:absolute;top:3px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--mute);opacity:.18;transition:opacity .12s}.scrub-dot.on{opacity:.85}.scrub-dot.end{width:10px;height:10px;margin-left:-5px;top:1.5px;background:var(--accent)}.scrub-dot.end.on{opacity:1}.scrub-track{position:relative;height:44px;margin:0 12px;cursor:grab;touch-action:none}.scrub.dragging .scrub-track{cursor:grabbing}.scrub-rail,.scrub-fill{position:absolute;left:0;top:20px;height:4px;border-radius:2px}.scrub-rail{right:0;background:var(--rail)}.scrub-fill{background:var(--mute)}.scrub-key{position:absolute;top:14px;width:16px;height:16px;margin-left:-8px;border-radius:3px;transform:rotate(45deg)}.scrub-key.start{left:0;background:var(--mute)}.scrub-key.end{left:100%;background:var(--accent);transition:transform .3s var(--ease-out)}.scrub-key.end.landed{transform:rotate(45deg) scale(1.18)}.scrub-head{position:absolute;top:0;width:2px;height:44px;margin-left:-1px;background:var(--ink);border-radius:1px;outline:none}.scrub-head:before{content:"";position:absolute;left:50%;top:-7px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--ink);box-shadow:0 2px 8px #00000080;transition:transform .15s var(--ease-out)}.scrub-head:after{content:"";position:absolute;top:-12px;right:-20px;bottom:-12px;left:-20px}.scrub.dragging .scrub-head:before{transform:scale(1.25)}.scrub-head:focus-visible:before{outline:2px solid var(--ink);outline-offset:3px}.scrub-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.scrub-time{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.scrub-time span{color:var(--mute);font-weight:400}.scrub-hint{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:var(--mute)}.band{padding:72px 0;border-top:1px solid var(--line)}.band h2,.finale h2{font-size:clamp(28px,3.2vw,38px);line-height:1.12;letter-spacing:-.026em;font-weight:600;margin:0 0 28px;text-wrap:balance}.band-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-bottom:28px}.band-head h2{margin:0}.band-head p{margin:0;color:var(--mute)}.band h3{font-size:18px;line-height:1.35;letter-spacing:-.017em;font-weight:600;margin:0 0 8px}.band p{color:var(--body);line-height:1.6;margin:0;text-wrap:pretty}.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}.three{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.three li{background:var(--surface);border-radius:20px;padding:24px 24px 26px;box-shadow:inset 0 1px 0 var(--glass-edge)}.part-art{position:relative;display:block;height:64px;margin-bottom:20px;border-radius:12px;background:var(--stage);overflow:hidden}.part-art.rec span{position:absolute;left:14px;right:14px;bottom:14px;height:3px;border-radius:2px;background:var(--rail)}.part-art.rec span:after{content:"";position:absolute;top:0;right:55%;bottom:0;left:0;border-radius:2px;background:var(--ink)}.part-art.intro .bar{position:absolute;left:calc(50% - 30px);width:60px;top:30px;height:4px;border-radius:2px;background:var(--rail)}.part-art.intro .k{position:absolute;top:25px;width:14px;height:14px;border-radius:3px;transform:rotate(45deg)}.part-art.intro .a{left:calc(50% - 37px);background:var(--mute)}.part-art.intro .b{left:calc(50% + 23px);background:var(--accent)}.part-art.guide span{position:absolute;left:14px;height:4px;border-radius:2px;background:var(--rail)}.part-art.guide span:nth-child(1){top:16px;width:40%;background:var(--mute)}.part-art.guide span:nth-child(2){top:30px;width:70%}.part-art.guide span:nth-child(3){top:42px;width:56%}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{display:flex;flex-direction:column;height:100%;background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:inset 0 1px 0 var(--glass-edge);transition:background-color .2s,transform .1s ease-out}@media (hover: hover){a.card:hover{background:var(--card-hover)}}.soon .card{opacity:.55}.card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.card-top{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--mute)}.card-n b{color:var(--accent-text);font-weight:600}.card-done{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--body)}.card-soon{margin-left:auto}.card h3{margin:0;font-size:19px}.card p{font-size:14.5px;line-height:1.5;color:var(--mute);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:auto;padding-top:10px;font-size:13px;color:var(--mute)}.tile{position:relative;aspect-ratio:16 / 9;background:var(--stage);overflow:hidden;display:grid;place-items:center;margin:8px 8px 0;border-radius:14px}.tile-word{display:inline-block;font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}.tile-word .ch{display:inline-block}.tile-prompt{position:absolute;left:14px;bottom:11px;font-size:12px;color:var(--mute);font-feature-settings:"calt" 0}.tile .tile-word,.tile .ch{animation-duration:.9s;animation-timing-function:var(--ease-out);animation-fill-mode:both;animation-play-state:paused}.tile.play .tile-word,.tile.play .ch{animation-play-state:running}.m0 .tile-word{animation-name:t-glide}.m1 .tile-word{animation-name:t-rise}.m2 .tile-word{animation-name:t-grow}.m3 .tile-word{animation-name:t-ease-out;animation-timing-function:cubic-bezier(.33,1,.68,1)}.m4 .tile-word{animation-name:t-drop;animation-duration:.8s;animation-timing-function:linear}.m5 .tile-word{animation-name:t-tint;animation-duration:1.3s;animation-timing-function:linear}.m6 .tile-word{animation-name:t-fit;animation-duration:1.1s}.m7 .tile-word{animation-name:t-wipe}.m8 .tile-word{animation-name:t-rise}.m9 .tile-word{animation-name:t-grow}.m10 .ch{animation-name:t-letter-tint;animation-duration:1.2s;animation-timing-function:linear}.m11 .ch{animation-name:t-type;animation-duration:.12s;animation-timing-function:linear}@keyframes t-glide{0%{transform:translate(-120px);opacity:0}}@keyframes t-rise{0%{transform:translateY(46px);opacity:0}}@keyframes t-grow{0%{transform:scale(.55);opacity:0}}@keyframes t-ease-out{0%{transform:translate(170px);opacity:0}}@keyframes t-letter{0%{transform:translateY(36px);opacity:0}}@keyframes t-wipe{0%{clip-path:inset(100% 0 0 0);transform:translateY(10px)}to{clip-path:inset(0 0 0 0);transform:none}}@keyframes t-drop{0%{transform:translateY(-70px);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}8%{opacity:1}62%{transform:translateY(0) scale(1);animation-timing-function:ease-out}70%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes t-tint{0%{transform:translateY(24px);opacity:0;color:var(--ink);animation-timing-function:var(--ease-out)}62%{transform:none;opacity:1;color:var(--ink)}to{transform:none;opacity:1;color:var(--accent-text)}}@keyframes t-type{0%,50%{opacity:0}51%,to{opacity:1}}@keyframes t-fit{0%{transform:scale(3.8)}}@keyframes t-letter-tint{0%{transform:translateY(36px);opacity:0;color:var(--ink);animation-timing-function:var(--ease-out)}55%{transform:none;opacity:1;color:var(--ink)}85%,to{transform:none;opacity:1;color:var(--accent-text)}}.words{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px}.words>div{padding:16px 0 18px;border-top:1px solid var(--line)}.words dt{font-weight:600;font-size:17px;letter-spacing:-.014em;margin-bottom:4px}.words dd{margin:0;color:var(--mute);font-size:14.5px;line-height:1.5}.finale{border-top:1px solid var(--line);padding:96px 0;text-align:center;display:flex;flex-direction:column;align-items:center}.finale .mark{margin-bottom:28px}.finale h2{margin-bottom:12px}.finale p{color:var(--body);margin:0 0 28px}.foot{display:flex;align-items:center;gap:12px;padding:28px 0 40px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mute)}@media (max-width: 1020px){.hero{grid-template-columns:1fr;gap:40px;padding-top:56px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.words{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.home2{padding:0 16px}.hero{padding:40px 0 48px}.hero-lede{font-size:1.125rem}.scrub{padding:18px 14px 16px;border-radius:20px;--travel: .5}.band{padding:52px 0}.two,.three,.cards,.words{grid-template-columns:1fr}.two{gap:28px}.finale{padding:64px 0}}@media (prefers-reduced-transparency: reduce){:root{--chrome: #0f0f0f;--glass: #1f1f1f}:root[data-theme=light]{--chrome: #f2f2f7;--glass: #ffffff}.topbar,.popover{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast: more){:root[data-theme=light]{--chrome: #f2f2f7;--glass: #ffffff;--glass-edge: rgba(0, 0, 0, .6);--line: #8a8a8a;--mute: #404040;--accent-text: #154030}:root:not([data-theme=light]){--chrome: #0f0f0f;--glass: #1f1f1f;--glass-edge: rgba(255, 255, 255, .5);--line: #5a5a5a;--mute: #bdbdbd}.topbar{border-bottom-color:var(--glass-edge)}}@media (prefers-reduced-motion: reduce){.page-in{animation:fade .2s ease both!important}.popover,.popover.leaving{animation-name:fade!important}@keyframes fade{0%{opacity:0}}}@media (min-width: 1021px){.cards li:last-child:nth-child(3n+1){grid-column:1 / -1}.cards li:last-child:nth-child(3n+2){grid-column:span 2}.cards li:last-child .card{flex-direction:row}.cards li:last-child .tile{width:calc((100% - 40px)*.45);flex:none;margin:8px 0 8px 8px}.cards li:last-child .card-body{justify-content:center;padding:24px 32px}.cards li:last-child .card p{-webkit-line-clamp:4;max-width:38em}}.topbar-end{display:flex;align-items:center;gap:6px}.account{position:relative}.signin{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 12px;border-radius:11px;background:var(--fill);font-size:14px;font-weight:600;white-space:nowrap;transition:background-color .15s}@media (hover: hover){.signin:hover{background:var(--fill-hover)}}.signin:disabled{opacity:.55}.signin-error{position:absolute;right:0;top:calc(100% + 8px);width:260px;margin:0;padding:10px 12px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-edge);font-size:13px;color:var(--body)}.avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--raised);font-weight:600;font-size:14px;box-shadow:0 0 0 2px transparent;transition:box-shadow .15s}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.active{box-shadow:0 0 0 2px var(--rail)}.account-pop{width:300px;padding:16px;transform-origin:calc(100% - 17px) -10px}.acct-who{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--line)}.acct-who b{font-size:15px}.acct-who span{font-size:13px;color:var(--mute);overflow:hidden;text-overflow:ellipsis}.acct-progress{padding:14px 0;border-bottom:1px solid var(--line)}.acct-row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--body)}.acct-row span:last-child{color:var(--mute);font-variant-numeric:tabular-nums}.acct-keys{display:flex;justify-content:space-between;margin:12px 2px 10px}.acct-note{margin:0;font-size:12.5px;line-height:1.45;color:var(--mute)}.acct-link{display:block;width:100%;text-align:left;margin-top:4px;padding:10px;border-radius:10px;font-size:14.5px;color:var(--ink)}.acct-progress+.acct-link{margin-top:10px}@media (hover: hover){.acct-link:hover{background:var(--row-hover)}}.acct-link.out{color:var(--mute)}@media (max-width: 640px){.signin span{display:none}.signin{width:36px;padding:0;justify-content:center}}.cert-page{max-width:760px;margin:0 auto;padding:72px 32px 96px}.cert-page.wide{max-width:1160px}.lesson-gate{padding-top:120px}.gate-actions{display:flex;flex-wrap:wrap;gap:12px}.cert-page h1{font-size:clamp(34px,4.4vw,52px);line-height:1.06;letter-spacing:-.028em;font-weight:600;margin:0 0 16px;text-wrap:balance}.cert-lede{font-size:1.125rem;line-height:1.6;color:var(--body);margin:0 0 32px;max-width:40em}.claim-lessons{list-style:none;margin:0 0 32px;padding:0;border-bottom:1px solid var(--line)}.claim-lessons a{display:grid;grid-template-columns:18px 26px 1fr auto;align-items:center;gap:8px;padding:13px 8px;border-top:1px solid var(--line);color:var(--body);transition:background-color .15s}@media (hover: hover){.claim-lessons a:hover{background:var(--surface)}}.claim-lessons .num{color:var(--accent-text);font-weight:600;font-variant-numeric:tabular-nums}.claim-lessons .c{font-size:13.5px;color:var(--mute);font-variant-numeric:tabular-nums}.claim-lessons .done .t{color:var(--ink)}.claim-lessons .done .c{color:var(--body)}.claim-box{background:var(--surface);border-radius:20px;padding:24px;box-shadow:inset 0 1px 0 var(--glass-edge);display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:8px}.claim-box h2{margin:0;font-size:22px;letter-spacing:-.02em;font-weight:600}.claim-box p{margin:0;color:var(--body);line-height:1.6}.field{display:flex;flex-direction:column;gap:8px;width:100%;max-width:460px}.field span{font-size:13.5px;color:var(--mute)}.field input{font:inherit;font-size:18px;font-weight:600;color:var(--ink);background:var(--stage);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--mute)}.cert-small,.cert-note{font-size:13.5px!important;color:var(--mute)!important}.cert-error{color:var(--ink)!important;font-size:14px;padding-left:12px;border-left:2px solid var(--accent)}.btn:disabled{opacity:.45;pointer-events:none}.verified{display:flex;gap:12px;align-items:flex-start;max-width:52em;margin:0 0 32px;color:var(--body);line-height:1.6}.verified b{color:var(--ink);font-weight:600}.verified-mark{flex:none;width:24px;height:24px;margin-top:2px;border-radius:50%;display:grid;place-items:center;color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.cert-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:28px;align-items:start}.cert-figure,.story-figure{margin:0}.cert-canvas,.story-canvas{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 1px var(--line),0 30px 80px #0006}.story-canvas{border-radius:18px}.story-figure figcaption{margin-top:10px;font-size:13px;line-height:1.45;color:var(--mute)}.cert-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.cert-rename{margin-top:28px}.text-btn{color:var(--mute);font-size:14px;text-decoration:underline;text-underline-offset:3px}.inline-link{color:var(--body);text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;left:50%;bottom:28px;z-index:60;margin:0;padding:11px 18px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--glass-edge);font-size:14px;color:var(--ink);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:transform .35s var(--ease-out),opacity .2s}.toast[data-on]{transform:translate(-50%);opacity:1}@media (max-width: 900px){.cert-grid{grid-template-columns:1fr}.story-figure{max-width:360px}}@media (max-width: 640px){.cert-page{padding:40px 16px 72px}}.signin-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px}.signin-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000009e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.signin-dialog{position:relative;width:min(440px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:36px 32px 26px;border-radius:26px;background:var(--surface);border:1px solid var(--glass-edge);box-shadow:0 40px 120px #0009,0 2px 10px #0000004d;text-align:left;overscroll-behavior:contain}.as-card .signin-scrim{animation:fade-in .25s ease both}.as-card .signin-dialog{animation:materialize .36s var(--ease-out) both;transform-origin:50% 60%}.as-card.leaving .signin-scrim{animation:fade-out .2s ease both}.as-card.leaving .signin-dialog{animation:dematerialize .2s var(--ease-in) both}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.leaving{pointer-events:none}.as-sheet{place-items:end stretch;padding:0}.as-sheet .signin-scrim{opacity:0}.as-sheet .signin-dialog{width:100%;max-height:calc(100dvh - 40px);border-radius:26px 26px 0 0;border-bottom:0;padding:30px 20px calc(22px + env(safe-area-inset-bottom));transform:translate3d(0,110%,0);will-change:transform;touch-action:none}.sheet-grabber{position:absolute;top:9px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:var(--rail)}.signin-close{position:absolute;top:14px;right:14px}.signin-mark{margin-bottom:22px}.signin-mark .mark rect:last-child{transform-box:fill-box;transform-origin:center}.signin-mark.landed .mark rect:last-child{animation:key-land .5s var(--ease-out)}@keyframes key-land{0%{transform:translate(-40px) rotate(45deg) scale(.6)}}.signin-dialog h2{margin:0 0 8px;font-size:26px;line-height:1.15;letter-spacing:-.024em;font-weight:600;padding-right:32px;text-wrap:balance}.signin-sub{margin:0 0 22px;color:var(--body);line-height:1.55}.signin-reasons{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px}.signin-reasons li{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:start}.sr-key{width:9px;height:9px;margin:7px 0 0 2px;border-radius:2px;background:var(--mute);transform:rotate(45deg)}.signin-reasons b{display:block;font-weight:600;font-size:15px;letter-spacing:-.011em}.signin-reasons span{display:block;margin-top:2px;font-size:14px;line-height:1.5;color:var(--mute)}:root{--g-bg: #131314;--g-edge: #8e918f;--g-ink: #e3e3e3;--g-hover: #1f1f20;--g-edge-hover: #b4b6b4}:root[data-theme=light]{--g-bg: #ffffff;--g-edge: #747775;--g-ink: #1f1f1f;--g-hover: #f6f6f6;--g-edge-hover: #5f6368}.gbtn{width:100%;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;background:var(--g-bg);border:1px solid var(--g-edge);color:var(--g-ink);font-size:15.5px;font-weight:600;letter-spacing:-.006em;transition:background-color .15s,border-color .15s}@media (hover: hover){.gbtn:hover:not(:disabled){background:var(--g-hover);border-color:var(--g-edge-hover)}}.gbtn:disabled{cursor:default}.gspin{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--g-ink) 25%,transparent);border-top-color:var(--g-ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin-msg{min-height:21px;margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--mute)}.signin-msg.err{color:var(--ink);padding-left:12px;border-left:2px solid var(--accent)}.signin-msg:empty{margin:4px 0 0;min-height:0}.signin-foot{margin:14px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--mute)}.signin-done{position:absolute;top:36px;left:120px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent);animation:materialize .4s var(--ease-out) both}.as-sheet .signin-done{top:30px;left:108px}@media (prefers-reduced-motion: reduce){.gspin{animation-duration:2s!important}}.before-list{list-style:none;padding:0!important;margin:0 0 1em}.before-list li{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:start;padding:10px 0;border-top:1px solid var(--line);margin:0}.before-list li:last-child{border-bottom:1px solid var(--line)}.bl-key{width:8px;height:8px;margin:.62em 0 0 3px;border-radius:2px;background:var(--rail);transform:rotate(45deg)}.text-btn.inline{font-size:inherit;color:var(--body)}.complete-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px;min-height:32px}.complete-check{display:inline-flex;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;font-size:14.5px;color:var(--body)}.complete-check:disabled{opacity:.5}@media (hover: hover){.complete-check:not(:disabled):hover .complete-box{border-color:var(--accent-text)}}.complete-box{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--rail);transition:background-color .15s,border-color .15s}.complete-check.on{color:var(--ink)}.complete-check.on .complete-box{background:var(--accent);border-color:var(--accent);color:var(--stage)}.complete-hint{font-size:13px;color:var(--mute)}@font-face{font-family:Amiri;src:url(/fonts/Amiri-Bold.ttf) format("truetype");font-weight:700;font-display:swap}.brand em{font-style:normal;font-weight:400;color:var(--mute)}.fahmo-icon{display:block;flex:none;border-radius:23%}.fahmo-word{display:inline-block;height:.8em;width:auto;aspect-ratio:540 / 143;vertical-align:baseline;overflow:visible}.theme-tafheem{--t-ground: #f2f2f7;--t-raised: #ffffff;--t-sunk: #e5e5ea;--t-fill: rgba(118, 118, 128, .12);--t-thumb: #ffffff;--t-hair: #c6c6c8;--t-ink: #000000;--t-muted: #636366;--t-faint: #8a8a8e;--t-action: #1f5a43;--t-green: #1f5a43;--t-dots: rgba(31, 90, 67, .16);--t-glass: rgba(255, 255, 255, .84);--t-glass-edge: rgba(0, 0, 0, .07);--stage: var(--t-ground);--surface: var(--t-raised);--raised: var(--t-thumb);--line: var(--t-hair);--rail: var(--t-faint);--mute: var(--t-muted);--body: var(--t-ink);--ink: var(--t-ink);--chrome: rgba(242, 242, 247, .8);--glass: rgba(255, 255, 255, .94);--glass-edge: var(--t-glass-edge);color-scheme:light;min-height:100vh;background:var(--t-ground);color:var(--t-ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif;letter-spacing:normal}[data-theme=dark] .theme-tafheem{--t-dots: rgba(71, 194, 147, .14);--t-ground: #000000;--t-raised: #1c1c1e;--t-sunk: #3a3a3c;--t-fill: rgba(118, 118, 128, .24);--t-thumb: #636366;--t-hair: #38383a;--t-ink: #ffffff;--t-muted: #98989f;--t-faint: #7c7c82;--t-action: #2b8261;--t-green: #47c293;--t-glass-edge: rgba(255, 255, 255, .1);--chrome: rgba(0, 0, 0, .72);--glass: rgba(37, 37, 40, .94);color-scheme:dark}html.tafheem-root,html.tafheem-root body{background:#f2f2f7}html.tafheem-root[data-theme=dark],html.tafheem-root[data-theme=dark] body{background:#000}.theme-tafheem .brand em{color:var(--t-green)}.theme-tafheem .navseg{background:var(--t-fill)}.theme-tafheem .navseg-pill{background:var(--t-thumb);box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.theme-tafheem .navseg a.on{color:var(--t-ink)}.theme-tafheem .signin{background:var(--t-fill);color:var(--t-ink)}.theme-tafheem .avatar{background:var(--t-fill)}.learn{max-width:980px;margin:0 auto;padding:0 24px}.learn-hero{position:relative;isolation:isolate;padding:72px 0 48px;display:flex;flex-direction:column;align-items:center;text-align:center}.learn-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--t-dots) 1.3px,transparent 1.6px);background-size:14px 14px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 55% 70% at 50% 38%,#000 25%,transparent 80%);mask-image:radial-gradient(ellipse 55% 70% at 50% 38%,#000 25%,transparent 80%)}.learn-hero .fahmo-icon{border-radius:22%;box-shadow:0 10px 30px #1f5a4340}.learn-arabic{margin:22px 0 0;font-family:Amiri,serif;font-weight:700;font-size:44px;line-height:1.6;color:var(--t-green)}.learn-hero h1{margin:24px 0 0;font-size:clamp(40px,6vw,56px);line-height:1.08;font-weight:700;letter-spacing:-.01em}.learn-lede{margin:14px 0 0;max-width:30em;font-size:19px;line-height:1.5;color:var(--t-muted);text-wrap:balance}.learn-btn{margin-top:26px;height:50px;padding:0 24px;border-radius:999px;font-size:17px;font-weight:600}.learn-btn.tinted{background:var(--t-action);color:#fff}.learn-hello{margin:22px 0 0;font-size:17px;color:var(--t-ink)}.learn.learn-courses-page{padding-top:56px}@media (max-width: 640px){.learn.learn-courses-page{padding-top:32px}}.learn-courses-page h1{margin:0 0 0 4px;font-size:clamp(32px,5vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.01em}.learn-courses-page .learn-lede{margin:10px 0 28px 4px}.learn-section h2{margin:0 0 12px 4px;font-size:22px;font-weight:700;letter-spacing:-.01em}.learn-courses{list-style:none;margin:0;padding:0;display:grid;gap:16px}.course-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--t-raised);border-radius:22px;overflow:hidden;transition:transform .1s ease-out}@media (hover: hover){.course-card:hover .course-go{gap:10px}}.course-art{background:#0f0f0f;display:grid;place-items:center;min-height:240px}.course-art .mark rect:first-child{fill:#4d4d4d}.course-art .mark rect:nth-child(2){fill:#9a9a9a}.course-art .mark rect:nth-child(3){fill:#47c293}.course-body{padding:26px 28px;display:flex;flex-direction:column;gap:10px}.course-tags{display:flex;flex-wrap:wrap;gap:6px}.course-tags span{font-size:13px;font-weight:600;color:var(--t-muted);background:var(--t-fill);border-radius:999px;padding:3px 10px}.course-body h3{margin:4px 0 0;font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.01em}.course-body p{margin:0;font-size:16px;line-height:1.5;color:var(--t-muted)}.course-progress{display:flex;align-items:center;gap:12px;margin-top:4px}.course-bar{flex:1;height:6px;border-radius:3px;background:var(--t-sunk);overflow:hidden}.course-bar span{display:block;height:100%;border-radius:3px;background:var(--t-green)}.course-count{font-size:13px;color:var(--t-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.course-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:600;color:var(--t-green);transition:gap .2s var(--ease-out)}.learn-foot{display:flex;align-items:center;justify-content:center;gap:8px;padding:64px 0 40px;font-size:13px;color:var(--t-muted)}@media (max-width: 720px){.course-card{grid-template-columns:1fr}.course-art{min-height:170px}.learn-hero{padding:44px 0 36px}.learn{padding:0 16px}}@media (max-width: 640px){.shell .topbar .brand{display:none}}[data-theme=light] .popover,[data-theme=light] .signin-dialog{box-shadow:0 24px 60px #00000024,0 2px 6px #0000000f}[data-theme=light] .scrub,[data-theme=light] .cert-canvas,[data-theme=light] .story-canvas{box-shadow:inset 0 1px 0 var(--glass-edge),0 20px 50px #0000001a}[data-theme=light] .sidebar{box-shadow:none}@media (max-width: 900px){[data-theme=light] .sidebar{box-shadow:24px 0 60px #0000001f}}[data-theme=light] .signin-scrim,[data-theme=light] .scrim{background:#0000004d}[data-theme=light] .three li,[data-theme=light] .card,[data-theme=light] .claim-box,[data-theme=light] .complete,[data-theme=light] .kf,[data-theme=light] .clip,[data-theme=light] .box,[data-theme=light] .cmd-row,[data-theme=light] .example,[data-theme=light] .note{box-shadow:0 1px 2px #0000000a}.theme-btn svg{transition:transform .45s var(--ease-out)}.theme-btn:active svg{transform:rotate(-30deg) scale(.9)}@media (max-width: 640px){.shell .theme-btn{display:none}}[data-theme=light] .seg button.on,[data-theme=light] .navseg-pill{background:var(--surface);box-shadow:0 2px 6px #0000001a,0 1px 1px #0000000a}
