@font-face{font-family:figtree;src:url(../media/Figtree_Regular-s.p.3v1t2e16ob-lq.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:figtree;src:url(../media/Figtree_Medium-s.p.3s70pd_e91jtg.ttf)format("truetype");font-display:swap;font-weight:500}@font-face{font-family:figtree;src:url(../media/Figtree_SemiBold-s.p.3kd1phwg38113.ttf)format("truetype");font-display:swap;font-weight:600}@font-face{font-family:figtree;src:url(../media/Figtree_Bold-s.p.1fuc2sdmyt_2l.ttf)format("truetype");font-display:swap;font-weight:700}@font-face{font-family:figtree Fallback;src:local(Arial);ascent-override:93.79%;descent-override:24.68%;line-gap-override:0.0%;size-adjust:101.29%}.figtree_3edf4abb-module__mU2Wca__className{font-family:figtree,figtree Fallback}.figtree_3edf4abb-module__mU2Wca__variable{--font-ui:"figtree", "figtree Fallback"}
@font-face{font-family:fraunces;src:url(../media/Fraunces_Variable-s.p.1mtbm3nktush8.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:fraunces Fallback;src:local(Arial);ascent-override:84.05%;descent-override:21.91%;line-gap-override:0.0%;size-adjust:116.36%}.fraunces_3cb67588-module__VDPFyG__className{font-family:fraunces,fraunces Fallback}.fraunces_3cb67588-module__VDPFyG__variable{--font-display:"fraunces", "fraunces Fallback"}
:root{--bg:#fafaf8;--surface:#fff;--surface2:#f0f1ee;--line:#ecece8;--ink:#1a2229;--muted:#5f6a73;--faint:#a3abb2;--primary:#1f5e8c;--on-primary:#fff;--hero-bg:#e3eef7;--hero-shape:#d6e6f3;--hero-ink:#12344f;--hero-muted:#3f5a70;--multe:#e3862b;--multe-soft:#fbeedf;--multe-ink:#8f4a0c;--furu:#2f6b4f;--furu-soft:#e4f0e9;--furu-ink:#1d4433;--danger:#a63d32;--scrim:#0f1a2473;--gutter:24px;--radius-hero:28px;--radius-card:20px;--radius-thumb:14px;--reader-size:19.5px;--reader-line:1.65;--measure:70ch;--page:1120px;--shadow-sheet:0 -8px 40px #0f1a241f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1a24;--surface:#172633;--surface2:#1a2a38;--line:#223546;--ink:#e8eef3;--muted:#a9b6c2;--faint:#6b7b89;--primary:#8ec3ec;--on-primary:#0f1a24;--hero-bg:#16324a;--hero-shape:#1b3b57;--hero-ink:#e8eef3;--hero-muted:#b7ccdd;--multe:#f0a155;--multe-soft:#3a2716;--multe-ink:#f0a155;--furu:#7cc9a0;--furu-soft:#16322a;--furu-ink:#e3f1e9;--danger:#f09a8e;--shadow-sheet:0 -8px 40px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1a24;--surface:#172633;--surface2:#1a2a38;--line:#223546;--ink:#e8eef3;--muted:#a9b6c2;--faint:#6b7b89;--primary:#8ec3ec;--on-primary:#0f1a24;--hero-bg:#16324a;--hero-shape:#1b3b57;--hero-ink:#e8eef3;--hero-muted:#b7ccdd;--multe:#f0a155;--multe-soft:#3a2716;--multe-ink:#f0a155;--furu:#7cc9a0;--furu-soft:#16322a;--furu-ink:#e3f1e9;--danger:#f09a8e;--shadow-sheet:0 -8px 40px #0006;--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(--ink);font-family:var(--font-ui), system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.display{font-family:var(--font-display), Georgia, serif;font-variation-settings:"SOFT" 60, "WONK" 0;letter-spacing:-.3px;font-weight:500;line-height:1.12}.wrap{max-width:var(--page);padding:0 var(--gutter);margin:0 auto}.narrow{max-width:760px;padding:0 var(--gutter);margin:0 auto}.section{margin:40px 0}.section-label{color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.shelf{margin:44px 0}.shelf-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.shelf-title{color:var(--ink);margin:0;font-size:18px;font-weight:600}.shelf-more{margin-top:14px}.muted{color:var(--muted)}.meta{color:var(--muted);font-size:14px}.btn{cursor:pointer;background:var(--primary);height:52px;color:var(--on-primary);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:16px;font-weight:600;transition:transform .12s,opacity .12s;display:inline-flex}.btn:hover{color:var(--on-primary);opacity:.92}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5;cursor:default}.btn-quiet{border:1px solid var(--line);height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.btn-quiet:hover{border-color:var(--faint);color:var(--ink)}.btn-text{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:15px;font-weight:600}.btn-block{width:100%}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid #0000;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--line)}.site-header .bar{align-items:center;gap:20px;height:64px;display:flex}.brand{letter-spacing:-.1px;white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--hero-bg);width:30px;height:30px;color:var(--primary);border-radius:9px;place-items:center;display:grid}.nav{color:var(--muted);gap:22px;margin-left:12px;font-size:15px;font-weight:500;display:flex}.nav a[aria-current=page]{color:var(--ink)}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.lang-switch{color:var(--muted);border-radius:999px;padding:6px 10px;font-size:14px;font-weight:600}.avatar{background:var(--hero-bg);width:34px;height:34px;color:var(--hero-ink);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}@media (max-width:760px){.nav{display:none}.site-header .bar{height:56px}}.mobile-nav{display:none}@media (max-width:760px){.mobile-nav{padding:0 var(--gutter) 10px;color:var(--muted);scrollbar-width:none;gap:18px;font-size:14px;font-weight:600;display:flex;overflow-x:auto}.mobile-nav a[aria-current=page]{color:var(--ink)}}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:80px;padding:40px 0 56px;font-size:14px}.footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:28px;display:grid}.footer-grid h3{color:var(--ink);margin:0 0 10px;font-size:13px;font-weight:600}.footer-grid ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}.hero{background:var(--hero-bg);color:var(--hero-ink);border-radius:var(--radius-hero);grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding:48px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:var(--hero-shape);border-radius:50%;width:520px;height:520px;position:absolute;top:-160px;right:-140px}.hero>*{position:relative}.hero h1{margin:0 0 16px;font-size:clamp(34px,5vw,52px)}.hero p{color:var(--hero-muted);max-width:46ch;margin:0 0 28px;font-size:18px}.hero-art{aspect-ratio:3/2;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px #12344f2e}.hero-art img{object-fit:cover;width:100%;height:100%}@media (max-width:860px){.hero{grid-template-columns:1fr;padding:28px 24px}.hero:before{width:360px;height:360px;top:-120px;right:-160px}}.levels{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.level-link{border-top:1px solid var(--line);padding:18px 0;display:block}.level-link .code{font-family:var(--font-display), serif;font-variation-settings:"SOFT" 60;color:var(--primary);font-size:32px}.level-link .name{margin-top:2px;font-weight:600}.level-link .blurb{color:var(--muted);margin-top:6px;font-size:14px}@media (max-width:860px){.levels{grid-template-columns:1fr 1fr}}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 24px;display:grid}.card{display:block}.card .cover{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--surface2);position:relative;overflow:hidden}.card .cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.card:hover .cover img{transform:scale(1.03)}.card .title{color:var(--ink);margin:12px 0 2px;font-size:17px;font-weight:600}.card:hover .title{color:var(--primary)}.badge{letter-spacing:.2px;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-free{background:var(--furu-soft);color:var(--furu-ink)}.badge-level{background:var(--hero-bg);color:var(--hero-ink)}.badge-done{background:var(--surface2);color:var(--muted)}.cover .badges{gap:6px;display:flex;position:absolute;top:10px;left:10px}.row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 0;display:flex}.row .thumb{border-radius:var(--radius-thumb);background:var(--surface2);flex:none;width:72px;height:50px;overflow:hidden}.row .thumb img{object-fit:cover;width:100%;height:100%}.row .row-title{font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 28px;display:flex}.search{border:1px solid var(--line);background:var(--surface);height:46px;color:var(--ink);border-radius:999px;flex:260px;padding:0 18px;font-size:15px}.search::placeholder{color:var(--faint)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.select{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);border-radius:999px;padding:0 12px;font-size:14px;font-weight:600}.prose{max-width:68ch;font-size:17px;line-height:1.7}.prose h1{margin:8px 0 12px;font-size:40px}.prose h2{margin:36px 0 8px;font-size:22px;font-weight:700}.prose h3{margin:24px 0 6px;font-size:18px}.prose p,.prose li{color:var(--ink)}.prose a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.prose .lead{color:var(--muted);font-size:19px}.prose blockquote{border-left:3px solid var(--hero-shape);color:var(--muted);margin:20px 0;padding:4px 0 4px 18px}.prose .no{font-style:italic}.callout{background:var(--hero-bg);color:var(--hero-ink);border-radius:20px;padding:20px 22px}.stack{gap:12px;display:grid}.spacer{height:32px}.center{text-align:center}
