*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--prose);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code,pre,kbd{font-family:var(--mono);font-size:.86em}a{color:var(--spark-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--spark-text) 40%,transparent);text-underline-offset:.2em}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--spark-text);outline-offset:3px;border-radius:3px}p{text-wrap:pretty}h1,h2,h3{font-family:var(--slab);font-weight:700;text-wrap:balance;letter-spacing:-.02em}.wrap{width:min(76rem,100% - 2.5rem);margin-inline:auto}.b-light{display:none}:root[data-theme=light] .b-dark{display:none}:root[data-theme=light] .b-light{display:block}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .b-dark{display:none}:root:not([data-theme=dark]) .b-light{display:block}}.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--page) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}.top.scrolled{border-bottom-color:var(--line)}.top .wrap{display:flex;align-items:center;gap:1.5rem;min-height:3.5rem}.top .name{font-family:var(--mono);font-weight:700;font-size:1.15rem;color:color-mix(in srgb,var(--ink) 90%,var(--ember));text-decoration:none;letter-spacing:-.06em;white-space:nowrap}.top .name .prompt{color:var(--spark-text)}.top .name:after{content:"";display:inline-block;width:.55em;height:.95em;background:var(--spark);margin-left:.35em;vertical-align:-.12em}.top nav{display:flex;gap:1.25rem;font-family:var(--mono);font-size:.92rem;font-weight:400}.top nav a{color:var(--soft);text-decoration:none}.top nav a:hover,.top nav a.here{color:var(--ink)}.top .side{margin-left:auto;display:flex;align-items:center;gap:.75rem}.top .get{display:none}.top.show-get .get{display:flex}@media(min-width:761px){.top nav{flex:none}.top .side{flex:0 1 auto;min-width:0}.top .get,.top .get .oneline{min-width:0}.top .get{display:flex;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s}.top.show-get .get{visibility:visible;opacity:1;transition:opacity .25s ease}}@media(min-width:761px)and (prefers-reduced-motion:reduce){.top .get,.top.show-get .get{transition:none}}@media(min-width:761px)and (max-width:1100px){.top .get code{display:none}.top .get .oneline{border:0;background:none;padding:0}.top .copy .narrow{display:inline}}#theme{font:inherit;font-size:.85rem;color:var(--soft);background:none;border:1px solid var(--line);border-radius:999px;padding:.3rem .85rem;cursor:pointer}#theme:hover{color:var(--ink);border-color:var(--soft)}@media(max-width:760px){.top .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;padding-block:.4rem}.top .name{grid-column:1;grid-row:1}.top .side{display:contents}#theme{grid-column:2;grid-row:1;justify-self:end}.top nav{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:.15rem .9rem}.top nav a{white-space:nowrap}.top .get{grid-column:1 / -1;grid-row:3;min-width:0}.top .get .oneline{min-width:0;width:100%}}.get{align-items:center;gap:.5rem}.oneline{display:flex;align-items:center;gap:.75rem;background:var(--screen);border:1px solid var(--line);border-radius:10px;padding:.55rem .55rem .55rem 1rem;max-width:46rem}.oneline code{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;font-size:.82rem;color:var(--ink);scrollbar-width:none}.oneline code:before{content:"$ ";color:var(--soft)}.copy{flex:none;font:inherit;font-size:.85rem;font-weight:700;color:var(--on-spark);background:var(--spark);border:0;border-radius:7px;padding:.45rem .95rem;cursor:pointer}.copy:hover{filter:brightness(1.06)}.top .oneline{padding:.25rem .25rem .25rem .75rem;border-radius:8px}.top .oneline code{font-size:.75rem;max-width:30rem}.top .copy{padding:.3rem .75rem;font-size:.8rem}.story{display:block}.beat{padding:3.5rem 0}.beat h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 .9rem}.beat p{font-size:1.1rem;max-width:30rem;margin:0 0 1rem;color:var(--soft)}.beat p strong{color:var(--ink);font-weight:600}.beat kbd{font-size:.8em;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.05em .4em}.beat code{color:var(--ink)}.hero{padding:4.5rem 0 3rem}.hero .banner{width:min(25rem,82%);height:auto;margin:0 0 1.75rem}.hero .lede{font-family:var(--slab);font-size:clamp(1.45rem,2.6vw,1.95rem);line-height:1.25;letter-spacing:-.02em;color:var(--ink);max-width:22ch;margin:0 0 2rem;font-weight:400}.hero .after{font-size:1rem;color:var(--soft);margin:.9rem 0 0}@media(min-width:1000px){.beat:not(.hero){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:4rem;align-items:center;padding:3rem 0}.beat>.term{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.term{margin:1.5rem 0 0}.term .glass{position:relative;aspect-ratio:4 / 3;background:var(--screen);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.term video{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--screen)}.term figcaption{font-size:.82rem;color:var(--soft);margin:.7rem .2rem 0}.part{padding:5rem 0;border-top:1px solid var(--line)}.part h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 1.25rem}.part>.wrap>p{max-width:38rem;color:var(--soft);font-size:1.08rem}.steps{list-style:none;counter-reset:step;padding:0;margin:2rem 0 0;display:grid;gap:2.25rem;max-width:46rem}.steps>li{counter-increment:step;display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:1rem}.steps>li:before{content:counter(step);font-family:var(--slab);font-weight:700;font-size:1.05rem;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--spark-text);color:var(--spark-text)}.steps>li>*{grid-column:2}.steps h3{font-family:var(--prose);font-weight:700;letter-spacing:0;font-size:1.1rem;margin:.2rem 0 .75rem}pre[data-doc]{background:var(--screen);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:.8rem 1rem;margin:0 0 .75rem;overflow-x:auto;line-height:1.6}.os{position:relative}.os input{position:absolute;opacity:0;pointer-events:none}.os .tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}.os .tabs label{font-size:.9rem;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem}.os .tabs label:hover{color:var(--ink);border-color:var(--soft)}.os .tabs svg{width:1em;height:1em;fill:currentColor}.os .panel{display:none}.os .panel>p{margin:0 0 .6rem;color:var(--soft);font-size:.98rem}#os-debian:checked~.tabs label[for=os-debian],#os-arch:checked~.tabs label[for=os-arch],#os-void:checked~.tabs label[for=os-void],#os-fedora:checked~.tabs label[for=os-fedora],#os-opensuse:checked~.tabs label[for=os-opensuse],#os-macos:checked~.tabs label[for=os-macos],#os-windows:checked~.tabs label[for=os-windows]{color:var(--on-spark);background:var(--spark);border-color:var(--spark);font-weight:600}#os-debian:focus-visible~.tabs label[for=os-debian],#os-arch:focus-visible~.tabs label[for=os-arch],#os-void:focus-visible~.tabs label[for=os-void],#os-fedora:focus-visible~.tabs label[for=os-fedora],#os-opensuse:focus-visible~.tabs label[for=os-opensuse],#os-macos:focus-visible~.tabs label[for=os-macos],#os-windows:focus-visible~.tabs label[for=os-windows]{outline:2px solid var(--spark-text);outline-offset:2px}#os-debian:checked~.panel[data-os=debian],#os-arch:checked~.panel[data-os=arch],#os-void:checked~.panel[data-os=void],#os-fedora:checked~.panel[data-os=fedora],#os-opensuse:checked~.panel[data-os=opensuse],#os-macos:checked~.panel[data-os=macos],#os-windows:checked~.panel[data-os=windows]{display:block}.more{color:var(--soft);font-size:.95rem;margin-top:2rem}.first-success{max-width:42rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}.first-success h3{margin-bottom:.5rem}.first-success p{margin:0 0 .8rem}.plain{max-width:38rem}.plain p{color:var(--soft);font-size:1.08rem;margin:0 0 1rem}.plain p.big{color:var(--ink);font-family:var(--slab);font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}.ways{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));border-top:1px solid var(--line)}.ways li{border-bottom:1px solid var(--line)}.ways a{display:block;padding:1.1rem 1.25rem 1.1rem 0;text-decoration:none;color:var(--ink)}.ways a b{display:block;font-weight:700;margin-bottom:.2rem}.ways a span{color:var(--soft);font-size:.95rem}.ways a:hover b{color:var(--spark-text)}@media(min-width:700px){.ways li+li a{padding-left:1.25rem}.ways li+li{border-left:1px solid var(--line)}}.sign{color:var(--soft);font-size:.9rem;margin:2.5rem 0 0}.toc{border:1px solid var(--line);border-radius:10px;background:var(--raised);padding:1rem 1.25rem;margin:1.5rem 0 0;max-width:52rem}.toc p{margin:0 0 .5rem;color:var(--soft);font-size:.9rem}.toc ul{margin:0;padding:0;list-style:none;column-width:16rem;column-gap:2rem}.toc li{margin:0 0 .3rem;break-inside:avoid;font-size:.95em}.toc a{text-decoration:none;color:var(--ink)}.toc a:hover{color:var(--spark-text)}.doc{padding:1.5rem 0 2rem;max-width:52rem}.doc code{overflow-wrap:anywhere}.doc h1{font-size:2.2rem;margin:1rem 0 1.25rem}.doc h2{font-size:1.5rem;margin:3rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--line)}.doc h3{font-size:1.15rem;margin:2rem 0 .75rem}.doc p{margin:0 0 1rem}.doc pre{background:var(--screen);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:.9rem 1.1rem;margin:0 0 1.25rem;overflow-x:auto;line-height:1.6}.doc p code,.doc li code,.doc td code,.doc th code{font-size:.85em;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:5px;padding:.08em .35em}.doc ul,.doc ol{margin:0 0 1rem;padding-left:1.5rem}.doc li{margin:0 0 .4rem}.doc ul ul{margin:.4rem 0 0}.doc table{border-collapse:collapse;margin:0 0 1.25rem;display:block;overflow-x:auto;font-size:.92em}.doc th,.doc td{text-align:left;vertical-align:top;padding:.45rem 1.5ch .45rem 0;border-bottom:1px solid var(--line)}.doc th{color:var(--soft);font-weight:600}.doc td:not(:last-child),.doc th:not(:last-child){white-space:nowrap}.doc td.r,.doc th.r{text-align:right}.doc td.q{color:var(--soft)}.doc b{font-weight:700}.cmd{font-family:var(--mono);margin:0 0 1rem;color:var(--ink);font-weight:700}.cmd .p{color:var(--soft);font-weight:400}.cmd .k{color:var(--spark-text);font-weight:400}.hint{color:var(--soft);font-size:.92em}footer{border-top:1px solid var(--line);margin-top:2rem}footer .wrap{padding:2rem 0 3rem;color:var(--soft);font-family:var(--mono);font-size:.85rem;font-weight:400;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center}footer a{color:var(--soft)}footer a:hover{color:var(--ink)}@media(max-width:640px){body{font-size:17px}.part{padding:3.5rem 0}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.copy .narrow{display:none}@media(max-width:760px){.top.show-get .get .oneline{border:0;background:none;padding:0}.top .copy .narrow{display:inline}}details.older{margin:2.5rem 0 0}details.older>summary{cursor:pointer;list-style:none;display:inline-block;font-weight:700;font-size:.95rem;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.45rem 1.1rem}details.older>summary::-webkit-details-marker{display:none}details.older>summary:hover{border-color:var(--soft)}details.older[open]>summary{margin-bottom:1rem}.buddy{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.buddy .row{display:flex;align-items:center;gap:.5rem}.buddy .me,.buddy .say{position:relative;display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:1.15rem;line-height:1;color:var(--ink);white-space:pre;background:var(--screen);border:1px solid var(--line);border-radius:999px;padding:.7rem 1.1rem;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s,border-color .2s,color .2s}.buddy .say{padding:0;width:2.6rem;height:2.6rem;justify-content:center;color:var(--soft)}.buddy .say svg{width:1.15rem;height:1.15rem}.buddy .me:hover,.buddy .say:hover{border-color:var(--soft);color:var(--ink);transform:translateY(-2px)}.buddy .me:active{transform:scale(.96)}.buddy.speaking .say{color:var(--on-spark);background:var(--spark);border-color:var(--spark)}.buddy .scan{font-size:.8em;color:var(--soft);display:none}.buddy .scan b{color:var(--spark-text);font-weight:400}.buddy.thinking .scan{display:inline}.buddy .zz{position:absolute;right:.9rem;top:-.2rem;font-size:.7rem;color:var(--soft);display:none}.buddy.asleep .zz,.buddy.deepsleep .zz{display:block}.buddy .zz i{position:absolute;font-style:normal;opacity:0;animation:zz 3s infinite}.buddy .zz i:nth-child(2){animation-delay:1s}.buddy .zz i:nth-child(3){animation-delay:2s}@keyframes zz{0%{opacity:0;transform:translateY(.4em)}30%{opacity:1}to{opacity:0;transform:translate(.8em,-1.6em)}}.buddy.alarmed .frame{animation:jolt .35s 2}@keyframes jolt{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.buddy.scared .frame{animation:shiver .12s infinite}@keyframes shiver{50%{transform:translate(1px,-1px)}}.buddy.spooky .me{background:#0b0d12;border-color:var(--ember)}.buddy.spooky .frame{color:var(--ember);text-shadow:0 0 8px var(--ember);animation:flicker 2.2s infinite}@keyframes flicker{0%,to{opacity:1}45%{opacity:.85}48%{opacity:.2}52%{opacity:.9}}.buddy.dizzy .frame{animation:wobble .9s infinite ease-in-out}@keyframes wobble{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.buddy.laughing .frame{animation:bounce .36s infinite}@keyframes bounce{50%{transform:translateY(-3px)}}.buddy.grumpy .me{border-color:var(--ember)}.buddy .bubble{margin:0;max-width:17rem;font-size:.92rem;line-height:1.4;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:14px 14px 4px;padding:.6rem .85rem;box-shadow:var(--shadow)}.buddy .bubble code{color:var(--ink);font-size:.85em}@media(max-width:640px){.buddy{right:.75rem;bottom:.75rem}.buddy .me{font-size:1rem;padding:.55rem .9rem}.buddy .say{width:2.3rem;height:2.3rem}}@media(prefers-reduced-motion:reduce){.buddy .zz i,.buddy .frame{animation:none!important}.buddy .zz i:first-child{opacity:1}.buddy .me,.buddy .say{transition:none}}.term .grow{position:absolute;top:.6rem;right:.6rem;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-family:var(--prose);font-size:.78rem;color:var(--ink);cursor:pointer;background:color-mix(in srgb,var(--raised) 88%,transparent);border:1px solid var(--line);border-radius:7px;padding:.25rem .55rem;opacity:0;transition:opacity .2s}.term .grow svg{width:.85rem;height:.85rem}.term:hover .grow,.term .grow:focus-visible{opacity:1}@media(hover:none){.term .grow{opacity:1}}dialog.big{width:min(64rem,96vw,(92vh - 3rem) * 4 / 3);max-height:92vh;padding:0;border:0;background:none;color:var(--ink);overflow:visible}dialog.big::backdrop{background:color-mix(in srgb,var(--page) 78%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}dialog.big .glass{background:var(--screen);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}dialog.big .bar{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--soft)}dialog.big .close{margin-left:auto;font:inherit;font-family:var(--prose);font-size:.85rem;font-weight:700;color:var(--on-spark);background:var(--spark);border:0;border-radius:7px;padding:.3rem .8rem;cursor:pointer}dialog.big video{display:block;width:100%;aspect-ratio:4 / 3;background:var(--screen)}@media(max-width:760px){.term .grow span{display:none}}[id]{scroll-margin-top:4.5rem}.learn{padding:.5rem 0 3rem}.learn [hidden]{display:none!important}.learn svg{width:1em;height:1em;display:block;flex:none}.learn .crumbs{font-family:var(--mono);font-size:.82rem;color:var(--soft);margin:1.4rem 0 1.1rem}.learn .crumbs a{color:var(--soft);text-decoration:none}.learn .crumbs a:hover{color:var(--ink)}.learn .crumbs span{margin:0 .45rem;opacity:.6}.learn .eyebrow{font-family:var(--mono);font-size:.8rem;color:var(--spark-text)}.learn .soft{color:var(--soft)}.learn kbd{font-size:.78rem;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.12em .5em;white-space:nowrap}.learn kbd.match{background:color-mix(in srgb,var(--spark) 30%,var(--raised));border-color:var(--spark)}.learn .btn{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.92rem;font-weight:700;color:var(--ink);background:none;border:1px solid var(--line);border-radius:9px;padding:.55rem 1rem;text-decoration:none;cursor:pointer}.learn .btn:hover{border-color:var(--soft)}.learn .btn.go{background:var(--spark);color:var(--on-spark);border-color:var(--spark)}.learn .btn.go:hover{filter:brightness(1.06)}.learn .btn svg{width:.95rem;height:.95rem}.learn .meter{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.learn .meter i{display:block;height:100%;width:0;background:var(--spark)}.learn .len{font-family:var(--mono);font-size:.74rem;color:var(--soft)}.learn .bigplay{position:absolute;left:50%;bottom:7%;width:4.25rem;height:4.25rem;margin-left:-2.125rem;border:0;border-radius:50%;background:var(--spark);color:var(--on-spark);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease}.learn .bigplay svg{width:1.6rem;height:1.6rem;margin-left:.2rem}.learn .bigplay:hover{transform:scale(1.06)}.learn .cover{position:absolute;inset:0;border:0;background:none;cursor:pointer;border-radius:12px}.learn .grid{display:grid;grid-template-columns:minmax(0,1fr) 21.5rem;column-gap:2rem;align-items:start;grid-template-areas:"player list" "now list" "try list"}.learn .player{grid-area:player;position:relative;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--screen);box-shadow:var(--shadow)}.learn .player video{display:block;width:100%;height:100%;background:var(--screen)}.learn .upnext{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--page) 72%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.learn .note{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1.3rem;align-items:center;max-width:34rem;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:1.1rem;box-shadow:var(--shadow)}.learn .note.solo{grid-template-columns:minmax(0,1fr);text-align:center;padding:1.4rem 1.8rem}.learn .note.solo .acts{justify-content:center}.learn .thumb{position:relative;display:block;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.learn .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.learn .note strong{display:block;font-family:var(--slab);font-size:1.45rem;line-height:1.2;letter-spacing:-.02em;margin:.25rem 0 .2rem}.learn .acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.learn .count{height:3px;border-radius:2px;background:var(--line);margin-top:.9rem;overflow:hidden}.learn .count i{display:block;height:100%;width:0;background:var(--spark)}.learn .count.run i{width:100%;transition:width 3s linear}.learn .now{grid-area:now;margin-top:1.5rem}.learn .now h1{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;margin:.35rem 0 .5rem}.learn .now .lede{color:var(--soft);font-size:1.12rem;margin:0}.learn .now .nav{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.learn .list{grid-area:list;position:sticky;top:4.6rem;display:flex;flex-direction:column;max-height:calc(100vh - 6rem);border:1px solid var(--line);border-radius:12px;background:var(--raised)}.learn .list header{padding:1.05rem 1.15rem 1rem;border-bottom:1px solid var(--line)}.learn .list h2{font-size:1.15rem;margin:0}.learn .list h2 a{color:var(--ink);text-decoration:none}.learn .list .meta{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.76rem;color:var(--soft);margin:.35rem 0 0}.learn .list .meter{margin-top:.7rem}.learn .list ol{list-style:none;margin:0;padding:.45rem;overflow:auto}.learn .row{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.55rem .65rem;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.95rem;line-height:1.3}.learn .row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.learn .row[aria-current]{background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:inset 3px 0 0 var(--spark)}.learn .num{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:.72rem;color:var(--soft);background:var(--page)}.learn .num b{font-weight:400}.learn .num svg{display:none;width:.85rem;height:.85rem}.learn .done .num{background:var(--spark);border-color:var(--spark);color:var(--on-spark)}.learn .done .num b{display:none}.learn .done .num svg{display:block}.learn .row[aria-current] .num{border-color:var(--spark);color:var(--spark-text)}.learn .done .row[aria-current] .num{color:var(--on-spark)}.learn .try{grid-area:try;margin-top:2.4rem;padding-top:1.7rem;border-top:1px solid var(--line)}.learn .try h2{font-size:1.3rem;margin:0 0 .3rem}.learn .try>p{color:var(--soft);margin:0}.learn .try ol{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:1.15rem}.learn .try li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);column-gap:.85rem}.learn .try .lines{display:grid;gap:.5rem}.learn .try .say{margin:.05rem 0 0;font-size:1.02rem}.learn .tline{display:flex;align-items:center;gap:.5rem .7rem;flex-wrap:wrap;background:var(--screen);border:1px solid var(--line);border-radius:10px;padding:.5rem .5rem .5rem .95rem;font-family:var(--mono);font-size:.85rem}.learn .tline code{flex:1 1 14rem;min-width:0;font-size:inherit;color:var(--ink);overflow-wrap:anywhere}.learn .tline code:before{content:"> ";color:var(--spark-text)}.learn .tline .k{display:flex;flex-wrap:wrap;gap:.35rem}.learn .ghost{flex:none;display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .4rem;font:inherit;font-size:.78rem;border:1px solid transparent;border-radius:7px;background:none;color:var(--soft);cursor:pointer}.learn .ghost:hover{color:var(--ink);border-color:var(--line)}.learn .ghost svg{width:1rem;height:1rem}.learn .try .foot{margin-top:1.6rem;color:var(--soft);font-size:.95rem}.learn.catalog h1{font-size:clamp(2rem,4vw,2.6rem);margin:1.6rem 0 .6rem}.learn.catalog .lede{color:var(--soft);font-size:1.12rem;max-width:40rem;margin:0 0 2rem}.learn .courses{display:grid;gap:2rem}.learn .card{border:1px solid var(--line);border-radius:14px;background:var(--raised);overflow:hidden;scroll-margin-top:5rem}.learn .card .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.learn .shot{position:relative;display:block;aspect-ratio:4 / 3;border-right:1px solid var(--line);background:var(--screen)}.learn .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.learn .shot .bigplay{width:3.5rem;height:3.5rem;margin-left:-1.75rem}.learn .shot .bigplay svg{width:1.3rem;height:1.3rem}.learn .info{padding:2.2rem 2.2rem 2rem;display:flex;flex-direction:column;justify-content:center}.learn .card h2{font-size:2rem;margin:.4rem 0 .6rem}.learn .card h2 a{color:var(--ink);text-decoration:none}.learn .info>p{color:var(--soft);margin:0;font-size:1.05rem}.learn .info .facts{font-family:var(--mono);font-size:.82rem;margin-top:1.2rem}.learn .progress{margin-top:.9rem;max-width:22rem}.learn .progress .prog{font-family:var(--mono);font-size:.78rem;color:var(--soft);margin:.45rem 0 0}.learn .info .start{align-self:flex-start;margin-top:1.5rem}.learn .outline{list-style:none;margin:0;padding:.8rem;columns:2;column-gap:1rem;border-top:1px solid var(--line)}.learn .outline li{break-inside:avoid}.learn .tools{margin:0 0 1.4rem}.learn .search{display:flex;align-items:center;gap:.6rem;max-width:30rem;background:var(--screen);color:var(--soft);border:1px solid var(--line);border-radius:10px;padding:0 .9rem}.learn .search:focus-within{border-color:var(--spark);box-shadow:0 0 0 3px color-mix(in srgb,var(--spark) 22%,transparent)}.learn .search input{flex:1 1 auto;min-width:0;font:inherit;font-family:var(--mono);font-size:.9rem;color:var(--ink);background:none;border:0;outline:0;padding:.7rem 0}.learn .search input::placeholder{color:var(--soft)}.learn .found{font-family:var(--mono);font-size:.82rem;color:var(--soft);margin:0 0 .7rem}.learn .hits{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--raised);overflow:hidden}.learn .hits li+li{border-top:1px solid var(--line)}.learn .hits li.out{display:none}.learn .hit{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:.8rem;color:var(--ink);text-decoration:none}.learn .hit:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.learn .hit h3{font-size:1.1rem;margin:.15rem 0 .4rem}.learn .hit .why{display:flex;flex-wrap:wrap;gap:.35rem}@media(max-width:999px){.learn .grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"player" "now" "list" "try"}.learn .list{position:static;max-height:none;margin-top:1.8rem}.learn .card .head{grid-template-columns:minmax(0,1fr)}.learn .shot{border-right:0;border-bottom:1px solid var(--line)}.learn .info{padding:1.4rem}.learn .outline{columns:1}.learn .hit{grid-template-columns:5.5rem minmax(0,1fr)}.learn .hit .len{display:none}}@media(max-width:600px){.learn .bigplay{width:3.2rem;height:3.2rem;margin-left:-1.6rem;bottom:5%}.learn .bigplay svg{width:1.2rem;height:1.2rem}.learn .note{grid-template-columns:minmax(0,1fr);max-width:17rem;padding:.9rem}.learn .note .thumb{display:none}.learn .note strong{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.learn .bigplay,.learn .count.run i{transition:none}}
