:root{--ink:#ededed;--muted:#9a9a9d;--bg:#0b0b0c;--panel:#151516;--line:#303033;--brand:#e2e2e2;--accent:#c5c5c7;--danger:#f28d8d}
body{font-size:14px;background:#0b0b0c;color:#ededed}
.topbar,.landing-nav{background:rgba(11,11,12,.94);border-color:#2b2b2e}
.landing{background:radial-gradient(circle at 78% 8%,rgba(150,150,150,.11),transparent 34%),#0b0b0c}
.auth-art{background:radial-gradient(circle at 70% 20%,rgba(150,150,150,.16),transparent 35%),linear-gradient(145deg,#101011,#19191b 65%,#0c0c0d)}
h1{font-size:clamp(34px,5.2vw,64px);letter-spacing:-.045em}
h2{font-size:26px}h3{font-size:17px}
.lead{font-size:16px}.muted,.scenario-card p,.manifesto p{font-size:13px}
.btn{font-size:13px;padding:10px 15px;border-radius:9px;background:#e2e2e2;color:#151515}
.btn:hover{background:#fff}.btn.secondary{background:#242426;color:#ededed;border-color:#414144}
.ghost,.nav button,.sidebar button{font-size:13px;color:#a9a9ad}
.nav button.active,.nav button:hover,.sidebar button.active,.sidebar button:hover{background:#202022;color:#f2f2f2}
.notice{background:#232325;color:#c7c7ca}.card,.scenario-card,.manifesto,.quick-card{background:#151516;border-color:#303033}
.scenario-card:hover{border-color:#66666b}.scenario-icon{border-color:#57575b;color:#e1e1e1}
.badge,.status{background:#252527;color:#c8c8cb}.badge.primary{background:#303033;color:#e1e1e1}.badge.success,.status.online,.status.ready{background:#2b2b2e;color:#e1e1e1}
.landing-visual{background:linear-gradient(145deg,#171719,#0e0e0f);border-color:#3a3a3d;box-shadow:0 24px 90px rgba(0,0,0,.35)}
.visual-grid{background-image:linear-gradient(rgba(180,180,180,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(180,180,180,.07) 1px,transparent 1px)}
.visual-core,.orbit-core{background:linear-gradient(145deg,#ededed,#8d8d91);color:#161617;box-shadow:0 0 80px rgba(220,220,220,.14)}
.scene-node,.dashboard-scene,.orbit-node{border-color:#5b5b60;background:#171719;color:#ededed}
.landing-stats strong,.metric strong,.score,.landing .eyebrow,.landing .text-link,h1 em{color:#e2e2e2}
.landing-cta{border-color:#3a3a3d;background:#171719}.landing-stats{border-color:#303033}.landing-stats>div{border-color:#303033}
.mobile-nav{background:#111112;border-color:#303033}
.field input,.field textarea,.field select{font-size:14px;background:#101011;border-color:#39393c}
.auth-card{background:#151516;border-color:#343437}.toast{background:#ededed;color:#151515}
.landing-hero{padding-top:clamp(56px,8vw,105px)}
@media(max-width:800px){.landing-hero{padding-top:48px}}

/* Living opportunity field: subtle motion keeps the scene active without becoming distracting. */
.scenario-network .visual-grid{animation:gridDrift 18s linear infinite}
.scenario-network:after{animation:orbitBreathe 7s ease-in-out infinite}
.scenario-network .scene-line{animation:linePulse 3.6s ease-in-out infinite}
.scenario-network .scene-line:nth-child(2n){animation-delay:-1.2s}
.scenario-network .scene-line:nth-child(3n){animation-delay:-2.3s}
.scenario-network .visual-core{animation:corePulse 4.5s ease-in-out infinite}
.scenario-network .scene-node{animation:nodeFloat 5.5s ease-in-out infinite}
.scenario-network .scene-node:nth-of-type(3n){animation-delay:-1.8s}
.scenario-network .scene-node:nth-of-type(4n){animation-delay:-3.1s}
@keyframes gridDrift{from{background-position:0 0,0 0}to{background-position:42px 42px,-42px 42px}}
@keyframes orbitBreathe{0%,100%{opacity:.45;transform:rotate(-16deg) scale(1)}50%{opacity:.85;transform:rotate(-10deg) scale(1.035)}}
@keyframes linePulse{0%,100%{opacity:.25;transform-origin:left center}50%{opacity:.95}}
@keyframes corePulse{0%,100%{transform:translate(-50%,-50%) scale(1);filter:brightness(.96)}50%{transform:translate(-50%,-50%) scale(1.045);filter:brightness(1.08)}}
@keyframes nodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.scenario-network *{animation:none!important}}

/* Lightweight 3D opportunity space inspired by social discovery interfaces. */
.scenario-network{perspective:1100px;cursor:grab;touch-action:none;overflow:hidden}
.scenario-network.is-dragging{cursor:grabbing}
.orbital-stage{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d}
.orbital-world{position:relative;width:72%;height:72%;transform-style:preserve-3d;will-change:transform}
.orbital-ring{position:absolute;inset:5%;border:1px solid rgba(235,235,235,.28);border-radius:50%;transform-style:preserve-3d;box-shadow:0 0 22px rgba(255,255,255,.05)}
.orbital-ring-a{transform:rotateX(66deg) rotateZ(12deg) translateZ(-22px)}
.orbital-ring-b{transform:rotateY(67deg) rotateZ(-18deg) translateZ(8px)}
.orbital-ring-c{transform:rotateX(28deg) rotateY(56deg) translateZ(28px)}
.orbital-core{position:absolute;left:50%;top:50%;width:142px;height:142px;transform:translate(-50%,-50%) translateZ(42px);border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 34% 28%,#fff,#b9b9bb 46%,#66666a 100%);color:#111;box-shadow:inset -16px -18px 28px rgba(0,0,0,.28),inset 10px 12px 22px rgba(255,255,255,.7),0 24px 48px rgba(0,0,0,.5);text-align:center}
.orbital-core strong{font-size:40px;letter-spacing:-.08em;line-height:1}.orbital-core sup{font-size:.4em;vertical-align:super}.orbital-core span{margin-top:10px;font-size:10px;line-height:1.35;letter-spacing:.08em;font-weight:700}
.orbital-node{position:absolute;left:calc(50% + (var(--x) * 1%));top:calc(50% + (var(--y) * 1%));transform:translate(-50%,-50%) translateZ(calc(var(--z) * 1px));padding:9px 13px;border:1px solid rgba(235,235,235,.48);border-radius:999px;background:rgba(21,21,22,.86);box-shadow:0 12px 22px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.12);color:#ededed;font-size:12px;white-space:nowrap;backdrop-filter:blur(8px);cursor:inherit}
.orbital-node:hover{background:#eee;color:#151515;border-color:#fff;transform:translate(-50%,-50%) translateZ(calc(var(--z) * 1px)) scale(1.08)}
.orbital-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.08em;color:#909094;pointer-events:none;white-space:nowrap}
@media(max-width:800px){.orbital-world{width:88%;height:78%}.orbital-core{width:116px;height:116px}.orbital-core strong{font-size:32px}.orbital-node{font-size:10px;padding:7px 9px}.orbital-hint{font-size:9px}}
