:root{
  --paper:#f2f0e9;--white:#fff;--ink:#111;--muted:#9ca3a3;--rule:#303638;--stage:#0c0f10;--panel:#15191a;
  --cyan:#00a9cf;--blue:#164bce;--lime:#83a900;--yellow:#c89e00;--red:#ef351f;
  --mono:"IBM Plex Mono",monospace;--sans:"IBM Plex Sans",Arial,sans-serif;--display:"Barlow Condensed",Arial,sans-serif;
  --header:62px;--controls:104px;--track-progress:0%;--scene-progress:0;
}
*{box-sizing:border-box}
html{height:100%;overflow:hidden;background:var(--stage)}
body{height:100%;margin:0;background:var(--stage);color:#f4f4f1;font-family:var(--sans);overflow:hidden;overscroll-behavior:none}
button,a{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
img{display:block;width:100%}
.topbar{position:fixed;z-index:100;inset:0 0 auto;height:var(--header);display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 24px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--rule);backdrop-filter:blur(14px)}
.wordmark{font:700 17px/.78 var(--sans);color:#111;text-decoration:none;letter-spacing:.02em}.wordmark span{display:block}
.product-id{font:500 11px var(--mono);letter-spacing:.07em;color:#666}.product-id>span{color:#111}.product-id i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px}
.topbar nav{display:flex;gap:8px}.topbar nav button,.topbar nav a{min-height:44px;padding:0 14px;border:0;background:transparent;color:#111;font:500 11px var(--mono);text-decoration:none;display:grid;place-items:center}.topbar nav button:hover,.topbar nav button.selected,.topbar nav a:hover{color:var(--cyan)}
.menu{display:none;border:0;background:none}.menu i{display:block;width:24px;height:1px;background:var(--ink);margin:6px}
.experience-track{position:fixed;inset:0;height:100vh;height:100svh;background:var(--stage);touch-action:none}
.stage{position:fixed;z-index:10;inset:0;height:100vh;height:100svh;min-height:0;overflow:hidden;background:var(--stage)}
.page-rail{position:absolute;z-index:92;left:0;right:0;bottom:0;height:var(--controls);display:grid;grid-template-columns:148px minmax(0,1fr);background:rgba(8,10,11,.98);color:#fff;border-top:1px solid #41484a;box-shadow:0 -12px 38px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.page-rail header{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:0 20px;border-right:1px solid #343a3c}.page-rail header small,.page-rail header strong{font-family:var(--mono)}.page-rail header small{font-size:9px;color:var(--cyan)}.page-rail header strong{font-size:12px}.page-rail ol{display:flex;list-style:none;margin:0;padding:0;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#555 transparent}.page-rail li{flex:0 0 142px;margin:0;border-right:1px solid #262b2c}.page-rail button{position:relative;width:100%;height:100%;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;align-content:center;align-items:center;padding:12px 11px;border:0;background:transparent;color:#aeb5b6;text-align:left}.page-rail button span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border:1px solid #4a5153;font:600 9px var(--mono)}.page-rail button b{align-self:end;font:600 10px var(--mono);color:#eef0f0;white-space:nowrap}.page-rail button small{align-self:start;font:500 8px var(--mono);color:#899293;white-space:nowrap}.page-rail button:hover{background:#1a1f20}.page-rail button.active{background:#fff;color:#111}.page-rail button.active:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cyan)}.page-rail button.active span{border-color:#111;background:#111;color:#fff}.page-rail button.active b{color:#111}.page-rail button.active small{color:#555}.page-rail button.complete span{border-color:var(--lime);color:var(--lime)}.page-rail button.complete span:after{content:"✓";position:absolute;margin-left:21px;margin-top:20px;display:grid;place-items:center;width:12px;height:12px;border-radius:50%;background:var(--lime);color:#111;font-size:8px}
.scene{position:absolute;inset:0;padding:calc(var(--header) + 14px) 3.5vw calc(var(--controls) + 12px);opacity:1;visibility:hidden;pointer-events:none;transform:none;will-change:clip-path;background:var(--stage)}
.scene.visible{visibility:visible}.scene.active{pointer-events:auto}
.eyebrow{margin:0;font:500 11px var(--mono);letter-spacing:.12em;color:var(--muted)}.eyebrow b{color:#fff}
.primary{display:flex;justify-content:space-between;align-items:center;min-width:220px;min-height:46px;padding:0 17px;border:1px solid #fff;background:#fff;color:#111;font:600 11px var(--mono)}.primary span{color:var(--cyan)}
.intro-scene{display:grid;grid-template-columns:42% 58%;padding-left:0;padding-right:0;padding-bottom:var(--controls)}
.intro-copy{position:relative;z-index:2;align-self:center;padding:0 5vw}.intro-copy h1,.scene-title h2,.decision-copy h2{font-family:var(--display);text-transform:uppercase;letter-spacing:-.035em}
.intro-copy h1{font-size:clamp(70px,8.2vw,132px);line-height:.76;margin:28px 0}.intro-copy h1 span{color:transparent;-webkit-text-stroke:1px #fff}
.intro-copy>p:not(.eyebrow){max-width:470px;font-size:15px;line-height:1.55;margin-bottom:30px}
.intro-image{height:100%;overflow:hidden;border-left:1px solid var(--rule)}.intro-image img{height:100%;object-fit:cover}
.product-scene,.evidence-scene{display:block}
.scene-title{position:absolute;z-index:32;top:calc(var(--header) + 30px);left:calc(3.5vw + 20px);display:grid;grid-template-columns:1fr auto;align-items:end;min-width:330px;padding:13px 15px;background:rgba(12,15,16,.94);border:1px solid #3a4143;box-shadow:0 8px 30px rgba(0,0,0,.22);backdrop-filter:blur(10px)}.scene-title h2{font-size:clamp(34px,3vw,50px);line-height:.82;margin:8px 0 0;color:#fff}.scene-title>p{position:absolute;left:calc(100% + 12px);bottom:-1px;min-width:220px;margin:0;padding:11px 13px;background:#fff;color:#111;font:500 10px var(--mono)}
.product-window{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid var(--rule);background:#fff;isolation:isolate}
.product-state{position:absolute;inset:0;width:100%;height:100%}.product-state img,.product-state.base{width:100%;height:100%;object-fit:contain;background:#fff}
.product-state.reality{clip-path:inset(0 calc(100% - var(--reality-pct,0%)) 0 0);z-index:2}
.product-state.reveal{clip-path:inset(0 calc(100% - var(--reveal-pct,0%)) 0 0);z-index:3}
.technical-rule,.compare-rule{position:absolute;z-index:7;top:0;bottom:0;width:1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.technical-rule{left:var(--reality-pct,0%);opacity:var(--technical-rule-opacity,0)}.compare-rule{left:var(--reveal-pct,0%);opacity:var(--compare-opacity,0)}
.technical-rule i,.compare-rule i{position:absolute;top:50%;left:-13px;width:27px;height:27px;border:1px solid var(--ink);border-radius:50%;background:#fff}
.technical-rule i:before,.technical-rule i:after,.compare-rule i:before,.compare-rule i:after{content:"";position:absolute;top:9px;width:6px;height:6px;border-top:1px solid;border-left:1px solid}.technical-rule i:before,.compare-rule i:before{left:6px;transform:rotate(-45deg)}.technical-rule i:after,.compare-rule i:after{right:6px;transform:rotate(135deg)}
.scene-caption{position:absolute;z-index:31;left:calc(3.5vw + 20px);right:calc(3.5vw + 20px);bottom:calc(var(--controls) + 26px);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 13px;background:rgba(12,15,16,.94);border:1px solid #3a4143;font-size:12px;color:#d1d5d5;backdrop-filter:blur(10px)}.scene-caption p{margin:0}.scene-caption span{font:500 9px var(--mono);white-space:nowrap;color:var(--cyan)}
.action-label{position:absolute;z-index:8;padding:11px 13px;background:#fff;border:1px solid var(--cyan);opacity:var(--action-label,0)}.action-label small,.action-label b{display:block;font:500 9px var(--mono)}.action-label b{color:var(--cyan);font-size:10px;margin-top:4px}
.view-action{left:20%;bottom:3.5%;opacity:var(--view-label,0)}.campus-action{left:39%;bottom:3.5%}.alignment-action{right:13%;bottom:3.5%}
.placement-scene .view-action{left:auto;right:7%}
.facility-map{position:absolute;z-index:16;inset:0;pointer-events:none}.facility-zones{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.facility-zones polygon{fill:rgba(0,169,207,0);stroke:rgba(0,169,207,0);stroke-width:3;vector-effect:non-scaling-stroke;transition:fill 180ms,stroke 180ms,filter 180ms;pointer-events:auto;cursor:pointer}.facility-zones polygon:hover{fill:rgba(0,169,207,.07);stroke:rgba(0,169,207,.75)}.facility-zones polygon.selected{fill:rgba(0,169,207,.18);stroke:var(--cyan);stroke-width:4;filter:drop-shadow(0 0 7px rgba(0,169,207,.65))}.facility-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);display:flex;align-items:center;gap:8px;min-height:36px;padding:5px 9px 5px 5px;border:1px solid rgba(255,255,255,.9);background:rgba(10,12,13,.9);color:#fff;box-shadow:0 7px 18px rgba(0,0,0,.28);opacity:0;pointer-events:none;transform:translate(-17px,-17px);transition:opacity 220ms,background 180ms,border-color 180ms,transform 180ms}.facility-pin i{position:relative;display:block;width:24px;height:24px;border:1px solid var(--cyan);border-radius:50%}.facility-pin i:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--cyan)}.facility-pin span{font:600 9px var(--mono);white-space:nowrap}.facility-pin:hover,.facility-pin.selected{border-color:var(--cyan);background:#111;transform:translate(-17px,-17px) scale(1.04)}.facility-pin.selected i{background:var(--cyan)}.facility-pin.selected i:after{background:#fff}.facility-pin.label-left{flex-direction:row-reverse;transform:translate(calc(-100% + 17px),-17px)}.facility-pin.label-left:hover,.facility-pin.label-left.selected{transform:translate(calc(-100% + 17px),-17px) scale(1.04)}#campusScene.active .facility-pin{opacity:1;pointer-events:auto}.facility-pin:after{content:"";position:absolute;left:16px;top:100%;width:1px;height:18px;background:var(--cyan);pointer-events:none}.facility-pin.label-left:after{left:auto;right:16px}
.facility-detail{position:absolute;z-index:28;left:22px;bottom:72px;width:min(470px,39%);max-height:calc(100% - 150px);overflow:auto;background:#0a0c0d;color:#fff;border:1px solid #5b6365;box-shadow:0 20px 70px rgba(0,0,0,.55);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:opacity 240ms ease-out,transform 240ms ease-out,visibility 240ms}.facility-detail.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.facility-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #33393b;cursor:grab;touch-action:none;user-select:none}.facility-detail header small{font:600 10px var(--mono);color:var(--cyan);letter-spacing:.07em}.facility-detail h3{margin:6px 0 0;font-size:24px}.facility-detail header button{flex:0 0 44px;width:44px;height:44px;border:1px solid #545c5e;background:transparent;color:#fff;font-size:25px}.facility-detail header button:hover{background:#fff;color:#111}.facility-detail>p{margin:0;padding:14px 18px;font-size:14px;line-height:1.5;color:#dce0e0}.facility-metrics{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #33393b}.facility-metrics span{padding:13px 18px}.facility-metrics span+span{border-left:1px solid #33393b}.facility-metrics small,.facility-metrics strong{display:block;font-family:var(--mono)}.facility-metrics small{font-size:9px;color:#8e9899;margin-bottom:6px}.facility-metrics strong{font-size:13px;color:#fff}.facility-detail dl{margin:0;padding:0 18px}.facility-detail dl div{display:grid;grid-template-columns:115px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid #292f30}.facility-detail dl div:last-child{border-bottom:0}.facility-detail dt,.facility-detail dd{margin:0}.facility-detail dt{color:var(--cyan);font:600 9px var(--mono)}.facility-detail dd{color:#d3d9d9;font:500 11px/1.5 var(--mono)}
.campus-statuses{position:absolute;z-index:15;inset:0;color:#111;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 220ms,visibility 220ms}.campus-statuses button{position:absolute;left:var(--status-x);top:var(--status-y);min-width:148px;min-height:38px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;padding:6px 10px 6px 6px;border:1px solid #81898a;background:rgba(255,255,255,.97);color:#111;box-shadow:0 7px 18px rgba(0,0,0,.22);text-align:left;pointer-events:auto;transform:translate(10px,-50%);transition:transform 170ms,box-shadow 170ms,border-color 170ms}.campus-statuses button:before{content:"";position:absolute;right:100%;top:50%;width:10px;height:1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12)}.campus-statuses button.label-left{transform:translate(calc(-100% - 10px),-50%)}.campus-statuses button.label-left:before{right:auto;left:100%}.campus-statuses button.status-up{transform:translate(-50%,calc(-100% - 12px))}.campus-statuses button.status-up:before{right:auto;left:50%;top:100%;width:1px;height:12px}.campus-statuses button.status-down{transform:translate(-50%,12px)}.campus-statuses button.status-down:before{right:auto;left:50%;top:auto;bottom:100%;width:1px;height:12px}.campus-statuses button:hover,.campus-statuses button.selected{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,169,207,.18),0 12px 28px rgba(0,0,0,.28)}.campus-statuses button.warning:hover,.campus-statuses button.warning.selected{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,53,31,.18),0 12px 28px rgba(0,0,0,.28)}.campus-statuses span{grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:700 11px var(--mono)}.campus-statuses .status-check{background:var(--lime);color:#fff}.campus-statuses .status-warning{background:var(--red);color:#fff}.campus-statuses b,.campus-statuses small{font-family:var(--mono)}.campus-statuses b{align-self:end;font-size:9px;white-space:nowrap}.campus-statuses small{align-self:start;font-size:8px;color:var(--lime)}.campus-statuses .warning small{color:var(--red)}#campusScene.active.statuses-ready .campus-statuses{opacity:1;visibility:visible}
.status-detail{position:absolute;z-index:29;left:22px;top:18%;width:min(440px,38%);max-height:67%;overflow:auto;background:rgba(255,255,255,.985);color:#111;border:1px solid #777f80;box-shadow:0 20px 70px rgba(0,0,0,.35);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);transition:opacity 240ms,transform 240ms,visibility 240ms}.status-detail.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.status-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #c8cdce;cursor:grab;touch-action:none;user-select:none}.status-detail header small{font:600 10px var(--mono);color:#687173}.status-detail h3{margin:7px 0 0;font-size:24px;color:#111}.status-detail header button{flex:0 0 44px;width:44px;height:44px;border:1px solid #9aa1a2;background:#fff;color:#111;font-size:25px}.status-detail header button:hover{background:#111;color:#fff}.status-detail>strong{display:block;padding:13px 18px;background:rgba(131,169,0,.12);color:#617f00;font:600 12px var(--mono);border-bottom:1px solid #c8cdce}.status-detail.warning>strong{background:rgba(239,53,31,.10);color:#c82717}.status-detail>p{margin:0;padding:15px 18px;font-size:14px;line-height:1.55;color:#303536}.status-detail dl{margin:0;padding:0 18px}.status-detail dl div{display:grid;grid-template-columns:115px 1fr;gap:13px;padding:12px 0;border-top:1px solid #d5d9da}.status-detail dt,.status-detail dd{margin:0}.status-detail dt{color:#687173;font:600 9px var(--mono)}.status-detail dd{color:#111;font:500 11px/1.5 var(--mono)}
.demo-cursor{position:absolute;z-index:20;left:var(--cursor-left,50%);top:var(--cursor-top,50%);width:22px;height:28px;opacity:var(--cursor-opacity,0);transform:translate(-3px,-3px);filter:drop-shadow(0 2px 1px rgba(0,0,0,.25));pointer-events:none}
.demo-cursor>i{position:absolute;inset:0;background:#111;clip-path:polygon(0 0,0 88%,6px 68%,11px 94%,15px 92%,10px 66%,19px 66%)}
.demo-cursor>span{position:absolute;left:18px;top:20px;padding:5px 7px;background:#111;color:#fff;font:500 7px var(--mono);white-space:nowrap}
.demo-cursor>b{position:absolute;left:-9px;top:-9px;width:28px;height:28px;border:1px solid var(--cyan);border-radius:50%;opacity:var(--click,0);transform:scale(var(--click-scale,1))}
.registration{position:absolute;z-index:8;right:2%;bottom:3%;width:180px;padding:12px;background:rgba(255,255,255,.95);border:1px solid var(--rule);opacity:var(--result-opacity,0)}.registration small,.registration span{display:block;font:500 7px var(--mono)}.registration strong{display:block;font:700 32px var(--display);margin:4px 0}.registration em{font:500 9px var(--mono);font-style:normal}
.asset-card{position:absolute;z-index:10;left:var(--asset-left,8%);top:var(--asset-top,56%);display:flex;gap:9px;align-items:center;width:195px;padding:9px;background:#fff;color:#111;border:1px solid var(--cyan);box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:var(--asset-opacity,1);transform:translate(var(--drag-x,0),var(--drag-y,0)) scale(var(--asset-scale,1));transition:border-color 120ms,box-shadow 120ms,transform 280ms ease-out;touch-action:none}.asset-card.draggable{cursor:grab;pointer-events:auto;box-shadow:0 0 0 5px rgba(0,169,207,.18),0 12px 30px rgba(0,0,0,.25)}.asset-card.dragging{cursor:grabbing;transition:none;box-shadow:0 0 0 6px rgba(0,169,207,.24),0 18px 38px rgba(0,0,0,.3)}.asset-card.invalid{border-color:var(--red);box-shadow:0 0 0 6px rgba(239,53,31,.2),0 18px 38px rgba(0,0,0,.3)}.asset-card.valid{border-color:var(--lime);box-shadow:0 0 0 6px rgba(131,169,0,.22),0 18px 38px rgba(0,0,0,.3)}.asset-card>span{width:46px;height:34px;background:url('../brand/assets/generated/product-monument-line.png') center/cover}.asset-card small,.asset-card em{display:block;font:500 8px var(--mono);font-style:normal;color:#666}.asset-card strong{display:block;font:600 14px var(--mono);margin:3px 0}
.drag-path{position:absolute;z-index:7;inset:0;width:100%;height:100%;opacity:var(--drag-opacity,0);pointer-events:none}.drag-path path{fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-dasharray:7 7;stroke-dashoffset:var(--drag-offset,120)}
.drop-target{position:absolute;z-index:6;left:57%;top:19%;width:27%;height:45%;border:1px dashed var(--cyan);background:rgba(0,169,207,.055);opacity:var(--drop-opacity,0);transition:border-color 120ms,background 120ms,box-shadow 120ms}.drop-target span{position:absolute;right:8px;top:8px;padding:6px 8px;background:#111;color:var(--cyan);font:600 9px var(--mono)}.drop-target i{position:absolute;inset:15%;border:1px solid rgba(0,169,207,.3)}.drop-target.valid-hover{border-color:var(--lime);background:rgba(131,169,0,.13);box-shadow:inset 0 0 0 2px var(--lime)}
.product-window.drop-invalid:after,.product-window.drop-valid:after{position:absolute;z-index:25;right:20px;top:20px;padding:10px 12px;background:#111;font:600 10px var(--mono);pointer-events:none}.product-window.drop-invalid:after{content:"INVALID POSITION — MOVE TO PROPOSED BAY";color:#fff;border:1px solid var(--red);box-shadow:0 0 0 5px rgba(239,53,31,.18)}.product-window.drop-valid:after{content:"VALID POSITION — RELEASE TO PLACE";color:#fff;border:1px solid var(--lime);box-shadow:0 0 0 5px rgba(131,169,0,.18)}
.result-strip{position:absolute;z-index:9;left:21%;right:17%;bottom:3%;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--rule);opacity:var(--result-opacity,0)}.result-strip span{padding:9px;border-right:1px solid var(--rule);font:500 8px var(--mono)}.result-strip span:last-child{border:0}.result-strip b{font-size:13px;margin-right:8px}.red{color:var(--red)}.yellow{color:var(--yellow)}.lime{color:var(--lime)}
.evidence-window{position:relative;width:calc(100% - 245px);height:100%;min-height:0;overflow:hidden;border:1px solid var(--rule);background:#fbfbf8;margin-right:245px}.graph-head{height:32px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-bottom:1px solid var(--rule)}.graph-head span{text-align:center;font:500 7px var(--mono);color:#666}.edge-layer{position:absolute;z-index:1;inset:32px 0 0;width:100%;height:calc(100% - 32px)}.edge{fill:none;stroke-width:1.5;stroke-dasharray:500;stroke-dashoffset:var(--dash-offset,500);opacity:var(--edge-opacity,0)}.edge.cyan{stroke:var(--cyan)}.edge.blue{stroke:var(--blue)}.edge.lime{stroke:var(--lime)}.edge.yellow{stroke:var(--yellow)}.edge.red{stroke:var(--red);stroke-dasharray:5 4}
.node{position:absolute;z-index:3;width:17%;min-height:70px;padding:9px;text-align:left;background:#fff;border:1px solid currentColor;color:var(--node-color);opacity:0;transform:translateY(9px);transition:opacity 180ms ease-out,transform 180ms ease-out,box-shadow 150ms}.node.visible{opacity:1;transform:none}.node:hover,.node.selected{box-shadow:0 0 0 2px currentColor}.node small,.node span{display:block;font:500 7px var(--mono)}.node small{color:var(--node-color);margin-bottom:5px}.node strong{display:block;color:var(--ink);font-size:10px;margin-bottom:5px}.node span{color:#555}.node.cyan{--node-color:var(--cyan)}.node.blue{--node-color:var(--blue)}.node.lime{--node-color:var(--lime)}.node.yellow{--node-color:var(--yellow)}.node.red{--node-color:var(--red)}
#building{left:2%;top:17%}#equipment{left:2%;top:44%}#requirement{left:2%;top:71%}#column{left:22%;top:25%}#footprint{left:22%;top:61%}#distance{left:43%;top:40%}#evaluation{left:64%;top:40%}#decisionNode{left:83%;top:40%}
.claim{position:absolute;z-index:6;left:calc(100% + 1px);top:-1px;width:246px;height:calc(100% + 2px);padding:20px;background:#fff;border:1px solid var(--rule)}.claim small{font:500 7px var(--mono);color:#666}.claim h3{font-size:20px;margin:16px 0 8px}.claim>strong{display:block;font:600 13px var(--mono);color:var(--yellow);margin-bottom:20px}.claim>p{font-size:11px;line-height:1.55;color:#555}.claim dl{margin:28px 0 0;border-top:1px solid var(--rule)}.claim dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #ddd}.claim dt,.claim dd{margin:0;font:500 7px var(--mono)}
.evidence-detail{position:absolute;z-index:40;left:22px;right:auto;top:56px;width:min(430px,38%);max-height:calc(100% - 88px);overflow:auto;padding:0;background:#0b0e0f;color:#fff;border:1px solid #626a6c;box-shadow:0 20px 70px rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(22px);transition:opacity 240ms ease-out,transform 240ms ease-out,visibility 240ms}.evidence-detail.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.evidence-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 20px 17px;border-bottom:1px solid #343a3c;cursor:grab;touch-action:none;user-select:none}.evidence-detail header small{color:var(--cyan);font:600 10px var(--mono);letter-spacing:.08em}.evidence-detail h3{margin:8px 0 0;font-size:24px;line-height:1.15}.evidence-detail header button{flex:0 0 44px;width:44px;height:44px;border:1px solid #545c5e;background:transparent;color:#fff;font-size:25px;line-height:1}.evidence-detail header button:hover{background:#fff;color:#111}.evidence-detail>p{margin:0;padding:18px 20px;color:#d8dddd;font-size:15px;line-height:1.55;border-bottom:1px solid #343a3c}.evidence-detail dl{margin:0;padding:0 20px}.evidence-detail dl div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #2d3334}.evidence-detail dt,.evidence-detail dd{margin:0}.evidence-detail dt{color:#8f999a;font:600 10px var(--mono)}.evidence-detail dd{color:#edf0f0;font:500 12px/1.5 var(--mono)}.evidence-detail footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;background:#15191a}.evidence-detail footer span{color:var(--lime);font:600 10px var(--mono)}.evidence-detail footer button{min-height:44px;padding:0 14px;border:1px solid #fff;background:#fff;color:#111;font:600 10px var(--mono)}.evidence-detail footer button b{margin-left:10px;color:var(--cyan)}
.graph-cursor{z-index:20}
.guided-native{position:relative}.guided-native:after{content:"";position:absolute;inset:-7px;border:1px solid var(--cyan);animation:guide-native 1.8s ease-out infinite;pointer-events:none}
.guide-hotspot{position:absolute;z-index:84;left:var(--guide-left,50%);top:var(--guide-top,50%);display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;transform:translate(-22px,-22px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 240ms ease-out}
.guide-hotspot.ready{opacity:1;visibility:visible;pointer-events:auto}.guide-hotspot.busy{opacity:0;visibility:hidden;pointer-events:none}
.guide-ring{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--cyan);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 0 0 6px rgba(0,169,207,.12),0 8px 22px rgba(0,0,0,.16)}
.guide-ring:before,.guide-ring:after{content:"";position:absolute;inset:-1px;border:1px solid var(--cyan);border-radius:50%;animation:guide-pulse 2.2s ease-out infinite}.guide-ring:after{animation-delay:1.1s}
.guide-ring i{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.guide-copy{display:block;min-width:210px;padding:12px 14px;text-align:left;background:#111;color:#fff;border:1px solid #111;box-shadow:0 8px 22px rgba(0,0,0,.14)}.guide-copy small,.guide-copy strong{display:block;font:500 9px var(--mono);white-space:nowrap}.guide-copy small{margin-bottom:5px;color:var(--cyan)}.guide-copy strong{font-size:11px}
.guide-hotspot.label-left{flex-direction:row-reverse;transform:translate(calc(-100% + 22px),-22px)}.guide-hotspot:hover .guide-ring{background:var(--cyan)}.guide-hotspot:hover .guide-ring i{background:#fff}
.chapter-next{position:absolute;z-index:86;left:50%;bottom:calc(var(--controls) + 20px);display:grid;grid-template-columns:1fr 72px;align-items:stretch;min-width:390px;padding:0;border:1px solid #fff;background:#0a0c0d;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,18px);transition:opacity 240ms ease-out,transform 240ms ease-out;box-shadow:0 18px 55px rgba(0,0,0,.55)}.chapter-next.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.chapter-next>span{padding:18px 21px;text-align:left}.chapter-next small,.chapter-next strong,.chapter-next em{display:block;font-family:var(--mono);font-style:normal}.chapter-next small{font-size:10px;color:var(--cyan);margin-bottom:6px}.chapter-next strong{font-size:16px}.chapter-next em{margin-top:6px;font-size:10px;color:#aeb6b7}.chapter-next>b{display:grid;place-items:center;border-left:1px solid #fff;background:#fff;color:#111;font-size:26px}.chapter-next.visible:after{content:"";position:absolute;inset:-8px;border:1px solid var(--cyan);animation:guide-native 2s ease-out infinite;pointer-events:none}.chapter-next:hover>span{background:#202627}.chapter-next:focus-visible{outline-offset:8px}
.explanation{position:absolute;z-index:80;right:3.5vw;top:calc(var(--header) + 30px);width:clamp(370px,30vw,445px);max-height:calc(100svh - var(--header) - var(--controls) - 60px);overflow:auto;padding:22px 23px;background:rgba(8,10,11,.98);color:#fff;border:1px solid #475052;box-shadow:0 16px 48px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.explanation header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #3a4143;cursor:grab;touch-action:none;user-select:none}.explanation header span{display:grid;place-items:center;width:36px;height:36px;background:#fff;color:#111;font:600 11px var(--mono)}.explanation header small{font:600 11px var(--mono);letter-spacing:.09em}.explanation h3{margin:18px 0 15px;font:600 23px/1.16 var(--sans)}.explanation-seen{padding-bottom:16px}.explanation-seen small,.explanation dt{display:block;margin-bottom:7px;color:var(--cyan);font:600 10px var(--mono);letter-spacing:.07em}.explanation-seen p{margin:0;font-size:15px;line-height:1.58;color:#eef1f1}.explanation dl{margin:0;border-top:1px solid #3a4143}.explanation dl div{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #2d3334}.explanation dl div:last-child{border-bottom:0;padding-bottom:0}.explanation dt,.explanation dd{margin:0}.explanation dt{padding-top:2px}.explanation dd{font:500 12px/1.5 var(--mono);color:#bec6c7}.panel-dragging{z-index:89!important;box-shadow:0 24px 80px rgba(0,0,0,.65)!important}.panel-dragging>header{cursor:grabbing}.panel-blocked{border-color:var(--red)!important;box-shadow:0 0 0 5px rgba(239,53,31,.22),0 24px 80px rgba(0,0,0,.65)!important}
#campusScene.active~.explanation{right:auto;left:3.5vw;top:calc(var(--header) + 30px);width:clamp(330px,27vw,400px)}
.stage.evidence-detail-open .explanation{opacity:0;visibility:hidden;pointer-events:none}
.guide-hotspot.drag-guide{pointer-events:none}
@keyframes guide-pulse{0%{opacity:.8;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.75)}}
@keyframes guide-native{0%{opacity:.9;transform:scale(.98)}75%,100%{opacity:0;transform:scale(1.12)}}
.decision-scene{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:7vw;align-items:center}.decision-copy{min-width:0}.decision-copy h2{font-size:clamp(76px,8vw,122px);line-height:.75;margin:22px 0 28px}.decision-copy>p:not(.eyebrow){max-width:590px;font-size:15px;line-height:1.55;color:#c8cece}.decision-copy>div{display:flex;gap:12px;margin-top:30px}.decision-copy a{display:grid;place-items:center;min-height:44px;padding:0 16px;border:1px solid #fff;color:#fff;text-decoration:none;font:500 9px var(--mono)}
.decision-card{background:#fff;color:#111;border:1px solid #aaa;padding:21px}.decision-card header{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #ccc;font:500 10px var(--mono)}.decision-card>small{display:block;margin-top:24px;font:500 10px var(--mono);color:#666}.decision-card>strong{display:block;margin:9px 0 22px;font:700 40px/.86 var(--display);color:var(--yellow)}.decision-card dl{margin:0}.decision-card dl div{display:grid;grid-template-columns:42px 1fr;padding:13px 0;border-top:1px solid #ccc}.decision-card dt{font:700 22px var(--display)}.decision-card dd{margin:4px 0;color:#111;font:500 11px var(--mono)}.review{width:100%;min-height:46px;margin-top:12px;padding:0 13px;border:0;background:var(--cyan);display:flex;align-items:center;justify-content:space-between;font:600 11px var(--mono)}
.controls{display:none;position:absolute;z-index:90;left:0;right:0;bottom:0;height:var(--controls);display:grid;grid-template-columns:56px 320px 1fr 140px;align-items:center;background:#0a0c0d;color:#fff;border-top:1px solid #303638}.control{height:100%;border:0;border-right:1px solid #303638;background:#0a0c0d;color:#fff;font:600 11px var(--mono)}.control.next{border-right:0;border-left:1px solid #303638;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.control:hover{background:#191e1f}.control:disabled{opacity:.35;cursor:default}.step-info{padding:0 17px;display:grid;grid-template-columns:64px 1fr;align-items:center}.step-info>span{font:500 10px var(--mono);color:#9da5a6}.step-info strong{font-size:14px}.step-info small{grid-column:2;font:500 10px var(--mono);color:#9da5a6}.progress{height:2px;margin:0 25px;background:#303638}.progress i{display:block;width:var(--track-progress);height:100%;background:var(--cyan)}
.controls{display:none!important}
@media(max-width:900px){
  :root{--header:58px;--controls:94px}.topbar{grid-template-columns:1fr auto;padding:0 15px}.product-id{display:none}.menu{display:block}.topbar nav{display:none;position:absolute;top:58px;left:0;right:0;padding:10px 15px;background:#fff;border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr}.topbar nav.open{display:grid}.topbar nav button{text-align:left}
  .scene{padding-left:14px;padding-right:14px}.intro-scene{grid-template-columns:1fr;padding-left:0;padding-right:0}.intro-copy{position:absolute;z-index:3;left:14px;right:14px;top:50%;transform:translateY(-50%);padding:28px;background:rgba(8,10,11,.95);border:1px solid #3a4143}.intro-copy h1{font-size:70px}.intro-image{border:0}.scene-title{top:calc(var(--header) + 24px);left:28px;min-width:280px}.scene-title h2{font-size:42px}.scene-title>p{display:none}.product-state img,.product-state.base{object-fit:contain}.scene-caption{left:28px;right:28px}.scene-caption span{display:none}.action-label,.registration,.result-strip{display:none}.asset-card{width:155px}.evidence-window{width:100%;margin-right:0;overflow:hidden}.evidence-window .graph-head,.evidence-window .edge-layer{min-width:0}.claim{display:none}.evidence-detail{position:fixed;left:28px;right:28px;top:calc(var(--header) + 78px);width:auto;max-height:calc(100svh - var(--header) - var(--controls) - 110px)}.controls{grid-template-columns:50px 190px 1fr 96px}.step-info{grid-template-columns:45px 1fr}.progress{margin:0 12px}.decision-scene{grid-template-columns:1fr}.decision-copy h2{font-size:72px}.decision-card{display:none}.explanation{top:auto;right:28px;bottom:calc(var(--controls) + 24px);width:min(390px,calc(100vw - 56px));max-height:46svh}.explanation h3{font-size:20px}.chapter-next{bottom:calc(var(--controls) + 14px)}
}
@media(max-width:520px){
  .scene{padding:calc(var(--header) + 10px) 8px calc(var(--controls) + 8px)}.intro-copy{left:8px;right:8px;padding:23px}.intro-copy h1{font-size:56px}.intro-copy>p:not(.eyebrow){font-size:16px}.scene-title{top:calc(var(--header) + 18px);left:18px;min-width:240px;padding:10px 11px}.scene-title h2{font-size:34px}.scene-caption{left:18px;right:18px;bottom:calc(var(--controls) + 18px);font-size:12px}.drag-path,.demo-cursor{display:none}.asset-card{display:flex;width:138px}.drop-target{display:block}.decision-copy h2{font-size:62px}.decision-copy>p:not(.eyebrow){font-size:16px}.controls{grid-template-columns:46px 1fr 84px}.controls .progress{display:none}.step-info{grid-template-columns:42px 1fr;padding:0 10px}.control.next{padding:0 12px}.explanation{left:18px;right:18px;bottom:calc(var(--controls) + 70px);width:auto;max-height:48svh;padding:16px}.explanation h3{margin:12px 0 10px;font-size:19px}.explanation-seen p{font-size:14px}.explanation dl div{grid-template-columns:80px 1fr;gap:10px;padding:10px 0}.explanation dd{font-size:11px}.chapter-next{left:50%;right:auto;bottom:calc(var(--controls) + 76px);width:calc(100vw - 36px);min-width:0}
}
@media(max-width:700px){.page-rail{grid-template-columns:0 minmax(0,1fr)}.page-rail header{overflow:hidden;padding:0;border:0}.page-rail li{flex-basis:132px}.guide-copy{min-width:130px}.guide-copy strong{font-size:10px}.guide-hotspot{--guide-left:50%!important;--guide-top:68%!important}.guided-native:after{display:none}.campus-statuses{right:10px;bottom:64px;width:195px}.facility-pin span{display:none}.facility-detail,.status-detail{left:10px;right:10px;width:auto;max-height:58%;bottom:62px;top:auto}}
@media(prefers-reduced-motion:reduce){.demo-cursor,.drag-path{display:none}.node{transition:none}.guide-ring:before,.guide-ring:after,.guided-native:after{animation:none}}
