:root{--font-family-sans:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-weight-regular:400;--font-weight-bold:700;--font-line-height-tight:1.3;--font-line-height-ui:1.5;--font-line-height-body:1.75;--typography-title-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-title-font-size:1.5rem;--typography-title-font-weight:700;--typography-title-letter-spacing:0px;--typography-title-line-height:1.3;--typography-heading-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-heading-font-size:1.25rem;--typography-heading-font-weight:700;--typography-heading-letter-spacing:0px;--typography-heading-line-height:1.3;--typography-body-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-body-font-size:1rem;--typography-body-font-weight:400;--typography-body-letter-spacing:0px;--typography-body-line-height:1.75;--typography-ui-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-ui-font-size:1rem;--typography-ui-font-weight:400;--typography-ui-letter-spacing:0px;--typography-ui-line-height:1.5;--typography-control-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-control-font-size:1rem;--typography-control-font-weight:700;--typography-control-letter-spacing:0px;--typography-control-line-height:1.5;--typography-caption-font-family:"LINE Seed JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--typography-caption-font-size:.875rem;--typography-caption-font-weight:400;--typography-caption-letter-spacing:0px;--typography-caption-line-height:1.5;--space-page-inline:1.5rem;--space-section:2.5rem}@font-face{font-family:LINE Seed JP;src:url(/tokens/typography/fonts/LINESeedJP-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:LINE Seed JP;src:url(/tokens/typography/fonts/LINESeedJP-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:optional}:root{--color-primary:#2b2b2b;--color-on-primary:#fffdf9;--color-primary-text:#4d4d4d;--color-primary-container:#e6e6e6;--color-on-primary-container:#201d1b;--color-secondary:#c9171e;--color-on-secondary:#fffdf9;--color-secondary-container:#f9d2d4;--color-on-secondary-container:#201d1b;--color-tertiary:#e6b422;--color-on-tertiary:#201d1b;--color-tertiary-container:#f9efd2;--color-on-tertiary-container:#201d1b;--color-background:#f9f8f8;--color-surface:#fefefe;--color-on-surface:#1f1f1f;--color-surface-container:#f0efef;--color-surface-variant:#e3dede;--color-on-surface-variant:#4d4d4d;--color-outline:#757575;--color-focus:#525252;--color-success:#0b6f3a;--color-warning:#786002;--color-error:#9d1d0c}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body,#root{min-height:100%;margin:0}body{color:var(--color-text);background:var(--color-bg);font-family:var(--typography-ui-font-family);font-size:var(--typography-ui-font-size);font-weight:var(--typography-ui-font-weight);letter-spacing:var(--typography-ui-letter-spacing);line-height:var(--typography-ui-line-height)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.app-shell{--cat-bg:var(--color-background,#f9f8f8);--cat-surface:var(--color-surface-container,#f0efef);--cat-text:var(--color-on-surface,#1f1f1f);--cat-muted:var(--color-on-surface-variant,#4d4d4d);--cat-line:var(--color-surface-variant,#e3dede);--cat-line-strong:var(--color-outline,#757575);--cat-accent:var(--color-primary,#2b2b2b);--cat-on-accent:var(--color-on-primary,#fffdf9);--cat-accent-text:var(--color-primary-text,#4d4d4d);--cat-focus:var(--color-focus,#525252);--cat-good:var(--color-success,#0b6f3a);--cat-bad:var(--color-error,#9d1d0c);--cat-number:clamp(3.5rem, 10vw, 8rem);--cat-display:clamp(2.625rem, 7vw, 6rem);--cat-h2:var(--typography-title-font-size);--cat-item:var(--font-size-lg);--cat-label:var(--font-size-sm);--cat-gap:.5rem;--cat-gap-lg:1rem;--cat-inline:var(--space-page-inline,1.5rem);--cat-section:var(--space-section,2.5rem);--cat-block:5rem;--cat-radius:.375rem;--cat-tap:2.5rem;--cat-duration:.12s;background:var(--cat-bg);min-block-size:100vh;color:var(--cat-text);font-family:var(--font-family-sans);font-size:var(--typography-body-font-size);line-height:var(--typography-body-line-height);font-feature-settings:"palt";word-break:auto-phrase}.app-shell *,.app-shell :before,.app-shell :after{box-sizing:border-box}.app-shell :focus-visible{outline:2px solid var(--cat-focus);outline-offset:2px;border-radius:2px}.app-shell a{color:inherit;text-decoration:none}@media (prefers-reduced-motion:reduce){.app-shell *{transition:none!important}}.app-shell .skip{z-index:2;background:var(--cat-text);color:var(--cat-bg);border-radius:var(--cat-radius);padding:.5rem 1rem;position:absolute;inset-block-start:-4rem;inset-inline-start:var(--cat-inline)}.app-shell .skip:focus{inset-block-start:.5rem}.app-shell{grid-template-columns:15rem 1fr;align-items:start;display:grid}.app-shell .sidebar{gap:var(--cat-section);block-size:100vh;padding:var(--cat-gap-lg) var(--cat-gap-lg) var(--cat-section);background:var(--cat-bg);border-inline-end:1px solid var(--cat-line);flex-direction:column;display:flex;position:sticky;inset-block-start:0;overflow:auto}.app-shell .sidebar__head{justify-content:space-between;align-items:center;gap:var(--cat-gap);display:flex}.app-shell .sidebar__name{letter-spacing:.02em;white-space:nowrap;font-size:1rem;font-weight:700}.app-shell .sidebar-toggle{inline-size:var(--cat-tap);block-size:var(--cat-tap);border-radius:var(--cat-radius);color:var(--cat-muted);cursor:pointer;transition:color var(--cat-duration) ease;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.app-shell .sidebar-toggle:hover{color:var(--cat-text)}}.app-shell .sidebar-toggle--floating{position:absolute;inset-block-start:var(--cat-gap-lg);inset-inline-start:var(--cat-inline)}.app-shell[data-sidebar=collapsed]{grid-template-columns:1fr}.app-shell[data-sidebar=collapsed] .sidebar{display:none}.app-shell .sidebar__nav{gap:var(--cat-gap-lg);flex-direction:column;display:flex}.app-shell .sidebar__heading{margin:0 0 var(--cat-gap);padding-inline:var(--cat-gap);border-block-end:1px solid var(--cat-line);font-size:var(--cat-label);letter-spacing:.12em;text-transform:uppercase;color:var(--cat-muted);padding-block-end:var(--cat-gap);font-weight:700}.app-shell .sidebar__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-shell .sidebar__link{min-block-size:var(--cat-tap);padding-inline:var(--cat-gap);color:var(--cat-muted);transition:color var(--cat-duration) ease;border-inline-start:2px solid #0000;align-items:center;font-size:1rem;display:flex}.app-shell .sidebar__link[aria-current=page]{color:var(--cat-text);border-inline-start-color:var(--cat-accent-text);font-weight:700}.app-shell .sidebar__link--lone{color:var(--cat-text);font-weight:700}@media (hover:hover) and (pointer:fine){.app-shell .sidebar__link:hover{color:var(--cat-accent-text)}}.app-shell .sidebar .theme{flex-wrap:wrap;margin-block-start:auto}@media (width<60rem){.app-shell,.app-shell[data-sidebar=collapsed]{display:block}.app-shell .sidebar{z-index:1;align-items:center;gap:var(--cat-gap);block-size:auto;padding-block:var(--cat-gap);padding-inline:var(--cat-inline);border-inline-end:0;border-block-end:1px solid var(--cat-line);background:color-mix(in srgb, var(--cat-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:auto 1fr;grid-template-areas:"name theme""nav nav";display:grid}.app-shell .sidebar__head{grid-area:name}.app-shell .sidebar-toggle{display:none}.app-shell[data-sidebar=collapsed] .sidebar{display:grid}.app-shell .sidebar__nav{grid-area:nav;gap:0}.app-shell .sidebar .theme{grid-area:theme;justify-self:end}.app-shell .sidebar__group{align-items:center;gap:var(--cat-gap-lg);min-inline-size:0;display:flex}.app-shell .sidebar__heading{white-space:nowrap;border-block-end:0;flex:none;margin:0;padding-block-end:0;padding-inline:0}.app-shell .sidebar__list{gap:var(--cat-gap-lg);scrollbar-width:none;flex-direction:row;overflow-x:auto}.app-shell .sidebar__link{white-space:nowrap;border-block-end:2px solid #0000;border-inline-start:0}.app-shell .sidebar__link[aria-current=page]{border-inline-start-color:#0000;border-block-end-color:var(--cat-accent-text)}.app-shell .sidebar .theme{flex-wrap:nowrap;margin-block-start:0}}.app-shell .app-main{inline-size:100%;max-inline-size:84rem;padding:var(--cat-block) var(--cat-inline);margin:0 auto;position:relative}.app-shell .app-main>*+*{margin-block-start:var(--cat-block)}.app-shell .app-main>.sidebar-toggle--floating+*{margin-block-start:0}.app-shell .section-title{font-size:var(--cat-h2);letter-spacing:-.01em;border-block-end:2px solid var(--cat-text);margin:0;padding-block-end:var(--cat-gap-lg);font-weight:700;line-height:1.3}.app-shell .live{gap:.5rem;display:grid}.app-shell .live__frame{border:1px solid var(--cat-line);border-radius:var(--cat-radius);background:var(--cat-surface);block-size:16rem;inline-size:100%;display:block}.app-shell .live--tall .live__frame{block-size:30rem}.app-shell .live__caption{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem 1rem;margin:0;font-weight:700;display:flex}.app-shell .live__id{color:var(--cat-text);letter-spacing:.04em}.app-shell .meta{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .75rem;margin:0;font-weight:700;display:flex}.app-shell .meta span+span:before{content:"／";color:var(--cat-line-strong);margin-inline-end:.75rem}.app-shell .detail{column-gap:1.5rem;row-gap:var(--cat-gap-lg);grid-template-columns:repeat(12,1fr);display:grid}.app-shell .detail>*{min-inline-size:0}.app-shell .detail__crumb{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);grid-column:1/-1;gap:.5rem;margin:0;font-weight:700;display:flex}.app-shell .detail__crumb a{color:var(--cat-accent-text)}.app-shell .detail__title{font-size:var(--cat-display);letter-spacing:-.03em;grid-column:1/span 7;margin:0;font-weight:700;line-height:1.06}.app-shell .detail__lead{max-inline-size:36em;color:var(--cat-muted);grid-column:1/span 7;margin:0}.app-shell .detail__live{grid-column:1/span 7;margin-block-start:var(--cat-gap-lg)}.app-shell .detail__side{align-self:start;gap:var(--cat-gap);border-inline-start:1px solid var(--cat-line);grid-area:2/9/span 3/-1;align-content:start;padding-inline-start:1.5rem;display:grid}.app-shell .detail__source{margin:var(--cat-gap) 0 0;font-size:var(--cat-label);color:var(--cat-muted)}.app-shell .detail__source code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app-shell .variants{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.app-shell .variants--row{grid-auto-columns:max-content;grid-auto-flow:column;gap:.5rem}.app-shell .variants__item{appearance:none;inline-size:100%;min-block-size:var(--cat-tap);border-radius:var(--cat-radius);color:var(--cat-muted);font:inherit;text-align:start;cursor:pointer;transition:color var(--cat-duration) ease, background-color var(--cat-duration) ease;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.875rem;display:flex}.app-shell .variants__item[aria-pressed=true]{color:var(--cat-text);background:var(--cat-surface);border-color:var(--cat-line)}.app-shell .variants__id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.app-shell .variants__mark{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-accent-text);flex:none;font-weight:700}.app-shell .btn{min-block-size:var(--cat-tap);border:1px solid var(--cat-text);border-radius:var(--cat-radius);background:var(--cat-text);color:var(--cat-bg);font:inherit;cursor:pointer;transition:background-color var(--cat-duration) ease, border-color var(--cat-duration) ease;justify-content:center;align-items:center;padding:0 1.25rem;font-weight:700;display:inline-flex}.app-shell .btn--quiet{color:var(--cat-text);border-color:var(--cat-line-strong);background:0 0}@media (hover:hover) and (pointer:fine){.app-shell .btn:hover{background:var(--cat-accent);border-color:var(--cat-accent);color:var(--cat-on-accent)}.app-shell .variants__item:hover{color:var(--cat-text);border-color:var(--cat-line-strong)}}@media (width<=60rem){.app-shell .app-main{padding-block:var(--cat-section)}.app-shell .app-main>*+*{margin-block-start:var(--cat-section)}.app-shell .hero__title,.app-shell .hero__lead,.app-shell .hero__live,.app-shell .detail__title,.app-shell .detail__lead,.app-shell .detail__live{grid-column:1/-1}.app-shell .hero__side,.app-shell .detail__side{border-inline-start:0;border-block-start:1px solid var(--cat-line);grid-area:auto/1/auto/-1;padding-block-start:var(--cat-gap-lg);padding-inline-start:0}}@media (width<=40rem){.app-shell .live--tall .live__frame{block-size:20rem}}.app-shell code{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}@media (hover:hover) and (pointer:fine){.app-shell .topic__hit:hover .topic__label{color:var(--cat-accent-text)}}.app-shell .theme{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.app-shell .theme__pick{inline-size:var(--cat-tap);block-size:var(--cat-tap);display:inline-flex;position:relative}.app-shell .theme__label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.app-shell .theme__icon{border:1px solid var(--cat-line);border-radius:var(--cat-radius);background:var(--cat-surface);block-size:100%;inline-size:100%;color:var(--cat-text);transition:border-color var(--cat-duration) ease;place-items:center;display:grid}.app-shell .theme__icon svg{block-size:1.25rem;inline-size:1.25rem}.app-shell .theme__native{appearance:none;opacity:0;block-size:100%;inline-size:100%;font:inherit;cursor:pointer;border:0;padding:0;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.app-shell .theme__pick:hover .theme__icon{border-color:var(--cat-line-strong)}}.app-shell .hero{column-gap:1.5rem;row-gap:var(--cat-gap-lg);grid-template-columns:repeat(12,1fr);display:grid}.app-shell .hero>*{min-inline-size:0}.app-shell .hero__kicker{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem 1rem;margin:0;font-weight:700;display:flex}.app-shell .hero__topic{border-radius:var(--cat-radius);background:var(--cat-accent);min-block-size:1.5rem;color:var(--cat-on-accent);letter-spacing:.06em;align-items:center;padding:0 .5rem;display:inline-flex}.app-shell .hero__title{margin:var(--cat-gap) 0 0;font-size:var(--cat-display);letter-spacing:-.03em;grid-column:1/span 7;font-weight:700;line-height:1.06}.app-shell .hero__lead{max-inline-size:36em;color:var(--cat-muted);grid-column:1/span 7;margin:0}.app-shell .hero__live{grid-column:1/span 7;margin-block-start:var(--cat-gap-lg)}.app-shell .hero__side{align-self:start;gap:var(--cat-gap-lg);border-inline-start:1px solid var(--cat-line);grid-area:2/9/span 3/-1;align-content:start;padding-inline-start:1.5rem;display:grid}.app-shell .hero__action{margin:0}.app-shell .topic-list{margin:var(--cat-section) 0 0;gap:var(--cat-section) 1.5rem;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.app-shell .topic{align-content:start;gap:.5rem;min-inline-size:0;display:grid}.app-shell .topic__hit{min-block-size:var(--cat-tap);border-block-end:2px solid var(--cat-text);justify-content:space-between;align-items:baseline;gap:1rem;padding-block-end:.5rem;display:flex}.app-shell .topic__label{font-size:var(--cat-h2);transition:color var(--cat-duration) ease;font-weight:700;line-height:1.3}.app-shell .topic__count{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.app-shell .topic__lead{color:var(--cat-muted);margin:0;font-size:.875rem;line-height:1.6}.app-shell .token-strip{border:1px solid var(--cat-line);border-radius:var(--cat-radius);background:var(--cat-surface);align-content:start;gap:0;block-size:16rem;padding:.75rem 1rem;display:grid}.app-shell .token-strip__row{justify-content:space-between;gap:1rem;margin:0;padding-block:.5rem;font-size:.875rem;display:flex}.app-shell .token-strip__row+.token-strip__row{border-block-start:1px solid var(--cat-line)}.app-shell .token-strip__name{font-weight:700}.app-shell .token-strip__count{color:var(--cat-muted);font-variant-numeric:tabular-nums}.app-shell .index .section-title{letter-spacing:-.02em;font-size:2rem}.app-shell .index__lead{margin:var(--cat-gap-lg) 0 0;color:var(--cat-muted)}.app-shell .empty{margin:var(--cat-section) 0 0;color:var(--cat-muted)}.app-shell .token-families{gap:var(--cat-block);margin-block-start:var(--cat-section);display:grid}.app-shell .token-family__head{font-size:var(--cat-h2);margin:0 0 .5rem;font-weight:700;line-height:1.3}.app-shell .token-family__source{font-size:var(--cat-label);color:var(--cat-muted);margin:.5rem 0 0}.app-shell .token-table-wrap{margin-block-start:var(--cat-gap-lg);overflow-x:auto}.app-shell .token-table{border-collapse:collapse;inline-size:100%;font-size:.875rem;line-height:1.6}.app-shell .token-table th,.app-shell .token-table td{text-align:start;vertical-align:top;border-block-end:1px solid var(--cat-line);padding:.875rem 1rem .875rem 0}.app-shell .token-table thead th{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);border-block-end-color:var(--cat-line-strong);white-space:nowrap;font-weight:700}.app-shell .token-table tbody th{white-space:nowrap;font-weight:400}.app-shell .token-table__kind{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);margin-block-start:.25rem;font-weight:700;display:block}.app-shell .token-table__value{min-inline-size:14rem;color:var(--cat-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.app-shell .token-table__sample{overflow-wrap:anywhere;min-inline-size:12rem;display:block}.app-shell .token-table__desc{min-inline-size:16rem;color:var(--cat-muted)}@media (width<=60rem){.app-shell .hero__title,.app-shell .hero__lead,.app-shell .hero__live{grid-column:1/-1}.app-shell .hero__side{border-inline-start:0;border-block-start:1px solid var(--cat-line);grid-area:auto/1/auto/-1;padding-block-start:var(--cat-gap-lg);padding-inline-start:0}.app-shell .topic-list{grid-template-columns:repeat(2,1fr)}}@media (width<=40rem){.app-shell .topic-list{grid-template-columns:1fr}.app-shell .token-strip{block-size:auto}}.app-shell .token-table__bar{background:var(--cat-accent);border-radius:1px;block-size:.75rem;display:block}.app-shell .topic-body{gap:var(--cat-block);margin-block-start:var(--cat-section);display:grid}.app-shell .work{gap:var(--cat-gap-lg);display:grid}.app-shell .work-head{border-block-end:2px solid var(--cat-text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding-block-end:.5rem;display:flex}.app-shell .work-head__title{font-size:var(--cat-h2);margin:0;font-weight:700;line-height:1.3}.app-shell .work-head__meta{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .75rem;margin:0;font-weight:700;display:flex}.app-shell .work-head__meta a{color:var(--cat-accent-text)}.app-shell .work-head__meta span+span:before{content:"／";color:var(--cat-line-strong);margin-inline-end:.75rem}.app-shell .specimen{border:1px solid var(--cs-surface-variant);border-radius:var(--cat-radius);background:var(--cs-background);color:var(--cs-on-surface);gap:.5rem;padding:1.25rem;display:grid}.app-shell .specimen__title{font-size:var(--typography-title-font-size);font-weight:700;line-height:var(--typography-title-line-height);margin:0}.app-shell .specimen__body{color:var(--cs-on-surface-variant);margin:0;font-size:.875rem}.app-shell .specimen__row{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;display:flex}.app-shell .specimen__btn{border-radius:var(--cat-radius);background:var(--cs-primary);min-block-size:2.25rem;color:var(--cs-on-primary);align-items:center;padding:0 1rem;font-size:.875rem;font-weight:700;display:inline-flex}.app-shell .specimen__btn--quiet{color:var(--cs-on-surface);border:1px solid var(--cs-outline);background:0 0}.app-shell .specimen__field{border:1px solid var(--cs-outline);border-radius:var(--cat-radius);background:var(--cs-surface);min-block-size:2.25rem;color:var(--cs-on-surface-variant);align-items:center;margin:0;padding:0 .75rem;font-size:.875rem;display:flex}.app-shell .typeface{border-block-end:1px solid var(--cat-line-strong);padding-block-end:var(--cat-gap-lg)}.app-shell .typeface__name{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);margin:0;font-weight:700}.app-shell .typeface__glyphs{letter-spacing:.02em;margin:.5rem 0 0;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.2}.app-shell .roles{margin:0;padding:0;list-style:none}.app-shell .role{gap:var(--cat-gap-lg) var(--cat-section);border-block-end:1px solid var(--cat-line);grid-template-columns:minmax(0,34em) minmax(0,1fr);padding-block:1.5rem;display:grid}.app-shell .role__main{min-inline-size:0}.app-shell .role__name{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-accent-text);margin:0 0 .5rem;font-weight:700}.app-shell .role__spec{font-variant-numeric:tabular-nums;justify-self:end;gap:.25rem;inline-size:15rem;margin:0;font-size:.875rem;display:grid}.app-shell .role__spec-row{border-block-end:1px solid var(--cat-line);grid-template-columns:4rem minmax(0,1fr);gap:.75rem;padding-block:.25rem;display:grid}.app-shell .role__spec-row:last-child{border-block-end:none}.app-shell .role__spec dt{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-weight:700;line-height:var(--font-line-height-ui)}.app-shell .role__spec dd{line-height:var(--font-line-height-ui);margin:0}@media (width<=60rem){.app-shell .role{grid-template-columns:minmax(0,1fr)}.app-shell .role__spec{justify-self:start;inline-size:100%}}.app-shell .role__sample{max-inline-size:30em;margin:0}.app-shell .topic-source{margin:var(--cat-gap-lg) 0 0;font-size:.875rem}.app-shell .topic-source a{color:var(--cat-accent-text);border-block-end:1px solid}.app-shell .role__desc{border-inline-start:2px solid var(--cat-line);max-inline-size:38em;color:var(--cat-muted);margin:.75rem 0 0;padding-inline-start:1rem;font-size:.875rem}.app-shell .svg-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.app-shell .svg-grid--large{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.app-shell .svg-cell{border:1px solid var(--cat-line);border-radius:var(--cat-radius);background:var(--cat-bg);color:var(--cat-text);align-content:center;justify-items:center;gap:.5rem;padding:1.25rem .75rem;display:grid}.app-shell .svg-cell__art{place-items:center;display:grid}.app-shell .svg-cell__art svg{block-size:3rem;inline-size:3rem}.app-shell .svg-grid--large .svg-cell__art svg{block-size:auto;max-block-size:10rem;inline-size:100%}.app-shell .svg-cell__name{color:var(--cat-muted);text-align:center;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem}.app-shell .feature{gap:.75rem;display:grid}.app-shell .feature__bands{border:1px solid var(--cat-line);border-radius:var(--cat-radius);grid-template-rows:repeat(2,1fr);block-size:15rem;display:grid;overflow:hidden}.app-shell .feature__row{min-inline-size:0;margin:0;padding:0;list-style:none;display:flex}.app-shell .feature__band{flex:1 1 0;min-inline-size:0;overflow:hidden}.app-shell .feature__hit{appearance:none;block-size:100%;inline-size:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-content:end;justify-items:start;gap:.125rem;padding:.75rem;display:grid}.app-shell .feature__hex,.app-shell .feature__role,.app-shell .feature__jp{white-space:nowrap;text-overflow:ellipsis;max-inline-size:100%;overflow:hidden}.app-shell .feature__hex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;font-weight:700}.app-shell .feature__role,.app-shell .feature__jp{font-size:var(--cat-label);letter-spacing:.06em;opacity:.75}.app-shell .feature__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;display:flex}.app-shell .feature__name{align-items:baseline;gap:.75rem;margin:0;display:flex}.app-shell .feature__label{font-size:var(--cat-h2);font-weight:700}.app-shell .feature__nav{align-items:center;gap:.75rem;margin:0;display:flex}.app-shell .feature__step{appearance:none;inline-size:8rem;min-block-size:var(--cat-tap);border:1px solid var(--cat-line-strong);border-radius:var(--cat-radius);color:var(--cat-text);font:inherit;cursor:pointer;transition:color var(--cat-duration) ease, border-color var(--cat-duration) ease;background:0 0;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.875rem;font-weight:700;display:inline-flex}.app-shell .feature__step-name{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.app-shell .feature__count{text-align:center;white-space:nowrap;inline-size:4.5rem;font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);font-variant-numeric:tabular-nums;font-weight:700}.app-shell .palette-browse{gap:var(--cat-section);display:grid}.app-shell .palettes{gap:var(--cat-section) 1.5rem;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.app-shell .palette{align-content:start;gap:.5rem;min-inline-size:0;display:grid}.app-shell .bands{border:1px solid var(--cat-line);border-radius:var(--cat-radius);block-size:9rem;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.app-shell .band{min-inline-size:0;transition:flex-grow var(--cat-duration) ease;flex:1 1 0}.app-shell .band__hit{appearance:none;block-size:100%;inline-size:100%;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:.5rem .25rem;display:grid}.app-shell .band__info{opacity:0;transition:opacity var(--cat-duration) ease;justify-items:center;gap:.125rem;display:grid}.app-shell .band:has(.band__hit:focus-visible){flex-grow:3}.app-shell .band__hit:focus-visible .band__info{opacity:1}.app-shell .band__hit:focus-visible{outline-offset:-3px}@media (hover:hover) and (pointer:fine){.app-shell .band:hover{flex-grow:3}.app-shell .band:hover .band__info{opacity:1}.app-shell .feature__step:hover,.app-shell .palette__more:hover{color:var(--cat-accent-text);border-color:var(--cat-accent-text)}}@media (hover:none){.app-shell .band__info{opacity:1}.app-shell .band__hex{font-size:.625rem}.app-shell .band__role{display:none}}.app-shell .band__hex{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:700}.app-shell .band__role{font-size:var(--cat-label);letter-spacing:.06em;opacity:.75;white-space:nowrap}.app-shell .palette__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.app-shell .palette__name{align-items:baseline;gap:.5rem;margin:0;display:flex}.app-shell .palette__label{font-size:var(--cat-item);font-weight:700}.app-shell .palette__more{appearance:none;inline-size:var(--cat-tap);block-size:var(--cat-tap);border-radius:var(--cat-radius);color:var(--cat-muted);cursor:pointer;transition:color var(--cat-duration) ease;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.app-shell .icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;block-size:1.25rem;inline-size:1.25rem}.app-shell .icon__dot{fill:currentColor;stroke:none}.app-shell .detail-panel{align-items:start;gap:var(--cat-gap-lg) var(--cat-section);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));display:grid}.app-shell .role-group{min-inline-size:0}.app-shell .role-group__label{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);margin:0 0 .5rem;font-weight:700}.app-shell .role-list,.app-shell .ratios{gap:0;margin:0;padding:0;list-style:none;display:grid}.app-shell .role-item+.role-item,.app-shell .ratio+.ratio{border-block-start:1px solid var(--cat-line)}.app-shell .role-item__hit{appearance:none;inline-size:100%;min-block-size:var(--cat-tap);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:1.25rem minmax(0,7rem) minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8125rem;display:grid}.app-shell .role-item__chip{border:1px solid var(--cat-line);border-radius:2px;block-size:1.25rem}.app-shell .role-item__role,.app-shell .role-item__jp{overflow-wrap:break-word;min-inline-size:0}.app-shell .role-item__role{color:var(--cat-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.app-shell .role-item__hex{color:var(--cat-muted);overflow-wrap:anywhere;justify-self:end;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem}.app-shell .ratio{font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:baseline;gap:.5rem;padding-block:.375rem;font-size:.8125rem;display:grid}.app-shell .ratio__pair{overflow-wrap:anywhere;min-inline-size:0;color:var(--cat-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.app-shell .ratio__min{color:var(--cat-muted)}.app-shell .ratio__mark{font-weight:700}.app-shell .ratio[data-pass=false] .ratio__mark,.app-shell .ratio[data-pass=false] .ratio__value{color:var(--cat-accent-text)}.app-shell .copied{min-block-size:1.5rem;font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-accent-text);font-variant-numeric:tabular-nums;margin:0;font-weight:700}@media (width<=60rem){.app-shell .palettes{grid-template-columns:repeat(2,1fr)}.app-shell .feature__bands{block-size:10rem}}@media (width<=40rem){.app-shell .palettes{grid-template-columns:1fr}.app-shell .feature__bands{grid-template-rows:none;block-size:auto}.app-shell .feature__row{flex-direction:column}.app-shell .feature__band{flex:none}.app-shell .feature__hit{grid-auto-columns:max-content;grid-auto-flow:column;place-content:center start;align-items:center;gap:.75rem;min-block-size:2.5rem;padding:.375rem .75rem}.app-shell .feature__hex{font-size:.75rem}.app-shell .role-item__hit{grid-template-columns:1.25rem minmax(0,1fr) auto;row-gap:.125rem}.app-shell .role-item__chip{grid-area:1/1}.app-shell .role-item__role{grid-area:1/2}.app-shell .role-item__hex{white-space:nowrap;grid-area:1/3}.app-shell .role-item__jp{grid-area:2/2/auto/-1}.app-shell .ratio{grid-template-columns:1fr auto;row-gap:.125rem}.app-shell .ratio__pair{grid-column:1/-1}}.app-shell .sheet-dialog{inline-size:min(72rem, calc(100% - 2 * var(--cat-inline)));max-block-size:min(46rem, calc(100% - 2 * var(--cat-inline)));border:1px solid var(--cat-line-strong);border-radius:var(--cat-radius);background:var(--cat-bg);color:var(--cat-text);font-family:var(--font-family-sans);margin:auto;padding:0;overflow:hidden}.app-shell .sheet-dialog::backdrop{background:#0c0c0c73}.app-shell .sheet-dialog__body{max-block-size:min(46rem, calc(100vh - 2 * var(--cat-inline)));padding:var(--cat-section);overflow-y:auto}.app-shell .sheet-dialog__head{z-index:1;margin:calc(var(--cat-section) * -1) calc(var(--cat-section) * -1) var(--cat-gap-lg);padding:var(--cat-gap-lg) var(--cat-section);background:var(--cat-bg);border-block-end:2px solid var(--cat-text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;display:flex;position:sticky;inset-block-start:calc(var(--cat-section) * -1)}.app-shell .sheet-dialog__name{align-items:baseline;gap:.75rem;margin:0;display:flex}.app-shell .sheet-dialog__label{font-size:var(--cat-h2);font-weight:700}.app-shell .sheet-dialog__close{appearance:none;min-block-size:var(--cat-tap);border:1px solid var(--cat-line-strong);border-radius:var(--cat-radius);color:var(--cat-text);font:inherit;cursor:pointer;transition:color var(--cat-duration) ease, border-color var(--cat-duration) ease;background:0 0;padding:0 .875rem;font-size:.875rem;font-weight:700}@media (hover:hover) and (pointer:fine){.app-shell .sheet-dialog__close:hover{color:var(--cat-accent-text);border-color:var(--cat-accent-text)}}@media (width<=40rem){.app-shell .sheet-dialog{max-block-size:calc(100% - 1rem);inline-size:calc(100% - 1rem)}.app-shell .sheet-dialog__body{padding:var(--cat-gap-lg);max-block-size:calc(100vh - 1rem)}.app-shell .sheet-dialog__head{margin:calc(var(--cat-gap-lg) * -1) calc(var(--cat-gap-lg) * -1) var(--cat-gap-lg);padding:.75rem var(--cat-gap-lg);inset-block-start:calc(var(--cat-gap-lg) * -1)}}.app-shell .guide-block{margin-block-start:var(--cat-block)}.app-shell .guide-prose{margin:var(--cat-gap-lg) 0 0;font-size:var(--typography-body-font-size);line-height:var(--typography-body-line-height)}.app-shell .guide-rule:focus{outline:none}.app-shell .guide-layout{gap:var(--cat-section);grid-template-columns:minmax(0,1fr) 16rem;align-items:start;display:grid}.app-shell .guide-layout__main>*+*{margin-block-start:var(--cat-block)}.app-shell .guide-aside{max-block-size:calc(100vh - var(--cat-section));position:sticky;inset-block-start:var(--cat-gap-lg);overflow:auto}.app-shell .guide-aside__inner{gap:var(--cat-gap-lg);border-inline-start:1px solid var(--cat-line);flex-direction:column;padding-inline-start:var(--cat-gap-lg);display:flex}.app-shell .guide-aside__title{font-size:var(--cat-label);letter-spacing:.12em;color:var(--cat-muted);margin:0;font-weight:700}.app-shell .guide-aside__layer-name{margin:0 0 var(--cat-gap);font-size:var(--cat-label);color:var(--cat-text);font-weight:700}.app-shell .guide-aside__list{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.app-shell .guide-aside__link{padding:.25rem 0 .25rem var(--cat-gap);color:var(--cat-muted);transition:color var(--cat-duration) ease;border-inline-start:2px solid #0000;font-size:.875rem;line-height:1.5;display:block}@media (hover:hover) and (pointer:fine){.app-shell .guide-aside__link:hover{color:var(--cat-accent-text);border-inline-start-color:var(--cat-accent-text)}}@media (width<72rem){.app-shell .guide-layout{grid-template-columns:minmax(0,1fr)}.app-shell .guide-aside{max-block-size:none;order:-1;margin-block-start:var(--cat-section);position:static}.app-shell .guide-aside__inner{border-inline-start:0;padding-inline-start:0}}.app-shell .guide-cores{margin:var(--cat-section) 0 0;counter-reset:guide-core;padding:0;list-style:none}.app-shell .guide-core{column-gap:var(--cat-gap-lg);padding-block:var(--cat-gap-lg);border-block-start:1px solid var(--cat-line);counter-increment:guide-core;grid-template-columns:2rem minmax(0,1fr);display:grid}.app-shell .guide-core:before{content:counter(guide-core);color:var(--cat-muted);font-size:var(--cat-item);font-variant-numeric:tabular-nums;line-height:var(--font-line-height-tight);grid-row:1/span 2}.app-shell .guide-core__title{font-size:var(--cat-item);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-tight);margin:0}.app-shell .guide-core__body{margin:var(--cat-gap) 0 0;font-size:var(--font-size-sm);line-height:var(--font-line-height-ui)}.app-shell .guide-rules{margin-block-start:var(--cat-section)}.app-shell .guide-rule{border-block-start:1px solid var(--cat-line);margin-block-start:var(--cat-section);padding-block-start:var(--cat-section)}.app-shell .guide-rule:first-child{border-block-start:none;margin-block-start:0;padding-block-start:0}.app-shell .guide-rule__head{align-items:baseline;gap:var(--cat-gap) var(--cat-gap-lg);flex-wrap:wrap;margin-block-end:var(--cat-gap);display:flex}.app-shell .guide-rule__title{font-size:var(--cat-item);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-tight);margin:0}.app-shell .guide-rule__applies{font-size:var(--cat-label);font-weight:var(--font-weight-bold);letter-spacing:.05em;line-height:var(--font-line-height-ui);color:var(--cat-muted)}.app-shell .guide-rule__rationale{margin:0 0 var(--cat-gap-lg);font-size:var(--font-size-sm);line-height:var(--font-line-height-ui);color:var(--cat-muted)}.app-shell .guide-pair{gap:calc(var(--cat-gap-lg) * 2);grid-template-columns:1fr 1fr;display:grid}.app-shell .guide-side--bad{border-inline-start:1px solid var(--cat-line);margin-inline-start:calc(var(--cat-gap-lg) * -1);padding-inline-start:var(--cat-gap-lg)}.app-shell .guide-side__body{font-size:var(--font-size-sm);line-height:var(--font-line-height-ui);color:var(--cat-text);margin:0}.app-shell .guide-mark,.app-shell .guide-rule__exception-label{font-size:var(--cat-label);font-weight:var(--font-weight-bold);letter-spacing:.05em;line-height:var(--font-line-height-ui)}.app-shell .guide-mark{margin:0 0 var(--cat-gap)}.app-shell .guide-mark--good{color:var(--cat-good)}.app-shell .guide-mark--bad{color:var(--cat-bad)}.app-shell .guide-rule__exception{gap:0 var(--cat-gap-lg);margin:var(--cat-gap-lg) 0 0;font-size:var(--font-size-sm);line-height:var(--font-line-height-ui);color:var(--cat-muted);grid-template-columns:auto minmax(0,1fr);display:grid}.app-shell .guide-rule__exception-label{color:var(--cat-text)}.app-shell .guide-checklist{gap:var(--cat-gap);margin:var(--cat-gap-lg) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.app-shell .guide-checklist__item{align-items:flex-start;gap:var(--cat-gap);font-size:var(--typography-ui-font-size);line-height:var(--font-line-height-ui);display:flex}.app-shell .guide-checklist__icon{border:1px solid var(--cat-line-strong);border-radius:var(--cat-radius);flex:none;block-size:1rem;inline-size:1rem;margin-block-start:calc((1em * var(--font-line-height-ui) - 1rem) / 2)}.app-shell .guide-sources{gap:var(--cat-gap);margin:var(--cat-gap-lg) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.app-shell .guide-sources__item{font-size:var(--font-size-sm);line-height:var(--font-line-height-ui);color:var(--cat-muted)}.app-shell .guide-code{padding-inline:var(--cat-gap);font-family:inherit;font-size:var(--font-size-sm);background:var(--cat-surface);border:1px solid var(--cat-line);border-radius:var(--cat-radius)}.app-shell .guide-link{color:var(--cat-accent-text);text-underline-offset:2px;text-decoration:underline}.app-shell .guide-strong{font-weight:var(--font-weight-bold)}@media (width<=44rem){.app-shell .guide-pair{gap:var(--cat-gap-lg);grid-template-columns:minmax(0,1fr)}.app-shell .guide-side--bad{border-inline-start:0;border-block-start:1px solid var(--cat-line);margin-inline-start:0;padding-block-start:var(--cat-gap-lg);padding-inline-start:0}}
