:root{--paper:#e9ebe4;--paper-raised:#f2f4ee;--paper-sunk:#dfe2da;--rule:#c2ccc5;--rule-strong:#93a29b;--ink:#17262c;--ink-2:#52646a;--ink-3:#5a6b6f;--trace:#b0392a;--trace-dim:#c98a80;--ok:#3f6b4f;--warn:#8a6a1f;--danger:#a8322a;--font-measure:"B612 Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body:"B612", var(--cjk), system-ui, -apple-system, "Segoe UI", sans-serif;--cjk:"PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--t-readout:clamp(3.25rem, 17vw, 6rem);--t-h1:1.875rem;--t-h2:1.3125rem;--t-body:1.0625rem;--t-small:.9375rem;--t-label:.75rem;--track-readout:-.03em;--track-label:.08em;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--rail-w:4.5rem;--strip-max:46rem;--card-gap:var(--s5);--focus-h:68dvh;--r-plate:3px;--r-stamp:999px;--lift:0 1px 2px #17262c0f, 0 6px 16px #17262c0d;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--d-fast:.14s;--d-base:.22s;--d-slow:.52s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--d-fast:1ms;--d-base:1ms;--d-slow:1ms}}@font-face{font-family:B612;src:url(/fonts/B612-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:B612;src:url(/fonts/B612-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:B612 Mono;src:url(/fonts/B612Mono-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:B612 Mono;src:url(/fonts/B612Mono-Bold.ttf)format("truetype");font-weight:700;font-display:swap}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper-sunk);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65;overflow-x:hidden}.measure{font-family:var(--font-measure);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,p,figure,blockquote{margin:0}img,video{max-width:100%;display:block}button{font:inherit;color:inherit}::selection{background:color-mix(in srgb, var(--trace) 26%, var(--paper));color:var(--ink)}:root{caret-color:var(--trace)}:focus-visible{outline:2px solid var(--trace);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}a:hover{-webkit-text-decoration-color:var(--trace);text-decoration-color:var(--trace)}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule-strong);border:3px solid var(--paper-sunk);border-radius:var(--r-stamp)}::-webkit-scrollbar-thumb:hover{background:var(--ink-2)}.media-track{scrollbar-width:none}.media-track::-webkit-scrollbar{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--s2);left:var(--s2);z-index:50;padding:var(--s2) var(--s4);background:var(--ink);color:var(--paper);border-radius:var(--r-plate);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.mt{position:relative}.mt-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-plate);gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow:auto hidden}.mt-item{scroll-snap-align:center;scroll-snap-stop:always;background:var(--paper-sunk);flex:0 0 86%;position:relative;overflow:hidden}.mt-item:only-child{flex-basis:100%}.mt-img{object-fit:cover;width:100%;height:100%}.mt-plate{justify-content:center;align-items:center;gap:var(--s1);background-image:repeating-linear-gradient(-45deg, transparent 0 7px, color-mix(in srgb, var(--rule-strong) 22%, transparent) 7px 8px);width:100%;height:100%;color:var(--ink-3);flex-direction:column;display:flex}.mt-plate-label{font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--ink-2)}.mt-plate-dim{font-size:var(--t-label);color:var(--ink-2)}.mt-count{right:var(--s2);bottom:var(--s2);font-size:var(--t-label);color:var(--paper);background:color-mix(in srgb, var(--ink) 82%, transparent);border-radius:var(--r-stamp);font-variant-numeric:tabular-nums;align-items:baseline;gap:.15em;padding:.1em .5em;display:flex;position:absolute}.mt-count-now{font-weight:700}.mt-count-sep{opacity:.5}.mc{padding:var(--s5) var(--s5) var(--s5) var(--s6);border-radius:var(--r-plate);transform:scale(calc(.86 + .14 * var(--focus)));transform-origin:50%;will-change:transform;position:relative}.mc:before{content:"";background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--r-plate);box-shadow:0 1px 0 var(--rule);opacity:var(--focus);z-index:0;position:absolute;inset:0}.mc>*{z-index:1;position:relative}.mc-tick{left:calc(-1 * var(--s3));top:var(--s6);width:var(--s3);background:var(--trace-dim);height:1px;transition:background var(--d-base) var(--ease-out);position:absolute}.mc[aria-current=true] .mc-tick{background:var(--trace);height:2px}.mc-head{align-items:baseline;gap:var(--s2) var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.mc-date{font-size:var(--t-small);color:var(--ink);align-items:baseline;gap:.08em;font-weight:700;display:inline-flex}.mc-date-slash{color:var(--ink-3)}.mc-date-mm{color:var(--ink-2)}.mc-day{font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--ink-3)}.mc-stamp{font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--trace);border-radius:var(--r-stamp);opacity:.9;border:1.5px solid;margin-left:auto;padding:.1em .6em .15em;font-weight:700;transform:rotate(-2.4deg)}.mc-title{margin-bottom:var(--s2);font-size:var(--t-h2);letter-spacing:-.01em;text-wrap:balance;font-weight:700;line-height:1.35}.mc-text{max-width:68ch;color:var(--ink);text-wrap:pretty}.mc-text+.mc-text{margin-top:var(--s3)}.mc-empty{font-size:var(--t-small);color:var(--ink-3);font-style:italic}.mc-media{margin-top:var(--s4);opacity:calc(.5 + .5 * var(--focus))}.mc[aria-current=true] .mt-track{border-color:var(--rule-strong)}.mc[data-milestone] .mc-title{text-wrap:balance}@media (width<=30rem){.mc{padding:var(--s4) var(--s4) var(--s4) var(--s5)}.mc-stamp{margin-left:0}}.dr{position:relative}.dr-row{color:var(--ink);align-items:baseline;gap:.28em;display:flex}.dr-prefix,.dr-suffix{font-size:var(--t-small);color:var(--ink-2);letter-spacing:var(--track-label)}.dr-number{font-size:var(--t-readout);letter-spacing:var(--track-readout);color:var(--trace);font-weight:700;line-height:1;display:inline-flex}.dr-digit{width:1ch;height:1em;display:inline-block;position:relative;overflow:hidden}.dr-digit-col{transition:transform var(--d-slow) var(--ease-out);will-change:transform;flex-direction:column;line-height:1em;display:flex}.dr-digit-cell{height:1em;line-height:1em}.dr-sep{opacity:.5;display:inline-block}.dr-label{margin-top:var(--s2);font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--ink-3)}@media (prefers-reduced-motion:reduce){.dr-digit-col{transition:none}}html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-block:8dvh}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.tl{background:var(--paper-sunk);min-height:100dvh}.tl-boot{min-height:100dvh;color:var(--ink-2);place-items:center;display:grid}.tl-rail{z-index:10;width:var(--rail-w);background:var(--paper);border-inline-end:1px solid var(--rule);align-items:center;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.tl-rail-inner{width:100%;padding:var(--s4) var(--s3);gap:var(--s6);text-align:center;flex-direction:column;align-items:center;display:flex}.tl-rail .dr-row{flex-direction:column;align-items:center;gap:0}.tl-rail .dr-prefix,.tl-rail .dr-suffix{font-size:var(--t-label)}.tl-rail .dr-number{font-size:clamp(2rem,9vw,2.75rem)}.tl-rail .dr-label{font-size:var(--t-label)}.tl-scale{flex:1;width:100%;min-height:8rem;max-height:42dvh;position:relative}.tl-scale-line{background:var(--rule);width:1px;position:absolute;inset-block:0;inset-inline-start:50%}.tl-scale-mark{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;position:absolute;inset-inline-start:calc(50% - 22px);transform:translateY(-50%)}.tl-scale-mark:after{content:"";background:var(--rule-strong);width:10px;height:1px;position:absolute;inset-block-start:50%;inset-inline-start:calc(50% - 5px)}.tl-scale-mark[data-on]:after{background:var(--trace);width:14px;height:2px;inset-inline-start:calc(50% - 7px)}.tl-strip{padding-block:12dvh 20dvh;padding-inline:calc(var(--rail-w) + var(--s4)) var(--s4)}.tl-strip-inner{max-width:var(--strip-max);background:var(--paper);background-image:repeating-linear-gradient(to bottom, var(--rule-strong) 0 1px, transparent 1px calc(var(--s5) * 5)), repeating-linear-gradient(to bottom, var(--rule) 0 1px, transparent 1px var(--s5)), linear-gradient(to right, var(--rule) 0 1px, transparent 1px), linear-gradient(to left, var(--rule) 0 1px, transparent 1px);background-position:0 0,0 0,0 0,100% 0;background-repeat:repeat,repeat,no-repeat,no-repeat;background-size:100% calc(var(--s5) * 5), 100% var(--s5), 1px 100%, 1px 100%;margin-inline:auto;padding-inline-start:var(--s6);position:relative}.tl-trace{background:linear-gradient(to bottom, transparent 0, var(--trace-dim) 6dvh, var(--trace-dim) calc(100% - 6dvh), transparent 100%);width:2px;position:absolute;inset-block:0;inset-inline-start:var(--s6)}.tl-list{gap:var(--card-gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tl-slot{scroll-snap-align:center;min-height:var(--focus-h);align-items:center;display:flex}.tl-slot>.mc{width:100%}.tl-end{padding-block:var(--s8) var(--s6);padding-inline:0 var(--s2)}.tl-end-rule{width:3rem;height:2px;margin-bottom:var(--s4);background:var(--ink);display:block}.tl-end-text{max-width:40ch;color:var(--ink-2);font-size:var(--t-small)}.tl-demo{z-index:20;font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--paper);background:color-mix(in srgb, var(--ink) 84%, transparent);border-radius:var(--r-stamp);padding:.25em .75em;position:fixed;inset-block-end:var(--s3);inset-inline-end:var(--s3)}@media (width<=48rem){:root{--rail-w:2.5rem}.tl-strip{padding-block:calc(var(--s7) + var(--s4)) 16dvh;padding-inline:calc(var(--rail-w) + var(--s1)) var(--s2)}.tl-strip-inner{padding-inline-start:var(--s4)}.tl-trace{inset-inline-start:var(--s4)}.tl-rail-inner{padding:var(--s7) var(--s1) var(--s4);gap:var(--s4)}.tl-scale{max-height:26dvh}.tl-rail .dr{z-index:12;justify-content:center;align-items:baseline;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--paper);border-block-end:1px solid var(--rule);flex-wrap:wrap;display:flex;position:fixed;inset-block-start:0;inset-inline:0}.tl-rail .dr-row{flex-direction:row;gap:.28em}.tl-rail .dr-prefix,.tl-rail .dr-suffix{font-size:var(--t-label)}.tl-rail .dr-number{font-size:1.75rem}.tl-rail .dr-label{font-size:var(--t-label);margin-top:0}}@media (width>=64rem){:root{--rail-w:7rem;--focus-h:72dvh}}.boot{min-height:100dvh;padding:var(--s6);color:var(--ink-2);background:var(--paper-sunk);text-align:center;place-items:center;display:grid}.boot-note{align-content:center;gap:var(--s3);max-width:34rem;margin-inline:auto}.boot-note h1{font-size:var(--t-h1);color:var(--ink);letter-spacing:-.02em;text-wrap:balance}.boot-note p{color:var(--ink-2);max-width:32ch;margin-inline:auto}.lg{min-height:100dvh;padding:var(--s5);background:var(--paper-sunk);place-items:center;display:grid}.lg-strip{width:100%;max-width:26rem;padding:var(--s7) var(--s6) var(--s6) calc(var(--s6) + var(--s4));background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-plate);background-image:repeating-linear-gradient(to bottom, var(--rule-strong) 0 1px, transparent 1px calc(var(--s5) * 5)), repeating-linear-gradient(to bottom, var(--rule) 0 1px, transparent 1px var(--s5));background-size:100% calc(var(--s5) * 5), 100% var(--s5);position:relative}.lg-trace{inset-block:var(--s6);background:var(--trace-dim);width:2px;position:absolute;inset-inline-start:var(--s6)}.lg-head{margin-bottom:var(--s6)}.lg-title{font-size:var(--t-h1);letter-spacing:-.02em;color:var(--ink);font-weight:700}.lg-sub{margin-top:var(--s1);font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--ink-3)}.lg-form{gap:var(--s4);flex-direction:column;display:flex}.lg-field{gap:var(--s1);flex-direction:column;display:flex}.lg-label{font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--ink-3)}.lg-input{width:100%;padding:var(--s3) var(--s3);font:inherit;font-size:var(--t-body);color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:var(--r-plate);transition:border-color var(--d-fast) var(--ease-out), background var(--d-fast) var(--ease-out)}.lg-input:hover:not(:disabled){border-color:var(--ink-3)}.lg-input:focus-visible{border-color:var(--trace);outline:2px solid var(--trace);outline-offset:1px}.lg-input:disabled{color:var(--ink-3);background:var(--paper-sunk);cursor:not-allowed}.lg-input[aria-invalid=true]{border-color:var(--danger)}.lg-error{padding:var(--s2) var(--s3);font-size:var(--t-small);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--paper));border-inline-start:2px solid var(--danger)}.lg-submit{min-height:2.875rem;margin-top:var(--s1);padding:var(--s3) var(--s4);font:inherit;letter-spacing:.02em;color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:var(--r-plate);cursor:pointer;transition:background var(--d-fast) var(--ease-out), transform var(--d-fast) var(--ease-out);font-weight:700}.lg-submit:hover:not(:disabled){background:var(--trace);border-color:var(--trace)}.lg-submit:active:not(:disabled){transform:translateY(1px)}.lg-submit:disabled{color:var(--ink-3);background:var(--paper-sunk);border-color:var(--rule);cursor:not-allowed}.lg-submit[data-busy]{cursor:progress}.lg-foot{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule)}.lg-foot p{font-size:var(--t-small);color:var(--ink-2)}
