:root{--ink:#0c1b2a;--ink2:#132c3c;--white:#fff;--bg:#f7f9fb;--teal:#1a9aa6;--gold:#b9914a;--line:#dce5e9;--muted:#637481;--blue:#e4f1f2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit}button,select{font:inherit}button{cursor:pointer}.skip{position:absolute;left:-9999px;z-index:5}.skip:focus{left:10px;top:10px;background:#fff;padding:10px}.topbar{background:var(--ink);color:#fff;padding:17px max(26px,calc((100vw - 1420px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{display:flex;gap:14px;align-items:center;text-decoration:none}.threshold{font-size:33px;color:#fff;border:1.5px solid var(--teal);width:45px;height:43px;line-height:34px;text-align:center}.brand strong{font-size:23px;letter-spacing:.19em}.brand small{display:block;font-size:9px;letter-spacing:.14em;color:#bdcdd5}.top-actions{display:flex;align-items:center;gap:25px}.version{font-size:10px;letter-spacing:.14em;color:#aac1cb}.toplink{font-size:12px;text-decoration:none;font-weight:700;padding:10px 15px;border:1px solid #4b6874;border-radius:4px}.toplink:hover{border-color:var(--teal)}main{max-width:1450px;margin:auto;padding:32px 26px 0}.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin:14px 0 27px}.intro-text{padding:14px 0}.eyebrow{font-size:10px;letter-spacing:.16em;color:#23828c;font-weight:850}.intro h1{font-size:clamp(38px,4.7vw,69px);line-height:1.035;letter-spacing:-.06em;margin:18px 0 18px}.intro h1 em{font-weight:450;font-style:normal;color:#698391}.lede{font-size:16px;color:#4c6572;line-height:1.65;max-width:670px}.signature{font-size:12px;color:#58717d;margin-top:24px}.markline{display:inline-block;width:21px;height:2px;background:var(--gold);vertical-align:middle;margin-right:6px}.hero-visual{min-height:282px;background:var(--ink2);border:1px solid #264454;border-radius:6px;padding:18px 20px;color:#bfd4dc;overflow:hidden}.hero-visual svg{display:block;width:100%;max-height:221px}.hero-label,.hero-foot{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}.hero-foot{color:#7f9dad}.dot,.status-led{display:inline-block;height:7px;width:7px;background:#1a9aa6;border-radius:50%;margin-right:7px}.overview{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);margin:0 0 22px}.overview div{padding:16px 24px;border-right:1px solid var(--line)}.overview div:last-child{border:0}.overview small{display:block;font-size:9px;letter-spacing:.14em;color:#87969d;margin-bottom:8px}.overview b{font-size:15px}.workbench{display:grid;grid-template-columns:235px minmax(380px,1fr) 275px;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);min-height:830px;border-radius:5px;overflow:hidden}.rail{background:#f4f7f9;border-right:1px solid var(--line)}.rail-title{padding:27px 19px 15px}.rail-title h2,.inspector-header h2{font-size:18px;letter-spacing:-.04em;margin:8px 0}.rail-title p{font-size:12px;line-height:1.6;color:var(--muted)}.stage-list{display:grid;gap:1px;padding:4px 9px 20px}.stage-btn{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;text-align:left;border:0;background:transparent;border-left:3px solid transparent;padding:9px;border-radius:3px;color:#365565;width:100%}.stage-btn:hover,.stage-btn:focus-visible{background:#eaf2f4}.stage-btn.active{background:#fff;border-left-color:var(--teal);box-shadow:0 1px 3px #08283313}.stage-btn .index{font-size:11px;color:#73919b;font-weight:800}.stage-btn b{display:block;font-size:12px;font-weight:750}.stage-btn small{font-size:10px;color:#8b9da4;display:block;margin-top:3px}.rail-foot{font-size:10px;line-height:1.65;color:#6e8390;padding:19px;border-top:1px solid var(--line)}.workspace{padding:26px 29px 30px;min-width:0}.workspace-top,.canvas-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.status{border:1px solid #dfcfb5;background:#fdf8ef;color:#8e6f38;border-radius:20px;font-size:9px;letter-spacing:.09em;font-weight:850;padding:7px 10px}.status.ready{border-color:#bce1e2;color:#087f88;background:#effafa}.status.part{border-color:#ddd4bf;color:#846928;background:#faf8f0}.workspace-heading{display:flex;align-items:center;gap:20px;margin:23px 0}.glyph{display:grid;place-items:center;width:55px;height:55px;flex-shrink:0;border:1px solid #d1e2e5;background:#eaf4f5;color:#176c77;font-weight:750;font-size:18px}.workspace-heading h2{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.04em;margin:0 0 6px}.workspace-heading p{font-size:12px;color:var(--muted);margin:0}.canvas-region{background:linear-gradient(130deg,#11283b,#19384a);color:#e6f2f4;border:1px solid #1e4054;border-radius:6px;min-height:246px;padding:24px 24px 17px}.canvas-label{font-size:9px;letter-spacing:.15em;color:#93b3c2}.step-schematic{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr;align-items:center;gap:9px;margin:43px 0 30px}.step-node{border:1px solid #456777;min-height:100px;padding:16px 13px;display:flex;flex-direction:column;justify-content:center;gap:10px;background:#173648;min-width:0}.step-node.focus{background:#1b4955;border-color:#32a6ae}.step-node span{font-size:9px;color:#8ebbc4;letter-spacing:.12em}.step-node strong{font-size:13px;line-height:1.4;font-weight:680;overflow-wrap:anywhere}.connector{text-align:center;color:#b9914a;font-size:18px}.screen-label{font-size:11px;color:#bed0d6}.stage-description{font-size:13px;line-height:1.75;color:#4b6270;margin:21px 0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info{border:1px solid var(--line);padding:18px 18px 15px;border-radius:3px;background:#fff}.info h3{font-size:12px;margin:0 0 13px}.section-num{display:inline-grid;place-items:center;width:18px;height:18px;background:#e9f4f4;color:#0c7d82;font-size:9px;margin-right:7px}.info ul{padding-left:18px;margin:0;color:#5f7280;font-size:12px;line-height:1.9}.navigator{margin-top:21px;display:flex;gap:12px;align-items:center}.navigator button{border-radius:3px;border:1px solid #b9cbd3;background:#fff;padding:12px 15px;color:#284c5b;font-size:11px;font-weight:750;white-space:nowrap}.navigator button.solid{background:var(--ink);color:white;border-color:var(--ink)}.navigator button:disabled{opacity:.35;cursor:default}.progress{height:5px;flex:1;background:#e6eff1;border-radius:3px}.progress div{height:5px;background:var(--teal);width:10%;transition:width .2s}.inspector{border-left:1px solid var(--line);background:#fcfdfd;padding:26px 21px}.inspector-header{margin-bottom:20px}.gate{border:1px solid #e4edef;background:#fff;padding:13px 12px;margin:9px 0}.gate span{font-size:9px;letter-spacing:.11em;color:#607c87;display:block}.gate strong{display:block;color:#123a4a;margin:8px 0;font-size:14px}.gate strong.block{color:#a74c40}.gate small{display:block;font-size:10px;line-height:1.5;color:#8497a0}.inspector-divider{height:1px;background:var(--line);margin:20px 0}.inspector label{font-weight:800;font-size:11px}.inspector select{display:block;margin:9px 0;padding:12px;border:1px solid #ccdce2;background:white;border-radius:4px;color:var(--ink);width:100%;font-size:12px}.mode-text{font-size:11px;line-height:1.65;color:var(--muted)}.scope-note{padding:15px;background:#f8f3e9;border-left:3px solid var(--gold);margin:22px 0}.scope-note b{font-size:10px;letter-spacing:.1em}.scope-note p{font-size:11px;line-height:1.7;color:#725e40;margin-bottom:0}.quick-links{display:grid;gap:8px}.quick-links a,.quick-links button{font-size:11px;padding:12px;text-decoration:none;text-align:center;border:1px solid #d0dee4;background:#fff;color:#153c4c;font-weight:750;border-radius:3px}.quick-links a{background:var(--ink);color:white;border-color:var(--ink)}.quick-links button:hover{border-color:var(--teal)}.legal{color:#87959e;font-size:10px;line-height:1.7;margin-top:20px}.principles{padding:65px 0}.principles h2{font-size:29px;letter-spacing:-.04em;margin:10px 0 25px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.principle-grid article{background:#fff;border:1px solid var(--line);padding:26px}.principle-grid b{font-size:11px;color:#166d77}.principle-grid p{font-size:13px;line-height:1.7;color:#536a75}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;padding:26px 0 35px;color:#84939b;letter-spacing:.06em;font-size:9px}@media(max-width:1180px){.workbench{grid-template-columns:210px minmax(360px,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.inspector-header,.inspector-divider,.inspector label,.inspector select,.mode-text,.scope-note,.quick-links,.legal{grid-column:1/-1}.gate{margin:0}.inspector-header{margin-bottom:2px}}@media(max-width:770px){main{padding:17px 13px 0}.topbar{padding:14px}.version{display:none}.intro{grid-template-columns:1fr}.hero-visual{min-height:240px}.overview{grid-template-columns:1fr 1fr}.overview div:nth-child(2){border-right:0}.overview div:nth-child(-n+2){border-bottom:1px solid var(--line)}.workbench{display:block}.rail{border-right:0;border-bottom:1px solid var(--line)}.rail-title{padding:16px 17px 4px}.stage-list{display:flex;overflow:auto;padding:6px 12px 15px;scroll-snap-type:x proximity}.stage-btn{min-width:160px;scroll-snap-align:start}.rail-foot{display:none}.workspace{padding:22px 16px}.step-schematic{grid-template-columns:1fr;gap:8px;margin:23px 0}.connector{transform:rotate(90deg)}.step-node{min-height:70px}.two-cols,.principle-grid{grid-template-columns:1fr}.inspector{padding:19px 15px}.hero-visual svg{max-height:180px}.navigator{flex-wrap:wrap}.navigator .progress{order:-1;flex-basis:100%}footer{display:block}footer span{display:block;margin-bottom:7px}}@media(max-width:430px){.overview div{padding:13px}.intro h1{font-size:38px}.toplink{padding:8px}.brand strong{font-size:19px}.brand small{font-size:8px}.threshold{width:37px;height:38px;font-size:28px}}@media print{.topbar,.rail,.navigator,.quick-links,.inspector select,.inspector label{display:none!important}main{max-width:100%;padding:0}.workbench{display:block;min-height:auto}.workspace,.inspector{border:0}.intro{grid-template-columns:1fr}.hero-visual{display:none}.principles{padding:20px 0}body{background:white}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* v0.4 dual user/evidence route studio */
.route-studio{background:#fff;border:1px solid var(--line);border-radius:5px;margin:0 0 23px;padding:24px 24px 20px}
.route-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:22px}
.route-head h2{font-size:clamp(20px,2.4vw,29px);letter-spacing:-.04em;margin:8px 0}
.route-head p{font-size:12px;color:var(--muted);line-height:1.6;max-width:700px}
.route-switch{display:flex;border:1px solid #c9d9df;padding:3px;border-radius:5px;background:#f1f5f7;flex-shrink:0}
.route-switch button{border:0;border-radius:3px;padding:11px 14px;color:#4e6876;background:transparent;font-size:11px;font-weight:800}
.route-switch button.selected{background:var(--ink);color:#fff;box-shadow:0 1px 5px #0c1b2a18}
.route-track{display:grid;grid-template-columns:146px minmax(0,1fr);gap:20px;border:1px solid #e2eaee;background:#fbfdfd;align-items:center;padding:14px;border-radius:3px;margin:8px 0;transition:border-color .15s,background-color .15s}
.route-track.active{background:#f0f9fa;border-color:#78b7c0}
.route-track-evidence{background:#fbfaf8}
.route-track-evidence.active{background:#fcf7ed;border-color:#c9ab73}
.route-label{display:flex;flex-direction:column;gap:5px;font-size:10px}
.route-label strong{font-size:11px;letter-spacing:.08em}
.route-label small{font-size:10px;color:#81949d}
.route-tag{font-size:10px;color:#16828c;font-weight:850}
.route-nodes{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding:4px 2px;scrollbar-width:thin}
.route-node{border:1px solid #d7e3e8;border-radius:3px;background:#fff;min-width:98px;flex:1;padding:12px 8px 11px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;text-align:left;position:relative}
.route-node:hover,.route-node:focus-visible{border-color:#1a9aa6;outline-offset:1px}
.route-node.highlight{border-color:#178b93;box-shadow:inset 0 0 0 1px #178b93}
.route-track-evidence .route-node.highlight{border-color:#b9914a;box-shadow:inset 0 0 0 1px #b9914a}
.route-node::after{content:"›";position:absolute;right:-9px;top:39%;font-size:17px;color:#86a1a8;z-index:2}
.route-node:last-child::after{display:none}
.route-node b{font-size:11px;line-height:1.35;color:#254a58}
.route-node small{font-size:9px;color:#879aa4;line-height:1.35}
.route-node .route-dot{width:6px;height:6px;border-radius:50%;background:#99bfc1;display:block}
.route-node.part .route-dot{background:#c7a15c}
.route-node.plan .route-dot{background:#c6cfd4}
.route-track-evidence .route-node b{color:#72562d}
.route-bridge{display:flex;align-items:center;gap:14px;background:#0e2938;color:#e4f1f3;border-radius:3px;margin:14px 0 12px;padding:16px 20px}
.route-bridge b{font-size:13px}
.route-bridge p{font-size:11px;color:#a9c4cc;margin:5px 0 0;line-height:1.6}
.bridge-pulse{width:11px;height:11px;border:2px solid var(--teal);border-radius:50%;flex-shrink:0}
.route-boundary{font-size:9px;white-space:nowrap;color:#d5b477;margin-left:auto;letter-spacing:.1em}
.route-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#728792}
.route-legend span{display:flex;align-items:center;gap:6px}
.route-legend i{display:block;width:8px;height:8px;border-radius:50%}.legend-ready{background:#1a9aa6}.legend-part{background:#b9914a}.legend-plan{background:#b6c1c7}
@media(max-width:1000px){.route-track{grid-template-columns:1fr;gap:8px}.route-label{flex-direction:row;align-items:center;gap:10px}.route-label small{margin-left:auto}.route-node{min-width:115px;flex:0 0 115px}}
@media(max-width:770px){.route-studio{padding:16px 12px}.route-head{flex-direction:column;gap:12px}.route-switch{width:100%}.route-switch button{flex:1}.route-bridge{align-items:flex-start;flex-wrap:wrap;padding:14px}.route-boundary{margin-left:0}.route-node{min-width:120px}}
@media print{.route-head .route-switch{display:none}.route-track{display:grid;grid-template-columns:110px 1fr}.route-nodes{overflow:visible}.route-node{min-width:auto;flex:1}.route-bridge{background:#fff;color:#0c1b2a;border:1px solid #999}.route-bridge p{color:#455a63}}
