@font-face{font-family:Doto;src:url(/fonts/Doto-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--silk: #0a0f1e;--warp: #0b0d12;--ink: #18233d;--steel: #2c354a;--gold: #d4af37;--gold-soft: #e8c56a;--gold-dim: #8f7a3a;--stock: #f2ead3;--stock-ink: #2a2414;--text: #e9e3cf;--muted: #a9a58f;--rule: rgba(212, 175, 55, .32);--rule-soft: rgba(212, 175, 55, .16);--display: "Doto", "JetBrains Mono", monospace;--mono: "JetBrains Mono", ui-monospace, monospace;--m: clamp(16px, 3vw, 48px);--ease: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--silk);color:var(--text);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scrollbar-color:var(--gold-dim) var(--warp)}body{background:var(--silk);font:400 16px/1.65 var(--mono)}::selection{background:var(--gold);color:var(--silk)}:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}a{color:var(--gold-soft);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--gold)}code{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--muted)}.woven{font-family:var(--display);font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.02em;line-height:.92;text-wrap:balance}.woven.small{font-size:clamp(34px,4.4vw,64px)}.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--m);border-bottom:1px solid var(--rule)}.mark{font:600 26px/1 var(--display);color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.bar nav{display:flex;gap:clamp(14px,2.4vw,40px)}.bar nav a{color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:13px}.bar nav a:hover{color:var(--gold)}@media(max-width:720px){.bar nav a:not(.gh){display:none}}.plaque{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font:700 14px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;color:var(--gold-soft);background:var(--silk);border:1px solid var(--gold-dim);border-radius:4px;outline:1px dashed var(--rule);outline-offset:-6px;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease)}.plaque:hover{border-color:var(--gold);color:var(--gold);background:var(--ink)}.plaque:active{transform:translateY(1px)}.plaque.gold{background:var(--gold);color:var(--silk);border-color:var(--gold);outline-color:#0a0f1e59}.plaque.gold:hover{background:var(--gold-soft);color:var(--silk)}.plaque.big{min-height:60px;padding:18px 34px;font-size:15px}.plaque:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.hero{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);grid-template-areas:"pitch cloth" "strip strip";border-bottom:1px solid var(--rule)}.pitch{grid-area:pitch;padding:clamp(24px,3.2vw,48px) var(--m);border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center;gap:22px}.pitch h1{font-size:clamp(48px,5.4vw,80px)}.lede{max-width:46ch;font-size:17px;color:var(--text);padding-top:22px;border-top:1px dashed var(--rule)}.plaques{display:flex;flex-wrap:wrap;gap:14px}.cloth{grid-area:cloth;padding:18px var(--m) 14px;display:grid;gap:12px;align-content:start}.cloth figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}.cloth figcaption .dim{letter-spacing:.06em;text-transform:none}.loom-frame{display:grid;grid-template-columns:38px minmax(0,1fr);border:1px solid var(--rule);background:var(--warp)}.hours{list-style:none;display:grid;grid-template-rows:repeat(7,1fr);border-right:1px solid var(--rule-soft)}.hours li{font-size:11px;letter-spacing:.08em;color:var(--muted);padding:4px 0 0 6px;border-top:1px solid var(--rule-soft)}.hours li:first-child{border-top:0}.cloth canvas{width:100%;height:auto;aspect-ratio:760 / 504;display:block;cursor:crosshair}.lanes{list-style:none;display:grid;grid-template-columns:38px repeat(5,minmax(0,1fr));font-size:11px;letter-spacing:.04em;color:var(--muted)}.lanes li{padding-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lanes li.on{color:var(--gold-soft)}.lanes .short{display:none}@media(max-width:560px){.lanes .long{display:none}.lanes .short{display:inline}}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;color:var(--muted)}.legend .sw{width:28px;height:9px;margin-right:2px;vertical-align:middle}.strip{grid-area:strip;display:grid;grid-template-columns:1.2fr .95fr 1.25fr;border-top:1px solid var(--rule)}.panel{padding:16px clamp(16px,2vw,32px) 18px;border-right:1px solid var(--rule);min-width:0}.panel:last-child{border-right:0}.panel h2{font:500 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px}.panel h2 .dim{letter-spacing:.04em;text-transform:none;margin-left:8px}.trace{list-style:none;display:grid;gap:2px;font-size:12.5px}.trace li{display:grid;grid-template-columns:18px 84px minmax(0,1fr) auto;gap:8px;padding:4px 6px;border:1px solid transparent;font-variant-numeric:tabular-nums}.trace li span:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.trace li .free{color:var(--gold-dim)}.trace li:last-child{border-color:var(--gold-dim);border-radius:3px}.mini-card{background:var(--stock);border-radius:3px;padding:10px 12px;display:grid;gap:6px}.mini-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stock-ink)}.mini-holes{display:flex;gap:3px;flex-wrap:nowrap;overflow:hidden}.mini-holes i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(42,36,20,.35);flex:0 0 auto}.mini-holes i.p{background:var(--warp);border-color:var(--warp)}.cron{margin-top:10px;font-size:13px;color:var(--muted)}.cron code{color:var(--gold-soft)}.when{font-size:13px;color:var(--gold-soft);letter-spacing:.04em}.excerpt{margin-top:6px;font-size:14px;line-height:1.55;max-width:62ch;min-height:4.6em}.facts{display:flex;gap:32px;margin-top:12px}.facts div{display:grid;gap:2px}.facts dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.facts dd{font-size:16px;color:var(--gold-soft);font-variant-numeric:tabular-nums}main>section:not(.hero){padding:clamp(80px,11vw,160px) var(--m) 0}.aside{max-width:64ch;margin-top:22px;color:var(--muted)}.card-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(32px,5vw,72px);align-items:start}.card-copy{display:grid;gap:20px}.card-copy p{max-width:42ch;color:var(--muted)}.punch{background:var(--stock);color:var(--stock-ink);border-radius:6px;padding:clamp(18px,2.4vw,32px);display:grid;gap:16px;box-shadow:0 24px 60px #00000073}.punch-row{border:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px dashed rgba(42,36,20,.25)}.punch-row legend{float:left;font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}.holes{display:flex;flex-wrap:wrap;gap:6px}.hole{width:30px;height:30px;border-radius:50%;border:1px solid rgba(42,36,20,.4);background:transparent;color:var(--stock-ink);font:500 10px/1 var(--mono);cursor:pointer;display:grid;place-items:center;transition:background .15s var(--ease),transform .15s var(--ease),color .15s var(--ease)}@media(hover:hover)and (pointer:fine){.hole:hover{border-color:var(--stock-ink);transform:scale(1.06)}}.hole[aria-pressed=true]{background:var(--warp);color:var(--gold-soft);border-color:var(--warp)}.hole:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.readout{display:grid;gap:8px;padding-top:4px}.readout code{font-size:22px;font-weight:700;color:var(--stock-ink)}.readout .dim{color:#6b6450}.next{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 16px;font-size:13px;font-variant-numeric:tabular-nums}.readout .plaque{justify-self:start;color:var(--stock-ink);background:transparent;border-color:#2a241480;outline-color:#2a241433}.readout .plaque:hover{background:#2a241414}.report-section{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.frame{border:1px solid var(--rule);border-radius:4px;padding:clamp(18px,2.4vw,36px);outline:1px solid var(--rule-soft);outline-offset:5px}.report-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}.behind{display:grid;gap:14px}.behind h3{font:500 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}.trace.big{font-size:14px}.trace.big li span:nth-child(3){color:var(--text)}.report{background:var(--stock);color:var(--stock-ink);border-radius:6px;padding:clamp(22px,3vw,44px);box-shadow:0 24px 60px #00000073}.report header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-bottom:14px;border-bottom:1px dashed rgba(42,36,20,.3)}.report h3{font:700 22px/1.3 var(--mono);margin:18px 0 14px}.report ol{padding-left:22px;display:grid;gap:12px}.report li{font-size:15px;line-height:1.6}.report code{background:#2a241414;padding:1px 5px;border-radius:3px}.report footer{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(42,36,20,.3);font-size:13px;color:#5c5540}.spool-section{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.spool{display:grid;gap:20px}.spool svg{width:100%;height:auto}.spool-track{fill:var(--warp);stroke:var(--rule)}.spool-facts{display:flex;flex-wrap:wrap;gap:20px 56px}.spool-facts div{display:grid;gap:4px}.spool-facts dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.spool-facts dd{font-size:18px;color:var(--gold-soft);font-variant-numeric:tabular-nums}.key-section{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}.key div{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1fr);gap:24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule-soft)}.key dt{display:flex;align-items:center;gap:16px;font-weight:700;color:var(--gold-soft)}.key dt canvas{width:96px;height:48px;border:1px solid var(--rule-soft);border-radius:3px;flex:0 0 auto}.key dd{color:var(--text)}.thread-section{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;justify-items:start;padding-bottom:clamp(80px,10vw,140px)}.ledger{position:relative;width:100%;max-width:1000px;background:var(--warp);border:1px solid var(--rule);border-radius:4px}.ledger pre{padding:48px 22px 20px;overflow-x:auto;font-size:14px;line-height:1.8}.copy{position:absolute;top:10px;right:10px;font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);background:var(--ink);border:1px solid var(--rule);border-radius:3px;padding:8px 12px;cursor:pointer}.copy:hover{border-color:var(--gold);color:var(--gold)}.thread-section .plaque.big{margin-top:16px}.foot{border-top:1px solid var(--rule);padding:clamp(40px,6vw,80px) var(--m) 36px;display:grid;gap:28px}.foot-mark{font-weight:300;font-size:clamp(72px,16vw,230px);line-height:.8;letter-spacing:.01em}.foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:14px}.foot-row nav{display:flex;gap:24px}@media(max-width:960px){.hero{grid-template-columns:minmax(0,1fr)}.pitch{border-right:0;border-bottom:1px solid var(--rule)}.strip{grid-template-columns:minmax(0,1fr)}.panel{border-right:0;border-bottom:1px solid var(--rule)}.card-section{grid-template-columns:minmax(0,1fr)}.key div{grid-template-columns:minmax(0,1fr);gap:8px}.key,.report-grid{grid-template-columns:minmax(0,1fr)}.hero{grid-template-areas:"pitch" "strip" "cloth"}.strip{border-top:0;border-bottom:1px solid var(--rule)}.strip .inspector{order:-1}}@media(max-width:560px){.punch-row{grid-template-columns:minmax(0,1fr)}.hole{width:28px;height:28px}.lanes{font-size:11px}}.plaque:active,.copy:active,.hole:active{transform:scale(.96)}.copy{transition:border-color .2s var(--ease),color .2s var(--ease),transform .12s var(--ease)}.rise{opacity:0;transform:translateY(20px)}.in .rise,.rise.in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i, 0) * 70ms)}.woven.rise{opacity:1;transform:none;clip-path:inset(-.25em 100% -.25em -.25em)}.in .woven.rise,.woven.rise.in{clip-path:inset(-.25em);transition:clip-path .9s var(--ease);transition-delay:calc(var(--i, 0) * 70ms)}.unwind{transform:scaleX(0);transform-box:fill-box;transform-origin:left center}.tally{opacity:0}.in .unwind{transform:none;transition:transform 1s var(--ease-in-out) .3s}.in .tally{opacity:1;transition:opacity .4s var(--ease) 1.2s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hole,.plaque,.copy{transition:none}.plaque:active,.copy:active,.hole:active,.rise,.in .rise,.rise.in{transform:none}.woven.rise{clip-path:none;opacity:0}.in .woven.rise,.woven.rise.in{clip-path:none;opacity:1;transition:opacity .4s ease}.unwind,.in .unwind{transform:none;transition:none}}
