:root{--bg: #141b28;--surface: #1c2536;--surface-2: #232e43;--text: #eef1f7;--text-muted: #8b96ab;--border: #303c54;--accent: #f3a53a;--accent-contrast: #141b28;--warn: #f3a53a;--good: #3ecf7e;--glass: color-mix(in srgb, var(--surface) 82%, transparent);--glass-strong: color-mix(in srgb, var(--surface) 92%, transparent);--stroke: color-mix(in srgb, var(--border) 82%, transparent);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 36px rgba(0, 0, 0, .5);--blur: 14px;--r: 14px;--nav-h: 58px;color-scheme:dark}:root[data-theme=light]{--bg: #eceff3;--surface: #ffffff;--surface-2: #f4f6f9;--text: #17202b;--text-muted: #5b6672;--border: #d3d9e0;--accent: #c97a12;--accent-contrast: #ffffff;--warn: #b26a00;--good: #2e7d32;--shadow: 0 1px 2px rgba(8, 14, 22, .1), 0 12px 32px rgba(8, 14, 22, .16);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{overflow-x:hidden}body{margin:0;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}h1,h2,h3{line-height:1.18;letter-spacing:-.02em}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 42%,transparent);border-radius:8px}.site{display:flex;flex-direction:column;min-height:100vh}.wide{width:98vw;max-width:2100px;margin-inline:auto}.muted{color:var(--text-muted)}.nav{position:sticky;top:0;z-index:30;height:var(--nav-h);display:flex;align-items:center;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));border-bottom:1px solid var(--stroke)}.nav-inner{display:flex;align-items:center;gap:22px}.brand{border:0;background:none;padding:0;font-size:1.12rem;font-weight:800}.brand span{color:var(--accent)}.nav-links{display:flex;gap:2px;flex-wrap:wrap}.nav-links button{border:0;background:none;color:var(--text-muted);padding:8px 10px;border-radius:8px}.nav-links button:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.nav-actions select,.nav-actions .ghost{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 9px}.nav-actions .ghost{color:var(--text-muted)}.nav-actions .ghost:hover{color:var(--text);border-color:var(--accent)}.btn-signin{padding:8px 15px;border-radius:9px;background:var(--accent);color:var(--accent-contrast);font-weight:650}.btn-signin:hover{filter:brightness(1.06)}.btn-primary{background:var(--accent);color:var(--accent-contrast);border:0;padding:10px 18px;border-radius:9px;font-weight:650}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled{opacity:.6;cursor:default;filter:none}.btn-outline{background:transparent;border:1px solid var(--border);padding:10px 18px;border-radius:9px}.btn-outline:hover{border-color:var(--accent)}.icon-btn{width:28px;height:28px;flex:none;display:grid;place-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);line-height:1}.icon-btn:hover{color:var(--text);border-color:var(--accent)}.stage-section{position:relative;width:98vw;max-width:2100px;margin:12px auto 0;height:calc(100vh - var(--nav-h) - 24px);min-height:540px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,var(--surface-2),var(--bg));box-shadow:var(--shadow)}.viewer-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.viewer-canvas canvas{display:block;width:100%;height:100%}.card{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);padding:14px}.card h3{margin:0 0 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ov-left{position:absolute;top:16px;left:16px;bottom:16px;z-index:5;width:268px;display:flex;flex-direction:column;gap:12px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.ov-hero h1{font-size:1.3rem;margin:0 0 8px}.ov-hero p{margin:0 0 14px;font-size:.86rem;color:var(--text-muted)}.ov-hero-top{display:flex;align-items:flex-start;gap:8px}.ov-hero-top h1{flex:1}.ov-hero-cta{display:flex;gap:8px}.ov-fab{position:absolute;top:16px;left:16px;z-index:5;width:42px;height:42px;border-radius:12px;font-size:1.05rem;display:grid;place-content:center;border:1px solid var(--stroke);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));box-shadow:var(--shadow)}.layer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.layer{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:.9rem}.layer:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.layer.active{background:color-mix(in srgb,var(--accent) 15%,transparent)}.layer label{display:flex;align-items:center;gap:9px;cursor:pointer;flex:1}.layer input{accent-color:var(--accent);width:15px;height:15px}.layer .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.legend li{display:flex;align-items:center;gap:9px;font-size:.88rem}.swatch{width:13px;height:13px;border-radius:4px;border:1px solid rgba(0,0,0,.22);flex:none}.ov-kpis{position:absolute;top:16px;right:16px;z-index:5;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:min(640px,56vw)}.kpi{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));border:1px solid var(--stroke);border-radius:12px;box-shadow:var(--shadow);padding:9px 13px;display:flex;flex-direction:column;gap:2px;min-width:112px}.kpi-value{font-size:1.22rem;font-weight:750;letter-spacing:-.02em}.kpi-label{font-size:.72rem;color:var(--text-muted)}.kpi-warn .kpi-value{color:var(--warn)}.kpi-good .kpi-value{color:var(--good)}.ov-drawer{position:absolute;top:16px;right:16px;bottom:16px;z-index:6;width:312px;display:flex;flex-direction:column;gap:10px;overflow:auto;transform:translate(calc(100% + 28px));transition:transform .3s cubic-bezier(.4,0,.2,1)}.ov-drawer.open{transform:none}.ov-drawer:not(.open){pointer-events:none}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h3{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.slot-card{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:6px 0 0}.slot-card dt{color:var(--text-muted);font-size:.76rem}.slot-card dd{margin:0;font-size:.9rem;word-break:break-word}.stage-meta{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:4;display:flex;gap:8px;align-items:center;font-size:.72rem;color:var(--text-muted);background:var(--glass);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));border:1px solid var(--stroke);border-radius:9px;padding:5px 10px;box-shadow:var(--shadow)}.pitch{width:98vw;max-width:2100px;margin:72px auto 0;padding:0 1vw}.pitch h2{font-size:clamp(1.4rem,2.4vw,1.95rem);margin:0 0 24px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;transition:border-color .15s,transform .15s}.feature-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));transform:translateY(-2px)}.feature-card h3{margin:0 0 8px;font-size:1.03rem}.feature-card p{margin:0;color:var(--text-muted);font-size:.92rem}.lede{color:var(--text-muted)}.site-footer{width:98vw;max-width:2100px;margin:44px auto 0;padding:22px 1vw 30px;border-top:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;color:var(--text-muted);font-size:.86rem}@media (max-width: 860px){.ov-kpis{display:none}.ov-left{width:224px}}@media (max-width: 560px){.stage-section{height:76vh}.ov-left{width:200px;top:12px;left:12px;bottom:12px}.ov-drawer{width:calc(100vw - 40px)}}
