@font-face{font-family:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 150%;src:url(./anybody-vietnamese-standard-normal-9GtAklmW.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 150%;src:url(./anybody-latin-ext-standard-normal-BaQ5u-C4.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 150%;src:url(./anybody-latin-standard-normal-CHqbGEEr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-italic-D-qjh7ci.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-400-italic-OoEIrRJc.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff")}:root{--ink:#16224a;--cobalt:#2340e0;--on-cobalt:#fff;--sun:#ffd23f;--cat-engineering:#ff8a1f;--cat-software:#2fc4b2;--cat-science:#b8e04a;--cat-mathematics:#6cc0f7;--cat-design:#ff9ec2;--cat-language:#ffd23f;--cat-business:#e6cfa6;--cat-other:#c9d2e8;--bg:#eef1f7;--surface:#fff;--surface-2:#f5f7fb;--text:#16224a;--muted:#4a5578;--line:#d6dcea;--field:#8590ae;--link:#2340e0;--primary:var(--cobalt);--on-primary:var(--on-cobalt);--track:#dce2ef;--focus:#2340e0;--ok:#1f7a4d;--ok-soft:#e3f4ea;--warn:#7a4e00;--warn-soft:#fff3cc;--bad:#b3261e;--bad-soft:#fbe9e7;--f-display:"Anybody Variable", "Anybody", system-ui, sans-serif;--f-text:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs:.8125rem;--t-sm:.9375rem;--t-md:1.0625rem;--t-lg:1.3125rem;--t-xl:1.625rem;--t-2xl:2.125rem;--t-3xl:clamp(2.25rem, 5vw, 3.25rem);--t-hero:clamp(2.875rem, 7vw, 5.5rem);--t-hero-s:clamp(2.75rem, 6.2vw, 4.75rem);--r-sm:10px;--r-md:18px;--r-lg:28px;--r-xl:40px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--max:1240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1530;--surface:#18224a;--surface-2:#1f2a57;--text:#eef1fa;--muted:#a9b3d1;--line:#2e3a6c;--field:#6d7aae;--link:#9aacff;--primary:#9aacff;--on-primary:#16224a;--track:#2e3a6c;--focus:#ffd23f;--ok:#7bd6a3;--ok-soft:#133024;--warn:#ffd23f;--warn-soft:#3a3010;--bad:#ff9a90;--bad-soft:#3d1a1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1530;--surface:#18224a;--surface-2:#1f2a57;--text:#eef1fa;--muted:#a9b3d1;--line:#2e3a6c;--field:#6d7aae;--link:#9aacff;--primary:#9aacff;--on-primary:#16224a;--track:#2e3a6c;--focus:#ffd23f;--ok:#7bd6a3;--ok-soft:#133024;--warn:#ffd23f;--warn-soft:#3a3010;--bad:#ff9a90;--bad-soft:#3d1a1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--f-text);font-size:var(--t-md);min-height:100dvh;margin:0;line-height:1.55;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.02}p{margin:0}a{color:var(--link);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{left:var(--s-4);background:var(--primary);color:var(--on-primary);padding:var(--s-2) var(--s-4);z-index:20;border-radius:var(--r-pill);font-weight:700;position:absolute;top:-100px}.skip:focus{top:var(--s-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}main{outline:none}[hidden]{display:none!important}.c-engineering{--cat:var(--cat-engineering)}.c-software{--cat:var(--cat-software)}.c-science{--cat:var(--cat-science)}.c-mathematics{--cat:var(--cat-mathematics)}.c-design{--cat:var(--cat-design)}.c-language{--cat:var(--cat-language)}.c-business{--cat:var(--cat-business)}.c-other{--cat:var(--cat-other)}.fill{background:var(--cat);color:var(--ink)}.fill a:not(.btn){color:var(--ink)}.fill :focus-visible{outline-color:var(--ink)}.appbar{z-index:10;align-items:center;gap:var(--s-5);padding:var(--s-3) max(var(--s-5), env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.logo{align-items:center;gap:var(--s-2);min-height:44px;color:var(--text);flex:none;text-decoration:none;display:inline-flex}.logo .mark{flex:none;width:40px;height:40px}.wordmark{font-family:var(--f-display);letter-spacing:-.02em;font-size:1.25rem;font-weight:850;font-stretch:118%;line-height:.9}.appnav{gap:var(--s-1);align-items:center;margin-left:auto;display:flex}.appnav a{min-height:44px;padding:0 var(--s-4);border-radius:var(--r-pill);color:var(--text);font-weight:700;font-size:var(--t-sm);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.appnav a:hover{background:var(--surface-2)}.appnav a[aria-current=page]{background:var(--text);color:var(--surface)}.me{border-radius:50%;flex:none;width:44px;height:44px;display:inline-flex}.me .me-av{border-radius:50%;width:44px;height:44px}.me[aria-current=page] .me-av{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--text)}.menu-btn{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);border:2px solid var(--line);min-width:44px;min-height:44px;padding:0 var(--s-4);cursor:pointer;background:0 0;margin-left:auto;font-weight:700;display:none}.ico{flex:none;width:22px;height:22px}.demo-flag{font-size:var(--t-xs);color:var(--muted);border:1.5px dashed var(--field);padding:2px var(--s-3);border-radius:var(--r-pill);white-space:nowrap;font-weight:700}.page{max-width:1080px;padding:var(--s-7) var(--s-5) var(--s-8);margin:0 auto}.page-wide{max-width:var(--max)}.page-narrow{max-width:760px}.page-head{gap:var(--s-3);margin-bottom:var(--s-6);justify-items:start;display:grid}.page-head h1{font-size:var(--t-3xl);letter-spacing:-.03em;font-weight:900;font-stretch:112%}.page-mark{width:56px;height:56px}.lede{color:var(--muted);font-size:var(--t-lg);max-width:46ch;line-height:1.45}.sub{color:var(--muted);font-size:var(--t-sm);margin-bottom:var(--s-4)}.crumb{font-size:var(--t-sm)}.crumb a{align-items:center;min-height:44px;font-weight:700;display:inline-flex}.panel{background:var(--surface);border-radius:var(--r-lg);box-shadow:0 0 0 2px var(--line);padding:var(--s-6);gap:var(--s-4);margin-top:var(--s-5);display:grid}.panel h2{font-size:var(--t-xl);font-stretch:108%}.panel .sub{margin:0}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-5);border-radius:var(--r-pill);font-weight:700;font-size:var(--t-md);cursor:pointer;white-space:nowrap;color:var(--text);background:0 0;border:2px solid #0000;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{filter:brightness(1.1)}.btn-ink{background:var(--ink);color:#fff}.btn-ghost{color:var(--text);border-color:var(--text);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-sun{background:var(--sun);color:var(--ink)}.btn-sun:hover{filter:brightness(1.04);box-shadow:inset 0 0 0 2px var(--ink)}.btn-quiet{color:var(--text);border-color:var(--line);background:0 0}.btn-quiet:hover{border-color:var(--text)}.btn-light{color:#fff;background:0 0;border-color:#fff9}.btn-light:hover{border-color:#fff}.btn-danger{background:var(--bad);color:#fff}:root[data-theme=dark] .btn-danger{color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-danger{color:var(--ink)}}.btn-sm{min-height:44px;font-size:var(--t-sm);padding:0 var(--s-4)}.btn[disabled],.btn[aria-busy=true]{opacity:.6;cursor:progress}.btn-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.linkish{color:inherit;text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:0;min-height:44px;padding:0;text-decoration:underline}.field{gap:var(--s-2);align-content:start;display:grid}.field label,.lbl{font-weight:700;font-size:var(--t-sm)}.field .hint,.hint{font-size:var(--t-xs);color:var(--muted)}.field .err{color:var(--bad);font-size:var(--t-sm);font-weight:700}.field .count{font-size:var(--t-xs);color:var(--muted);margin-top:calc(-1 * var(--s-1));justify-self:end}.input{border-radius:var(--r-sm);border:2px solid var(--field);background:var(--surface);width:100%;min-height:48px;padding:0 var(--s-4)}textarea.input{padding:var(--s-3) var(--s-4);resize:vertical;min-height:104px;line-height:1.5}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 30%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--bad)}.form{gap:var(--s-5);display:grid}.fieldset{border:0;min-width:0;margin:0;padding:0}.fieldset legend{margin-bottom:var(--s-2);padding:0}.chip{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);border-radius:var(--r-pill);font-weight:700;font-size:var(--t-sm);border:2px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;flex:none;display:inline-flex}.chip:hover{border-color:var(--text)}.chip .dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1.5px #16224a40}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.chip:has(input:checked){background:var(--text);border-color:var(--text);color:var(--surface)}.chip:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.chip-radios{gap:var(--s-2);flex-wrap:wrap;display:flex}.tags{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{min-height:32px;padding:0 var(--s-3);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);font-size:var(--t-xs);color:var(--text);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}a.tag:hover,button.tag:hover{border-color:var(--text)}button.tag{cursor:pointer;min-height:36px}button.tag[aria-pressed=true]{background:var(--text);color:var(--surface);border-color:var(--text)}@media (pointer:coarse){.tag,button.tag{min-height:44px;padding:0 var(--s-4)}}.radio-cards{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.radio-cards.three{grid-template-columns:repeat(3,1fr)}.rc{gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-md);border:2px solid var(--line);cursor:pointer;background:var(--surface);align-items:flex-start;min-height:48px;display:flex}.rc input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin:2px 0 0}.rc strong{display:block}.rc .d{font-size:var(--t-sm);color:var(--muted);margin-top:2px;display:block}.rc:has(input:checked){border-color:var(--text)}.rc-sm{padding:var(--s-3) var(--s-4);align-items:center}.rc-sm input{margin:0}.notice{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border:2px solid var(--line);font-size:var(--t-sm)}.notice.bad{border-color:var(--bad);background:var(--bad-soft)}.notice.ok{border-color:var(--ok);background:var(--ok-soft)}.notice.warn{border-color:var(--warn);background:var(--warn-soft)}details.how{font-size:var(--t-sm);color:var(--muted)}details.how summary{cursor:pointer;color:var(--link);align-items:center;min-height:44px;font-weight:700;display:flex}details.how p{margin-top:var(--s-2);max-width:64ch}.bar{border-radius:var(--r-pill);background:var(--track);height:12px;overflow:hidden}.bar>i{border-radius:inherit;background:var(--cat,var(--primary));min-width:0;height:100%;display:block}.fill .bar{background:#16224a2e}.fill .bar>i{background:var(--ink)}.landing{background:var(--surface);grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);display:grid}.hero{padding:var(--s-7) var(--s-7) var(--s-6);gap:var(--s-5);flex-direction:column;display:flex}.hero h1{font-size:var(--t-hero-s);letter-spacing:-.035em;text-wrap:balance;max-width:11ch;font-weight:900;font-stretch:116%;line-height:.9}.hero .lede{color:var(--text);max-width:34ch}.hero .ctas{gap:var(--s-3);flex-wrap:wrap;display:flex}.mosaic{gap:var(--s-3);padding:0 var(--s-7) var(--s-7);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;list-style:none;display:grid}.tile{border-radius:var(--r-md);padding:var(--s-4);justify-content:space-between;gap:var(--s-4);flex-direction:column;min-height:178px;display:flex}.tile .tile-av{width:60px;height:60px;box-shadow:0 0 0 3px var(--ink);border-radius:50%}.tile p{font-size:var(--t-sm);line-height:1.25}.tile strong{font-family:var(--f-display);margin-top:4px;font-size:1.1875rem;font-weight:800;font-stretch:104%;line-height:1.05;display:block}.tile.big{border-radius:var(--r-xl);padding:var(--s-5);grid-area:span 2/span 2}.tile.big .tile-av{width:112px;height:112px;box-shadow:0 0 0 5px var(--ink)}.tile.big strong{font-size:var(--t-xl)}.tile.wide{grid-column:span 2}.tile.round{border-radius:var(--r-xl) var(--r-xl) var(--r-md) var(--r-xl)}.signin{background:var(--ink);color:#fff;padding:var(--s-7) var(--s-6);gap:var(--s-5);border-radius:0 0 0 var(--r-xl);flex-direction:column;grid-row:span 2;display:flex}.signin h2{font-size:var(--t-2xl);font-weight:800;font-stretch:110%}.signin h2+p{color:#c9d1ea;margin-top:var(--s-2)}.signin .form{gap:var(--s-4)}.signin .input{color:var(--ink);background:#fff;border-color:#fff}.signin .input:focus{border-color:var(--sun);box-shadow:0 0 0 3px #ffd23f73}.signin .field label{color:#fff}.signin .field .hint{color:#c9d1ea}.signin .field .err{color:#ffb4ab}.signin :focus-visible{outline-color:var(--sun)}.signin .tabs{border-radius:var(--r-pill);background:#ffffff1a;grid-template-columns:1fr 1fr;padding:4px;display:grid}.signin .tabs button{border-radius:var(--r-pill);color:#fff;cursor:pointer;background:0 0;border:0;min-height:44px;font-weight:700}.signin .tabs button[aria-selected=true]{color:var(--ink);background:#fff}.signin a{color:var(--sun)}.signin .fine{font-size:var(--t-xs);color:#c9d1ea}.signin .fine .linkish{color:var(--sun);min-height:32px;font-weight:700}.signin .or{align-items:center;gap:var(--s-3);color:#c9d1ea;font-size:var(--t-sm);display:flex}.signin .or:before,.signin .or:after{content:"";background:#ffffff40;flex:1;height:1px}.signin .notice{color:#fff;background:#ffffff14;border-color:#ffffff4d}.signin .notice.bad{background:#ffb4ab1f;border-color:#ffb4ab}.signin .notice.ok{background:#7bd6a31f;border-color:#7bd6a3}.signin .notice.demo{color:#dde3f5;border-style:dashed}.crowd{align-items:center;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid #fff3;margin-top:auto;display:flex}.crowd p{font-size:var(--t-sm);color:#fff}.stack{flex:none;display:flex}.stack .stack-av{width:40px;height:40px;box-shadow:0 0 0 3px var(--ink);border-radius:50%;margin-right:-8px}.promise{gap:var(--s-5);padding:var(--s-6) var(--s-7);border-top:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(3,1fr);display:grid}.promise h2{font-size:var(--t-lg);margin-bottom:var(--s-2);font-weight:800;font-stretch:108%}.promise p{color:var(--muted);font-size:var(--t-sm);max-width:38ch}.disc-head{justify-content:space-between;align-items:end;gap:var(--s-5);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.disc-head h1{font-size:var(--t-3xl);letter-spacing:-.03em;max-width:16ch;font-weight:900;font-stretch:118%}.disc-head p{color:var(--muted);max-width:44ch}.search{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.search .q{flex:320px;position:relative}.search .q .ico{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search .q input{border-radius:var(--r-pill);min-height:60px;font-size:var(--t-lg);padding-left:52px}.search .select{border-radius:var(--r-pill);width:auto;min-height:60px;padding:0 var(--s-5);font-weight:700}.cats{gap:var(--s-2);margin:var(--s-5) 0 var(--s-3);flex-wrap:wrap;display:flex}.tagrow{gap:var(--s-2);margin-bottom:var(--s-6);flex-wrap:wrap;align-items:center;display:flex}.tagrow .lbl{color:var(--muted);margin-right:var(--s-1);font-weight:400}.results-meta{font-size:var(--t-sm);color:var(--muted);margin-bottom:var(--s-4)}.results-meta:empty{display:none}.grid{gap:var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.grid>li{min-width:0;display:flex}.card{border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 2px var(--line);color:var(--text);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:0 0 0 2px var(--text)}.card:focus-within{box-shadow:0 0 0 3px var(--focus)}.card .top{padding:var(--s-4) var(--s-4) 0;justify-content:space-between;align-items:flex-start;min-height:120px;display:flex;position:relative}.card .top .cat{font-size:var(--t-xs);border-radius:var(--r-pill);background:#ffffff8c;padding:4px 10px;font-weight:700}.card .top .av{width:76px;height:76px;left:var(--s-4);box-shadow:0 0 0 4px var(--surface);border-radius:50%;position:absolute;bottom:-30px}.card .body{padding:40px var(--s-4) var(--s-4);gap:var(--s-2);flex-direction:column;flex:1;display:flex}.who{font-size:var(--t-sm);color:var(--muted)}.who b{color:var(--text)}.card-title{font-size:var(--t-lg);overflow-wrap:anywhere;font-weight:800;font-stretch:104%;line-height:1.08}.card-title a{color:inherit;text-decoration:none}.card-title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-title a:focus-visible{outline:none}.card:hover .card-title a{text-decoration:underline;text-decoration-thickness:2px}.card .meta{padding-top:var(--s-3);justify-content:space-between;gap:var(--s-2);font-size:var(--t-xs);color:var(--muted);border-top:1px dashed var(--line);margin-top:auto;display:flex}.card .meta b{color:var(--text)}.skeleton-card .top{background:var(--surface-2)}.skeleton-card .body span,.skeleton span{border-radius:var(--r-pill);background:var(--track);height:14px;animation:1.4s ease-in-out infinite pulse;display:block}.skeleton-card .body span:nth-child(2){width:80%;height:22px}.skeleton-card .body span:nth-child(3){width:50%}.skeleton-list{gap:var(--s-3);display:grid}.skeleton{gap:var(--s-3);padding:var(--s-5);border-radius:var(--r-md);box-shadow:0 0 0 2px var(--line);display:grid}.skeleton span:first-child{width:55%;height:22px}.skeleton span:nth-child(2){width:85%}.skeleton span:nth-child(3){width:40%}@keyframes pulse{50%{opacity:.5}}.detail-hero{padding:var(--s-7) var(--s-5)}.detail-hero-in{max-width:calc(var(--max) - 2 * var(--s-5));gap:var(--s-6);grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0 auto;display:grid}.crumbs{font-size:var(--t-sm);margin-bottom:var(--s-4)}.crumbs a{color:var(--ink);align-items:center;min-height:44px;font-weight:700;display:inline-flex}.detail-hero h1{font-size:var(--t-3xl);letter-spacing:-.03em;overflow-wrap:anywhere;max-width:16ch;font-weight:900;font-stretch:112%;line-height:.95}.detail-hero .sum{font-size:var(--t-lg);max-width:46ch;margin-top:var(--s-4);white-space:pre-line}.stats{gap:var(--s-5) var(--s-7);margin:var(--s-5) 0 0;flex-wrap:wrap;display:flex}.stats div{font-size:var(--t-sm);flex-direction:column-reverse;display:flex}.stats dd{font-family:var(--f-display);font-size:var(--t-2xl);margin:0;font-weight:850;font-stretch:115%;line-height:1}.hero-author{align-items:center;gap:var(--s-2);text-align:center;flex-direction:column;display:flex}.hero-author .hero-av{width:168px;height:168px;box-shadow:0 0 0 6px var(--ink);border-radius:50%}.hero-author span{font-size:var(--t-sm);background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:6px 14px;font-weight:700}.detail-body{max-width:var(--max);gap:var(--s-7);padding:var(--s-7) var(--s-5) var(--s-8);grid-template-columns:minmax(0,1fr) 340px;margin:0 auto;display:grid}.detail-main{gap:var(--s-5);align-content:start;min-width:0;display:grid}.detail-main h2{font-size:var(--t-xl);margin-bottom:var(--s-2);font-weight:800;font-stretch:108%}.phases{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.phase{border-radius:var(--r-md);border:2px solid var(--line);background:var(--surface);overflow:hidden}.phase summary{cursor:pointer;gap:var(--s-4);padding:var(--s-3) var(--s-4);grid-template-columns:48px 1fr auto;align-items:center;min-height:64px;list-style:none;display:grid}.phase summary::-webkit-details-marker{display:none}.phase .n{width:48px;height:48px;font-family:var(--f-display);font-weight:900;font-size:var(--t-lg);background:var(--cat,var(--cat-other));color:var(--ink);border-radius:14px;place-items:center;display:grid}.phase summary strong{font-size:var(--t-md);line-height:1.25;display:block}.phase summary small{color:var(--muted);font-size:var(--t-xs)}.phase .chev{width:20px;height:20px;transition:transform .2s}.phase[open] .chev{transform:rotate(180deg)}.phase[open]{border-color:var(--text)}.lessons{padding:0 var(--s-4) var(--s-3) calc(48px + var(--s-4) + var(--s-4));margin:0;list-style:none}.lessons li{justify-content:space-between;gap:var(--s-3);border-top:1px solid var(--line);font-size:var(--t-sm);padding:10px 0;display:flex}.lessons .num{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2.4em;display:inline-block}.lessons .test{font-size:var(--t-xs);background:var(--sun);color:var(--ink);border-radius:var(--r-pill);white-space:nowrap;align-self:center;padding:2px 10px;font-weight:700}.side{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.enrol{border-radius:var(--r-lg);background:var(--surface-2);padding:var(--s-5);gap:var(--s-3);box-shadow:0 0 0 2px var(--line);display:grid}.enrol-actions{gap:var(--s-2);display:grid}.enrol-actions .btn{width:100%}.enrol p{font-size:var(--t-sm);color:var(--muted)}.author-card{border-radius:var(--r-lg);padding:var(--s-5);background:var(--ink);color:#fff;box-shadow:0 0 0 2px var(--line);gap:var(--s-3);display:grid}.author-card .head{gap:var(--s-3);align-items:center;display:flex}.author-card .author-av{border-radius:50%;flex:none;width:64px;height:64px}.author-card h2{font-size:var(--t-lg);font-weight:800}.author-card p{font-size:var(--t-sm);color:#d3d9ee}.author-card a{color:var(--sun);font-weight:700;font-size:var(--t-sm);align-items:center;min-height:44px;display:inline-flex}.author-card :focus-visible{outline-color:var(--sun)}.open-card{border-radius:var(--r-lg);padding:var(--s-5);box-shadow:0 0 0 2px var(--line);gap:var(--s-3);background:var(--surface);display:grid}.open-card h2{font-size:var(--t-lg);font-weight:800}.open-card dl{gap:6px var(--s-4);font-size:var(--t-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.open-card dt{color:var(--muted)}.open-card dd{margin:0;font-weight:700}.open-card .fine,.open-card .credit{font-size:var(--t-sm);color:var(--muted)}.open-card .credit{border-top:1px dashed var(--line);padding-top:var(--s-3)}.dash-head{justify-content:space-between;align-items:end;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.dash-head h1{font-size:var(--t-3xl);letter-spacing:-.03em;font-weight:900;font-stretch:118%}.dash-head p{color:var(--muted)}.dash{gap:var(--s-6);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;display:grid}.dash-sec-head{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:44px;margin-bottom:var(--s-4);display:flex}.dash-sec-head h2{font-size:var(--t-xl);font-weight:800;font-stretch:108%}.dash-sec-head a{font-weight:700;font-size:var(--t-sm);align-items:center;min-height:44px;display:inline-flex}.learn-list{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.learn{gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-md);box-shadow:0 0 0 2px var(--line);background:var(--surface);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;display:grid}.learn .sw{border-radius:20px;place-items:center;width:72px;height:72px;display:grid}.learn .sw svg{border-radius:50%;width:56px;height:56px}.learn h3{font-size:var(--t-md);font-family:var(--f-text);font-weight:700;line-height:1.3}.learn h3 a,.mine h3 a{margin-block:-12px;padding-block:12px;display:inline-block}.learn h3 a{color:var(--text);text-decoration:none}.learn h3 a:hover{text-decoration:underline}.learn .by{font-size:var(--t-xs);color:var(--muted);margin:2px 0 var(--s-2)}.learn .pr{align-items:center;gap:var(--s-3);font-size:var(--t-xs);color:var(--muted);display:flex}.learn .pr .bar{flex:1}.learn .pr b{color:var(--text);font-size:var(--t-sm);text-align:right;min-width:3.2ch}.learn-acts{gap:var(--s-2);flex-direction:column;display:flex}.authored{gap:var(--s-3);display:grid}.authored-list{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.mine{border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-3);display:grid}.mine .status{font-size:var(--t-xs);border-radius:var(--r-pill);background:var(--ink);color:#fff;justify-self:start;padding:4px 10px;font-weight:700;display:inline-flex}.mine h3{font-size:var(--t-xl);overflow-wrap:anywhere;font-weight:850;font-stretch:108%;line-height:1}.mine h3 a{color:inherit;text-decoration:none}.mine h3 a:hover{text-decoration:underline}.mine .nums{gap:var(--s-5);flex-wrap:wrap;margin:0;display:flex}.mine .nums div{font-size:var(--t-xs);flex-direction:column-reverse;display:flex}.mine .nums dd{font-family:var(--f-display);font-size:var(--t-xl);margin:0;font-weight:850;line-height:1}.mine .acts{gap:var(--s-2);flex-wrap:wrap;display:flex}.mine.fill .btn-ghost,.mine.fill .btn-quiet{border-color:var(--ink);color:var(--ink)}.mine.fill .btn-ghost:hover,.mine.fill .btn-quiet:hover{background:#ffffff59}.mine.draft{background:var(--surface-2);box-shadow:0 0 0 2px var(--line) inset;color:var(--text)}.mine.draft .status{color:var(--text);box-shadow:0 0 0 2px var(--text) inset;background:0 0}.mine.draft p{color:var(--muted);font-size:var(--t-sm)}.state{padding:var(--s-7) var(--s-4);gap:var(--s-4);text-align:center;color:var(--muted);justify-items:center;display:grid}.state .ico-lg{width:56px;height:56px;color:var(--muted);flex:none}.state-text{gap:var(--s-2);justify-items:center;display:grid}.state h1,.state h2,.state h3{color:var(--text);font-size:var(--t-xl);font-stretch:108%}.state h1{font-size:var(--t-3xl);font-weight:900}.state .btn-row{margin-top:var(--s-2);justify-content:center}.state.inline{border-radius:var(--r-md);border:2px dashed var(--line);padding:var(--s-5);gap:var(--s-4);text-align:left;justify-content:flex-start;align-items:center;display:flex}.state.inline .state-text{justify-items:start}.state.inline h2,.state.inline h3{font-family:var(--f-text);font-size:var(--t-md);font-weight:700}.state.inline p{font-size:var(--t-sm)}.state.inline .btn-row{justify-content:flex-start}.state-error .ico-lg{color:var(--bad)}.state.boot{align-content:center;min-height:60vh}.boot-mark{width:56px;height:56px}.share-hero{background:var(--sun);color:var(--ink);padding:var(--s-7) var(--s-5)}.share-hero-in{max-width:calc(var(--max) - 2 * var(--s-5));gap:var(--s-6);grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0 auto;display:grid}.share-hero h1{font-size:var(--t-hero);letter-spacing:-.04em;font-weight:900;font-stretch:124%;line-height:.86}.share-hero p{font-size:var(--t-lg);max-width:44ch;margin-top:var(--s-4)}.share-hero .medal{width:180px;height:180px}.share-form{max-width:var(--max);margin:0 auto}.share-body{gap:var(--s-7);padding:var(--s-7) var(--s-5);grid-template-columns:minmax(0,1fr) 340px;display:grid}.steps{gap:var(--s-6);counter-reset:s;min-width:0;margin:0;padding:0;list-style:none;display:grid}.steps>li{gap:var(--s-4);counter-increment:s;grid-template-columns:48px minmax(0,1fr);display:grid}.steps>li:before{content:counter(s);background:var(--text);width:48px;height:48px;color:var(--surface);font-family:var(--f-display);font-weight:900;font-size:var(--t-lg);border-radius:50%;place-items:center;display:grid}.steps h2{font-size:var(--t-xl);margin:8px 0 var(--s-3);font-weight:800;font-stretch:108%}.fields{gap:var(--s-4);min-width:0;display:grid}.two{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.drop{border:3px dashed var(--text);border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-4);background:var(--surface-2);cursor:pointer;align-items:center;display:flex;position:relative}.drop[data-over=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface))}.drop:focus-within{outline:3px solid var(--focus);outline-offset:3px}.drop input{opacity:0;width:1px;height:1px;position:absolute}.drop .ico-lg{flex:none;width:56px;height:56px}.drop strong{font-size:var(--t-md);display:block}.drop .hint{font-size:var(--t-sm)}.file-chosen{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-md);word-break:break-all;display:flex}.found{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:color-mix(in srgb, var(--cat-science) 35%, var(--surface));font-size:var(--t-sm);align-items:center;display:flex}.found .ico{width:22px;height:22px}.preview{gap:var(--s-3);align-content:start;align-self:start;display:grid;position:sticky;top:88px}.preview .card{pointer-events:none}.preview .note{font-size:var(--t-xs);color:var(--muted)}.form-msg{padding:0 var(--s-5)}.form-msg:empty{display:none}.publish-bar{gap:var(--s-3);padding:var(--s-5);border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.publish-bar p{font-size:var(--t-sm);color:var(--muted);max-width:52ch;margin-right:auto}.edit-crumbs{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-4);padding-bottom:0;display:flex}.replace{padding-top:var(--s-7)}.replace h2{font-size:var(--t-xl);margin-bottom:var(--s-2);font-stretch:108%}.account-head{gap:var(--s-5);margin-bottom:var(--s-3);align-items:center;display:flex}.account-head h1{font-size:var(--t-3xl);letter-spacing:-.03em;font-weight:900;font-stretch:112%}.account-head .lede{font-size:var(--t-md);overflow-wrap:anywhere}.account-av{width:96px;height:96px;box-shadow:0 0 0 4px var(--surface), 0 0 0 6px var(--text);border-radius:50%;flex:none}.profile-who{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--line)}dialog{border-radius:var(--r-lg);padding:var(--s-6);background:var(--surface);color:var(--text);max-width:min(460px,100vw - 32px);box-shadow:0 0 0 2px var(--line), 0 24px 60px #0e153059;border:0}dialog::backdrop{background:#0e15308c}dialog h2{font-size:var(--t-xl);font-stretch:108%}dialog .btn-row{margin-top:var(--s-5);justify-content:flex-end}.dlg-body{margin-top:var(--s-3);color:var(--muted)}body.playing{overflow:hidden}.player{background:var(--bg);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0}.player-bar{--p:0;align-items:center;gap:var(--s-4);height:60px;padding:0 max(var(--s-3), env(safe-area-inset-right)) 0 max(var(--s-3), env(safe-area-inset-left));background:var(--ink);color:#fff;display:flex}.player-bar :focus-visible{outline-color:var(--sun)}.player-bar .back{color:#fff;border-radius:50%;flex:none;place-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-grid}.player-bar .back:hover{background:#ffffff1f}.player-bar .pmark{flex:none;width:32px;height:32px}.player-title{flex:1;min-width:0;line-height:1.15}.player-title h1{font:700 var(--t-sm)/1.25 var(--f-text);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-sub{font-size:var(--t-xs);color:#c9d1ea;display:block}.player-meta{align-items:center;gap:var(--s-3);font-size:var(--t-xs);color:#c9d1ea;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;display:flex}.player-meta .prog .bar{background:#ffffff2e;width:160px;height:8px}.player-meta .prog .bar>i{background:var(--sun)}.player-meta .count b{color:#fff}.save-state[data-state=saved]{color:#9ee6bc}.save-state[data-state=error]{color:var(--ink);padding:2px var(--s-2);border-radius:var(--r-pill);background:#ffb4ab;font-weight:700}.player-bar .credit{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3) 0 var(--s-1);border-radius:var(--r-pill);color:#fff;font-size:var(--t-xs);border:1.5px solid #ffffff59;flex:none;font-weight:700;text-decoration:none;display:inline-flex}.player-bar .credit:hover{border-color:#fff}.player-bar .credit-av{border-radius:50%;width:32px;height:32px}.player-stage{min-height:0;display:grid}.player iframe{background:var(--surface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border:0;width:100%;height:100%;display:block}@media (prefers-color-scheme:dark){.player iframe{--lightningcss-light: ;--lightningcss-dark:initial}}.player .state{align-self:center}@media (max-width:1060px){.landing{grid-template-columns:1fr}.signin{border-radius:0;grid-row:auto}.hero{order:1}.mosaic{order:2}.signin{order:3}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-body,.share-body{grid-template-columns:1fr}.preview{max-width:340px;position:static}.dash{grid-template-columns:1fr}}@media (max-width:860px){.appnav{align-items:stretch;gap:var(--s-1);padding:var(--s-3) var(--s-4) var(--s-4);background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px #0e15301f}.appnav.open{display:flex}.appnav a{min-height:48px;font-size:var(--t-md)}.menu-btn{display:inline-flex}.landing-nav{display:none!important}.demo-flag{display:none}}@media (max-width:720px){.appbar{padding:var(--s-2) var(--s-4);gap:var(--s-3)}.wordmark{font-size:1.05rem}.page{padding:var(--s-6) var(--s-4) var(--s-8)}.hero{padding:var(--s-6) var(--s-4) var(--s-5)}.mosaic{padding:0 var(--s-4) var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:150px}.tile.big{grid-row:span 1}.tile.big .tile-av{width:72px;height:72px}.tile strong{font-size:1.0625rem}.signin{padding:var(--s-6) var(--s-4)}.promise{padding:var(--s-5) var(--s-4);grid-template-columns:1fr}.grid{grid-template-columns:1fr}.card .top{min-height:92px}.search .select{flex:100%}.cats{margin-left:calc(-1 * var(--s-4));margin-right:calc(-1 * var(--s-4));padding:0 var(--s-4) var(--s-2);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.cats::-webkit-scrollbar{display:none}.detail-hero{padding:var(--s-6) var(--s-4)}.detail-hero-in{gap:var(--s-4);grid-template-columns:1fr}.hero-author{flex-direction:row;order:-1}.hero-author .hero-av{width:72px;height:72px;box-shadow:0 0 0 4px var(--ink)}.stats{gap:var(--s-4) var(--s-5)}.detail-body,.share-body{padding:var(--s-6) var(--s-4);gap:var(--s-6)}.lessons{padding-left:var(--s-4)}.learn{grid-template-columns:56px minmax(0,1fr)}.learn .sw{border-radius:16px;width:56px;height:56px}.learn .sw svg{width:44px;height:44px}.learn-acts{flex-direction:row;grid-column:1/-1}.learn-acts .btn-primary{flex:1}.share-hero{padding:var(--s-6) var(--s-4)}.share-hero-in{gap:var(--s-4);grid-template-columns:1fr}.share-hero .medal{order:-1;width:96px;height:96px}.two,.radio-cards,.radio-cards.three{grid-template-columns:1fr}.steps>li{gap:var(--s-2);grid-template-columns:1fr}.publish-bar{padding:var(--s-4)}.publish-bar p{flex:100%}.publish-bar .btn{flex:1}.form-msg{padding:0 var(--s-4)}.panel{padding:var(--s-5) var(--s-4)}.account-head{gap:var(--s-4)}.account-av{width:64px;height:64px}.state.inline{flex-direction:column;align-items:flex-start}.player-bar{gap:var(--s-2);padding:0 var(--s-2) 0 var(--s-1)}.player-bar .pmark,.player-bar .credit span,.save-state[data-state=saved],.save-state[data-state=saving]{display:none}.player-bar .credit{border:0;padding:0 6px}.player-meta .prog .bar{width:56px}}.landing-jump{margin-left:auto;display:none}@media (max-width:860px){.landing-jump{display:inline-flex}}:root[data-theme=dark] .signin{background:var(--bg);box-shadow:inset 2px 0 0 var(--line)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .signin{background:var(--bg);box-shadow:inset 2px 0 0 var(--line)}}@media (max-width:1060px){:root[data-theme=dark] .signin{box-shadow:inset 0 2px 0 var(--line)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .signin{box-shadow:inset 0 2px 0 var(--line)}}}.signin{scroll-margin-top:72px}
