/* Palette and brand geometry adapted from the verified live Blue-Obsidian stylesheet.
   See docs/PROVENANCE.md. Layout and components are specific to this repository. */
:root{color-scheme:dark;--bg:#0c1012;--panel:#12181b;--raised:#171e22;--line:#293237;--soft:#222b30;--text:#e7edef;--muted:#9cabb2;--teal:#83d7c7;--purple:#b3a1de;--amber:#e7bc7b;--red:#f19c97;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}body:before{content:"";position:absolute;inset:0 0 auto;height:580px;z-index:-1;background:radial-gradient(ellipse at 80% 0,#223a3a34,transparent 60%)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.shell{max-width:1240px;margin:0 auto;padding:0 48px}.masthead,.suite-nav{line-height:1.5}.masthead{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--soft)}:where(.masthead,.suite-nav) a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:32px;height:40px;fill:#b3a1de12;stroke:var(--purple);stroke-width:1.3}.brand>span{font-size:24px;font-weight:650;letter-spacing:4.4px;line-height:1.3}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2px;color:var(--muted);margin-top:3px}.masthead-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:11px;color:var(--muted)}.network-label{font-size:9px;letter-spacing:1.4px;display:flex;align-items:center;gap:8px}.network-label i{width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px #83d7c74a}.masthead-meta a:hover{color:var(--text)}.masthead-meta a span{padding-left:6px}.suite-nav{display:flex;flex-wrap:wrap;gap:8px 26px;padding:13px 0;border-bottom:1px solid var(--soft);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.suite-nav a:hover,.suite-nav a[aria-current="page"]{color:var(--text)}main{padding-top:42px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--teal);font-weight:600;margin-bottom:10px}h1{font-size:clamp(30px,4vw,43px);line-height:1.16;font-weight:550;letter-spacing:-1.5px}.intro{margin-top:14px;color:var(--muted);font-size:14px}.heading-note{border-left:1px solid var(--line);padding-left:24px;margin:0;color:var(--muted);font-size:12px;min-width:165px;max-width:300px;line-height:1.8}.heading-note strong{font-weight:400;color:var(--text)}.route-panel{padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.section-title h2{font-size:15px;font-weight:600}.section-title>span{font-size:11px;color:var(--muted)}.journey-fields{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:end;gap:14px}.field{min-width:0}.field label{display:block;font-size:12px;margin-bottom:8px;color:var(--text)}.field label span{color:var(--muted);font-weight:400}.field input,.field select{height:48px;background:var(--bg);border:1px solid #354249;border-radius:6px;color:var(--text);width:100%;padding:0 14px}.field input::placeholder{color:#8c9ba2}.field input:focus,.field select:focus{border-color:var(--teal)}button{border:1px solid #405057;background:var(--raised);color:var(--text);border-radius:6px;padding:10px 14px;min-height:42px}.reverse{height:48px;font-size:24px;padding:0}.preferences{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:18px;margin-top:20px}.combo{position:relative}.options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;margin:0;padding:5px;background:#1b252a;border:1px solid #52646c;border-radius:6px;list-style:none;max-height:300px;overflow:auto;box-shadow:0 15px 30px #0005}.options li{padding:11px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;border-radius:3px;overflow-wrap:anywhere}.options li[aria-selected=true],.options li:hover{background:#2c4243;color:var(--teal)}.options small{color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chips:empty{display:none}.chips button{font-size:12px;min-height:36px}.form-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px;border-top:1px solid var(--soft);padding-top:20px}.form-bottom p{color:var(--muted);font-size:12px;line-height:1.8}.form-bottom a{color:var(--teal)}.primary{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--teal);border-color:var(--teal);color:#0c1918;font-weight:650;min-width:175px;min-height:48px}.primary:hover{background:#a2e8da}.message{margin:14px 0;color:var(--amber);min-height:22px;overflow-wrap:anywhere}.notice{padding:13px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #615339;font-size:13px;background:#30291c;color:#f0d09e}.empty-state{padding:25px 0 52px;text-align:center;color:var(--muted)}.route-symbol{font-size:52px;line-height:1;display:block;color:#4d6569;margin-bottom:14px}.empty-state h2{color:var(--text);font-size:20px;font-weight:500;margin-bottom:10px}.empty-state p{font-size:13px}.text-button{border:0;background:none;color:var(--teal);margin-top:14px;font-size:13px}.results{padding-top:20px}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.result-heading h2{font-size:25px;font-weight:550;letter-spacing:-.6px;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:12px;margin-top:8px}.summary{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:8px;margin:22px 0;background:var(--panel);overflow:hidden}.stat{padding:18px 20px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:27px;font-weight:450;line-height:1.2;display:block}.stat span{color:var(--muted);font-size:12px;display:block;margin-top:7px}.stat.alert strong,.stat.alert span{color:var(--amber)}.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.quality{padding:14px 16px;border:1px solid #425a57;border-radius:6px;background:#172321;font-size:13px;color:#bcd9d1}.quality.incomplete{border-color:#675332;background:#292317;color:#e7c996}.quality strong{display:block;margin-bottom:4px}.observation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 24px;font-size:12px;color:var(--muted);flex-wrap:wrap}.observation label{display:flex;gap:6px;align-items:center;min-height:36px}.observation input{accent-color:var(--teal)}.route-steps{padding:0;list-style:none;margin:0}.step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;position:relative;padding-bottom:22px}.step:before{content:"";position:absolute;left:16px;top:36px;bottom:0;width:1px;background:var(--line)}.step:last-child:before{display:none}.step-number{width:34px;height:34px;background:var(--raised);border:1px solid #425057;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);margin-top:3px}.step-content{min-width:0}.system-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:40px;margin-bottom:8px}.system-heading h3{font-size:17px;font-weight:550}.security{font-size:11px;color:var(--teal);background:#17312c;padding:2px 7px;border-radius:4px}.security.low{color:var(--amber);background:#362b1d}.security.null{color:var(--red);background:#362321}.endpoint{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-left:auto}.gate-card{border:1px solid var(--line);border-radius:7px;background:var(--panel);margin-bottom:8px;overflow:hidden}.gate-card.camp{border-left:3px solid var(--red)}.gate-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px}.gate-name{font-size:14px;font-weight:500;overflow-wrap:anywhere}.direction{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:4px}.gate-count{display:block;font-size:12px;color:var(--muted);margin-top:5px}.activity{font-size:11px;color:var(--muted);text-align:right;max-width:175px}.activity.camp{color:var(--red)}.gate-card details{border-top:1px solid var(--soft);font-size:12px}.gate-card summary{padding:10px 18px;color:var(--muted);cursor:pointer;min-height:40px}.evidence{padding:0 18px 14px}.evidence-row{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr) auto;column-gap:16px;row-gap:3px;align-items:baseline;padding:10px 0;border-top:1px solid var(--soft)}.loss-ship{grid-column:1;overflow-wrap:anywhere}.loss-when{grid-column:2}.loss-link{grid-column:3;justify-self:end;white-space:nowrap}.loss-detail{grid-column:2/-1;display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;font-size:13px;min-width:0}.loss-detail span{overflow-wrap:anywhere}.loss-when time{cursor:help}@media(max-width:600px){.evidence-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px}.loss-detail{flex-basis:100%}.loss-link{flex-basis:100%;order:1;margin-top:2px}}.evidence-row span{color:var(--muted)}.evidence-row span.smartbomb-warning{color:var(--red);font-weight:600}.evidence a{color:var(--teal)}.evidence button{margin-top:10px;font-size:12px}.method{border-top:1px solid var(--line);padding:32px 0 38px;display:grid;grid-template-columns:1fr 1.5fr;gap:55px;margin-top:26px}.method h2{font-size:22px;font-weight:500;letter-spacing:-.4px;margin-bottom:12px}.method>div>p:last-child{font-size:13px;color:var(--muted);max-width:330px}.method-copy details{border-bottom:1px solid var(--soft);padding:0 0 12px;margin-bottom:13px}.method-copy summary{cursor:pointer;font-size:13px;min-height:30px}.method-copy p{font-size:12px;color:var(--muted);margin:12px 0;line-height:1.8}.method-copy p strong{font-weight:500;color:var(--text)}.method a{color:var(--teal)}footer{border-top:1px solid var(--line);padding:26px 0 32px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}footer strong{color:var(--text);font-size:12px;letter-spacing:2px;margin-right:12px}footer a{text-decoration:underline}.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-160%);background:var(--teal);color:var(--bg);padding:10px 18px}.skip-link:focus{transform:none}
@media(max-width:750px){.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.heading-note{max-width:none;padding-left:14px;line-height:1.7}main{padding-top:30px}.page-heading{margin-bottom:24px}.intro{font-size:13px}.preferences{grid-template-columns:1fr 1fr;gap:16px}.avoid-field{grid-column:1/-1}.route-panel{padding:20px}.form-bottom{align-items:stretch;flex-direction:column;gap:16px}.primary{width:100%}.method{grid-template-columns:1fr;gap:25px}.method>div>p:last-child{max-width:none}.summary .stat{padding:16px 12px}.stat span{font-size:11px}.result-heading{align-items:flex-start;flex-direction:column;gap:14px}.result-heading h2{font-size:23px}.gate-main{padding:14px;gap:10px}.gate-name{font-size:13px}.activity{max-width:125px;font-size:10px}.endpoint{margin-left:0}.method{margin-top:15px}.summary{margin:20px 0}.observation{font-size:11px}footer{line-height:1.8}}
@media(max-width:420px){.journey-fields{grid-template-columns:minmax(0,1fr) 38px;gap:10px}.journey-fields>.field:last-child{grid-column:1;grid-row:2}.reverse{grid-column:2;grid-row:1/3;align-self:center;width:38px}.route-panel{padding:17px}.section-title>span{font-size:10px}.step{grid-template-columns:26px minmax(0,1fr);gap:10px}.step-number{width:26px;height:26px;margin-top:7px}.step:before{left:12px}.gate-main{grid-template-columns:1fr;gap:9px}.activity{text-align:left;max-width:none}.summary{grid-auto-columns:minmax(0,1fr)}.stat strong{font-size:23px}.stat span{line-height:1.5}.system-heading h3{font-size:16px}h1{font-size:32px}.form-bottom p{font-size:11px}.intro{max-width:275px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#route-steps.stale .activity { opacity: .65; }
.safety-note{margin:-8px 0 16px;font-size:12px;color:var(--muted)}
/* Header: same geometry as the Obsidian masthead and menu (Blue-Obsidian 4db1cec, assets/obsidian.css). */
@media(min-width:1400px){.shell{max-width:1300px;padding:0 56px}}
@media(max-width:1000px){.shell{padding:0 28px}.masthead-meta .network-label{display:none}}
@media(max-width:700px){.shell{padding:0 20px}.masthead{height:88px}.brand>span{font-size:21px;letter-spacing:3.5px}.brand small{font-size:7px;letter-spacing:1.6px}.brand-mark{width:27px;height:35px}.masthead-meta{font-size:10px}}
@media(max-width:370px){.shell{padding:0 13px}.masthead-meta a{font-size:8px}.brand>span{font-size:19px}}
/* "Paint it Black" (paint-it-black.js): Obsidian's black-and-grey palette, red for warnings. */
html[data-theme="black"]{--bg:#070707;--panel:#101010;--raised:#161616;--line:#2f2f2f;--soft:#232323;--text:#ededed;--muted:#a6a6a6;--teal:#f2f2f2;--purple:#b5b5b5;--amber:#ff8f87;--red:#ff6b63}
:where(html[data-theme="black"]) body:before{background:radial-gradient(ellipse at 80% 0,#2a2a2a40,transparent 60%)}:where(html[data-theme="black"]) .brand-mark{fill:#ffffff10}:where(html[data-theme="black"]) .network-label i{box-shadow:0 0 12px #ffffff3a}
/* Four or more summary boxes: two per row on phones. */
@media(max-width:600px){.summary:has(>.stat:nth-child(4)){grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.summary:has(>.stat:nth-child(4)) .stat{border-bottom:1px solid var(--line);margin-bottom:-1px}.summary:has(>.stat:nth-child(4)) .stat:nth-child(2n){border-right:0}}
