@font-face{font-family:Geist;src:url(/assets/Geist-Variable-Bj2R_7yk.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-Dispecij.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}:root{--color-primary:#171717;--color-secondary:#4d4d4d;--color-tertiary:#006bff;--color-neutral:#f2f2f2;--color-background-100:#fff;--color-background-200:#fafafa;--color-gray-100:#f2f2f2;--color-gray-200:#ebebeb;--color-gray-300:#e6e6e6;--color-gray-400:#eaeaea;--color-gray-500:#c9c9c9;--color-gray-600:#a8a8a8;--color-gray-700:#8f8f8f;--color-gray-800:#7d7d7d;--color-gray-900:#4d4d4d;--color-gray-1000:#171717;--color-gray-alpha-100:#0000000d;--color-gray-alpha-200:#00000015;--color-gray-alpha-300:#0000001a;--color-gray-alpha-400:#00000014;--color-gray-alpha-500:#00000036;--color-gray-alpha-600:#0000003d;--color-gray-alpha-700:#00000070;--color-gray-alpha-800:#00000082;--color-gray-alpha-900:#000000b3;--color-gray-alpha-1000:#000000e8;--color-blue-100:#f0f7ff;--color-blue-200:#e9f4ff;--color-blue-300:#dfefff;--color-blue-400:#cae7ff;--color-blue-500:#94ccff;--color-blue-600:#48aeff;--color-blue-700:#006bff;--color-blue-800:#0059ec;--color-blue-900:#005ff2;--color-blue-1000:#002359;--color-red-100:#ffeeef;--color-red-200:#ffe8ea;--color-red-300:#ffe3e4;--color-red-400:#ffd7d6;--color-red-500:#ffb1b3;--color-red-600:#ff676d;--color-red-700:#fc0035;--color-red-800:#ea001d;--color-red-900:#d8001b;--color-red-1000:#47000c;--color-amber-100:#fff6de;--color-amber-200:#fff4cf;--color-amber-300:#fff1c1;--color-amber-400:#ffdc73;--color-amber-500:#ffc543;--color-amber-600:#ffa600;--color-amber-700:#ffae00;--color-amber-800:#ff9300;--color-amber-900:#aa4d00;--color-amber-1000:#561900;--color-green-100:#ecfdec;--color-green-200:#e5fce7;--color-green-300:#d3fad1;--color-green-400:#b9f5bc;--color-green-500:#82eb8d;--color-green-600:#4ce15e;--color-green-700:#28a948;--color-green-800:#279141;--color-green-900:#107d32;--color-green-1000:#003a00;--color-teal-100:#defffb;--color-teal-200:#ddfef6;--color-teal-300:#ccf9f1;--color-teal-400:#b1f7ec;--color-teal-500:#52f0db;--color-teal-600:#00e3c4;--color-teal-700:#00ac96;--color-teal-800:#00927f;--color-teal-900:#007f70;--color-teal-1000:#003f34;--color-purple-100:#faf0ff;--color-purple-200:#f9f0ff;--color-purple-300:#f6e8ff;--color-purple-400:#f2d9ff;--color-purple-500:#dfa7ff;--color-purple-600:#c979ff;--color-purple-700:#a000f8;--color-purple-800:#8500d1;--color-purple-900:#7d00cc;--color-purple-1000:#2f004e;--color-pink-100:#ffe8f6;--color-pink-200:#ffe8f3;--color-pink-300:#ffdfeb;--color-pink-400:#ffd3e1;--color-pink-500:#fdb3cc;--color-pink-600:#f97ea7;--color-pink-700:#f22782;--color-pink-800:#e4106e;--color-pink-900:#c41562;--color-pink-1000:#460523;--color-on-primary:var(--color-background-100);--color-ink:var(--color-gray-1000);--color-body:var(--color-gray-900);--color-muted:var(--color-gray-700);--color-hairline:var(--color-gray-alpha-400);--color-hairline-strong:var(--color-gray-alpha-600);--color-canvas:var(--color-background-100);--color-canvas-soft:var(--color-background-200);--color-canvas-soft-2:var(--color-gray-100);--color-link:var(--color-blue-700);--color-link-deep:var(--color-blue-800);--color-link-bg-soft:var(--color-blue-100);--color-error:var(--color-red-700);--color-error-soft:var(--color-red-100);--color-error-deep:var(--color-red-800);--color-warning:var(--color-amber-700);--color-warning-soft:var(--color-amber-100);--color-warning-deep:var(--color-amber-900);--color-violet:var(--color-purple-700);--color-cyan:var(--color-teal-600);--color-highlight-pink:var(--color-pink-700);--color-chart-requested:var(--color-blue-600);--color-chart-allocated:var(--color-teal-600);--color-chart-bess:var(--color-amber-600);--color-chart-grid:var(--color-red-600);--color-inverse-copy:#ffffffc7;--color-inverse-label:#ffffffb8;--color-inverse-muted:#ffffff9e;--color-inverse-faint:#ffffff80;--color-inverse-strong:#ffffffd1;--color-inverse-border:#ffffff2e;--color-inverse-line:#ffffff24;--color-inverse-grid:#ffffff1f;--color-inverse-panel:#ffffff14;--color-inverse-panel-soft:#ffffff12;--color-inverse-overlay:#ffffff0d;--color-inverse-speaker:#ffffff57;--color-blue-600-soft:#48aeff2e;--color-blue-600-border:#48aeff85;--color-teal-600-soft:#00e3c42e;--color-teal-600-border:#00e3c49e;--color-teal-600-focus:#00e3c480;--color-teal-300-text:#ccf9f1;--color-amber-600-soft:#ffa60029;--color-amber-600-area:#ffa6002e;--color-amber-600-raised:#ffa6003d;--color-amber-600-border:#ffa60099;--color-amber-300-text:#fff1c1;--color-red-600-border:#ff676d94;--color-red-300-text:#ffe3e4;--font-sans:Geist, Inter, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--radius-xs:6px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:16px;--radius-pill:9999px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--space-16:64px;--space-24:96px;--space-xxs:var(--space-1);--space-xs:var(--space-2);--space-sm:var(--space-3);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--space-2xl:var(--space-10);--space-3xl:var(--space-16);--space-4xl:var(--space-24);--shadow-raised:0 2px 2px #0000000a;--shadow-popover:0 1px 1px #00000005, 0 4px 8px -4px #0000000a, 0 16px 24px -8px #0000000f;--shadow-modal:0 1px 1px #00000005, 0 8px 16px -4px #0000000a, 0 24px 32px -8px #0000000f;--shadow-level-1:var(--shadow-raised);--shadow-level-2:var(--shadow-raised);--shadow-level-3:var(--shadow-raised);--shadow-level-4:var(--shadow-popover);--shadow-level-5:var(--shadow-modal);--focus-ring:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);font-family:var(--font-sans);color:var(--color-ink);background:var(--color-canvas);font-feature-settings:"ss01", "ss02"}*{box-sizing:border-box}::selection{background:var(--color-primary);color:var(--color-on-primary)}body{background:var(--color-canvas);min-width:320px;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed}:where(button,select,[href],[tabindex]):focus-visible{box-shadow:var(--focus-ring);outline:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-ink);letter-spacing:0;font-weight:600}p{color:var(--color-body)}.app-shell{background:var(--color-canvas);grid-template-columns:248px minmax(0,1fr) 360px;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--color-hairline);background:var(--color-canvas);height:100vh;color:var(--color-ink);padding:var(--space-lg);position:sticky;top:0;overflow-y:auto}.sidebar h1{max-width:14ch;margin-bottom:var(--space-lg);font-size:24px;line-height:32px}.eyebrow{margin:0 0 var(--space-xs);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;font-size:12px;line-height:16px}.nav-button{border-radius:var(--radius-sm);width:100%;min-height:36px;margin-top:var(--space-xs);color:var(--color-body);padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;transition:background-color .2s cubic-bezier(.175,.885,.32,1.1),color .2s,transform .15s cubic-bezier(.175,.885,.32,1.1);display:block;position:relative}.nav-button:hover{background:var(--color-canvas-soft-2);color:var(--color-ink);transform:translate(4px)}.nav-button--active{background:var(--color-canvas-soft-2);color:var(--color-ink)}.nav-button--active:hover{transform:none}.nav-button:before{border-radius:var(--radius-full);background:var(--color-primary);content:"";opacity:0;width:3px;transition:transform .25s cubic-bezier(.175,.885,.32,1.1),opacity .2s;position:absolute;top:8px;bottom:8px;left:6px;transform:scaleY(0)}.nav-button--active:before{opacity:1;transform:scaleY(1)}.shell-main{min-width:0}.context-bar{z-index:2;justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-hairline);background:var(--color-canvas);min-height:64px;padding:var(--space-sm) var(--space-xl);display:flex;position:sticky;top:0}.context-bar strong{color:var(--color-ink);font-weight:500}.site-selector{min-width:260px;color:var(--color-muted);gap:6px;font-size:13px;display:grid}.site-selector select,.mobile-workspace-switcher select{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);width:100%;height:40px;color:var(--color-ink);padding:0 var(--space-sm);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.site-selector select:hover,.mobile-workspace-switcher select:hover{border-color:var(--color-gray-500);background-color:var(--color-canvas-soft)}.site-selector select:focus,.mobile-workspace-switcher select:focus{border-color:var(--color-blue-700);box-shadow:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);outline:none}.context-bar__controls{align-items:end;gap:var(--space-sm);min-width:min(100%,420px);display:flex}.language-switcher{min-width:132px;color:var(--color-muted);gap:6px;font-size:13px;display:grid}.language-switcher select{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);width:100%;height:40px;color:var(--color-ink);padding:0 var(--space-sm);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.language-switcher select:hover{border-color:var(--color-gray-500);background-color:var(--color-canvas-soft)}.language-switcher select:focus{border-color:var(--color-blue-700);box-shadow:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);outline:none}.shell-hero{isolation:isolate;gap:var(--space-2xl);border-bottom:1px solid var(--color-hairline);background:var(--color-canvas);padding:var(--space-4xl) var(--space-xl);display:grid;position:relative;overflow:hidden}.shell-hero:before,.shell-hero:after{content:none}.shell-hero__copy{max-width:760px}.shell-hero__copy h2{max-width:760px;margin-bottom:var(--space-md);font-size:clamp(36px,5vw,48px);line-height:1}.shell-hero__copy p:not(.eyebrow){max-width:680px;margin-bottom:0;font-size:18px;line-height:28px}.shell-hero__terminal{border-radius:var(--radius-md);background:var(--color-primary);width:min(100%,560px);min-width:0;color:var(--color-on-primary);padding:var(--space-lg);box-shadow:var(--shadow-level-5);justify-self:end}.shell-hero__terminal p{margin-bottom:var(--space-sm);color:var(--color-inverse-copy);font-family:var(--font-mono);font-size:12px;line-height:16px}.shell-hero__terminal code{color:var(--color-on-primary);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:20px;display:block}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.shell-hero__terminal code:after{content:"▊";color:var(--color-teal-600);margin-left:2px;animation:1s step-end infinite blink-cursor;display:inline-block}@keyframes workspace-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.workspace-panel{padding:var(--space-xl);animation:.4s cubic-bezier(.175,.885,.32,1.1) forwards workspace-fade-in}.copilot-region{border-left:1px solid var(--color-hairline);background:var(--color-canvas);min-width:0;padding:var(--space-md)}.mobile-workspace-switcher{color:var(--color-body);gap:6px;font-size:12px;display:none}.copilot-toggle{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);width:100%;min-height:40px;color:var(--color-ink);padding:0 var(--space-sm);margin-bottom:var(--space-sm);cursor:pointer;transition:transform .15s cubic-bezier(.175,.885,.32,1.1),background-color .2s,border-color .2s,box-shadow .2s;display:none}.copilot-toggle:hover{background:var(--color-canvas-soft-2);border-color:var(--color-gray-600)}.copilot-toggle:active{transform:scale(.97)}.copilot-toggle:focus{box-shadow:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);outline:none}.copilot-region__body{opacity:1;max-height:2000px;transition:max-height .35s cubic-bezier(.175,.885,.32,1.1),opacity .25s ease-out;overflow:hidden}.copilot-region[data-collapsed=true] .copilot-region__body{opacity:0;max-height:0}.workspace-section{margin-bottom:var(--space-xl);border-top:1px solid var(--color-hairline);padding-top:var(--space-lg)}.workspace-section:first-child{border-top:0;padding-top:0}.workspace-section__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.workspace-section h2{margin-bottom:0;font-size:32px;line-height:40px}.metric-grid,.workspace-grid,.two-column,.three-column{gap:var(--space-md);display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid--compact,.workspace-grid,.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.content-card,.copilot-card{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);padding:var(--space-lg);box-shadow:var(--shadow-level-3);transition:transform .2s cubic-bezier(.175,.885,.32,1.1),box-shadow .2s cubic-bezier(.175,.885,.32,1.1),border-color .15s}.metric-card:hover,.content-card:hover,.copilot-card:hover{border-color:var(--color-gray-500);transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.metric-card--dark,.content-card--dark{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);box-shadow:none}.metric-card--dark:hover,.content-card--dark:hover{border-color:var(--color-gray-800);box-shadow:0 6px 16px #00000029}.metric-card--accent{border-color:var(--color-link-bg-soft);background:var(--color-link-bg-soft)}.metric-card__label,.metric-card__detail{color:var(--color-muted);font-size:13px;line-height:20px;display:block}.metric-card--dark .metric-card__label,.metric-card--dark .metric-card__detail{color:var(--color-inverse-muted)}.metric-card__value{margin:var(--space-xs) 0;color:inherit;font-size:28px;font-weight:600;line-height:32px;display:block}.content-card h3,.risk-card h3{margin-bottom:var(--space-xs);font-size:20px;line-height:28px}.content-card--dark h3,.metric-card--dark h3{color:var(--color-on-primary)}.content-card--dark p{color:var(--color-inverse-copy)}.content-card--dark .eyebrow,.copilot-panel .eyebrow{color:var(--color-inverse-muted)}.content-card p:last-child,.risk-card p:last-child{margin-bottom:0}.card-title-row{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.proof-card .button-secondary{margin-top:var(--space-xs)}.simulation-card{margin-top:var(--space-md)}.workflow-banner{border:1px solid var(--color-link-bg-soft);border-radius:var(--radius-sm);background:var(--color-link-bg-soft);color:var(--color-link-deep);padding:var(--space-xs) var(--space-sm)}.wallet-card{gap:var(--space-xs);margin-top:var(--space-sm);border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas-soft);padding:var(--space-sm);display:grid}.api-event{min-width:0;max-width:100%;margin:var(--space-md) 0 0;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-lg);font-family:var(--font-mono);overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;line-height:20px;overflow-x:auto}.table-link{color:var(--color-link);text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.artifact-card{border-top:1px solid var(--color-hairline);padding-top:var(--space-sm)}.artifact-card:first-child{border-top:0;padding-top:0}.four-pack{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.status-pill{border-radius:var(--radius-full);text-transform:capitalize;white-space:nowrap;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;line-height:1.2;display:inline-flex}.status-pill--success{background:var(--color-link-bg-soft);color:var(--color-link-deep)}.status-pill--warning{background:var(--color-warning-soft);color:var(--color-warning-deep)}.status-pill--danger{background:var(--color-error-soft);color:var(--color-error-deep)}.status-pill--neutral{background:var(--color-canvas-soft-2);color:var(--color-body)}.status-pill--dark{background:var(--color-primary);color:var(--color-on-primary)}.table-wrap{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);box-shadow:var(--shadow-level-2);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px;line-height:20px}th,td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-hairline);text-align:left;vertical-align:top}th{color:var(--color-muted);background:var(--color-canvas-soft);font-family:var(--font-mono);text-transform:uppercase;font-size:12px;font-weight:400;line-height:16px}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer;transition:background-color .15s}tbody tr:hover{background-color:var(--color-canvas-soft)}tbody tr:active{background-color:var(--color-canvas-soft-2)}.mini-chart{width:100%;min-height:44px}.constraint-chart{gap:var(--space-md);contain:inline-size;width:100%;min-width:0;max-width:100%;padding-bottom:2px;display:grid;overflow-x:auto}.constraint-chart:focus{box-shadow:var(--focus-ring);outline:0}.constraint-chart__header{gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.constraint-chart__header h3{margin-bottom:var(--space-xs)}.constraint-chart__cap{border:1px solid var(--color-inverse-border);border-radius:var(--radius-sm);background:var(--color-inverse-panel);min-width:116px;padding:var(--space-xs) var(--space-sm);overflow-wrap:anywhere;display:grid}.constraint-chart__cap span,.constraint-chart__metric span,.constraint-chart__metric small{color:var(--color-inverse-muted);font-size:12px;line-height:16px}.constraint-chart__cap strong,.constraint-chart__metric strong{color:var(--color-on-primary)}.constraint-chart__metrics{gap:var(--space-xs);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.constraint-chart__metric{border:1px solid var(--color-inverse-line);border-radius:var(--radius-sm);background:var(--color-inverse-panel-soft);min-width:0;padding:var(--space-xs);overflow-wrap:anywhere;gap:2px;display:grid}.constraint-chart__metric strong{font-size:18px;line-height:24px}.constraint-chart__legend{gap:var(--space-sm);color:var(--color-inverse-copy);flex-wrap:wrap;font-size:12px;line-height:16px;display:flex}.constraint-chart__legend span{align-items:center;gap:6px;display:inline-flex}.constraint-chart__legend i{border-radius:var(--radius-full);width:10px;height:10px}.constraint-chart__svg{border:1px solid var(--color-inverse-line);border-radius:var(--radius-md);background:var(--color-inverse-overlay);width:100%;min-width:640px;min-height:260px;display:block}.constraint-chart__grid{stroke:var(--color-inverse-grid);stroke-width:1px}.constraint-chart__axis-label,.constraint-chart__event-label,.constraint-chart__risk-label,.constraint-chart__grid-cap-label,.constraint-chart__stack-label{fill:var(--color-inverse-label);font-family:var(--font-mono);font-size:12px}.constraint-chart__grid-cap-line{stroke:var(--color-chart-grid);stroke-width:2px;stroke-dasharray:7 6}.constraint-chart__grid-cap-label{fill:var(--color-red-300-text)}@keyframes draw-chart-line{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.constraint-chart__bess-area{fill:var(--color-amber-600-area);animation:.8s cubic-bezier(.25,1,.5,1) forwards draw-chart-line}.constraint-chart__requested-line,.constraint-chart__allocated-line{fill:none;stroke-linecap:round;stroke-linejoin:round;animation:.8s cubic-bezier(.25,1,.5,1) forwards draw-chart-line}.constraint-chart__requested-line{stroke:var(--color-chart-requested);stroke-width:4px}.constraint-chart__allocated-line{stroke:var(--color-chart-allocated);stroke-width:4px}.constraint-chart__supported-line{fill:none;stroke:var(--color-chart-bess);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;animation:.8s cubic-bezier(.25,1,.5,1) forwards draw-chart-line}.constraint-chart__stack-label{fill:var(--color-amber-300-text)}.constraint-chart__event-line{stroke:var(--color-inverse-grid);stroke-dasharray:4 6}.constraint-chart__event-label{fill:var(--color-inverse-strong)}.constraint-chart__risk-dot{stroke:var(--color-primary);stroke-width:2px;transform-box:fill-box;transform-origin:50%;cursor:pointer;transition:transform .2s cubic-bezier(.175,.885,.32,1.1),filter .2s}.constraint-chart__risk-dot:hover{filter:brightness(1.2)drop-shadow(0 0 4px #fff6);transform:scale(1.3)}.constraint-chart__risk-dot--watch{fill:var(--color-chart-bess)}.constraint-chart__risk-dot--at-risk{fill:var(--color-chart-grid)}.constraint-chart__risk-label{fill:var(--color-on-primary)}.portfolio-constraint-card,.metric-grid.portfolio-hero-metrics{grid-column:1/-1}.metric-grid.portfolio-hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.action-buttons{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.button-primary,.button-secondary{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;min-height:40px;padding:0 10px;font-size:14px;font-weight:500;line-height:20px;transition:transform .15s cubic-bezier(.175,.885,.32,1.1),background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.button-primary:active,.button-secondary:active{transform:scale(.96)}.button-primary:focus,.button-secondary:focus{box-shadow:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);outline:none}.button-primary{border:1px solid var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.button-primary:hover{border-color:var(--color-gray-900);background:var(--color-gray-900)}.button-secondary{border:1px solid var(--color-hairline);color:var(--color-ink);background:var(--color-canvas)}.button-secondary:hover{border-color:var(--color-hairline-strong);background:var(--color-canvas-soft)}.mobile-preview{border:1px solid var(--color-primary);border-radius:var(--radius-xl);background:var(--color-primary);width:min(100%,320px);padding:var(--space-sm);box-shadow:var(--shadow-level-4)}.mobile-preview__speaker{width:72px;height:5px;margin:0 auto var(--space-sm);border-radius:var(--radius-full);background:var(--color-inverse-speaker)}.mobile-preview__screen{border-radius:var(--radius-lg);background:var(--color-canvas);min-height:420px;padding:var(--space-md)}.copilot-panel{border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-lg);box-shadow:var(--shadow-level-4)}.copilot-panel h2{color:var(--color-on-primary);font-size:24px;line-height:32px}.copilot-card{margin-top:var(--space-sm);border-color:var(--color-inverse-border);background:var(--color-inverse-panel);box-shadow:none}.copilot-card__header{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.copilot-card h3{margin-bottom:var(--space-xs);color:var(--color-on-primary);font-size:17px;line-height:24px}.copilot-card p,.copilot-card li{color:var(--color-inverse-copy);font-size:14px;line-height:20px}.copilot-card ul{padding-left:18px}.segmented-control{gap:var(--space-xs);margin-bottom:var(--space-md);display:grid}.segmented-control__label{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:12px;line-height:16px}.segmented-control__options{gap:var(--space-xs);flex-wrap:wrap;display:flex}.segmented-control__button{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);min-height:40px;color:var(--color-ink);cursor:pointer;padding:0 10px;transition:transform .15s cubic-bezier(.175,.885,.32,1.1),background-color .2s,border-color .2s,color .2s,box-shadow .2s}.segmented-control__button:hover{border-color:var(--color-hairline-strong);background:var(--color-canvas-soft)}.segmented-control__button:active{transform:scale(.96)}.segmented-control__button:focus{box-shadow:0 0 0 2px var(--color-background-100), 0 0 0 4px var(--color-blue-700);outline:none}.segmented-control__button--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.segmented-control__button--active:hover{background:var(--color-gray-900);border-color:var(--color-gray-900)}.detail-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);min-width:0;padding:var(--space-lg);box-shadow:var(--shadow-level-3)}.detail-panel__header{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.detail-panel__header--with-actions{grid-template-columns:1fr}.detail-panel__header h3{margin-bottom:var(--space-xs);font-size:20px;line-height:28px}.detail-panel__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.audit-trail{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);padding:var(--space-lg);box-shadow:var(--shadow-level-2)}.audit-trail__item{gap:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-hairline);grid-template-columns:56px minmax(0,1fr);padding:10px 0;display:grid}.audit-trail__item:first-of-type{border-top:0}.audit-trail__item p{color:var(--color-body);grid-column:2;margin-bottom:0}.responsive-data-list__cards{gap:10px;display:none}.responsive-data-card{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);width:100%;color:var(--color-ink);padding:var(--space-sm);text-align:left;gap:5px;display:grid}.responsive-data-card--selected,tr.is-selected{outline:2px solid var(--color-link);outline-offset:-2px}.ems-edge-live-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch}.ems-edge-live-grid>.content-card{min-width:0}.ems-edge-live-grid__constraints{gap:var(--space-sm) var(--space-lg);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ems-edge-live-grid__constraints h3{grid-column:1/-1;margin-bottom:0}.site-topology{gap:var(--space-md);min-width:0;height:100%;display:grid}.site-topology__header{gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.site-topology__header p{margin-bottom:0}.site-topology__status{border:1px solid var(--color-inverse-border);border-radius:var(--radius-pill);background:var(--color-inverse-panel);max-width:128px;color:var(--color-inverse-copy);font-family:var(--font-mono);text-align:center;text-transform:uppercase;overflow-wrap:anywhere;padding:5px 10px;font-size:11px;line-height:14px}.site-topology__status--live{border-color:var(--color-teal-600-focus);color:var(--color-teal-300-text)}.site-topology__status--attention{border-color:var(--color-amber-600-border);color:var(--color-amber-300-text)}.site-topology__status--construction{border-color:var(--color-blue-600-border);color:var(--color-blue-300)}.site-topology__status--offline{border-color:var(--color-red-600-border);color:var(--color-red-300-text)}.site-topology__svg{border-radius:var(--radius-md);width:100%;min-height:270px;display:block}.site-topology__panel{fill:var(--color-inverse-overlay);stroke:var(--color-inverse-grid)}.site-topology__grid-node rect,.site-topology__charger-node>rect,.site-topology__bess-node>rect{fill:var(--color-inverse-panel);stroke:var(--color-inverse-border);stroke-width:1.5px}.site-topology__pv-node rect{fill:var(--color-blue-600-soft);stroke:var(--color-blue-600-border);stroke-width:1.5px}.site-topology__grid-node path,.site-topology__pv-node path,.site-topology__charger-node path,.site-topology__bess-node path{fill:none;stroke:var(--color-inverse-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.site-topology__charger-node g rect{fill:var(--color-teal-600-soft);stroke:var(--color-teal-600-border)}.site-topology__bess-node>rect{fill:var(--color-amber-600-soft);stroke:var(--color-amber-600-border)}.site-topology__bess-node--large>rect{fill:var(--color-amber-600-raised)}@keyframes power-pulse{0%,to{stroke-opacity:.95;stroke-width:5px}50%{stroke-opacity:.85;stroke-width:5.5px}}@keyframes flow-dash{to{stroke-dashoffset:-24px}}.site-topology__grid-node,.site-topology__pv-node,.site-topology__bess-node,.site-topology__charger-node,.site-topology__ems-node{transform-box:fill-box;transform-origin:50%;transition:transform .2s cubic-bezier(.175,.885,.32,1.1),filter .2s,opacity .2s}.site-topology__grid-node:hover,.site-topology__pv-node:hover,.site-topology__bess-node:hover,.site-topology__charger-node:hover,.site-topology__ems-node:hover{filter:brightness(1.15)drop-shadow(0 2px 4px #00e3c433);cursor:pointer;transform:scale(1.04)}.site-topology__power-line{fill:none;stroke:var(--color-chart-allocated);stroke-linecap:round;stroke-width:5px;animation:3s ease-in-out infinite power-pulse}.site-topology__power-line--pv{stroke:var(--color-chart-requested)}.site-topology__power-line--bess{stroke:var(--color-chart-bess)}.site-topology__control-line{fill:none;stroke:var(--color-inverse-faint);stroke-dasharray:5 7;stroke-linecap:round;stroke-width:1.5px;animation:1.2s linear infinite flow-dash}.site-topology__ems-node{fill:var(--color-teal-1000);stroke:var(--color-chart-allocated);stroke-width:2px}.site-topology__label,.site-topology__value,.site-topology__more,.site-topology__control-label,.site-topology__ems-label,.site-topology__ems-detail{fill:var(--color-inverse-label);font-family:var(--font-mono);font-size:12px}.site-topology__value,.site-topology__ems-label{fill:var(--color-on-primary);font-weight:600}.site-topology__ems-label{font-size:16px}.site-topology__ems-detail,.site-topology__more{fill:var(--color-teal-300-text);font-size:11px}.site-topology__control-label{fill:var(--color-inverse-faint);font-size:11px}.site-topology__facts{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-topology__facts span{border:1px solid var(--color-inverse-line);border-radius:var(--radius-sm);background:var(--color-inverse-panel-soft);min-width:0;color:var(--color-inverse-copy);font-family:var(--font-mono);overflow-wrap:anywhere;padding:7px 9px;font-size:12px;line-height:16px}@media (width<=1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.copilot-region{border-top:1px solid var(--color-hairline);border-left:0;grid-column:1/-1}.metric-grid,.four-pack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.sidebar{padding:var(--space-md)}.sidebar h1{font-size:20px;line-height:28px}.nav-button{font-size:13px;line-height:18px}.shell-hero{padding:var(--space-3xl) var(--space-lg)}.copilot-toggle{display:block}}@media (width<=900px){.workspace-panel{padding:var(--space-lg)}.ems-edge-live-grid{grid-template-columns:1fr}.ems-edge-live-grid__constraints{grid-column:auto}.metric-card__value{font-size:24px;line-height:28px}}@media (width<=760px){.responsive-data-list__table{display:none}.responsive-data-list__cards{display:grid}.detail-panel__header{grid-template-columns:1fr}}@media (width<=720px){.app-shell{display:block}.sidebar{height:auto;position:static}.sidebar h1{max-width:none;font-size:22px}.mobile-workspace-switcher{margin:var(--space-sm) 0;display:grid}.sidebar nav{display:none}.shell-main{width:100%}.context-bar{padding:var(--space-sm) var(--space-md);display:grid;position:static}.site-selector{min-width:0}.context-bar__controls{align-items:stretch;width:100%}.shell-hero{padding:var(--space-2xl) var(--space-md)}.shell-hero__copy h2{font-size:34px;line-height:36px}.workspace-grid,.metric-grid,.two-column,.three-column,.four-pack,.ems-edge-live-grid__constraints,.site-topology__header,.site-topology__facts{grid-template-columns:1fr}.site-topology__status{justify-self:start;max-width:none}.workspace-panel{padding:var(--space-md)}.workspace-section__header,.card-title-row,.copilot-card__header,.constraint-chart__header,.constraint-chart__metrics{grid-template-columns:1fr}.constraint-chart__cap{width:100%}.constraint-chart__svg{min-height:220px}.metric-grid.portfolio-hero-metrics{grid-template-columns:1fr}.workspace-section__header{display:grid}.copilot-region{padding:var(--space-md)}.mobile-preview{margin:0 auto}}@media (width<=520px){.workspace-panel{padding:14px}.context-bar__controls{grid-template-columns:1fr;min-width:0;display:grid}.button-primary,.button-secondary,.segmented-control__button{justify-content:center;width:100%}.action-buttons,.segmented-control__options{grid-template-columns:1fr;display:grid}.mobile-preview{width:100%}}.real-time-dispatch-chart{gap:var(--space-md);width:100%;display:grid}.real-time-dispatch-chart__header{justify-content:space-between;align-items:center;display:flex}.real-time-dispatch-chart__legend{gap:var(--space-sm);color:var(--color-inverse-copy);margin-bottom:var(--space-xs);flex-wrap:wrap;font-size:11px;line-height:16px;display:flex}.real-time-dispatch-chart__legend span{align-items:center;gap:6px;display:inline-flex}.real-time-dispatch-chart__legend i{border-radius:var(--radius-full);width:10px;height:10px}.real-time-dispatch-chart__svg{border:1px solid var(--color-inverse-line);border-radius:var(--radius-md);background:var(--color-inverse-overlay);width:100%;display:block}@keyframes live-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.telemetry-status{align-items:center;gap:var(--space-xs);color:var(--color-teal-600);font-size:14px;line-height:1;display:flex}.telemetry-status__dot{background:var(--color-teal-600);border-radius:var(--radius-full);width:8px;height:8px;animation:2s ease-in-out infinite live-pulse}.telemetry-status__label{color:var(--color-inverse-muted);text-transform:uppercase;letter-spacing:0;font-size:10px}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-soft}.real-time-dispatch-chart__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.real-time-dispatch-chart__title{color:var(--color-on-primary);margin-bottom:0;font-size:18px;font-weight:600}.real-time-dispatch-chart__svg{border-radius:var(--radius-lg);background:var(--color-inverse-overlay);width:100%;height:auto;display:block;overflow:hidden}@keyframes draw-real-time-chart{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.real-time-dispatch-chart__svg path{animation:.8s cubic-bezier(.25,1,.5,1) forwards draw-real-time-chart}.real-time-dispatch-chart__svg circle{transform-box:fill-box;transform-origin:50%;transition:transform .2s cubic-bezier(.175,.885,.32,1.1),filter .2s}.real-time-dispatch-chart__svg circle:hover{filter:brightness(1.2);cursor:pointer;transform:scale(1.4)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
