:root{--white:#fff;--idea-50:#fff6f4;--idea-100:#feebe5;--idea-200:#ffd3c5;--idea-300:#ffb59d;--idea-400:#ff8860;--idea-500:#f50;--idea-600:#e24d00;--idea-700:#c33f00;--idea-800:#9d3100;--idea-900:#7f2907;--idea-950:#441302;--technology-50:#f3f4fe;--technology-100:#eaeaff;--technology-200:#d7d8ff;--technology-300:#bab9ff;--technology-400:#968eff;--technology-500:#7a62ff;--technology-600:#6b39ff;--technology-700:#5e28e8;--technology-800:#4e24c1;--technology-900:#3f239b;--technology-950:#281467;--rock-50:#fafafa;--rock-100:#f5f5f5;--rock-200:#e5e5e5;--rock-300:#d4d4d4;--rock-400:#a3a3a3;--rock-500:#737373;--rock-600:#525252;--rock-700:#404040;--rock-800:#262626;--rock-900:#111;--rock-950:#0a0a0a;--forest-50:#f2fcf3;--forest-100:#dcfce7;--forest-200:#c5f5cc;--forest-300:#94eda5;--forest-400:#4ade80;--forest-500:#26c55d;--forest-600:#16a34a;--forest-700:#1d7f3c;--forest-800:#206433;--forest-900:#20522c;--forest-950:#0e2d15;--lava-50:#fdf3f1;--lava-100:#fee2e2;--lava-200:#fbccc6;--lava-300:#faa79d;--lava-400:#f87171;--lava-500:#ef453d;--lava-600:#dc2626;--lava-700:#b81f1f;--lava-800:#97201d;--lava-900:#7c231e;--lava-950:#430e0c;--coral-50:#fff1f1;--coral-100:#ffe4e5;--coral-200:#ffcdcf;--coral-300:#ffa4a9;--coral-400:#ff697a;--coral-500:#ff2457;--coral-600:#e50149;--coral-700:#c0023c;--coral-800:#a30031;--coral-900:#8c082a;--coral-950:#4e0214;--honey-50:#fffaf4;--honey-100:#fff0df;--honey-200:#ffe0be;--honey-300:#ffcd94;--honey-400:#ffb65b;--honey-500:#f69e04;--honey-600:#cb8201;--honey-700:#9f6401;--honey-800:#7f5001;--honey-900:#6a4101;--honey-950:#3b2200;--sun-50:#fffaf0;--sun-100:#fff5e1;--sun-200:#ffebc0;--sun-300:#ffdb8d;--sun-400:#ffc522;--sun-500:#eab305;--sun-600:#be9102;--sun-700:#906d01;--sun-800:#755801;--sun-900:#624900;--sun-950:#372801;--sprout-50:#f4ffeb;--sprout-100:#e5fecf;--sprout-200:#cdfca1;--sprout-300:#aff65e;--sprout-400:#94e701;--sprout-500:#83cc01;--sprout-600:#67a302;--sprout-700:#4e7c00;--sprout-800:#3d6301;--sprout-900:#35530e;--sprout-950:#1a2e02;--fern-50:#ecfdf4;--fern-100:#d0fae4;--fern-200:#a6f4cd;--fern-300:#64e9b0;--fern-400:#05d293;--fern-500:#04b981;--fern-600:#049668;--fern-700:#027852;--fern-800:#006041;--fern-900:#0b4e35;--fern-950:#062c1d;--lagoon-50:#f0fdfa;--lagoon-100:#cbfbf2;--lagoon-200:#94f7e7;--lagoon-300:#44ecd7;--lagoon-400:#08d2be;--lagoon-500:#06b8a6;--lagoon-600:#019586;--lagoon-700:#01776b;--lagoon-800:#005f55;--lagoon-900:#0f4f47;--lagoon-950:#052f2a;--glacier-50:#f1fcff;--glacier-100:#d8f7ff;--glacier-200:#b2efff;--glacier-300:#75e5ff;--glacier-400:#04d0f1;--glacier-500:#03b6d4;--glacier-600:#0492ab;--glacier-700:#047689;--glacier-800:#026071;--glacier-900:#01505f;--glacier-950:#01353f;--lake-50:#f0f9ff;--lake-100:#dff2fe;--lake-200:#bde5ff;--lake-300:#87d1ff;--lake-400:#2fb9ff;--lake-500:#03a5e9;--lake-600:#0286be;--lake-700:#016b99;--lake-800:#025a81;--lake-900:#014b6d;--lake-950:#003048;--ocean-50:#f0f6ff;--ocean-100:#dce9ff;--ocean-200:#c3daff;--ocean-300:#9cc2ff;--ocean-400:#669fff;--ocean-500:#3380ff;--ocean-600:#0164ee;--ocean-700:#0055cd;--ocean-800:#0045aa;--ocean-900:#063c8e;--ocean-950:#0b2755;--twilight-50:#edf2fe;--twilight-100:#dee8ff;--twilight-200:#c2d4ff;--twilight-300:#9bb7ff;--twilight-400:#698eff;--twilight-500:#4569ff;--twilight-600:#2d45f9;--twilight-700:#2538d9;--twilight-800:#1e32ad;--twilight-900:#1e3287;--twilight-950:#111e4e;--iris-50:#fbf5fe;--iris-100:#f5e7fd;--iris-200:#eed3fd;--iris-300:#e1affe;--iris-400:#ce75fb;--iris-500:#be3cf6;--iris-600:#aa02e3;--iris-700:#9100c2;--iris-800:#7a00a4;--iris-900:#620f83;--iris-950:#43005d;--orchid-50:#fdf4fe;--orchid-100:#fbe7fe;--orchid-200:#f7cffd;--orchid-300:#f3a8ff;--orchid-400:#eb6eff;--orchid-500:#e12bfb;--orchid-600:#c402dc;--orchid-700:#a400b9;--orchid-800:#870699;--orchid-900:#6f167c;--orchid-950:#490253;--blossom-50:#fef2f6;--blossom-100:#fee7ef;--blossom-200:#ffcee0;--blossom-300:#ffa6ca;--blossom-400:#ff63ad;--blossom-500:#f6339b;--blossom-600:#df0288;--blossom-700:#be0073;--blossom-800:#9e045f;--blossom-900:#83134f;--blossom-950:#4f062d;--font-sans:"Noto Sans JP",sans-serif;--fw-bold:700;--fw-medium:500;--fw-regular:400;--lh-heading:1.4;--lh-table:1.5;--lh-body:1.6;--lh-app:1.5;--fs-cover:112px;--fs-cover-sub:40px;--fs-h1:64px;--fs-key:48px;--fs-key-long:40px;--fs-sub:34px;--fs-card:32px;--fs-body:28px;--fs-table:26px;--fs-note:24px;--fs-arrow:40px;--fs-footer:20px;--fs-stat:72px;--fs-app-stat:40px;--fs-app-h1:32px;--fs-app-h2:24px;--fs-app-h3:20px;--fs-app-body:16px;--fs-app-sub:14px;--fs-app-note:12px;--space-2xs:4px;--space-xs:8px;--space-s:16px;--space-m:24px;--space-l:32px;--space-xl:40px;--space-2xl:48px;--space-3xl:64px;--radius-card:12px;--radius-app-card:8px;--radius-bar:8px;--radius-pill:999px;--border:2px;--slide-w:1920px;--slide-h:1080px;--pad-top:96px;--pad-x:96px;--pad-bottom:80px;--gap:40px;--footer-bottom:40px;--app-pad-x:16px;--app-pad-x-wide:24px;--app-max-w:1200px;--app-sidebar:240px;--app-mobile:768px;--badge-num:56px;--arrow-col:72px;--table-label-col:360px;--profile-label-col:180px;--bg:var(--rock-50);--surface:var(--white);--surface-2:var(--rock-100);--line:var(--rock-200);--text:var(--rock-800);--heading:var(--rock-900);--text-sub:var(--rock-600);--text-note:var(--rock-500);--accent:var(--idea-600);--accent-text:var(--idea-800);--accent-bg:var(--idea-50);--primary:var(--idea-700);--primary-hover:var(--idea-800);--on-primary:var(--white);--up:var(--forest-700);--down:var(--lava-600);--info:var(--technology-600);--chart-1:var(--idea-500);--chart-2:var(--technology-500);--chart-3:var(--rock-400);--chart-4:var(--idea-800);--chart-grid:var(--line);--chart-stroke:3px;--chart-point:8px}[data-theme=dark]{--bg:var(--rock-950);--surface:var(--rock-900);--surface-2:var(--rock-800);--line:var(--rock-700);--text:var(--rock-200);--heading:var(--rock-50);--text-sub:var(--rock-300);--text-note:var(--rock-400);--accent:var(--idea-400);--accent-text:var(--idea-300);--accent-bg:var(--rock-800);--primary:var(--idea-500);--primary-hover:var(--idea-400);--on-primary:var(--rock-900);--up:var(--forest-400);--down:var(--lava-400);--info:var(--technology-400);--chart-1:var(--idea-400);--chart-2:var(--technology-400);--chart-3:var(--rock-400);--chart-4:var(--idea-300)}:root{--site-topbar-h:64px;--site-logo-h:44px;--site-sidebar-w:280px;--site-toc-w:224px;--site-content-max:832px;--site-shell-max:1536px;--site-drawer-w:320px;--site-rule:1px;--site-fs-display:40px;--site-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, var(--font-sans);--site-swatch-min:56px;--site-search-w:224px;--site-dialog-w:640px;--site-dialog-h:560px;--site-code-collapsed-h:320px;--site-card-min:280px;--site-specimen-label-w:200px}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--site-topbar-h) + var(--space-m));-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-app-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit}code,kbd,pre{font-family:var(--site-font-mono)}:focus-visible{outline:var(--border) solid var(--accent);outline-offset:var(--space-2xs);border-radius:var(--space-2xs)}.skip{left:var(--space-s);top:calc(-1 * var(--site-topbar-h));background:var(--primary);color:var(--on-primary);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-bar);z-index:100;text-decoration:none;position:absolute}.skip:focus{top:var(--space-s)}[hidden]{display:none!important}.topbar{z-index:40;height:var(--site-topbar-h);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(var(--space-xs));border-bottom:var(--site-rule) solid var(--line);position:sticky;top:0}.topbar-inner{max-width:var(--site-shell-max);align-items:center;gap:var(--space-s);height:100%;padding:0 var(--space-l);margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-xs);font-weight:var(--fw-bold);color:var(--heading);white-space:nowrap;font-size:var(--fs-app-body);text-decoration:none;display:inline-flex}.brand-sub{font-weight:var(--fw-medium);color:var(--text-sub)}.brand-logo{height:var(--site-logo-h);width:auto;margin:0 calc(-1 * var(--space-xs));display:block}.brand-logo--white,[data-theme=dark] .brand-logo--color{display:none}[data-theme=dark] .brand-logo--white{display:block}.topbar-actions{align-items:center;gap:var(--space-xs);margin-left:auto;display:flex}.icon-btn{width:var(--space-2xl);height:var(--space-2xl);color:var(--text-sub);border-radius:var(--radius-bar);cursor:pointer;background:0 0;border:0;place-items:center;margin:0;padding:0;display:inline-grid}.icon-btn:hover{color:var(--heading);background:var(--surface-2)}[data-theme-toggle] .i-moon,[data-theme=dark] [data-theme-toggle] .i-sun{display:none}[data-theme=dark] [data-theme-toggle] .i-moon{display:block}.menu-btn{margin-left:calc(-1 * var(--space-xs));display:none}.search-btn{align-items:center;gap:var(--space-xs);height:var(--space-xl);min-width:var(--site-search-w);padding:0 var(--space-xs) 0 var(--space-s);border:var(--site-rule) solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-sub);font:inherit;font-size:var(--fs-app-sub);cursor:pointer;display:inline-flex}.search-btn:hover{border-color:var(--text-note);color:var(--heading)}.search-btn-label{text-align:left;flex:1}.search-kbd{font-size:var(--fs-app-note);color:var(--text-sub);border:var(--site-rule) solid var(--line);border-radius:var(--space-2xs);padding:0 var(--space-xs);line-height:var(--lh-app)}.shell{max-width:var(--site-shell-max);grid-template-columns:var(--site-sidebar-w) minmax(0, 1fr);margin:0 auto;display:grid}@media (width>=1280px){.shell{grid-template-columns:var(--site-sidebar-w) minmax(0, 1fr) var(--site-toc-w)}}.sidebar{top:var(--site-topbar-h);height:calc(100vh - var(--site-topbar-h));overscroll-behavior:contain;padding:var(--space-xl) var(--space-m) var(--space-3xl) var(--space-l);border-right:var(--site-rule) solid var(--line);scrollbar-width:thin;position:sticky;overflow-y:auto}.sidebar-head{display:none}.nav-section+.nav-section{margin-top:var(--space-l)}.nav-section-title{margin:0 0 var(--space-xs);font-size:var(--fs-app-sub);font-weight:var(--fw-bold);line-height:var(--lh-app);color:var(--heading)}.nav-group+.nav-group{margin-top:var(--space-s)}.nav-group-title{margin:0 0 var(--space-2xs);font-size:var(--fs-app-note);font-weight:var(--fw-medium);line-height:var(--lh-app);color:var(--text-note)}.nav-list{border-left:var(--site-rule) solid var(--line);margin:0;padding:0;list-style:none}.nav-link{margin-left:calc(-1 * var(--site-rule));padding:var(--space-2xs) 0 var(--space-2xs) var(--space-s);border-left:var(--site-rule) solid transparent;font-size:var(--fs-app-sub);line-height:var(--lh-app);color:var(--text-sub);text-decoration:none;display:block}.nav-link:hover{color:var(--heading);border-left-color:var(--text-note)}.nav-link.active{color:var(--accent-text);border-left-color:var(--accent);font-weight:var(--fw-medium)}.nav-row{align-items:center;display:flex}.nav-row .nav-link{flex:1;min-width:0}.nav-toggle{width:var(--space-m);height:var(--space-m);border-radius:var(--space-2xs);color:var(--text-note);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin:0;padding:0;display:inline-grid}.nav-toggle:hover{color:var(--heading);background:var(--surface-2)}.nav-toggle svg{transition:transform .15s}.nav-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.nav-sub{margin:0 0 var(--space-2xs);padding:0 0 0 var(--space-s);list-style:none}.nav-sub-link{padding:var(--space-2xs) 0 var(--space-2xs) var(--space-s);border-left:var(--site-rule) solid var(--line);font-size:var(--fs-app-note);line-height:var(--lh-app);color:var(--text-note);text-decoration:none;display:block}.nav-sub-link:hover{color:var(--heading);border-left-color:var(--text-note)}.nav-sub-link.active{color:var(--accent-text);border-left-color:var(--accent)}.main{min-width:0;padding:var(--space-2xl) var(--space-3xl) var(--space-3xl)}.article{max-width:var(--site-content-max)}.main--home .article{max-width:none}.page-header{margin-bottom:var(--space-2xl)}.eyebrow{margin:0 0 var(--space-xs);font-size:var(--fs-app-sub);font-weight:var(--fw-bold);line-height:var(--lh-app);color:var(--accent-text)}.page-title{color:var(--heading);font-size:var(--site-fs-display);font-weight:var(--fw-bold);line-height:var(--lh-heading);margin:0}.lead{margin:var(--space-s) 0 0;font-size:var(--fs-app-h3);line-height:var(--lh-body);color:var(--text-sub)}.sources{align-items:center;gap:var(--space-xs);margin:var(--space-m) 0 0;font-size:var(--fs-app-note);color:var(--text-sub);flex-wrap:wrap;display:flex}.sources code{font-size:var(--fs-app-note);color:var(--text-sub);border:var(--site-rule) solid var(--line);border-radius:var(--radius-pill);padding:0 var(--space-xs);background:var(--surface)}.toc{display:none}@media (width>=1280px){.toc{display:block}.toc-inner{top:var(--site-topbar-h);max-height:calc(100vh - var(--site-topbar-h));padding:var(--space-2xl) var(--space-l) var(--space-2xl) 0;scrollbar-width:thin;position:sticky;overflow-y:auto}}.toc-title{margin:0 0 var(--space-s);font-size:var(--fs-app-sub);font-weight:var(--fw-bold);color:var(--heading)}.toc-list{margin:0;padding:0;list-style:none}.toc-list a{padding:var(--space-2xs) 0;font-size:var(--fs-app-sub);line-height:var(--lh-app);color:var(--text-sub);text-decoration:none;display:block}.toc-list .toc-d3 a{padding-left:var(--space-s)}.toc-list a:hover{color:var(--heading)}.toc-list a.active{color:var(--accent-text);font-weight:var(--fw-medium)}.prevnext{max-width:var(--site-content-max);gap:var(--space-s);margin-top:var(--space-3xl);padding-top:var(--space-l);border-top:var(--site-rule) solid var(--line);grid-template-columns:1fr 1fr;display:grid}.prevnext-link{gap:var(--space-2xs);padding:var(--space-xs) 0;flex-direction:column;text-decoration:none;display:flex}.prevnext-link--next{text-align:right;grid-column:2}.prevnext-dir{font-size:var(--fs-app-note);color:var(--text-sub)}.prevnext-title{font-weight:var(--fw-medium);color:var(--heading)}.prevnext-link:hover .prevnext-title{color:var(--accent-text)}.prose{color:var(--text)}.prose>h1:first-child{display:none}.prose h2{margin:var(--space-3xl) 0 var(--space-s);font-size:var(--fs-app-h2);line-height:var(--lh-heading);color:var(--heading);font-weight:var(--fw-bold);padding-top:0}.prose h3{margin:var(--space-2xl) 0 var(--space-xs);font-size:var(--fs-app-h3);line-height:var(--lh-heading);color:var(--heading)}.prose h4{margin:var(--space-l) 0 var(--space-xs);font-size:var(--fs-app-body);color:var(--heading)}.prose>:first-child,.prose>h1:first-child+*{margin-top:0}.prose p{margin:var(--space-s) 0}.prose ul,.prose ol{margin:var(--space-s) 0;padding-left:var(--space-m)}.prose li{margin:var(--space-xs) 0;padding-left:var(--space-2xs)}.prose li::marker{color:var(--text-note)}.prose ol>li::marker{color:var(--text-sub);font-variant-numeric:tabular-nums}.prose li>ul,.prose li>ol{margin:var(--space-xs) 0}.prose strong{color:var(--heading);font-weight:var(--fw-bold)}.prose a{color:var(--accent-text);text-underline-offset:var(--space-2xs)}.prose hr{border:0;border-top:var(--site-rule) solid var(--line);margin:var(--space-2xl) 0}.prose blockquote{margin:var(--space-m) 0;padding-left:var(--space-s);border-left:var(--border) solid var(--line);color:var(--text-sub)}.prose :not(pre)>code{color:var(--heading);background:var(--surface-2);border-radius:var(--space-2xs);overflow-wrap:anywhere;padding:.1em .35em;font-size:.875em}.prose .table-wrap{margin:var(--space-m) 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-app-sub);line-height:var(--lh-table);font-variant-numeric:tabular-nums}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--space-xs) var(--space-s) var(--space-xs) 0;border-bottom:var(--site-rule) solid var(--line)}.prose thead th{color:var(--heading);font-weight:var(--fw-bold);border-bottom-color:var(--text-note);white-space:nowrap}.prose td:first-child{white-space:nowrap;color:var(--heading)}.prose th:last-child,.prose td:last-child{padding-right:0}.code{margin:var(--space-m) 0;border-radius:var(--radius-card);background:var(--rock-900);border:var(--site-rule) solid var(--rock-800);position:relative;overflow:hidden}[data-theme=dark] .code{border-color:var(--line)}.code--attached{border-radius:0 0 var(--radius-card) var(--radius-card);border-top:0;margin:0}.code-bar{justify-content:space-between;align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-s);border-bottom:var(--site-rule) solid var(--rock-800);font-size:var(--fs-app-note);color:var(--rock-400);display:flex}.code-name{font-family:var(--site-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-copy{align-items:center;gap:var(--space-2xs);color:var(--rock-300);font:inherit;font-size:var(--fs-app-note);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-bar);cursor:pointer;white-space:nowrap;background:0 0;border:0;display:inline-flex}.code-copy:hover{background:var(--rock-800);color:var(--rock-50)}.code-copy:focus-visible{outline-color:var(--idea-400)}.code-body pre,.prose pre.astro-code{padding:var(--space-s) var(--space-m) var(--space-m);font-size:var(--fs-app-sub);line-height:var(--lh-body);tab-size:2;scrollbar-width:thin;scrollbar-color:var(--rock-700) transparent;margin:0;overflow-x:auto}.code-body pre:focus-visible{outline-offset:calc(-1 * var(--border))}.code.is-collapsed .code-body{max-height:var(--site-code-collapsed-h);overflow:hidden}.code.is-collapsed .code-body:after{content:"";left:0;right:0;bottom:var(--space-2xl);height:var(--space-3xl);background:linear-gradient(transparent, var(--rock-900));pointer-events:none;position:absolute}.code-more{border:0;border-top:var(--site-rule) solid var(--rock-800);background:var(--rock-900);width:100%;color:var(--rock-200);font:inherit;font-size:var(--fs-app-sub);padding:var(--space-xs);cursor:pointer;display:block;position:relative}.code-more:hover{color:var(--rock-50);background:var(--rock-800)}.code-more:focus-visible{outline-color:var(--idea-400);outline-offset:calc(-1 * var(--border))}.example{margin:var(--space-l) 0 0}.preview{border:var(--site-rule) solid var(--line);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--surface);overflow:hidden}.preview:last-child{border-radius:var(--radius-card)}.preview-bar{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-s);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-s);border-bottom:var(--site-rule) solid var(--line);font-size:var(--fs-app-note);flex-wrap:wrap;display:flex}.preview-info{color:var(--text-sub);font-variant-numeric:tabular-nums}.preview-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-left:auto;display:flex}.preview-scale{color:var(--text-sub);font-variant-numeric:tabular-nums;text-align:right;min-width:3em}.preview-scale:empty{display:none}.preview-open{align-items:center;gap:var(--space-2xs);color:var(--text-sub);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-bar);text-decoration:none;display:inline-flex}.preview-open:hover{color:var(--heading);background:var(--surface-2)}.preview-canvas{padding:var(--space-l);background-color:var(--surface-2);background-image:radial-gradient(var(--line) var(--site-rule), transparent var(--site-rule));background-size:var(--space-s) var(--space-s);justify-content:center;align-items:flex-start;display:flex;overflow:hidden}.preview[data-kind=slide] .preview-canvas,.preview[data-kind=slide-fixed] .preview-canvas{padding:var(--space-m)}.preview-viewport{border-radius:var(--radius-bar);box-shadow:0 0 0 var(--site-rule) var(--line);background:var(--bg);flex:none;position:relative;overflow:hidden}.preview-viewport iframe{transform-origin:0 0;background:0 0;border:0;display:block;position:absolute;top:0;left:0}.seg{gap:var(--space-2xs);padding:var(--space-2xs);border-radius:var(--radius-pill);background:var(--surface-2);display:inline-flex}.seg-btn{color:var(--text-sub);font:inherit;font-size:var(--fs-app-note);font-weight:var(--fw-medium);line-height:var(--lh-app);padding:var(--space-2xs) var(--space-s);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;border:0}.seg-btn:hover{color:var(--heading)}.seg-btn[aria-pressed=true]{background:var(--surface);color:var(--heading);box-shadow:0 0 0 var(--site-rule) var(--line)}.seg-num{margin-left:var(--space-2xs);color:var(--text-sub);font-variant-numeric:tabular-nums}.item{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:var(--site-rule) solid var(--line)}.item:first-of-type{margin-top:0}.item-head{align-items:baseline;gap:var(--space-2xs) var(--space-s);flex-wrap:wrap;display:flex}.item-title{font-size:var(--fs-app-h2);line-height:var(--lh-heading);color:var(--heading);margin:0}.item-file{font-size:var(--fs-app-note);color:var(--text-sub)}.item-desc{margin:var(--space-xs) 0 0;color:var(--text)}.meta{gap:var(--space-xs) var(--space-m);margin:var(--space-s) 0 0;font-size:var(--fs-app-sub);flex-wrap:wrap;display:flex}.meta div{gap:var(--space-xs);display:flex}.meta dt{color:var(--text-sub)}.meta dd{color:var(--heading);margin:0}.section{margin-top:var(--space-3xl)}.section:first-child{margin-top:0}.section-title{margin:0 0 var(--space-xs);font-size:var(--fs-app-h2);line-height:var(--lh-heading);color:var(--heading)}.section-lead{margin:0 0 var(--space-m);color:var(--text-sub);font-size:var(--fs-app-sub)}.toolbar{align-items:center;gap:var(--space-xs) var(--space-s);margin:0 0 var(--space-m);font-size:var(--fs-app-sub);color:var(--text-sub);flex-wrap:wrap;display:flex}.family{margin-top:var(--space-2xl)}.family-head{align-items:baseline;gap:var(--space-2xs) var(--space-s);margin-bottom:var(--space-s);flex-wrap:wrap;display:flex}.family-title{font-size:var(--fs-app-h3);color:var(--heading);line-height:var(--lh-heading);margin:0}.family-note{font-size:var(--fs-app-sub);color:var(--text-sub)}.swatches{gap:var(--space-s) var(--space-xs);grid-template-columns:repeat(var(--cols,11), minmax(0, 1fr));display:grid}.swatch{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.swatch--none{visibility:hidden}.chip{aspect-ratio:1;border-radius:var(--radius-bar);cursor:pointer;width:100%;box-shadow:inset 0 0 0 var(--site-rule) color-mix(in srgb, var(--rock-950) 10%, transparent);border:0;margin:0;padding:0;transition:transform .12s;display:block}[data-theme=dark] .chip{box-shadow:inset 0 0 0 var(--site-rule) color-mix(in srgb, var(--white) 12%, transparent)}.chip:hover{transform:scale(1.04)}.swatch-name{text-align:left;cursor:pointer;font:inherit;font-size:var(--fs-app-note);font-weight:var(--fw-bold);line-height:var(--lh-app);color:var(--heading);background:0 0;border:0;margin:0;padding:0}.swatch-name:hover{color:var(--accent-text)}.swatch-hex{font-family:var(--site-font-mono);font-size:var(--fs-app-note);line-height:var(--lh-app);color:var(--text-sub);display:block}.ttable-wrap{margin-top:var(--space-m);overflow-x:auto}.ttable{border-collapse:collapse;width:100%;font-size:var(--fs-app-sub);line-height:var(--lh-table);font-variant-numeric:tabular-nums}.ttable th,.ttable td{text-align:left;vertical-align:top;padding:var(--space-xs) var(--space-s) var(--space-xs) 0;border-bottom:var(--site-rule) solid var(--line)}.ttable thead th{color:var(--heading);font-weight:var(--fw-bold);border-bottom-color:var(--text-note);white-space:nowrap}.ttable td:last-child,.ttable th:last-child{padding-right:0}.ttable code{font-size:var(--fs-app-note);color:var(--heading);white-space:nowrap}.nowrap{white-space:nowrap}.dot{width:var(--space-s);height:var(--space-s);border-radius:var(--space-2xs);vertical-align:-.15em;margin-right:var(--space-xs);box-shadow:inset 0 0 0 var(--site-rule) color-mix(in srgb, var(--rock-950) 12%, transparent);display:inline-block}.grade{white-space:nowrap}.grade-mark{width:1.2em;color:var(--heading);font-weight:var(--fw-bold);display:inline-block}.sub{color:var(--text-sub)}.semantic{border-top:var(--site-rule) solid var(--line);flex-direction:column;display:flex}.sem-row{gap:var(--space-s);padding:var(--space-s) 0;border-bottom:var(--site-rule) solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.2fr);align-items:start;display:grid}.sem-head{font-size:var(--fs-app-sub);font-weight:var(--fw-bold);color:var(--heading);padding:var(--space-xs) 0}.sem-name code{font-size:var(--fs-app-sub);color:var(--heading);font-weight:var(--fw-bold)}.sem-role{margin:var(--space-2xs) 0 0;font-size:var(--fs-app-note);color:var(--text-sub);line-height:var(--lh-app)}.sem-cell{border-radius:var(--radius-bar);padding:var(--space-xs) var(--space-s);background:var(--bg);color:var(--text);box-shadow:inset 0 0 0 var(--site-rule) var(--line);gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.sem-ref{align-items:center;gap:var(--space-xs);font-size:var(--fs-app-note);line-height:var(--lh-app);min-width:0;display:flex}.sem-ref b{color:var(--heading);font-weight:var(--fw-medium)}.sem-ref span{color:var(--text-sub);font-family:var(--site-font-mono)}.sem-chip{width:var(--space-l);height:var(--space-l);border-radius:var(--radius-bar);box-shadow:inset 0 0 0 var(--site-rule) var(--line);flex:none}.sem-sample{border-radius:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);font-size:var(--fs-app-sub);font-weight:var(--fw-bold);line-height:var(--lh-app);justify-content:space-between;gap:var(--space-xs);flex-wrap:wrap;display:flex}.sem-sample small{font-weight:var(--fw-regular);font-size:var(--fs-app-note)}.sem-label{display:none}.specimens{border-top:var(--site-rule) solid var(--line)}.specimen{grid-template-columns:var(--site-specimen-label-w) minmax(0, 1fr);gap:var(--space-m);padding:var(--space-m) 0;border-bottom:var(--site-rule) solid var(--line);align-items:center;display:grid}.specimen-meta{gap:var(--space-2xs);font-size:var(--fs-app-note);line-height:var(--lh-app);color:var(--text-sub);flex-direction:column;display:flex}.specimen-meta b{font-size:var(--fs-app-sub);color:var(--heading);font-weight:var(--fw-bold)}.specimen-meta code{color:var(--text-sub)}.specimen-text{color:var(--heading);line-height:var(--lh-heading);white-space:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.weights{gap:var(--space-s);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weight-card{border:var(--site-rule) solid var(--line);border-radius:var(--radius-card);padding:var(--space-m);background:var(--surface)}.weight-sample{font-size:var(--fs-app-stat);line-height:var(--lh-heading);color:var(--heading)}.weight-meta{margin-top:var(--space-xs);font-size:var(--fs-app-note);color:var(--text-sub)}.bar{height:var(--space-s);background:var(--accent);border-radius:var(--space-2xs);max-width:100%}.shape{width:calc(2 * var(--space-2xl));height:var(--space-3xl);background:var(--surface-2);box-shadow:inset 0 0 0 var(--site-rule) var(--line)}.prose-divider{margin:var(--space-3xl) 0 var(--space-l);padding-top:var(--space-l);border-top:var(--site-rule) solid var(--line)}.prose-divider .section-title{margin:0}.hero{padding:var(--space-xl) 0 var(--space-2xl);max-width:var(--site-content-max)}.hero-title{font-size:var(--site-fs-display);line-height:var(--lh-heading);color:var(--heading);margin:0}.hero-lead{margin:var(--space-s) 0 0;font-size:var(--fs-app-h3);color:var(--text-sub)}.cards{grid-template-columns:repeat(auto-fill, minmax(var(--site-card-min), 1fr));gap:var(--space-s);display:grid}.card{gap:var(--space-xs);padding:var(--space-m);border:var(--site-rule) solid var(--line);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;display:flex}.card-title{font-size:var(--fs-app-h3);color:var(--heading);line-height:var(--lh-heading);margin:0}.card-count{font-size:var(--fs-app-note);color:var(--text-sub)}.card-links{margin:var(--space-xs) 0 0;gap:var(--space-2xs);font-size:var(--fs-app-sub);flex-direction:column;padding:0;list-style:none;display:flex}.card-links a{color:var(--text-sub);text-decoration:none}.card-links a:hover{color:var(--accent-text);text-decoration:underline}.card-first{padding-top:var(--space-s);font-size:var(--fs-app-sub);font-weight:var(--fw-medium);color:var(--accent-text);margin-top:auto;text-decoration:none}.card-first:hover{text-decoration:underline}.search-dialog{width:min(var(--site-dialog-w), calc(100vw - 2 * var(--space-s)));max-height:min(var(--site-dialog-h), calc(100vh - 2 * var(--space-3xl)));margin:var(--space-3xl) auto auto;border:var(--site-rule) solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:0 var(--space-s) var(--space-2xl) color-mix(in srgb, var(--rock-950) 20%, transparent);padding:0}.search-dialog::backdrop{background:color-mix(in srgb, var(--rock-950) 40%, transparent);backdrop-filter:blur(2px)}.search-panel{max-height:inherit;flex-direction:column;display:flex}.search-field{align-items:center;gap:var(--space-xs);padding:0 var(--space-s);border-bottom:var(--site-rule) solid var(--line);color:var(--text-sub);display:flex}.search-field input{min-width:0;height:var(--space-3xl);font:inherit;font-size:var(--fs-app-body);color:var(--heading);background:0 0;border:0;outline:0;flex:1}.search-field input::placeholder{color:var(--text-sub)}.search-field input::-webkit-search-cancel-button{display:none}.search-esc{border:var(--site-rule) solid var(--line);color:var(--text-sub);font:inherit;font-size:var(--fs-app-note);border-radius:var(--space-2xs);padding:0 var(--space-xs);cursor:pointer;background:0 0}.search-results{padding:var(--space-xs);overflow-y:auto}.search-msg{padding:var(--space-m) var(--space-s);font-size:var(--fs-app-sub);color:var(--text-sub);margin:0}.search-hit{gap:var(--space-2xs);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-bar);flex-direction:column;text-decoration:none;display:flex}.search-hit[aria-selected=true],.search-hit:hover{background:var(--surface-2)}.search-hit-section{font-size:var(--fs-app-note);color:var(--text-sub)}.search-hit-title{font-weight:var(--fw-bold);color:var(--heading)}.search-hit-excerpt{font-size:var(--fs-app-sub);color:var(--text-sub);line-height:var(--lh-app)}.search-hit-excerpt mark{color:var(--accent-text);font-weight:var(--fw-bold);background:0 0}.toast{left:50%;bottom:var(--space-l);z-index:60;transform:translate(-50%, var(--space-s));opacity:0;pointer-events:none;background:var(--heading);color:var(--bg);font-size:var(--fs-app-sub);font-weight:var(--fw-medium);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-pill);max-width:calc(100vw - 2 * var(--space-s));transition:opacity .15s,transform .15s;position:fixed}.toast.is-on{opacity:1;transform:translate(-50%)}@media (width<=1023px){.shell{grid-template-columns:minmax(0,1fr)}.menu-btn{display:inline-grid}.sidebar{z-index:50;width:min(var(--site-drawer-w), 85vw);background:var(--bg);border-right:var(--site-rule) solid var(--line);height:auto;padding:0 var(--space-m) var(--space-3xl);visibility:hidden;transition:transform .2s,visibility .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:none}.sidebar-head{height:var(--site-topbar-h);margin-bottom:var(--space-xs);background:var(--bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sidebar-title{font-weight:var(--fw-bold);color:var(--heading)}.drawer-scrim{z-index:45;background:color-mix(in srgb, var(--rock-950) 40%, transparent);position:fixed;inset:0}.main{padding:var(--space-xl) var(--space-l) var(--space-3xl)}}@media (width<=767px){.topbar-inner{padding:0 var(--space-s);gap:var(--space-xs)}.brand-sub{display:none}.search-btn{min-width:0;width:var(--space-2xl);height:var(--space-2xl);background:0 0;border:0;justify-content:center;padding:0}.search-btn-label,.search-kbd{display:none}.main{padding:var(--space-l) var(--space-s) var(--space-3xl)}.page-title,.hero-title{font-size:var(--fs-app-h1)}.lead,.hero-lead{font-size:var(--fs-app-body)}.page-header{margin-bottom:var(--space-xl)}.prose h2,.section{margin-top:var(--space-2xl)}.item{margin-top:var(--space-2xl);padding-top:var(--space-l)}.preview-canvas{padding:var(--space-s)}.preview[data-kind=slide] .preview-canvas,.preview[data-kind=slide-fixed] .preview-canvas{padding:var(--space-xs)}.seg-num{display:none}.code-body pre,.prose pre.astro-code{padding:var(--space-s);font-size:var(--fs-app-note)}.swatches{grid-template-columns:repeat(auto-fill, minmax(var(--site-swatch-min), 1fr))}.swatch--none{display:none}.sem-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sem-row .sem-name{grid-column:1/-1}.sem-head{display:none}.sem-label{font-size:var(--fs-app-note);color:var(--text-sub);font-weight:var(--fw-medium);display:block}.specimen{gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.weights{grid-template-columns:minmax(0,1fr)}.prevnext-title{font-size:var(--fs-app-sub)}}
