:root{--cl-cur:0;--paper:var(--cl-root-fill);--ink:var(--cl-root-ink);--accent:var(--cl-root-accent);--ink-60:color-mix(in oklch,var(--ink) 60%,var(--paper));--ink-38:color-mix(in oklch,var(--ink) 38%,var(--paper));--rule:color-mix(in oklch,var(--ink) 16%,var(--paper));--t-display:calc(clamp(2.6rem, 8.6vw, 7.6rem) * var(--cl-root-size));--t-lead:calc(clamp(1.05rem, 1.55vw, 1.4rem) * var(--cl-root-size));--t-body:calc(0.95rem * var(--cl-root-size));--t-micro:calc(0.72rem * var(--cl-root-size));--col:calc(var(--cl-root-gap) * 2.4);--edge:clamp(var(--cl-root-gap),3.2vw,44px)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-text),system-ui,sans-serif;font-size:var(--t-body);line-height:var(--cl-root-lh);letter-spacing:var(--cl-root-tracking);font-variation-settings:"wght" var(--cl-root-weight);font-synthesis-weight:none}body[data-locale=ja]{font-family:var(--font-cjk),var(--font-text),system-ui,sans-serif}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}.page{min-height:100svh;padding:0 var(--edge) calc(var(--cl-root-gap) * 4);display:flex;flex-direction:column;gap:calc(var(--cl-root-gap) * 3)}.rail{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;grid-gap:var(--cl-root-gap);gap:var(--cl-root-gap);padding:calc(var(--cl-root-pad-y) * 1.2) 0;border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;background:var(--paper);z-index:2}.rail__mark{font-family:var(--font-display),system-ui,sans-serif;font-variation-settings:"wght" calc(var(--cl-root-weight) + 180);letter-spacing:calc(var(--cl-root-tracking) - .02em);font-size:var(--t-body)}.rail__mark sup{font-size:.5em;vertical-align:super;color:var(--accent)}.rail__role{margin:0;color:var(--ink-60);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .12em)}.rail__langs{display:flex;gap:calc(var(--cl-root-gap) * .8);font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);color:var(--ink-38)}.rail__langs a:hover,.rail__langs a[aria-current=page]{color:var(--accent)}.hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:var(--cl-root-gap) var(--cl-root-gap);gap:var(--cl-root-gap) var(--cl-root-gap);align-items:start;padding-top:calc(var(--cl-root-gap) * 2)}.hero__display{grid-column:1/9;margin:0;font-family:var(--font-display),system-ui,sans-serif;font-size:var(--t-display);font-variation-settings:"wght" calc(var(--cl-root-weight) + 120 + var(--cl-cur) * 260);line-height:.94;letter-spacing:calc(var(--cl-root-tracking) - .03em);text-wrap:balance;transition:font-variation-settings .12s linear}.hero__display span{display:block}.hero__display span:last-child{color:var(--accent);text-indent:calc(var(--cl-root-gap) * 2)}.hero__lead{font-size:var(--t-lead);max-width:46ch;color:var(--ink)}.hero__lead,.stored{grid-column:1/6;margin:calc(var(--cl-root-gap) * 1.5) 0 0}.stored{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--cl-root-gap);gap:var(--cl-root-gap);align-items:start;padding-top:var(--cl-root-pad-y);border-top:1px solid var(--rule)}.stored__swatch{width:calc(var(--cl-root-gap) * 2.6);height:calc(var(--cl-root-gap) * 2.6);border-radius:var(--cl-root-radius);background:var(--accent);box-shadow:var(--cl-root-shadow)}.stored figcaption{display:grid;grid-gap:calc(var(--cl-root-gap) * .4);gap:calc(var(--cl-root-gap) * .4)}.stored b{font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .1em);font-variation-settings:"wght" 600}.stored span{font-size:var(--t-micro);color:var(--ink-60)}.hero__root{grid-column:9/13;grid-row:1/span 3;position:-webkit-sticky;position:sticky;top:calc(var(--cl-root-gap) * 5)}.root{background:color-mix(in oklch,var(--ink) 4%,var(--paper));border:1px solid var(--rule);border-radius:var(--cl-root-radius);padding:var(--cl-root-pad-y) var(--cl-root-pad-x);box-shadow:var(--cl-root-shadow);font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);display:grid;grid-gap:var(--cl-root-gap);gap:var(--cl-root-gap);transform:scale(calc(1 + var(--cl-cur) * .012));transition:transform .14s linear}.root__head{display:flex;justify-content:space-between;align-items:baseline}.root__name{text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .14em);font-variation-settings:"wght" 700}.root__id{color:var(--ink-38)}.root__slots{display:grid;grid-gap:var(--cl-root-gap);gap:var(--cl-root-gap)}.slot{display:grid;grid-gap:calc(var(--cl-root-gap) * .25);gap:calc(var(--cl-root-gap) * .25)}.slot__name{margin:0 0 calc(var(--cl-root-gap) * .25);font-size:var(--t-micro);color:var(--accent);text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .14em);font-variation-settings:"wght" 700;border-bottom:1px solid var(--rule);padding-bottom:calc(var(--cl-root-gap) * .25)}.ch{position:relative;display:grid;grid-template-columns:1fr auto;align-items:baseline;grid-gap:var(--cl-root-gap);gap:var(--cl-root-gap);padding:calc(var(--cl-root-gap) * .22) calc(var(--cl-root-gap) * .4);border-radius:calc(var(--cl-root-radius) * .6);cursor:ew-resize;touch-action:pan-y}.ch:hover{background:color-mix(in oklch,var(--ink) 6%,transparent)}.ch__name{color:var(--ink-60)}.ch__value{font-variation-settings:"wght" 700;font-feature-settings:"tnum" 1}.ch[data-touched=true] .ch__value{color:var(--accent)}.ch__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.ch:has(.ch__input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.root__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--cl-root-gap);border-top:1px solid var(--rule);padding-top:var(--cl-root-pad-y)}.root__hint{margin:0;color:var(--ink-38);max-width:22ch}.root__reset{font:inherit;font-variation-settings:"wght" 700;color:var(--paper);background:var(--accent);border:0;border-radius:calc(var(--cl-root-radius) * .6);padding:calc(var(--cl-root-pad-y) * .5) calc(var(--cl-root-pad-x) * .6);cursor:pointer;text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .1em)}.root__reset:disabled{background:transparent;color:var(--ink-38);cursor:default}.branches{border-top:1px solid var(--rule);padding-top:calc(var(--cl-root-gap) * 1.5)}.branches__title{margin:0 0 var(--cl-root-gap);font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);text-transform:uppercase;letter-spacing:calc(var(--cl-root-tracking) + .16em);color:var(--ink-38);font-variation-settings:"wght" 600}.branches__list{list-style:none;margin:0;padding:0;grid-gap:var(--cl-root-gap)}.branch,.branches__list{display:grid;gap:var(--cl-root-gap)}.branch{grid-template-columns:auto minmax(0,3fr) minmax(0,3fr) minmax(0,5fr);grid-gap:var(--cl-root-gap);align-items:baseline;padding:var(--cl-root-pad-y) var(--cl-root-pad-x);border:1px solid var(--rule);border-radius:var(--cl-root-radius);background:var(--cl-root-fill);box-shadow:var(--cl-root-shadow)}.branch__year{font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);color:var(--ink-38)}.branch__title{margin:0;font-family:var(--font-display),system-ui,sans-serif;font-size:calc(var(--t-lead) * 1.1);font-variation-settings:"wght" var(--cl-root-weight);letter-spacing:var(--cl-root-tracking)}.branch__discipline{margin:0;font-size:var(--t-micro);color:var(--ink-60);text-transform:uppercase;letter-spacing:.08em}.branch__claim{margin:0;color:var(--ink)}.branch__over{grid-column:1/-1;font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-micro);color:var(--ink-38)}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero__display,.hero__lead,.hero__root,.stored{grid-column:1/-1}.hero__root{grid-row:auto;position:static}.root__slots{grid-template-columns:repeat(2,minmax(0,1fr))}.branch{grid-template-columns:1fr}.rail{grid-template-columns:auto auto}.rail__role{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:1ms!important;animation-duration:1ms!important}}