:root{--paper:#efe7d4;--paper-warm:#f4ecd9;--paper-shade:#e3d9c0;--ink:#1a2738;--ink-soft:#485668;--ink-faint:#1a273873;--cyan:#2d6a8c;--cyan-line:#2d6a8c8c;--cyan-grid:#2d6a8c1a;--stamp:#b8362a;--stamp-soft:#b8362a1f;--rule:#1a273838;--rule-soft:#1a27381a;--serif:"Fraunces", "Iowan Old Style", "Palatino", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;font-family:var(--serif);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:17px;line-height:1.55}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:linear-gradient(var(--cyan-grid) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--cyan-grid) 1px, transparent 1px) 0 0 / 32px 100%, radial-gradient(ellipse 80% 60% at 20% 0%, var(--paper-warm), var(--paper) 60%, var(--paper-shade) 120%);background-attachment:fixed;min-height:100vh}body:before{content:"";pointer-events:none;z-index:1;opacity:.55;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='280'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.16 0 0 0 0 0.22 0 0 0 0.22 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 55%,#5946282e 100%);position:fixed;inset:0}#root{z-index:2;min-height:100vh;position:relative}button{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);cursor:pointer;background:0 0;padding:8px 14px;font-size:12px;transition:background .12s,color .12s,transform 80ms;position:relative}button:hover:not(:disabled){background:var(--ink);color:var(--paper)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.35;cursor:not-allowed}input{font-family:var(--mono);color:var(--ink);border:none;border-bottom:1px solid var(--ink);background:0 0;outline:none;width:100%;padding:6px 4px;font-size:15px}input:focus{border-bottom-color:var(--cyan)}input::placeholder{color:var(--ink-faint);font-style:italic}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}::selection{background:var(--ink);color:var(--paper)}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards reveal;transform:translateY(8px)}.reveal-1{animation-delay:80ms}.reveal-2{animation-delay:.22s}.reveal-3{animation-delay:.36s}.reveal-4{animation-delay:.5s}}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.sheet{max-width:880px;margin:0 auto;padding:56px 48px 96px;position:relative}@media (width<=720px){.sheet{padding:32px 22px 64px}}.sheet:before,.sheet:after,.sheet>.corner-tr,.sheet>.corner-br{content:"";border:1px solid var(--cyan-line);pointer-events:none;width:22px;height:22px;position:absolute}.sheet:before{border-bottom:none;border-right:none;top:18px;left:18px}.sheet:after{border-bottom:none;border-left:none;top:18px;right:18px}.sheet>.corner-br{border-top:none;border-left:none;bottom:18px;right:18px}.sheet>.corner-bl{border:1px solid var(--cyan-line);pointer-events:none;border-top:none;border-right:none;width:22px;height:22px;position:absolute;bottom:18px;left:18px}.masthead{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px;padding-bottom:28px;display:flex}.brand{align-items:baseline;gap:18px;line-height:.85;display:flex}.brand .kg{font-family:var(--serif);letter-spacing:-.04em;font-variation-settings:"opsz" 144;color:var(--ink);font-size:clamp(96px,16vw,168px);font-style:italic;font-weight:500}.brand .works{font-family:var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 96;color:var(--ink-soft);font-size:clamp(44px,7vw,76px);font-style:italic;font-weight:300;position:relative;top:-6px}.colophon{text-align:right;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:10.5px;line-height:1.7}.colophon .stamp{border:1.5px solid var(--stamp);color:var(--stamp);letter-spacing:.18em;background:var(--stamp-soft);margin-top:4px;padding:4px 8px;display:inline-block;transform:rotate(-2deg)}.tagline{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:center;margin-top:-1px;padding:14px 0 0;font-size:11px;display:flex}.tagline em{font-family:var(--serif);text-transform:none;letter-spacing:0;color:var(--ink-soft);font-size:16px;font-style:italic;font-weight:400}.section{margin-top:56px}.section-head{border-bottom:1px dashed var(--rule);align-items:baseline;gap:14px;margin-bottom:24px;padding-bottom:10px;display:flex}.section-head .num{font-family:var(--mono);letter-spacing:.2em;color:var(--cyan);background:var(--paper-warm);border:1px solid var(--cyan-line);padding:3px 7px;font-size:11px}.section-head h2{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-variation-settings:"opsz" 60;margin:0;font-size:30px;font-style:italic;font-weight:400}.section-head .meta{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-left:auto;font-size:10.5px}.compute{grid-template-columns:1fr 1.1fr;align-items:start;gap:36px;display:grid}@media (width<=720px){.compute{grid-template-columns:1fr}}.compute-form{flex-direction:column;gap:18px;display:flex}.field{grid-template-columns:56px 1fr;align-items:center;gap:10px;display:grid}.field-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.field-label .glyph{font-family:var(--serif);color:var(--cyan);vertical-align:-3px;margin-right:6px;font-size:22px;font-style:italic}.compute-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.results{border-top:1px solid var(--rule-soft);grid-template-columns:auto 1fr;gap:6px 18px;margin-top:16px;padding-top:14px;display:grid}.results dt{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.results dd{font-family:var(--serif);font-variation-settings:"opsz" 36;font-feature-settings:"tnum";color:var(--ink);margin:0;font-size:22px}.results dd .unit{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);vertical-align:2px;margin-left:6px;font-size:10px}.diagram{background:linear-gradient(var(--cyan-grid) 1px, transparent 1px) 0 0 / 100% 16px, linear-gradient(90deg, var(--cyan-grid) 1px, transparent 1px) 0 0 / 16px 100%, var(--paper-warm);border:1px solid var(--rule);aspect-ratio:1;width:100%;position:relative}.diagram svg{width:100%;height:100%;display:block}.diagram .corner-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;position:absolute;top:8px;left:10px}.diagram .scale-label{font-family:var(--mono);letter-spacing:.2em;color:var(--ink-faint);font-size:10px;position:absolute;bottom:8px;right:10px}.log-form{border-bottom:1px solid var(--rule);align-items:flex-end;gap:14px;margin-bottom:8px;padding-bottom:18px;display:flex}.log-form .field-label{white-space:nowrap}.log-form>div:first-child{flex:1}.log-entries{margin:0;padding:0;list-style:none}.log-entry{border-bottom:1px dotted var(--rule-soft);grid-template-columns:60px 1fr auto auto;align-items:baseline;gap:16px;padding:14px 0;display:grid}.log-entry .seq{font-family:var(--mono);letter-spacing:.16em;color:var(--cyan);font-size:11px}.log-entry .name{font-family:var(--serif);color:var(--ink);font-variation-settings:"opsz" 36;font-size:19px}.log-entry .ts{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;font-size:10.5px}.log-entry button.strike{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px}.log-entry button.strike:hover{color:var(--stamp);background:0 0;text-decoration:line-through}.empty{font-family:var(--serif);color:var(--ink-faint);text-align:center;padding:24px 0;font-size:15px;font-style:italic}.err{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--stamp);border-left:2px solid var(--stamp);background:var(--stamp-soft);margin:12px 0 0;padding:6px 10px;font-size:11px}.footer{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:80px;padding-top:18px;font-size:10.5px;display:flex}.footer a{color:var(--ink-soft);border-bottom:1px dotted var(--ink-faint);text-decoration:none}.footer a:hover{color:var(--stamp);border-color:var(--stamp)}
