@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;1,700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  color-scheme:light;
  --ink:#0d1a27; --muted:#71808c; --accent:#163e70; --accent-bright:#238ad1;
  --line:rgba(22,62,112,.18); --panel:rgba(249,252,253,.82); --page:#eef3f6;
  --stage:radial-gradient(circle at 64% 45%,#fff 0,#edf3f6 48%,#dfe8ed 100%);
  --glass:linear-gradient(135deg,rgba(255,255,255,.88),rgba(239,245,248,.76));
  --shadow:rgba(34,61,83,.13); --button-text:#fff; --select:#e6edf2;
}
html[data-theme="dark"] {
  color-scheme:dark;
  --ink:#eef4f8; --muted:#8fa0ad; --accent:#55cfff; --accent-bright:#79dcff;
  --line:rgba(112,185,225,.20); --panel:rgba(10,19,28,.82); --page:#081019;
  --stage:radial-gradient(circle at 64% 45%,#223847 0,#0d1a24 48%,#060c12 100%);
  --glass:linear-gradient(135deg,rgba(17,31,42,.88),rgba(7,15,22,.76));
  --shadow:rgba(0,0,0,.28); --button-text:#07111a; --select:#101f2b;
}
* { box-sizing:border-box; }
html, body { margin:0; width:100%; height:100%; overflow:hidden; background:var(--page); color:var(--ink); }
body { font-family:"IBM Plex Mono", monospace; }
button, select { font:inherit; }
.app-shell { position:relative; width:100%; height:100%; min-height:680px; background:var(--stage); overflow:hidden; transition:background .35s ease; }
#scene { position:absolute; inset:0; width:100%; height:100%; cursor:grab; touch-action:none; }
#scene:active { cursor:grabbing; }
.glass { border:1px solid var(--line); background:var(--glass); backdrop-filter:blur(18px); box-shadow:0 18px 50px var(--shadow); }
.topbar { position:absolute; top:22px; left:22px; right:22px; height:68px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 18px; border-top:3px solid var(--accent); }
.brand { display:flex; align-items:center; gap:12px; height:50px; overflow:hidden; color:var(--ink); text-decoration:none; font-family:"Barlow Condensed",sans-serif; font-size:21px; font-weight:700; letter-spacing:.08em; }
.brand img { width:205px; height:auto; flex:none; display:block; }
html[data-theme="dark"] .brand img { background:#f7fafc; }
.brand>span { padding-left:12px; border-left:1px solid var(--line); color:var(--accent); font-size:11px; letter-spacing:.14em; }
.project-id { text-align:center; font-size:9px; letter-spacing:.18em; color:var(--muted); }.project-id strong{display:block;color:var(--ink);font-size:10px;margin-top:5px;}
.sibling-product{position:absolute;left:calc(50% + 130px);top:28px;color:var(--accent);font-size:7px;text-decoration:none;letter-spacing:.12em;border:1px solid var(--line);padding:6px 8px}
.containment-link{left:calc(50% + 215px)}
.top-actions{justify-self:end;display:flex;align-items:center;gap:16px}.status { font-size:9px; letter-spacing:.12em; }.status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 10px var(--accent-bright);margin-right:8px;}
.theme-toggle{height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);color:var(--ink);font-size:7px;letter-spacing:.12em;background:var(--panel)}
.theme-toggle i{width:13px;height:13px;border:1px solid var(--accent);border-radius:50%;background:linear-gradient(90deg,var(--accent) 50%,transparent 50%)}
html[data-theme="dark"] .theme-toggle i{background:var(--accent);box-shadow:0 0 10px var(--accent)}
.hero-copy { position:absolute; left:6vw; top:20vh; width:360px; pointer-events:none; }
.eyebrow { color:var(--accent); font-size:10px; letter-spacing:.22em; margin:0 0 18px; }
h1 { font-family:"Barlow Condensed",sans-serif; font-size:clamp(68px,7.2vw,116px); letter-spacing:-.055em; line-height:.73; margin:0; font-weight:700; text-shadow:0 5px 30px rgba(0,0,0,.2); }
h1 em { color:transparent; -webkit-text-stroke:1.3px var(--ink); font-style:italic; }
.lede { width:310px; color:var(--muted); font-family:"Barlow Condensed",sans-serif; font-size:18px; line-height:1.45; margin:30px 0; }
.actions { display:flex; gap:9px; pointer-events:auto; }
button { color:var(--ink); background:none; border:0; cursor:pointer; }
.primary { height:46px; padding:0 18px; background:var(--accent); color:var(--button-text); font-size:10px; font-weight:600; letter-spacing:.12em; }.primary span{font-size:16px;margin-left:22px;}
.icon-button { width:46px; height:46px; border:1px solid var(--line); font-size:21px; }
.spec-panel { position:absolute; top:108px; right:22px; width:255px; padding:18px; }
.panel-heading { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.14em; padding-bottom:14px; border-bottom:1px solid var(--line); }.panel-heading b{color:var(--accent)}
dl { margin:8px 0 14px; } dl div { display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--line); } dt{font-size:8px;color:var(--muted);letter-spacing:.1em} dd{margin:0;font-family:"Barlow Condensed";font-size:18px;font-weight:600;}
.footprint { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; font-size:9px; color:var(--accent); }.footprint i{height:1px;background:var(--accent);position:relative}.footprint i:after,.footprint i:before{content:"";position:absolute;top:-2px;width:1px;height:5px;background:var(--accent)}.footprint i:after{right:0}.footprint small{grid-column:1/-1;color:var(--muted);font-size:7px;letter-spacing:.13em}
.view-dock { position:absolute; left:50%; bottom:24px; transform:translateX(-50%); height:60px; display:flex; align-items:center; gap:8px; padding:8px 10px; white-space:nowrap; }
.mode-group { display:flex; align-items:center; gap:3px; }.mode-group>span{font-size:7px;color:var(--muted);letter-spacing:.14em;margin:0 7px}.mode-group button,.dock-toggle{height:38px;padding:0 12px;font-size:8px;letter-spacing:.1em;border:1px solid transparent}.mode-group button.active{border-color:var(--line);color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
.divider{width:1px;height:30px;background:var(--line);margin:0 2px}.dock-toggle i{display:inline-block;width:7px;height:7px;border:1px solid var(--muted);margin-right:7px}.dock-toggle.active i{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent)}
.debug-select { display:flex; flex-direction:column; font-size:6px;color:var(--muted);letter-spacing:.1em;padding:0 5px;gap:3px}.debug-select select{background:var(--select);color:var(--ink);border:0;font-size:8px;padding:2px 0;outline:0}
.metrics { position:absolute; left:22px; bottom:26px; color:var(--muted); font-size:7px; letter-spacing:.11em; }
.interaction-hint{position:absolute;right:22px;bottom:28px;color:var(--muted);font-size:7px;letter-spacing:.14em}.interaction-hint span{color:var(--accent)}
.annotation { position:absolute; transform:translate(-50%,-50%); pointer-events:none; transition:opacity .2s; }.annotation .pin{display:block;width:8px;height:8px;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.annotation .label{position:absolute;left:13px;top:-13px;width:max-content;color:var(--ink);font-size:7px;letter-spacing:.12em;background:var(--panel);backdrop-filter:blur(10px);padding:6px 8px;border-left:1px solid var(--accent)}
@media(max-width:900px){.spec-panel{display:none}.hero-copy{left:24px;top:145px;width:300px}.topbar{grid-template-columns:1fr auto}.project-id{display:none}.sibling-product{display:none}.brand img{width:150px}.brand>span{display:none}.theme-toggle span{display:none}.view-dock{max-width:calc(100vw - 24px);overflow:auto;justify-content:flex-start}.interaction-hint{display:none}h1{font-size:76px}.metrics{bottom:94px}.hero-copy .lede{font-size:16px;width:260px}}
@media(max-height:720px){.hero-copy{top:18vh}.spec-panel{top:94px}.spec-panel dl div{padding:7px 0}.view-dock{bottom:12px}.interaction-hint,.metrics{bottom:15px}}
