.diag-scope{--diag-bg-primary:var(--background);--diag-bg-secondary:var(--card);--diag-bg-tertiary:var(--muted);--diag-surface-glass:color-mix(in oklab, var(--card) 70%, transparent);--diag-border-subtle:var(--border);--diag-border-hover:color-mix(in oklab, var(--primary) 35%, transparent);--diag-text-primary:var(--foreground);--diag-text-secondary:var(--muted-foreground);--diag-text-muted:color-mix(in oklab, var(--muted-foreground) 70%, transparent);--diag-accent:var(--primary);--diag-accent-glow:color-mix(in oklab, var(--primary) 18%, transparent);--diag-success:#059669;--diag-warning:#d97706;--diag-danger:#dc2626;--diag-gradient:linear-gradient(135deg, var(--primary) 0%, color-mix(in oklab, var(--primary) 75%, white) 60%, color-mix(in oklab, var(--primary) 55%, #0ea5e9) 100%);--diag-font-display:Georgia, "Times New Roman", serif;--diag-font-body:var(--font-sans);--diag-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:var(--diag-bg-primary);color:var(--diag-text-primary);font-family:var(--diag-font-body);min-height:100vh}.diag-scope h1,.diag-scope h2,.diag-scope .diag-display{font-family:var(--diag-font-display);letter-spacing:-.01em;font-weight:400}.diag-scope .diag-mono{font-family:var(--diag-font-mono)}.diag-card{background:var(--diag-bg-secondary);border:1px solid var(--diag-border-subtle);border-radius:14px;transition:all .18s ease-out;box-shadow:0 1px 2px #0f172a0a}.diag-card:hover{border-color:var(--diag-border-hover);box-shadow:0 6px 20px -8px #1b4fd826}.diag-card[data-selected=true]{border-color:var(--diag-accent);box-shadow:0 0 0 1px var(--diag-accent),0 8px 24px -8px #1b4fd840;background:linear-gradient(180deg,#1b4fd80d,var(--diag-bg-secondary))}.diag-glass{background:var(--diag-surface-glass);border:1px solid var(--diag-border-subtle);-webkit-backdrop-filter:blur(12px)}.diag-btn-primary{background:var(--diag-gradient);color:#fff;min-height:48px;box-shadow:0 0 30px var(--diag-accent-glow),0 4px 16px #0000004d;border-radius:12px;padding:14px 24px;font-weight:600;transition:transform .15s ease-out,box-shadow .2s ease-out}.diag-btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 40px #4f8cff4d,0 8px 24px #0006}.diag-btn-primary:active{transform:scale(.98)}.diag-btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.diag-btn-ghost{color:var(--diag-text-secondary);border:1px solid var(--diag-border-subtle);background:0 0;border-radius:10px;padding:10px 18px;transition:all .15s ease-out}.diag-btn-ghost:hover{color:var(--diag-text-primary);border-color:var(--diag-border-hover);background:var(--diag-bg-tertiary)}.diag-input{background:var(--diag-bg-tertiary);border:1px solid var(--diag-border-subtle);color:var(--diag-text-primary);font-family:var(--diag-font-body);border-radius:10px;width:100%;min-height:52px;padding:14px 16px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.diag-input::placeholder{color:var(--diag-text-muted)}.diag-input:focus{border-color:var(--diag-accent);box-shadow:0 0 0 3px var(--diag-accent-glow);outline:none}.diag-dotgrid{background-image:radial-gradient(circle,#1b4fd81a 1px,#0000 1px);background-size:24px 24px}.diag-grain:after{content:"";pointer-events:none;opacity:.015;z-index:1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@keyframes diag-progress-shine{0%{background-position:-200% 0}to{background-position:200% 0}}.diag-progress-fill{background:linear-gradient(90deg,#1b4fd8,#3b82f6,#0ea5e9) 0 0/200% 100%;animation:3s linear infinite diag-progress-shine}@keyframes diag-pulse-glow{0%,to{box-shadow:0 0 30px var(--diag-accent-glow)}50%{box-shadow:0 0 50px #4f8cff59}}.diag-pulse{animation:2.4s ease-in-out infinite diag-pulse-glow}@keyframes diag-orbit{0%{transform:rotate(0)translate(40px)rotate(0)}to{transform:rotate(360deg)translate(40px)rotate(-360deg)}}
