:root{--ink:#050908;--ink-2:#0b1211;--surface:#101a18;--line:#1e2e2b;--line-soft:#16211f;--fg:#edf4f1;--fg-2:#9fb4ad;--fg-3:#5f7770;--accent:#43e0b0;--accent-dim:#1f6b57;--red:#ff6b54;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--wrap:74rem;--head-h:4rem}*{box-sizing:border-box}body{background:var(--ink);color:var(--fg);font-family:var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8;overflow-x:hidden}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}.site-head{z-index:60;background:color-mix(in srgb, var(--ink) 82%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);position:sticky;top:0}.head-in{max-width:var(--wrap);height:var(--head-h);align-items:center;gap:1.5rem;margin:0 auto;padding:0 1.75rem;display:flex}.brand{letter-spacing:-.01em;color:var(--fg);align-items:center;gap:.55rem;margin-right:auto;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.mark{background:var(--accent);flex:none;width:1.55rem;height:1.55rem;display:block;mask:url(/logo.png) 50%/contain no-repeat}.nav{align-items:center;gap:1.5rem;display:flex}.nav a{font-family:var(--mono);letter-spacing:.12em;color:var(--fg-3);border-bottom:1px solid #0000;padding:.3rem 0;font-size:.69rem;text-decoration:none;transition:color .18s,border-color .18s}.nav a:hover{color:var(--fg)}.nav a.on{color:var(--accent);border-bottom-color:var(--accent)}.nav .cta-link{color:var(--ink);background:var(--accent);border-bottom:0;border-radius:2px;padding:.45rem .9rem;font-weight:700}.nav a.cta-link.on{color:var(--ink);border-bottom-color:#0000}.nav-toggle{border:1px solid var(--line);color:var(--fg-2);font-family:var(--mono);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:2px;padding:.4rem .7rem;font-size:.68rem;display:none}@media (width<=900px){.nav{top:var(--head-h);background:var(--ink-2);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.75rem 1.25rem;display:none;position:absolute;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line-soft);padding:.8rem 0}.nav .cta-link{text-align:center;margin-top:.8rem}.nav-toggle{display:block}}.page{display:none}.page.active{display:block}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:.68rem}h1.display{letter-spacing:-.04em;text-wrap:balance;margin:0 0 1.5rem;font-size:clamp(2.4rem,7.5vw,5.5rem);font-weight:800;line-height:1.06}h2.sec{letter-spacing:-.03em;text-wrap:balance;margin:0 0 1.25rem;font-size:clamp(1.7rem,4.2vw,2.9rem);font-weight:800;line-height:1.24}h3.sub{margin:0 0 .6rem;font-size:1.1rem;font-weight:700}p{color:var(--fg-2);max-width:34rem;margin:0 0 1.1rem}p.big{color:var(--fg);font-size:1.15rem;line-height:1.75}strong{color:var(--fg);font-weight:700}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}section.band{border-top:1px solid var(--line-soft);padding:6.5rem 0}.btn{font-family:var(--mono);letter-spacing:.08em;background:var(--accent);color:var(--ink);border:1px solid var(--accent);border-radius:2px;align-items:center;gap:.5rem;padding:.9rem 1.5rem;font-size:.74rem;font-weight:700;text-decoration:none;transition:background .18s;display:inline-flex}.btn:hover{background:#5ff0c2}.btn.ghost{color:var(--fg-2);border-color:var(--line);background:0 0}.btn.ghost:hover{color:var(--fg);border-color:var(--fg-3)}.btns{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.hero-stage{border-bottom:1px solid var(--line-soft);align-items:center;min-height:min(92vh,54rem);display:flex;position:relative;overflow:hidden}#flow{opacity:0;width:100%;height:100%;transition:opacity .28s;display:block;position:absolute;inset:0}#flow.on{opacity:1}.hero-stage .veil{z-index:1;background:linear-gradient(90deg, var(--ink) 0%, var(--ink) 26%, color-mix(in srgb, var(--ink) 86%, transparent) 44%, color-mix(in srgb, var(--ink) 35%, transparent) 66%, transparent 88%);position:absolute;inset:0}.gates{z-index:1;pointer-events:none;position:absolute;inset:0}.gate-mark{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 18%, color-mix(in srgb, var(--accent) 55%, transparent) 82%, transparent);width:1px;position:absolute;top:0;bottom:3.2rem}.gate-mark span.last{text-align:right;left:auto;right:.55rem}.gates .gate-mark:nth-child(2) span,.gates .gate-mark:nth-child(4) span{top:7.6rem}.gate-mark span{font-family:var(--mono);letter-spacing:.14em;color:color-mix(in srgb, var(--accent) 70%, transparent);white-space:nowrap;font-size:.6rem;position:absolute;top:5.5rem;left:.55rem}@media (width<=900px){.gate-mark span{display:none}}.hero-stage .inner{z-index:2;width:100%;padding:6rem 0 8rem;position:relative}.hero-stage h1{max-width:16ch}.hero-stage p.kick{color:var(--fg);max-width:28rem;font-size:1.15rem}.hud{z-index:3;border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--ink) 72%, transparent);backdrop-filter:blur(8px);font-family:var(--mono);letter-spacing:.06em;font-size:.66rem;position:absolute;bottom:0;left:0;right:0}.hud-in{max-width:var(--wrap);flex-wrap:wrap;gap:1.5rem;margin:0 auto;padding:.7rem 1.75rem;display:flex}.hud .item{color:var(--fg-3);white-space:nowrap}.hud .item b{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.hud .item.warn b{color:var(--red)}.hud .dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:.4rem;height:.4rem;margin-right:.35rem;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.demo{background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1px;margin-top:2.5rem;display:grid}@media (width<=880px){.demo{grid-template-columns:1fr}}.demo-pane{background:var(--ink-2);min-width:0}.pane-head{border-bottom:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .95rem;font-size:.67rem;display:flex}.pane-head .st{font-weight:700}.st.ok{color:var(--accent)}.st.ng{color:var(--red)}.st.run{color:var(--fg-2)}#codeIn{width:100%;color:var(--fg);resize:vertical;font-family:var(--mono);tab-size:2;white-space:pre;background:0 0;border:0;min-height:16rem;padding:1rem;font-size:.78rem;line-height:1.85;overflow-x:auto}.wheels{background:var(--line-soft);gap:1px;display:grid}.wheel{background:var(--ink-2);padding:.9rem .95rem}.wheel .n{font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3);margin-bottom:.5rem;font-size:.66rem}.finding{font-family:var(--mono);color:var(--fg-2);padding:.3rem 0 .3rem .95rem;font-size:.72rem;line-height:1.7;position:relative}.finding:before{content:"▸";color:var(--red);position:absolute;left:0}.finding.agree:before{content:"▶";color:var(--red)}.finding.clean:before{content:"✓";color:var(--accent)}.finding em{color:var(--fg);font-style:normal}.verdict{background:var(--surface);border-top:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.04em;padding:1rem .95rem;font-size:.73rem}.verdict .big{letter-spacing:.06em;font-size:.95rem;font-weight:700}.verdict.pass{box-shadow:inset 3px 0 0 var(--accent)}.verdict.fail{box-shadow:inset 3px 0 0 var(--red)}.verdict .sub{color:var(--fg-3);letter-spacing:0;margin-top:.35rem;font-size:.68rem}.grid{background:var(--line-soft);border:1px solid var(--line-soft);gap:1px;display:grid}.grid.c2{grid-template-columns:repeat(auto-fit,minmax(26rem,1fr))}@media (width>=60rem){.grid.c2>.cell:last-child:nth-child(odd){grid-column:1/-1}}.grid.c3{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}.cell{background:var(--ink-2);padding:1.9rem 1.7rem}.cell .k{font-family:var(--mono);letter-spacing:.12em;color:var(--fg-3);font-size:.66rem}.cell h4{letter-spacing:-.01em;margin:.55rem 0 .6rem;font-size:1.1rem;font-weight:700}.cell p{max-width:none;margin:0;font-size:.92rem;line-height:1.8}.cell .tech{font-family:var(--mono);color:var(--fg-3);margin-top:1rem;font-size:.68rem;line-height:1.7}.cell .proof{border-top:1px solid var(--line-soft);color:var(--accent);margin-top:1rem;padding-top:.85rem;font-size:.84rem}.figs{background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;margin:2rem 0;display:grid}.figs .f{background:var(--ink-2);padding:1.5rem 1.4rem}.figs .n{font-family:var(--mono);color:var(--accent);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:600;line-height:1.1}.figs .n small{color:var(--fg-3);letter-spacing:0;margin-left:.2rem;font-size:.78rem}.figs .l{color:var(--fg-3);margin-top:.4rem;font-size:.76rem;line-height:1.6}.pipe{background:var(--line-soft);border:1px solid var(--line-soft);gap:1px;margin-top:2rem;display:grid}.step{background:var(--ink-2);grid-template-columns:2.8rem minmax(0,1fr);gap:0 1rem;padding:1.3rem 1.4rem;display:grid}.step .k{font-family:var(--mono);color:var(--accent-dim);padding-top:.4rem;font-size:.7rem;font-weight:700}.step .t{color:var(--fg);font-weight:700}.step .d{color:var(--fg-2);margin-top:.15rem;font-size:.9rem;line-height:1.75}.step.gate{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.step.gate .k{color:var(--accent)}.scroll{border:1px solid var(--line-soft);margin:1.75rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:28rem;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:.85rem 1rem;line-height:1.75}th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);background:var(--ink-2);white-space:nowrap;width:9rem;font-size:.66rem;font-weight:600}td{color:var(--fg-2)}tr:last-child th,tr:last-child td{border-bottom:0}ul.ticks{max-width:34rem;margin:0 0 1.5rem;padding:0;list-style:none}ul.ticks li{color:var(--fg-2);margin-bottom:.6rem;padding-left:1.4rem;position:relative}ul.ticks li:before{content:"—";color:var(--accent-dim);font-family:var(--mono);position:absolute;left:0}ul.ticks li strong{color:var(--fg)}.claim{border:1px solid var(--line-soft);background:var(--ink-2);margin-top:2rem}.claim-head{border-bottom:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.12em;color:var(--fg-3);justify-content:space-between;gap:1rem;padding:.65rem .95rem;font-size:.67rem;display:flex}.claim-body{padding:clamp(2.5rem,7vw,4.5rem) clamp(1.2rem,4vw,3rem)}.claim .q{letter-spacing:-.05em;color:var(--fg);max-width:none;margin:0;font-size:clamp(2.6rem,8vw,5.5rem);font-weight:800;line-height:1.06}.claim .q span{color:var(--accent)}.claim .vows{border:0;border-top:1px solid var(--line-soft);margin:0}.bio{grid-template-columns:7rem minmax(0,1fr);align-items:start;gap:0 2rem;display:grid}.mono-mark{border:1px solid var(--line);background:var(--ink-2);place-items:center;width:7rem;height:7rem;display:grid}.mark-lg{background:var(--accent-dim);width:3.4rem;height:3.4rem}@media (width<=640px){.bio{grid-template-columns:1fr;gap:1.25rem}}form{max-width:34rem;margin-top:2rem}.field{margin-bottom:1.2rem}label{font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3);text-transform:uppercase;margin-bottom:.4rem;font-size:.68rem;display:block}input,textarea,select{background:var(--ink-2);border:1px solid var(--line);width:100%;color:var(--fg);font-family:var(--sans);border-radius:2px;padding:.8rem .9rem;font-size:.95rem;line-height:1.6}textarea{resize:vertical;min-height:7rem}input::placeholder,textarea::placeholder{color:var(--fg-3)}button.submit{font-family:var(--mono);letter-spacing:.08em;cursor:pointer;background:var(--accent);color:var(--ink);border:1px solid var(--accent);border-radius:2px;padding:.85rem 1.5rem;font-size:.74rem;font-weight:700}.form-msg{font-family:var(--mono);color:var(--accent);min-height:1.2rem;margin-top:1rem;font-size:.73rem}.todo{font-family:var(--mono);color:#d9a65b;letter-spacing:.04em;font-size:.66rem}.site-foot{border-top:1px solid var(--line-soft);padding:3.5rem 0 4rem}.foot-in{flex-wrap:wrap;justify-content:space-between;gap:2.5rem;display:flex}.foot-nav{flex-wrap:wrap;gap:1.3rem;display:flex}.foot-nav a{font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3);font-size:.68rem;text-decoration:none}.foot-nav a:hover{color:var(--fg)}.copy{font-family:var(--mono);color:var(--fg-3);font-size:.66rem;line-height:1.9}.vows{background:var(--line-soft);border:1px solid var(--line-soft);gap:1px;margin:2rem 0 0;display:grid}.vow{background:var(--ink-2);grid-template-columns:2.6rem minmax(0,1fr);align-items:baseline;gap:0 1rem;padding:1.35rem 1.6rem;transition:background .22s;display:grid}.vow:hover{background:var(--surface)}.vow i{font-family:var(--mono);letter-spacing:.1em;color:var(--accent-dim);font-size:.7rem;font-style:normal}.vow p{letter-spacing:-.015em;max-width:none;color:var(--fg);margin:0;font-size:clamp(1.05rem,2.4vw,1.45rem);font-weight:700;line-height:1.55}.vow:hover p{color:var(--fg)}.vow:hover i{color:var(--accent)}.cell.lean h4{margin-bottom:1.6rem}.cell.lean .proof{color:var(--fg-3);border-top:0;margin-top:0;padding-top:0}.cell.lean:hover .proof{color:var(--accent)}.intake{background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1px;margin-top:2.5rem;display:grid}@media (width<=900px){.intake{grid-template-columns:1fr}}.intake-pane{background:var(--ink-2);flex-direction:column;min-width:0;display:flex}.qlog{flex-direction:column;gap:.55rem;padding:1rem 1.1rem 0;display:flex}.qlog .row{color:var(--fg-3);grid-template-columns:1.1rem minmax(0,1fr);gap:.55rem;font-size:.82rem;line-height:1.7;display:grid}.qlog .row b{color:var(--fg-2);font-weight:400}.qlog .row .mk{font-family:var(--mono);color:var(--accent-dim);padding-top:.15rem;font-size:.7rem}.qlog .row.ans b{color:var(--fg)}.qbox{border-top:1px solid var(--line-soft);margin-top:1rem;padding:1.4rem 1.1rem 1.5rem}.qbox .qt{color:var(--fg);margin-bottom:.3rem;font-size:1.05rem;font-weight:700;line-height:1.6}.qbox .qh{color:var(--fg-3);margin-bottom:1rem;font-size:.8rem}.opts{flex-wrap:wrap;gap:.5rem;display:flex}.opt{font-family:var(--sans);color:var(--fg-2);border:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-radius:2px;padding:.55rem .9rem;font-size:.88rem;transition:border-color .16s,color .16s,background .16s}.opt:hover{color:var(--fg);border-color:var(--fg-3)}.opt.sel{color:var(--ink);background:var(--accent);border-color:var(--accent);font-weight:700}.qbox textarea,.qbox input{margin-bottom:.6rem}.qnav{align-items:center;gap:.6rem;margin-top:1rem;display:flex}.qnav .mini{font-family:var(--mono);letter-spacing:.08em;color:var(--fg-3);cursor:pointer;background:0 0;border:0;padding:.4rem .2rem;font-size:.68rem}.qnav .mini:hover{color:var(--fg)}.karte{font-family:var(--mono);padding:1rem 1.1rem 1.3rem;font-size:.74rem;line-height:1.95}.karte .kh{letter-spacing:.12em;color:var(--fg-3);justify-content:space-between;gap:1rem;margin-bottom:.8rem;font-size:.66rem;display:flex}.karte .kh b{color:var(--accent);font-weight:600}.karte dl{grid-template-columns:7.5rem minmax(0,1fr);gap:.1rem .8rem;margin:0;display:grid}.karte dt{color:var(--fg-3)}.karte dd{color:var(--fg);word-break:break-word;margin:0}.karte dd.empty{color:var(--line)}.meter{background:var(--line);height:2px;margin:.2rem 0 1rem}.meter i{background:var(--accent);width:0;height:100%;transition:width .3s;display:block}.karte-foot{border-top:1px solid var(--line-soft);font-size:.72rem;font-family:var(--mono);color:var(--fg-3);padding:1rem 1.1rem}.turnstile-wrap{border-top:1px solid var(--line-soft);padding:1rem 1.1rem}.turnstile-wrap>span{font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3);margin-bottom:.65rem;font-size:.66rem;display:block}button.submit:disabled{cursor:wait;opacity:.65}.book{border-top:1px solid var(--line-soft);margin-top:1.6rem;padding-top:1.3rem}.book span{color:var(--fg-3);margin-bottom:.8rem;font-size:.82rem;display:block}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.page.active .enter>*{animation:.7s cubic-bezier(.16,.84,.28,1) both rise-in}.page.active .enter>:first-child{animation-delay:50ms}.page.active .enter>:nth-child(2){animation-delay:.13s}.page.active .enter>:nth-child(3){animation-delay:.21s}.page.active .enter>:nth-child(4){animation-delay:.29s}.page.active .enter>:nth-child(5){animation-delay:.37s}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.band h2.sec,.band>.wrap>p,.band .figs,.band .pipe,.band .scroll,.band .btns,.band ul.ticks,.band .bio,.band h3.sub,.claim,.demo{animation:linear both rise-in view();animation-range:entry 2% cover 24%}.grid .cell{animation:linear both fade-in view();animation-range:entry 4% cover 22%}section.band{position:relative}section.band:before{content:"";background:linear-gradient(90deg, var(--accent-dim), transparent 45%);transform-origin:0;height:1px;animation:linear both rule-draw view();animation-range:entry entry 90%;position:absolute;top:-1px;left:0;right:0}}}.cell{transition:background .22s,box-shadow .22s}.grid .cell:hover{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.step{transition:background .22s}.pipe .step:hover{background:var(--surface)}.page-head{position:relative;overflow:hidden}.page-head .page-ghost{font-family:var(--mono);letter-spacing:-.06em;color:var(--fg);opacity:.022;pointer-events:none;user-select:none;white-space:nowrap;font-size:clamp(7rem,22vw,17rem);font-weight:700;line-height:1;position:absolute;top:50%;right:-.06em;transform:translateY(-50%)}.page-head .wrap{z-index:1;position:relative}.scroll-cue{z-index:3;font-family:var(--mono);letter-spacing:.18em;color:var(--fg-3);font-size:.62rem;position:absolute;bottom:4.4rem;left:1.75rem}.scroll-cue i{background:linear-gradient(180deg, var(--accent), transparent);width:1px;height:2.2rem;margin:.55rem 0 0 .1rem;display:block}@media (prefers-reduced-motion:no-preference){.scroll-cue i{transform-origin:top;animation:2.4s ease-in-out infinite cue}}@keyframes cue{0%,to{opacity:.5;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@media (width<=900px){.scroll-cue{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
