:root{--green: #3ad87a;--green-2: #249e56;--navy: #0d2847;--navy-2: #16325a;--max: 1120px;--gutter: 28px;--header: 72px;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif}html[data-theme=dark],:root{--bg: #070b12;--bg-2: #0c1420;--ink: #d7e4ef;--mute: #7f93a8;--line: #1b334c;--glow: rgba(58, 216, 122, .35);--grid: rgba(58, 216, 122, .07);--scan: rgba(8, 14, 22, .28);--soft: #0a1624}html[data-theme=light]{--bg: #eef2f6;--bg-2: #ffffff;--ink: #0d2847;--mute: #4d6278;--line: #c5d0de;--glow: rgba(26, 168, 90, .25);--grid: rgba(13, 40, 71, .06);--scan: rgba(255, 255, 255, .08);--soft: #e4ebf3;--green: #1aa85a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--green)}::selection{background:var(--green);color:#06100a}.skip{position:absolute;left:12px;top:-48px;z-index:40;background:var(--green);color:#06100a;padding:8px 12px;font-family:var(--mono);font-size:12px}.skip:focus{top:12px}.shell{min-height:100vh;display:flex;flex-direction:column;position:relative}.fx-grid,.fx-scan{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.fx-grid{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;animation:gridshift 28s linear infinite}.fx-scan{background:repeating-linear-gradient(to bottom,transparent 0 2px,var(--scan) 2px 3px);animation:scan 9s linear infinite;opacity:.55}.mast,.status,.page,.foot,.boot{position:relative;z-index:1}.mast{position:sticky;top:0;z-index:12;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.mast-inner,.page,.foot-inner,.status{width:min(var(--max),calc(100% - var(--gutter) * 2));margin-inline:auto}.mast-inner{min-height:var(--header);display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand:hover{color:var(--ink)}.mark{width:40px;height:40px;object-fit:contain;flex:none;animation:breathe 3.6s ease-in-out infinite}.mark.lg{width:72px;height:72px}.brand-type{font-family:var(--sans);font-size:18px;letter-spacing:.12em;display:flex}.brand-type b{font-weight:700;color:var(--green)}.brand-type span{font-weight:400;color:var(--ink);opacity:.85}.nav.desk{display:flex;gap:22px;margin-left:auto;font-family:var(--mono);font-size:13px}.nav a{text-decoration:none;color:var(--mute);position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--green);transition:right .25s ease}.nav a:hover,.nav a[aria-current=page]{color:var(--green)}.nav a:hover:after,.nav a[aria-current=page]:after{right:0}.tools{display:flex;align-items:center;gap:10px}.seg{display:flex;border:1px solid var(--line);background:var(--bg-2)}.seg button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:0;background:transparent;color:var(--mute);padding:6px 9px;cursor:pointer}.seg button.is-on{background:var(--green);color:#06100a}.burger{display:none;font-family:var(--mono);font-size:12px;background:transparent;color:var(--ink);border:1px solid var(--line);padding:6px 10px;cursor:pointer}.nav-mobile{display:grid;border-top:1px solid var(--line);padding:12px var(--gutter) 18px;background:var(--bg-2)}.nav-mobile a{font-family:var(--mono);text-decoration:none;padding:10px 0;color:var(--ink);animation:rise .4s ease both}.nav-mobile span{color:var(--green)}.status{display:flex;align-items:center;gap:10px;padding:8px 0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mute);border-bottom:1px solid var(--line)}.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 1.6s ease-in-out infinite}.dim{opacity:.45}.page{flex:1;padding:48px 0 88px;animation:pagein .55s cubic-bezier(.2,.8,.2,1) both}.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 16px}h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;line-height:1.12;margin:0}h1{font-size:clamp(34px,6vw,64px);min-height:1.2em}h3{font-size:22px}.lede{margin:22px 0 0;max-width:40em;color:var(--mute);font-size:17px}.rule{border:0;border-top:1px solid var(--line);margin:40px 0}.btn{display:inline-flex;margin-top:28px;padding:10px 0;border:0;border-bottom:1px solid var(--green);background:none;color:var(--green);font:inherit;font-family:var(--mono);font-size:13px;letter-spacing:.06em;cursor:pointer;text-decoration:none}.btn:hover{text-shadow:0 0 12px var(--glow)}.home{display:grid;gap:48px}.hero{max-width:40em}.caret{display:inline-block;width:10px;height:1em;margin-left:4px;background:var(--green);vertical-align:-.12em;animation:blink 1s steps(1) infinite;box-shadow:0 0 10px var(--green)}.term-panel{border:1px solid var(--line);background:color-mix(in srgb,var(--bg-2) 80%,transparent);padding:22px 22px 8px}.contact-lines{margin-top:36px}.prompt{font-family:var(--mono);font-size:13px;color:var(--green);margin:0 0 12px}.cmds{list-style:none;margin:0;padding:0}.cmds li{animation:rise .5s ease both;animation-delay:var(--d);border-top:1px solid var(--line)}.cmds a{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:baseline;padding:14px 4px;text-decoration:none;font-family:var(--mono);font-size:14px}.cmds a:hover{background:color-mix(in srgb,var(--green) 8%,transparent);color:var(--ink)}.cmds code{color:var(--green);font-family:inherit}.cmds span{color:var(--mute);font-size:12px}.cmds i{font-style:normal;color:var(--mute)}.stack-line{font-family:var(--mono);font-size:12px;color:var(--mute);margin:0}.product-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.product-list li{border-bottom:1px solid var(--line);animation:rise .5s ease both;animation-delay:var(--d)}.product-list a{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:baseline;padding:22px 4px;text-decoration:none}.product-list a:hover{background:color-mix(in srgb,var(--green) 7%,transparent)}.product-list a:hover h3{color:var(--green)}.idx{font-family:var(--mono);font-size:12px;color:var(--green)}.product-list p,.work p{margin:6px 0 0;color:var(--mute);font-size:15px}.field{font-family:var(--mono);font-size:12px;color:var(--mute)}.work{border-top:1px solid var(--line)}.work article{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:26px 0;border-bottom:1px solid var(--line);animation:rise .5s ease both;animation-delay:var(--d)}.split{display:grid;grid-template-columns:160px 1fr;gap:32px}.aside{font-family:var(--mono);font-size:12px;color:var(--green);margin:0;padding-top:4px}.prose{max-width:40em}.prose p{margin:0 0 1em;color:var(--mute)}.pieces{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:0;list-style:none;font-family:var(--mono);font-size:12px;color:var(--ink)}.pieces li:before{content:"> ";color:var(--green)}.legal-block{margin:36px 0;padding:28px;border:1px solid var(--line);background:var(--bg-2);display:grid;gap:16px;justify-items:start;animation:rise .5s ease both}.legal-block blockquote{margin:0;font-family:var(--mono);font-size:clamp(14px,2vw,18px);line-height:1.45;letter-spacing:.02em}.legal-en{margin:0;color:var(--mute);font-size:14px}.legal-card{margin-top:32px;padding:18px 20px;border:1px solid var(--line);background:var(--bg-2);animation:rise .45s ease both}.legal-card p:last-child{margin:8px 0 0;font-family:var(--mono);font-size:13px;letter-spacing:.03em}.form{display:grid;gap:18px;max-width:440px;margin-top:36px}label{display:grid;gap:6px;font-family:var(--mono);font-size:12px;color:var(--mute)}input,textarea{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;border-radius:0;outline:none}input:focus,textarea:focus{border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green)}textarea{min-height:120px;resize:vertical}.form button{justify-self:start;margin-top:8px}.form button:disabled{opacity:.5;cursor:wait}.note{margin:0;font-family:var(--mono);font-size:13px}.note.ok{color:var(--green)}.note.fail{color:#e25b4a}.foot{border-top:1px solid var(--line);padding:22px 0 28px;background:color-mix(in srgb,var(--bg-2) 70%,transparent)}.foot-inner{display:grid;gap:10px}.foot .legal{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--mute);line-height:1.5}.foot a{font-family:var(--mono);font-size:12px;text-decoration:none;color:var(--green)}.foot-reach{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}.missing{padding:48px 0}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#05080d;display:grid;place-items:center;animation:bootfade .35s ease .15s both}.boot-term{width:min(640px,calc(100% - 40px));font-family:var(--mono);font-size:13px;color:var(--green)}.boot-term p{margin:0 0 8px;animation:rise .25s ease both}@keyframes gridshift{0%{background-position:0 0}to{background-position:56px 56px}}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(12px)}}@keyframes blink{50%{opacity:0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes breathe{0%,to{filter:drop-shadow(0 0 0 transparent);transform:translateY(0)}50%{filter:drop-shadow(0 0 8px var(--glow));transform:translateY(-1px)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pagein{0%{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes bootfade{0%{opacity:1}to{opacity:1}}h1.in,.lede{animation:rise .55s ease both}.lede{animation-delay:.08s}@media(max-width:860px){.split,.product-list a,.work article,.cmds a{grid-template-columns:1fr;gap:8px}.nav.desk{display:none}.burger{display:block}.mast-inner{gap:12px}.brand-type{font-size:15px;letter-spacing:.08em}}@media(max-width:720px){:root{--gutter: 16px;--header: 62px}.page{padding-top:28px}.seg button{padding:6px 7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.caret{animation:none}}
