:root{--color-bg:#f0f5ff;--color-bg-card:#fff;--color-border:#3b82f62e;--color-border-strong:#3b82f666;--color-accent:#2563eb;--color-accent-soft:#2563eb14;--color-accent-glow:#2563eb26;--color-text:#0a1628;--color-text-mid:#3d567a;--color-text-soft:#8ba4c8;--color-aws:#d97706;--color-azure:#2563eb;--color-gcp:#059669;--color-onprem:#7c3aed;--color-green:#059669;--color-aws-soft:#d977061f;--color-azure-soft:#2563eb1f;--color-gcp-soft:#0596691f;--color-onprem-soft:#7c3aed1f;--font-mono:"Georgia", serif;--font-sans:"Helvetica Neue", Arial, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-full:9999px;--orb-size:clamp(86px, 12vw, 140px);--logo-size:clamp(28px, 4vw, 50px);--font-size-xs:clamp(8px, 1vw, 10px);--font-size-sm:clamp(10px, 1.2vw, 12px);--font-size-md:clamp(12px, 1.5vw, 15px);--font-size-lg:clamp(14px, 1.8vw, 17px);--card-padding:clamp(13px, 2.5vw, 28px)}:root[data-theme=dark]{--color-bg:#080d1a;--color-bg-card:#0d1526;--color-border:#3b82f62e;--color-border-strong:#3b82f666;--color-accent:#3b82f6;--color-accent-soft:#3b82f61f;--color-accent-glow:#3b82f640;--color-text:#e8f0fe;--color-text-mid:#8ba4c8;--color-text-soft:#3d567a;--color-aws:#f59e0b;--color-azure:#60a5fa;--color-gcp:#34d399;--color-onprem:#a78bfa;--color-green:#34d399;--color-aws-soft:#f59e0b1f;--color-azure-soft:#60a5fa1f;--color-gcp-soft:#34d3991f;--color-onprem-soft:#a78bfa1f}.loading-skeleton{justify-content:center;align-items:center;gap:var(--space-4);background:var(--color-bg);flex-direction:column;block-size:100vh;display:flex}.loading-skeleton .spinner{border-radius:var(--radius-full);border:3px solid var(--color-accent);border-top-color:#0000;block-size:48px;inline-size:48px;animation:.8s linear infinite spin}.loading-skeleton p{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-mid);letter-spacing:.1em;text-transform:uppercase;margin:0}.error-state{justify-content:center;align-items:center;gap:var(--space-3);background:var(--color-bg);flex-direction:column;block-size:100vh;display:flex}.error-state p{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-mid);letter-spacing:.06em;margin:0}.error-state .retry-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);border:1.5px solid var(--color-accent);color:var(--color-accent);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-xs);background:0 0;font-weight:700;transition:background .2s,color .2s}.error-state .retry-btn:hover{background:var(--color-accent-soft)}.error-state .retry-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.dark-toggle{z-index:1000;position:fixed;inset-block-start:max(20px, calc(env(safe-area-inset-top) + 12px));inset-inline-end:max(20px, env(safe-area-inset-right))}.dark-toggle button{align-items:center;gap:var(--space-2);background:var(--color-bg-card);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);cursor:pointer;transition:box-shadow .3s;display:flex}.dark-toggle button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.dark-toggle button .toggle-label{font-family:var(--font-sans);color:var(--color-text-mid);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}@media (max-width:899px){.dark-toggle{inset-block-start:max(12px, calc(env(safe-area-inset-top) + 8px));inset-inline-end:max(12px, env(safe-area-inset-right))}.dark-toggle button{padding:6px 10px}}.provider-card{flex-direction:column;align-items:center;display:flex}.provider-card h3{margin-block:var(--space-2) 0;font-family:var(--font-sans);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;text-align:center;font-weight:700}.cost-monitor{border-radius:var(--radius-xl);border:2px solid var(--color-border-strong);padding:var(--card-padding);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .4s,border-color .4s}.cost-monitor .monitor-label{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-soft);letter-spacing:.11em;text-transform:uppercase;margin-block-end:var(--space-4)}.cost-monitor .metrics-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cost-monitor .divider{background:var(--color-border);block-size:1px;margin-block:var(--space-4) 0}.cost-monitor .waste-row{justify-content:space-between;align-items:center;margin-block-start:var(--space-3);display:flex}.cost-monitor .waste-row .waste-label{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.07em}.cost-monitor .waste-row .waste-value{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-accent);font-weight:700}.data-panel{border-radius:var(--radius-lg);border:1.5px solid var(--color-border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);align-items:stretch;transition:background .4s;display:flex;overflow:hidden}.data-panel .panel-cell{justify-content:center;align-items:center;gap:var(--space-2);padding-block:var(--space-5);padding-inline:var(--space-1);flex-direction:column;flex:1;display:flex}.data-panel .panel-cell .cell-label{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-soft);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-weight:700;line-height:1.5}.data-panel .panel-cell .cell-value{font-family:var(--font-mono);font-weight:800;font-size:var(--font-size-md);white-space:nowrap;color:var(--color-text)}.data-panel .panel-cell.highlighted{background:var(--color-accent-soft)}.data-panel .panel-cell.highlighted .cell-label{color:var(--color-accent)}.data-panel .panel-cell.highlighted .cell-value{color:var(--color-accent);font-size:var(--font-size-lg)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes spin{to{transform:rotate(360deg)}}
