.sw{--paper:#f4f1ea;--paper-2:#ebe7dd;--paper-3:#e0dbcf;--ink:#111;--ink-2:#34322e;--ink-3:#66625b;--rule:#11111129;--rule-ink:#111;--ok:#0b7a4b;--bad:#d52b1e;--mc:#d52b1e;--mo:#f4f1ea;--term:#0e0e0e;--term-ink:#ece8de;--term-dim:#8d887f;--canvas:var(--paper);--surface-1:var(--paper-2);--surface-2:var(--paper-3);--hairline:var(--rule);--hairline-strong:var(--rule-ink);--ink-muted:var(--ink-2);--ink-subtle:var(--ink-3);--primary:var(--ink);--primary-hover:var(--ink);--success:var(--ok);--danger:var(--bad);--edge:transparent;font-family:var(--font-archivo),"Helvetica Neue",Arial,sans-serif;color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:17px;line-height:1.55}:root[data-theme=dark] .sw{--paper:#121211;--paper-2:#1c1b19;--paper-3:#262421;--ink:#f1ede4;--ink-2:#cfc9bd;--ink-3:#9c968b;--rule:#f1ede42e;--rule-ink:#f1ede4;--ok:#3fbf86;--bad:#ff6a5c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sw{--paper:#121211;--paper-2:#1c1b19;--paper-3:#262421;--ink:#f1ede4;--ink-2:#cfc9bd;--ink-3:#9c968b;--rule:#f1ede42e;--rule-ink:#f1ede4;--ok:#3fbf86;--bad:#ff6a5c}:root:not([data-theme=light]) body:has(.sw){color:#f1ede4;background:#121211}}body:has(.sw){color:#111;background:#f4f1ea;overflow-x:clip}:root[data-theme=dark] body:has(.sw){color:#f1ede4;background:#121211}:root[data-theme=light] body:has(.sw){color:#111;background:#f4f1ea;overflow-x:clip}body:has(.sw) footer{color:var(--ink-3);border-top:1px solid var(--rule);font-family:var(--font-archivo),sans-serif;margin-top:72px}.sw ::selection{background:var(--mc);color:var(--mo)}.sw :focus-visible{outline:3px solid var(--ink);outline-offset:3px}.sw a{color:inherit}.sw h1,.sw h2,.sw h3{text-wrap:balance;letter-spacing:-.02em;font-weight:700}.sw p,.sw li{text-wrap:pretty}.sw .top{border-bottom:1px solid var(--rule-ink);height:56px}.sw .links{gap:2px}.sw .links a:not(.tt){color:var(--ink);border-radius:0;padding:8px 10px;font-size:15px;font-weight:500;text-decoration:none}.sw .links a:not(.tt):hover{text-underline-offset:6px;background:0 0;text-decoration:underline;text-decoration-thickness:2px}.sw .tt{border:1px solid var(--rule-ink);color:var(--ink);background:0 0;border-radius:0;width:36px;height:36px}.sw .logo b{color:inherit}.sw .btn{background:var(--ink);color:var(--paper);letter-spacing:.005em;border-radius:0;gap:10px;min-height:48px;padding:12px 20px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s,color .2s,transform .15s}.sw .btn:hover{background:var(--ink);transform:translateY(-1px)}.sw .btn:active{transform:translateY(0)}.sw .btn.ghost{color:var(--ink);border:1.5px solid var(--rule-ink);background:0 0}.sw .btn.ghost:hover{background:var(--ink);color:var(--paper)}.sw .btn.mod{background:var(--mc);color:var(--mo)}.sw .btn.ok{background:var(--ok);color:#fff}.sw .btn.bad{background:var(--bad);color:#fff}.sw .btn[disabled]{opacity:.35;cursor:default;transform:none}.sw .acts{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.sw .card{border:1.5px solid var(--rule-ink);box-shadow:none;background:0 0;border-radius:0}.sw input,.sw input[type=search],.sw input[type=email],.sw input[type=password]{background:var(--paper);border:1.5px solid var(--rule-ink);color:var(--ink);border-radius:0;min-height:48px;font-family:inherit;font-size:17px}.sw .tag{background:var(--ink);color:var(--paper);border-radius:0}.sw .crumb{color:var(--ink-3);gap:6px;padding-top:20px;font-size:14px}.sw .crumb a{text-decoration:none}.sw .crumb a:hover{color:var(--ink);text-decoration:underline}.sw .page-h{padding:20px 0 8px}.sw .page-h h1{letter-spacing:-.035em;max-width:18ch;margin:4px 0 16px;font-size:clamp(36px,9vw,72px);font-weight:800;line-height:.98}.sw .lead{color:var(--ink-2);max-width:56ch;font-size:19px}.sw .meta-row{color:var(--ink-3);font-size:14px}.sw .msg.ok{color:var(--ok)}.sw .msg.err{color:var(--bad)}.sw .note{color:var(--ink-3)}.mast{gap:20px;padding:28px 0 8px;display:grid}.mast h1{letter-spacing:-.04em;max-width:12ch;margin:0;font-size:clamp(46px,13.5vw,112px);font-weight:800;font-stretch:96%;line-height:.95}.mast .say{color:var(--ink-2);max-width:44ch;font-size:19px}.mast .say b{color:var(--ink);font-weight:700}@media (min-width:900px){.mast{grid-template-columns:1.4fr 1fr;align-items:end}.mast .side{padding-bottom:10px}}.cbar{gap:3px;height:10px;margin-top:18px;display:flex}.cbar i{flex:var(--n);background:linear-gradient(to right,var(--mc) var(--p),var(--rule) var(--p));display:block}.posters{border-top:1.5px solid var(--rule-ink);background:repeating-linear-gradient(to right,var(--rule-ink) 0 1px,transparent 1px calc((100% + 8px) / var(--cols))) top left / 100% 8px no-repeat;--cols:2;grid-template-columns:repeat(2,1fr);gap:8px;margin:32px 0 0;padding:12px 0 0;list-style:none;display:grid}@media (min-width:760px){.posters{--cols:3;grid-template-columns:repeat(3,1fr);gap:10px}}@media (min-width:1100px){.posters{--cols:4;grid-template-columns:repeat(4,1fr)}}.posters>li{display:contents}.sw .poster{color:var(--mo)}.poster{aspect-ratio:3/4;background:var(--mc);color:var(--mo);isolation:isolate;text-decoration:none;display:block;position:relative;overflow:hidden;container-type:inline-size}.poster .cmp{width:100%;height:100%;position:absolute;inset:0}.poster .cmp.back{z-index:0}.poster .cmp.front{z-index:2}.poster-num{z-index:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:42cqw;font-weight:800;font-stretch:118%;line-height:.74;position:absolute;bottom:22cqw;left:4.5cqw}.poster-title{z-index:3;letter-spacing:-.01em;font-size:7.4cqw;font-weight:700;line-height:1.05;position:absolute;bottom:4.5cqw;left:5cqw;right:5cqw}.poster-meta{z-index:3;letter-spacing:.01em;background:var(--mc);padding:.2em .4em .2em 0;font-size:max(12px,4.6cqw);font-weight:600;position:absolute;top:4.5cqw;left:5cqw}.poster .done{z-index:3;width:11cqw;height:11cqw;position:absolute;bottom:4cqw;right:4cqw}.poster:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.poster.cur{aspect-ratio:3/2;grid-column:span 2}.poster.cur .cmp{width:54%;left:auto}.poster.cur .poster-num{font-size:30cqw;top:12cqw;bottom:auto}.poster.cur .poster-title{font-size:5.4cqw;bottom:15cqw;right:52%}.poster.cur .poster-meta{font-size:max(12px,3cqw)}.poster.cur .go{z-index:3;background:var(--mo);color:var(--mc);align-items:center;gap:.5em;padding:1.6cqw 2.6cqw;font-size:max(13px,3.6cqw);font-weight:700;display:inline-flex;position:absolute;bottom:4.5cqw;left:5cqw}.poster.cur:after{content:"";z-index:4;background:linear-gradient(225deg,var(--paper) 50%,color-mix(in srgb,var(--mc) 70%,#000) 50%);width:9cqw;height:9cqw;position:absolute;top:0;right:0}.poster.cur .go svg{width:1em;height:1em}.colophon{background:var(--ink);color:var(--paper);grid-column:span var(--span,1);flex-direction:column;justify-content:space-between;gap:16px;min-height:160px;padding:20px;display:flex}.colophon b{letter-spacing:-.03em;font-size:clamp(28px,4vw,44px);font-weight:800;font-stretch:110%;line-height:1}.colophon p{color:color-mix(in srgb,var(--paper) 78%,transparent);max-width:34ch;margin:0;font-size:15px}.posters.has-cur .colophon{--span:1}.posters:not(.has-cur) .colophon{--span:2}@media (min-width:760px){.posters.has-cur .colophon{--span:2}.posters:not(.has-cur) .colophon{--span:3}}@media (min-width:1100px){.posters.has-cur .colophon{--span:3}.posters:not(.has-cur) .colophon{--span:4}}.rows{border-top:1.5px solid var(--rule-ink);margin:16px 0 0;padding:0;list-style:none}.rows a{border-bottom:1px solid var(--rule);grid-template-columns:3.2rem 1fr auto;align-items:center;gap:12px;min-height:64px;padding:16px 0;text-decoration:none;display:grid}.rows a:hover .t{text-underline-offset:4px;text-decoration:underline}.rows .n{letter-spacing:-.04em;color:var(--ink);align-items:center;gap:8px;font-size:22px;font-weight:800;font-stretch:118%;display:flex}.rows .n:before{content:"";background:var(--mc);flex:none;width:10px;height:10px}.rows a.plain{grid-template-columns:1fr auto}.rows .t{font-size:17px;font-weight:600;line-height:1.3}.rows small{color:var(--ink-3);margin-top:2px;font-size:14px;font-weight:400;display:block}.rows .go-a svg{width:18px;height:18px;color:var(--ink-3)}.rows,.lessons,.sw h2.sec{max-width:820px}.sw h2.sec{letter-spacing:-.03em;margin:72px 0 0;font-size:clamp(28px,6vw,44px);font-weight:800;line-height:1}.cover{background:var(--mc);color:var(--mo);margin-inline:calc(50% - 50vw);position:relative;overflow:hidden;container-type:inline-size}.cover-in{z-index:1;gap:12px;max-width:1120px;margin:0 auto;padding:20px 16px 28px;display:grid;position:relative}.cover .cmp{width:48%;height:100%;position:absolute;top:0;right:0}.cover .cmp.front{z-index:2}.cover-num{letter-spacing:-.06em;margin-top:28px;font-size:clamp(120px,36vw,380px);font-weight:800;font-stretch:118%;line-height:.76}.cover h1{letter-spacing:-.035em;max-width:14ch;font-size:clamp(34px,8.5vw,72px);font-weight:800;line-height:.98;position:relative}.cover .crumb{color:inherit;opacity:.85;padding-top:0}.cover .crumb a{color:inherit}.cover .facts{flex-wrap:wrap;gap:4px 18px;font-size:16px;font-weight:500;display:flex;position:relative}.cover .ticks{gap:3px;max-width:520px;height:8px;margin-top:6px;display:flex;position:relative}.cover .ticks i{background:color-mix(in srgb,var(--mo) 28%,transparent);flex:1}.cover .ticks i.on{background:var(--mo)}.cover .btn{background:var(--mo);color:var(--mc);justify-self:start;position:relative}@media (min-width:900px){.cover-in{padding:28px 16px 40px}.cover .cmp{width:min(46vw,620px);right:max(0px,50vw - 600px)}}.lessons{border-top:1.5px solid var(--rule-ink);max-width:820px;margin:28px 0 0;padding:0;list-style:none}.lessons a{border-bottom:1px solid var(--rule);grid-template-columns:3.4rem 1fr auto;align-items:center;gap:14px;min-height:64px;padding:14px 0;text-decoration:none;display:grid;position:relative}.lessons .n{letter-spacing:-.04em;font-size:26px;font-weight:800;font-stretch:118%;line-height:1;position:relative}.lessons .t{font-size:17px;font-weight:600;line-height:1.3}.lessons small{color:var(--ink-3);margin-top:3px;font-size:14px;font-weight:400;display:block}.lessons a:hover .t{text-underline-offset:4px;text-decoration:underline}.lessons .done .n{color:var(--ink-3)}.lessons .done .n:after{content:"";background:var(--mc);height:3px;position:absolute;top:50%;left:-4px;right:-4px;transform:rotate(-14deg)}.lessons .cur a{background:var(--paper-2);margin-inline:-12px;padding-inline:12px}.lessons .cur a:after{content:"";background:linear-gradient(225deg,var(--paper) 50%,var(--mc) 50%);width:18px;height:18px;position:absolute;top:0;right:0}.lessons .cur .go{background:var(--mc);color:var(--mo);white-space:nowrap;padding:8px 12px;font-size:14px;font-weight:700}.lessons .st{color:var(--ink-3);white-space:nowrap;font-size:14px}.lessons .lock{color:var(--ink-3)}.sw .player{max-width:720px;min-height:0}body:has(.player) footer{max-width:720px;margin-inline:auto}.sw .player-top{background:var(--paper);border-bottom:1px solid var(--rule);gap:14px;padding:16px 0 12px}.sw .x{color:var(--ink);border-radius:0;width:40px;height:40px}.sw .x:hover{background:var(--ink);color:var(--paper)}.ticks-step{flex:1;gap:4px;height:6px;display:flex}.ticks-step i{background:var(--rule);flex:1;transition:background .5s cubic-bezier(.16,1,.3,1)}.ticks-step i.on{background:var(--mc)}.sw .player-top .pct{color:var(--ink-2);font-family:inherit;font-size:14px;font-weight:600}.lhead{grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:22px 0 6px;display:grid}.msq{background:var(--mc);width:52px;height:52px;color:var(--mo);letter-spacing:-.04em;place-items:center;font-size:22px;font-weight:800;font-stretch:118%;display:grid}.lhead h1{letter-spacing:-.03em;margin:0;font-size:clamp(28px,7.2vw,46px);font-weight:800;line-height:1}.lhead p{color:var(--ink-3);grid-column:2;margin:6px 0 0;font-size:14px}.sw .step{padding:20px 0 28px}.sw .step .doc,.sw .doc{color:var(--ink-2);max-width:62ch;font-size:19px;line-height:1.6}.sw .doc>*+*{margin-top:.9em}.sw .doc h2,.sw .doc h3{color:var(--ink);letter-spacing:-.025em;font-weight:800;line-height:1.1}.sw .doc h2{margin-top:1.2em;font-size:28px}.sw .doc h3{margin-top:1.1em;font-size:22px}.sw .doc strong{color:var(--ink);font-weight:700}.sw .doc a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:2px}.sw .doc ul{padding-left:0;list-style:none}.sw .doc ul>li{padding-left:1.3em;position:relative}.sw .doc ul>li:before{content:"";background:var(--mc);width:.48em;height:.48em;position:absolute;top:.62em;left:0}.sw .doc ol{padding-left:1.4em}.sw .doc ol>li::marker{color:var(--ink);font-weight:800}.sw .doc blockquote{background:var(--paper-2);box-shadow:none;border:0;border-radius:0;padding:18px 20px;position:relative}.sw .doc blockquote:before{content:"";background:var(--mc);width:28px;height:4px;position:absolute;top:0;left:0}.sw .doc code{font-family:var(--font-mono),monospace;background:var(--paper-3);color:var(--ink);border:0;border-radius:0;padding:2px 6px;font-size:.82em}.sw .doc pre{background:var(--paper-2);border:0;border-radius:0;padding:36px 18px 18px;font-size:14px}.sw .doc pre code{background:0 0;padding:0;font-size:14px}.sw .doc table{font-size:16px}.sw .doc th,.sw .doc td{border:0;border-bottom:1px solid var(--rule);padding:10px 12px 10px 0}.sw .doc th{border-bottom:1.5px solid var(--rule-ink);background:0 0;font-weight:700}.sw .copy{color:inherit;opacity:.75;background:0 0;border:1px solid;border-radius:0;font-family:inherit}.sw .copy:hover{opacity:1}.sw .gl{text-decoration:underline;-webkit-text-decoration-color:var(--mc);text-decoration-color:var(--mc);text-underline-offset:5px;text-decoration-thickness:3px}.sw .tip{background:var(--ink);color:var(--paper);box-shadow:none;border:0;border-radius:0}.sw .tip b,.sw .tip small,.sw .tip a{color:var(--paper)}.term{background:var(--term);color:var(--term-ink);font-family:var(--font-mono),ui-monospace,Menlo,monospace;margin:4px 0;font-size:14px;line-height:1.65}.term-bar{color:var(--term-dim);border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex}.term-bar i{background:var(--mc);width:10px;height:10px}.term-bar span{flex:1}.term .copy{color:var(--term-dim);border-color:#fff3;position:static}.term pre{white-space:pre-wrap;word-break:break-word;color:inherit;background:0 0;min-height:3.3em;margin:0;padding:16px 18px 18px;font-size:14px}.term .pr{color:color-mix(in srgb,var(--mc) 55%,#fff)}.term .cm{color:var(--term-dim)}.term .out{color:var(--term-dim);animation:.25s ease-out both rise}.term .cur{vertical-align:-.2em;background:color-mix(in srgb,var(--mc) 55%,#fff);width:.6em;height:1.15em;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.sw .doc .term pre code{color:inherit;font-size:14px}.sw .qtext{letter-spacing:-.02em;color:var(--ink);font-size:clamp(22px,5.4vw,30px);font-weight:700;line-height:1.2}.sw .opt{border:1.5px solid var(--rule-ink);color:var(--ink);background:0 0;border-radius:0;align-items:center;min-height:60px;padding:14px 16px;font-size:17px;transition:background .15s}.sw .opt:hover:not([disabled]){background:var(--paper-2);border-color:var(--rule-ink)}.sw .opt kbd{background:var(--ink);color:var(--paper);border:0;border-radius:0;place-items:center;min-width:28px;height:28px;margin:0;font-family:inherit;font-weight:700;display:grid}.sw .opt.right{background:var(--ok);border-color:var(--ok);color:#fff}.sw .opt.right kbd{color:var(--ok);background:#fff}.sw .opt.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}.sw .opt.wrong kbd{background:var(--bad)}.sw .explain{background:var(--paper-2);border:0;border-radius:0;font-size:17px}.sw .player-bar{background:linear-gradient(transparent,var(--paper) 28%)}.sw .player-bar .btn{border-radius:0;min-height:56px;font-size:17px}.fin{padding:40px 0 16px}.fin h2{letter-spacing:-.05em;margin:0;font-size:clamp(64px,19vw,140px);font-weight:800;line-height:.85}.fin .line{border-bottom:3px solid var(--ink);height:56px;margin:28px 0 18px;position:relative}.fin .zero{width:48px;height:48px;color:var(--mc);animation:1.6s cubic-bezier(.16,1,.3,1) .2s both roll;position:absolute;bottom:0;left:0}@keyframes roll{0%{left:0;transform:rotate(0)}to{left:calc(100% - 48px);transform:rotate(720deg)}}.fin .gains{color:var(--ink-2);flex-wrap:wrap;gap:6px 22px;font-size:18px;display:flex}.fin .gains b{color:var(--ink);font-weight:800}.fin .gains .xp{background:var(--mc);color:var(--mo);padding:2px 8px;font-weight:800}.say b{color:var(--ink);font-weight:700}.sw .qprog i{border-radius:0;height:6px}.sw .qprog i.cur{background:var(--ink)}.sw .big-pct{letter-spacing:-.05em;font-size:clamp(72px,22vw,150px);font-weight:800;font-stretch:112%}.sw .face{border:1.5px solid var(--rule-ink);background:var(--paper);box-shadow:none;border-radius:0}.sw .face.back{background:var(--paper-2)}.sw .stamp,.sw .boxes span{border-radius:0}.sw .boxes span.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.sw .letter{letter-spacing:-.03em;color:var(--ink);text-transform:none;border-bottom:1.5px solid var(--rule-ink);margin:36px 0 4px;padding-bottom:6px;font-size:clamp(28px,7vw,44px);font-weight:800}.sw .entry{border-top:0;border-bottom:1px solid var(--rule)}.sw .entry h3{font-size:19px;font-weight:700}.sw .admin-table th{border-bottom:1.5px solid var(--rule-ink);background:0 0}.sw .table-wrap{border:0;border-radius:0}.cmp *{transform-box:fill-box;transform-origin:50%}.cmp .fa{fill:var(--ma)}.cmp .sa{stroke:var(--ma)}.poster .cmp *{animation-play-state:paused}.poster.cur .cmp *,.poster:hover .cmp *,.poster:focus-visible .cmp *,.cover .cmp *{animation-play-state:running}.c0 .drop{animation:6s cubic-bezier(.3,0,.2,1) infinite c0drop}.c0 .fill{transform-origin:0;animation:6s cubic-bezier(.16,1,.3,1) infinite c0fill}@keyframes c0drop{0%,58%,to{transform:none}60%{transform:translateY(-320px)}78%{transform:none}84%{transform:translateY(-24px)}90%{transform:none}}@keyframes c0fill{0%,to{transform:scaleX(1)}60%{transform:scaleX(0)}92%{transform:scaleX(1)}}.c1 .wave{animation:3s ease-in-out infinite c1wave}@keyframes c1wave{0%,to{opacity:1}50%{opacity:.25}}.c2 .scan{animation:6s step-end infinite c2scan}@keyframes c2scan{0%,to{transform:none}17%{transform:translateY(48px)}34%{transform:translateY(96px)}51%{transform:translateY(144px)}68%{transform:translateY(192px)}85%{transform:translateY(240px)}}.c3 .arm{transform-origin:0;animation:5s cubic-bezier(.65,0,.35,1) infinite c3arm;transform:rotate(-24deg)}@keyframes c3arm{0%,30%,to{transform:rotate(-24deg)}55%,75%{transform:rotate(-64deg)}}.c4 .hop{animation:4s cubic-bezier(.45,0,.2,1) infinite c4hop}@keyframes c4hop{0%,30%,to{transform:none}45%{transform:translate(40px,-110px)}60%,80%{transform:translate(75px,-75px)}}.c5 .lit{animation:3s ease-in-out infinite c5lit}@keyframes c5lit{0%,to{transform:none}50%{transform:scale(.7)}}.c6 .orbit{transform-box:view-box;transform-origin:150px 176px;animation:16s linear infinite spin}.c7 .fall{animation:3.6s cubic-bezier(.55,0,.8,.2) infinite c7fall}.c7 .blink{animation:3.6s step-end infinite c7blink}@keyframes c7fall{0%,to{transform:none}55%{transform:translateY(200px)}62%{transform:translateY(196px)}}@keyframes c7blink{0%,55%,85%,to{opacity:1}56%,84%{opacity:.25}}.c8 .link{stroke-dasharray:1;stroke-dashoffset:0;animation:5s cubic-bezier(.16,1,.3,1) infinite c8link}@keyframes c8link{0%,40%,to{stroke-dashoffset:0}55%{stroke-dashoffset:1px}}.c9 .spin{animation:10s linear infinite spin}.c9 .spin.slow{animation-duration:28s}.c9 .spin.rev{animation-duration:18s;animation-direction:reverse}.c10 .orbit{transform-box:view-box;transform-origin:150px 200px;animation:9s linear infinite spin}.c11 .rays{transform-box:view-box;transform-origin:170px 230px;animation:48s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cmp *,.fin .zero,.term .cur,.poster .cmp,.reveal,.term .out,.sw .btn,.ticks-step *,.opt{transition:none!important;animation:none!important}.c3 .arm{transform:rotate(-24deg)}}.lessons .st svg{width:18px;height:18px;color:var(--ink-3)}.sw .btn svg{width:18px;height:18px}.sw .btn.grow{flex:1}.sw .face-l{letter-spacing:.02em;background:var(--ink);color:var(--paper);align-self:flex-start;padding:4px 8px;font-size:13px;font-weight:700}@media (max-width:420px){.sw .hide-sm{display:none}.sw .links{gap:0}.sw .links a:not(.tt){padding:8px 7px}}.sw .doc .term pre{color:var(--term-ink);background:0 0;border-radius:0;padding:16px 18px 18px;font-size:14px}.sw .doc .term{margin:6px 0}::view-transition-group(mod-field){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(mod-num){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(mod-cmp){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(mod-cmp-f){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}::view-transition-image-pair(mod-num){isolation:auto}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.posters>li.colophon{display:flex}.poster .cmp{clip-path:inset(0 0 24%)}.poster .poster-num{z-index:3}.poster-num,.cover-num{-webkit-text-stroke:.06em var(--mc);paint-order:stroke fill}.cover-num{z-index:3;position:relative}@media (max-width:899px){.cover .cmp{width:58%;height:calc(40px + min(36vw,380px))}}.cover .btn.ghost{color:var(--mo);border:1.5px solid var(--mo);background:0 0}.cover .btn.ghost:hover{background:var(--mo);color:var(--mc)}.cover .msg.err{color:var(--mo);font-weight:600}.cover .acts{align-items:center}.cover .acts .msg,.cover .acts .facts{flex-basis:100%;margin:0}.sw .search-row{flex-direction:row;gap:8px;max-width:560px;margin:16px 0;display:flex}.sw .search-row input{flex:1;padding:0 12px}.sw .student{border:1.5px solid var(--rule-ink);margin:16px 0 28px;padding:20px}.sw .student h3{word-break:break-all;margin:0;font-size:22px}.sw .student .meta{color:var(--ink-3);margin:6px 0 0;font-size:14px}.sw .student h4{margin:24px 0 8px;font-size:17px}.sw .page-h .stats{flex-wrap:wrap;gap:12px 32px;margin-top:20px;display:flex}.sw .page-h .stats div{flex-direction:column;gap:2px;display:flex}.sw .page-h .stats b{letter-spacing:-.04em;font-size:clamp(34px,8vw,56px);font-weight:800;font-stretch:118%;line-height:1}.sw .page-h .stats span{color:var(--ink-3);font-size:14px}.sw .buys{border-top:1.5px solid var(--rule-ink);margin:12px 0 0;padding:0;list-style:none}.sw .buys li{border-bottom:1px solid var(--rule);padding:14px 0}.sw .buy-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.sw .buys .t{font-weight:600}.sw .buys small{color:var(--ink-3);font-size:14px;font-weight:400;display:block}.sw .buys a{text-underline-offset:4px;font-weight:600}.sw .buys .refund{color:var(--ink-2);margin:8px 0 0;font-size:15px}.sw form.login{flex-direction:column;gap:8px;display:flex}.sw form.login label{margin-top:8px;font-size:14px;font-weight:600}.sw form.login .btn{align-self:flex-start;min-width:180px;margin-top:12px}.sw form.login input{padding:0 12px}.sw .linkish{font:inherit;color:var(--ink);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.sw .security h4{margin:20px 0 4px;font-size:17px}.sw .security .twofa{border-top:1px solid var(--rule);margin-top:28px;padding-top:4px}.sw .security .qr{background:#fff;width:200px;height:200px;margin:8px 0;padding:6px}.sw .security .qr svg{width:100%;height:100%;display:block}.sw .security code{font-family:var(--font-mono),monospace;word-break:break-all;background:var(--paper-3);padding:2px 6px;font-size:14px}.sw .security .codes{font-family:var(--font-mono),monospace;grid-template-columns:repeat(2,max-content);gap:6px 24px;margin:12px 0;padding:0;font-size:16px;list-style:none;display:grid}.sw .access{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.sw .access li{border:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.sw .access .t{flex:auto;font-weight:600}.sw .access .s{color:var(--ink-3);flex-basis:100%;order:3;font-size:13px}.sw .access .btn{min-height:36px;padding:6px 14px;font-size:14px}.sw .access li.cumparat{background:var(--paper-2)}.sw .access li.deschis,.sw .access li.prin-curs{border-color:var(--ok)}.sw .btn s{opacity:.6;margin-right:2px;text-decoration-thickness:2px}.sw .admin{max-width:1120px}.sw .admin-head{padding:28px 0 0}.sw .admin-head h1{letter-spacing:-.035em;margin:0;font-size:clamp(34px,7vw,56px);font-weight:800;line-height:1}.sw .admin-tabs{border-bottom:1.5px solid var(--rule-ink);scrollbar-width:none;gap:24px;margin-top:20px;display:flex;overflow-x:auto}.sw .admin-tabs a{white-space:nowrap;color:var(--ink-3);border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-1.5px;padding:10px 0 12px;font-weight:600;text-decoration:none;display:inline-flex}.sw .admin-tabs a:hover{color:var(--ink)}.sw .admin-tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}.sw .admin-tabs b{background:var(--bad);color:#fff;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:grid}.sw .admin-sec{margin-top:40px;padding-top:0}.sw .admin-sec h2{letter-spacing:-.02em;margin:0;font-size:clamp(22px,4vw,28px)}.sw .admin-sec h3{margin:0;font-size:20px}.sw .admin-sec .hint{color:var(--ink-3);max-width:70ch;margin:6px 0 0;font-size:15px}.sw .sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sw .admin .crumb{margin-top:24px;font-size:15px}.sw .student-head{margin-top:12px}.sw .student-head h2{word-break:break-all;margin:0;font-size:clamp(24px,5vw,36px)}.sw .student-head .meta{color:var(--ink-3);margin:6px 0 0;font-size:15px}.sw .todo{border-top:1.5px solid var(--rule-ink);margin:12px 0 0;padding:0;list-style:none}.sw .todo li{border-bottom:1px solid var(--rule);align-items:baseline;gap:10px;padding:12px 0;display:flex}.sw .todo li b{min-width:1.6em;font-size:22px;font-weight:800;font-stretch:118%}.sw .todo li a{margin-left:auto;font-weight:600}.sw .todo li.warn b{color:var(--bad)}.sw .facts-grid{border-top:1.5px solid var(--rule-ink);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin:12px 0 0;display:grid}.sw .facts-grid div{border-bottom:1px solid var(--rule);padding:14px 16px 16px 0}.sw .facts-grid dt{color:var(--ink-3);font-size:14px}.sw .facts-grid dd{letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(28px,5vw,40px);font-weight:800;font-stretch:118%;line-height:1}.sw .facts-grid small{color:var(--ink-3);margin-top:6px;font-size:14px;display:block}.sw .admin-two{gap:0 48px;display:grid}@media (min-width:900px){.sw .admin-two{grid-template-columns:1fr 1fr}}.sw .bars{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.sw .bars li{grid-template-columns:7em 1fr;align-items:center;gap:4px 12px;font-size:15px;display:grid}.sw .bars i{background:var(--ink);height:10px;width:var(--w)}.sw .bars b{color:var(--ink-3);grid-column:2;font-size:13px;font-weight:400}.sw .feed{margin:12px 0 0;padding:0;list-style:none}.sw .feed li{border-bottom:1px solid var(--rule);flex-direction:column;gap:2px;padding:10px 0;display:flex}.sw .feed small{color:var(--ink-3);font-size:13px}.sw .chips{flex-wrap:wrap;gap:6px;margin:4px 0 0;display:flex}.sw .chips a{border:1px solid var(--rule-ink);padding:6px 12px;font-size:14px;text-decoration:none}.sw .chips a.on{background:var(--ink);color:var(--paper)}.sw .tag-soft{color:var(--ink-3);border:1px solid var(--rule);margin-left:8px;padding:1px 6px;font-size:12px}.cert-claim{text-align:left;margin:28px auto 0}.cert-claim label{margin-bottom:8px;font-weight:600;display:block}.cert-claim .row{flex-wrap:wrap;gap:8px;display:flex}.cert-claim input{flex:220px;width:auto}.cert-drop{cursor:pointer;align-items:center;gap:10px;margin-top:12px;display:flex}.cert-drop input{width:20px;height:20px;min-height:0;accent-color:var(--ink);margin:0}.sw dialog.ask,dialog.ask{border:2px solid var(--ink);background:var(--paper);color:var(--ink);text-align:left;border-radius:0;max-width:min(460px,100vw - 32px);margin:auto;padding:28px 24px 24px}dialog.ask::backdrop{background:#1111118c}dialog.ask h2{letter-spacing:-.02em;max-width:none;margin:0 0 12px;font-size:clamp(22px,4vw,28px);font-weight:800;line-height:1.1}dialog.ask p{color:var(--ink-2);margin:0 0 10px}dialog.ask .acts{justify-content:flex-start;margin-top:18px}
