.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:transparent;animation:fade-in-up .5s var(--ease-out)}.editor-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;animation:panel-in .35s var(--ease-out)}.tab-panel{flex:1;min-height:0;overflow:auto;background:var(--bg-panel);padding:var(--space-lg);animation:panel-in .3s var(--ease-out)}.app-header{display:flex;align-items:center;gap:var(--space-sm);padding:.7rem var(--space-lg);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--bg-header);border-bottom:1px solid var(--header-divider);flex-wrap:wrap}.app-brand{display:flex;align-items:center;gap:var(--space-xs);margin-right:auto}.app-brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(145deg,#1a8a9a,#0b5f6c);display:grid;place-items:center;flex-shrink:0}.app-brand-mark span{width:12px;height:12px;border:2px solid #e8f6f8;border-radius:3px;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(45deg) translateY(1px)}.app-brand-text{display:flex;flex-direction:column;gap:0;line-height:1.1}.app-brand h1{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-on-dark);letter-spacing:-.04em}.app-brand span{color:#eef4f69e;font-size:.68rem;font-family:var(--font-sans);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.github-credit{color:#eef4f6b8;font-size:.78rem;text-decoration:none;padding:.35rem .65rem;border:1px solid rgba(238,244,246,.18);border-radius:var(--radius-sm);transition:background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.github-credit:hover{background:#eef4f614;color:var(--text-on-dark);border-color:#eef4f659}.toolbar{display:flex;gap:var(--space-2xs);flex-wrap:wrap;align-items:center}.toolbar-status{margin-left:.25rem}.btn{border:1px solid var(--border);background:var(--bg-panel);color:var(--text);border-radius:var(--radius-sm);padding:.38rem .72rem;cursor:pointer;font-size:.82rem;font-weight:500;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out),color var(--duration-fast) ease}.app-header .btn{background:#eef4f60f;border-color:#eef4f629;color:var(--text-on-dark)}.app-header .btn:hover{background:#eef4f61f;border-color:#eef4f652}.btn:hover{background:var(--bg-input);border-color:var(--slate-grey)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--copper);border-color:var(--copper);color:#fff;font-weight:600}.app-header .btn-primary{background:var(--copper);border-color:var(--copper);color:#fff}.btn-primary:hover,.app-header .btn-primary:hover{background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:#fff}.btn-danger{background:var(--surface-danger-soft);border-color:var(--surface-danger-border);color:var(--danger)}.btn-danger:hover{background:var(--btn-danger-hover)}.btn-theme{display:inline-flex;align-items:center;gap:.35rem;min-width:auto}.btn-inline{padding:.28rem .55rem;font-size:.74rem}.app-body{display:grid;grid-template-columns:260px 1fr 300px;flex:1;min-height:0;overflow:hidden;gap:0}.app-body.palette-collapsed{grid-template-columns:48px 1fr 300px}.app-body.properties-collapsed{grid-template-columns:260px 1fr 48px}.app-body.palette-collapsed.properties-collapsed{grid-template-columns:48px 1fr 48px}.app-bottom{border-top:1px solid var(--border-soft);background:var(--bg-panel);flex-shrink:0;display:flex;flex-direction:column}.diagnostics-panel{min-height:auto;max-height:280px}.diagnostics-panel.collapsed{max-height:none}.diagnostics-header{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-xs);width:100%;border:none;cursor:pointer;text-align:left;background:var(--bg-panel);color:var(--text)}.diagnostics-status{margin-left:auto}.diagnostics-content{padding:var(--space-sm) var(--space-md);overflow-y:auto;max-height:220px}.diagnostics-empty{padding:var(--space-md) var(--space-lg)}.diagnostics-loading{padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.diagnostic-group{margin-bottom:var(--space-sm)}.diagnostic-group-title{font-size:.74rem;color:var(--text-muted);margin-bottom:var(--space-2xs);font-family:var(--font-serif)}.verify-progress-wrap{height:3px;background:var(--bg-input);overflow:hidden}.verify-progress-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--copper));transition:width .08s linear;animation:bar-pulse 1.2s ease-in-out infinite}.palette-scroll,.properties-scroll{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;height:100%}.palette-category{font-size:.7rem;font-weight:600;margin-bottom:var(--space-2xs);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-display);color:var(--text-muted)}.connections-debug pre{margin:0;padding:var(--space-sm);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.78rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text)}.panel{background:var(--bg-panel);border-right:1px solid var(--border-soft);overflow:hidden;display:flex;flex-direction:column;min-height:0}.collapsible-panel.collapsed{min-width:48px;width:48px}.collapsible-panel.collapsed .collapsible-body{display:none}.collapsible-panel.collapsed .collapsible-header span:not(.collapse-chevron){display:none}.collapsible-panel.collapsed .collapsible-badge{display:none}.collapsible-panel.collapsible-right{border-right:none;border-left:1px solid var(--border-soft)}.collapsible-header{display:flex;align-items:center;gap:var(--space-2xs);width:100%;border:none;cursor:pointer;text-align:left}.collapse-chevron{font-size:.72rem;color:var(--text-muted);width:.85rem}.panel-header{padding:.7rem var(--space-md);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-soft);background:var(--bg-input);font-family:var(--font-display)}.panel-content,.collapsible-body{padding:var(--space-md);flex:1;overflow:auto;min-height:0;animation:panel-in .28s var(--ease-out)}.tabs{display:flex;gap:.15rem;border-bottom:1px solid var(--border-soft);background:var(--bg-subbar);padding:0 var(--space-md);transition:background-color var(--duration-med) ease,border-color var(--duration-med) ease}.tab{flex:0 1 auto;border:none;background:transparent;color:var(--text-muted);padding:.78rem .95rem;cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:-.01em;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) ease,border-color var(--duration-med) var(--ease-out),background var(--duration-fast) ease}.tab:hover{color:var(--text);background:transparent}.tab.active,[data-theme=dark] .tab.active{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=dark] .tab{color:var(--text-muted)}[data-theme=dark] .tab:hover{color:var(--text);background:transparent}[data-theme=dark] .port-btn.connected{color:var(--accent)}[data-theme=dark] .device-node{border-color:var(--border)}[data-theme=dark] .device-node.device-error{border-color:var(--danger)}[data-theme=dark] .btn-loading .loading-pulse-dot,[data-theme=dark] .loading-pulse-dot{background:var(--accent)}.btn-theme{min-width:auto}.list-item{display:block;width:100%;text-align:left;border:1px solid var(--border-soft);background:var(--bg-panel);color:var(--text);border-radius:var(--radius-md);padding:.55rem .7rem;margin-bottom:var(--space-2xs);cursor:pointer;font-size:.84rem;transition:border-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out),background var(--duration-fast) ease}.list-item:hover{border-color:var(--accent);background:var(--surface-info-soft);transform:translate(2px)}.list-item.selected{border-color:var(--accent);background:var(--surface-selected)}.list-item small{display:block;color:var(--text-muted);margin-top:.18rem;font-family:var(--font-mono);font-size:.68rem}.field{margin-bottom:var(--space-sm)}.field label{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:var(--space-3xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:.86rem;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.field textarea{min-height:200px;font-family:var(--font-mono);font-size:.75rem;resize:vertical}.badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:600;padding:.22rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.badge-error{background:var(--surface-danger-soft);color:var(--danger);border-color:var(--surface-danger-border)}.badge-warning{background:var(--surface-warning-soft);color:var(--warning)}.badge-info{background:var(--surface-info-soft);color:var(--accent)}.badge-ok{background:var(--surface-success-soft);color:var(--success)}.app-header .badge-ok,.app-header .badge-project{background:#eef4f61a;color:var(--text-on-dark);border-color:#eef4f629;text-transform:none;letter-spacing:0;font-weight:500;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .badge-error{background:#c93c3c38;color:#fecaca;border-color:#c93c3c59}.app-header .badge-warning{background:#c17a4538;color:#f3d2b0;border-color:#c17a4559}.empty-state{color:var(--text-muted);font-size:.88rem;text-align:center;padding:var(--space-xl) var(--space-lg);font-family:var(--font-sans)}.status-bar{display:flex;gap:var(--space-lg);padding:var(--space-2xs) var(--space-md);font-size:.76rem;color:var(--text-muted);border-top:1px solid var(--border-soft);background:var(--lavender-blush)}.status-bar strong{color:var(--text)}.info-list{margin:0;padding-left:1.35rem;color:var(--text)}.muted-line{margin-bottom:var(--space-2xs);color:var(--text-muted)}.skeleton-wrap{display:flex;flex-direction:column;gap:var(--space-2xs)}.skeleton-line{height:.85rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--lavender-blush) 0%,var(--skeleton-mid) 45%,var(--lavender-blush) 90%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.loading-pulse{display:flex;align-items:center;gap:var(--space-2xs)}.loading-pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse-soft 1.1s ease-in-out infinite}.loading-pulse-dot:nth-child(2){animation-delay:.15s}.loading-pulse-dot:nth-child(3){animation-delay:.3s}.loading-pulse-label{font-size:.8rem;color:var(--text-muted);margin-left:var(--space-2xs)}.canvas{position:relative;flex:1;overflow:auto;background:var(--canvas-wash),linear-gradient(var(--canvas-grid-line) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,var(--canvas-grid-line) 1px,transparent 1px) 0 0 / 28px 28px,var(--bg-canvas);min-height:400px}.canvas-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:1600px;min-height:720px;pointer-events:none}.canvas-wires{z-index:0}.canvas-draglayer{z-index:3}.connection-group{cursor:pointer;pointer-events:stroke}.connection-group.selected path,.connection-group.highlighted path{filter:drop-shadow(0 0 3px var(--wire-glow))}.fuse-marker{pointer-events:none}.wire-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-lg);padding:.55rem var(--space-md);background:color-mix(in srgb,var(--bg-subbar) 92%,var(--accent));border-bottom:1px solid var(--border-soft);font-size:.74rem;color:var(--text-muted);flex-shrink:0}.wire-legend-types{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.wire-label-toggle.active{background:var(--surface-selected);border-color:var(--accent);color:var(--accent)}.connection-group path{pointer-events:stroke}.device-node{position:absolute;-webkit-user-select:none;user-select:none;z-index:1}.device-body{position:relative;cursor:grab;border-radius:var(--radius-sm);outline:1.5px solid transparent;transition:outline-color var(--duration-fast) ease}.device-body:active{cursor:grabbing}.device-node:hover .device-body{outline-color:color-mix(in srgb,var(--accent) 45%,transparent)}.device-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.device-caption{margin-top:.15rem;font-size:.68rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-family:var(--font-display);pointer-events:none}.device-node.device-error .device-body{outline:1.5px dashed var(--danger)}.device-node.selected .device-body{outline-color:var(--accent);box-shadow:var(--shadow-selected)}.device-node.highlighted .device-body{box-shadow:var(--shadow-highlighted)}.port-dot{position:absolute;width:9px;height:9px;padding:0;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(8,12,16,.75);box-shadow:0 0 0 1px #ffffff59;cursor:crosshair;z-index:2;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) ease}.port-dot:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 0 2px var(--accent)}.port-dot.disconnected{opacity:.9}.port-dot.pending{transform:translate(-50%,-50%) scale(1.5);box-shadow:0 0 0 2px var(--accent)}.port-dot.compatible{box-shadow:0 0 0 2px var(--accent),0 0 10px 2px color-mix(in srgb,var(--accent) 55%,transparent)}.port-dot.port-full{cursor:not-allowed;opacity:.4}.device-title{font-size:.8rem;font-weight:650;margin-bottom:.18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-family:var(--font-display)}.device-type{font-size:.66rem;color:var(--text-muted);margin-bottom:var(--space-2xs);font-family:var(--font-mono)}.port-btn{font-size:.62rem;font-family:var(--font-mono);padding:.16rem .32rem;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);border-radius:4px;cursor:pointer;transition:background var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.port-btn:hover{background:var(--bg-input);transform:translateY(-1px)}.port-btn.disconnected{color:var(--danger)}.port-btn.connected{color:var(--accent);font-weight:600}.port-btn.port-full{opacity:.45;cursor:not-allowed;text-decoration:line-through}.port-btn.pending{background:var(--surface-pending);border-color:var(--accent);color:var(--accent)}.port-btn.compatible{background:var(--surface-compatible);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-compatible)}.device-image-wrap{display:flex;justify-content:center;margin-bottom:.3rem}.device-icon{display:block}.device-photo{display:block;object-fit:contain;padding:2px;border-radius:var(--radius-sm);background:#e9edf0;border:1px solid #cdd6dc}.device-diagram{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-sm);padding:var(--space-xs);border-radius:var(--radius-md);background:#e9edf0;border:1px solid #cdd6dc}.device-diagram img{max-width:100%;max-height:260px;object-fit:contain}.device-ports{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:.24rem}.port-more{font-size:.64rem;color:var(--text-muted);width:100%;padding-top:.18rem;font-family:var(--font-mono)}.port-picker{display:flex;flex-wrap:wrap;gap:var(--space-3xs)}.checkbox-row{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted);text-transform:none;letter-spacing:normal;font-weight:400}.wire-legend-item{display:flex;align-items:center;gap:var(--space-2xs)}.palette-item{display:flex;align-items:center;gap:var(--space-xs)}.palette-item span{flex:1}.canvas-hint{position:fixed;bottom:240px;left:50%;transform:translate(-50%);background:var(--bg-panel);border:1px solid var(--border);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-lg);font-size:.82rem;color:var(--text);z-index:10;pointer-events:none;display:flex;align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-hint)}.canvas-hint:has(.btn-inline){pointer-events:auto}.canvas-hint-error{border-color:var(--danger);background:var(--surface-danger-soft);color:var(--danger)}.btn-inline{font-size:.74rem;padding:.18rem .54rem;pointer-events:auto}.btn-loading{display:inline-flex;align-items:center;gap:.4rem}.btn-loading .loading-pulse-dot{width:6px;height:6px;background:currentColor}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.92rem;pointer-events:none;font-family:var(--font-sans);z-index:0}@media(max-width:1100px){.app-body{grid-template-columns:220px 1fr;grid-template-rows:1fr auto}.app-body.palette-collapsed{grid-template-columns:48px 1fr}}.sim-panel{font-size:.86rem}.sim-mode-toggle{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm)}.sim-mode-toggle span{color:var(--text-muted);font-size:.82rem}.sim-alert{border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);font-weight:700;font-size:.86rem;margin-bottom:var(--space-sm)}.sim-alert-danger{background:var(--surface-danger-soft);border:1px solid var(--surface-danger-border);color:var(--danger)}.sim-banner{margin:var(--space-xs) var(--space-md) 0;text-align:center}.sim-metrics{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.sim-metric{flex:1;min-width:130px;background:var(--bg-input);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);display:flex;flex-direction:column;gap:.24rem}.sim-metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.sim-metric-value{font-size:1.35rem;font-weight:700;color:var(--text);font-family:var(--font-display);letter-spacing:-.03em}.sim-voltage-ok{color:var(--success)}.sim-voltage-warn{color:var(--warning)}.sim-voltage-danger{color:var(--tomato-jam)}.sim-wire-table{width:100%;border-collapse:collapse;font-size:.8rem}.sim-wire-table th,.sim-wire-table td{text-align:left;padding:.36rem .48rem;border-bottom:1px solid var(--border-soft)}.sim-wire-table th{color:var(--text-muted);font-weight:600;font-family:var(--font-serif)}.sim-wire-hazard td{background:var(--surface-danger-soft);color:var(--danger)}.info-list small{display:block;color:var(--text-muted);font-size:.74rem}:root,[data-theme=light]{color-scheme:light;--ink: #0b2430;--ink-soft: #1a3d4d;--paper: #eef3f5;--paper-elevated: #f7fafb;--teal: #127a8a;--teal-deep: #0b5f6c;--coral: #c93c3c;--amber: #b86a12;--mint: #1a6b4f;--copper: #c17a45;--yale-blue: var(--ink-soft);--tomato-jam: var(--coral);--slate-grey: #5d7380;--peach-glow: var(--copper);--lavender-blush: var(--paper);--bg-app: var(--paper);--bg-panel: #ffffff;--bg-header: var(--ink);--bg-canvas: #e8eef1;--bg-input: #f2f6f8;--bg-subbar: #e6ecef;--border: #c5d0d6;--border-soft: #d7e0e5;--text: var(--ink);--text-muted: var(--slate-grey);--text-on-dark: #eef4f6;--accent: var(--teal);--accent-hover: var(--teal-deep);--success: var(--mint);--danger: var(--coral);--warning: var(--amber);--surface-card: linear-gradient(165deg, #ffffff 0%, #f4f8fa 100%);--surface-danger-soft: #fceeee;--surface-danger-border: #e8b0b0;--surface-warning-soft: #faf0e4;--surface-info-soft: #e5f2f4;--surface-success-soft: #e5f3ed;--surface-selected: #e5f2f4;--surface-pending: #e5f2f4;--surface-compatible: #f3e6da;--fuse-fill: #f3e6da;--fuse-stroke: var(--ink-soft);--fuse-fault-fill: #f8d9d9;--fuse-fault-stroke: var(--coral);--fuse-fault-text: var(--coral);--shadow-device: 0 8px 20px rgba(11, 36, 48, .08);--shadow-hint: 0 10px 28px rgba(11, 36, 48, .12);--shadow-list: 0 2px 8px rgba(11, 36, 48, .06);--shadow-focus: 0 0 0 3px rgba(18, 122, 138, .18);--shadow-selected: 0 0 0 2px rgba(18, 122, 138, .45);--shadow-highlighted: 0 0 0 2px rgba(193, 122, 69, .55);--shadow-compatible: 0 0 0 2px rgba(193, 122, 69, .45);--canvas-grid-line: rgba(93, 115, 128, .14);--canvas-grid-dot: rgba(93, 115, 128, .2);--canvas-wash: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(255, 255, 255, .55), transparent 70%);--wire-glow: rgba(18, 122, 138, .35);--skeleton-mid: #ffffff;--btn-primary-hover: #d08a55;--btn-danger-hover: #f5d4d4;--header-divider: rgba(238, 244, 246, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--font-display: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-serif: var(--font-display);--font-sans: "IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--space-3xs: .25rem;--space-2xs: .4rem;--space-xs: .55rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.25rem;--space-xl: 1.6rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .14s;--duration-med: .24s}[data-theme=dark]{color-scheme:dark;--bg-app: #071820;--bg-panel: #0c2a36;--bg-header: #06141b;--bg-canvas: #0a2430;--bg-input: #103443;--bg-subbar: #0c2a36;--border: #1c4a5c;--border-soft: #163d4d;--text: #e8f0f3;--text-muted: #8fa3ae;--text-on-dark: #e8f0f3;--accent: #3db8c7;--accent-hover: #6ad0db;--success: #5ecf9f;--danger: #f0717c;--warning: #e0a45a;--surface-card: linear-gradient(165deg, #123948 0%, #0c2a36 100%);--surface-danger-soft: #3a1a20;--surface-danger-border: #6e3038;--surface-warning-soft: #3a2c18;--surface-info-soft: #123948;--surface-success-soft: #14362c;--surface-selected: #144556;--surface-pending: #144556;--surface-compatible: #3a2c1c;--fuse-fill: #3a2c1c;--fuse-stroke: var(--accent);--fuse-fault-fill: #4a2028;--fuse-fault-stroke: var(--danger);--fuse-fault-text: #fecaca;--shadow-device: 0 8px 20px rgba(0, 0, 0, .35);--shadow-hint: 0 10px 28px rgba(0, 0, 0, .4);--shadow-list: 0 2px 8px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 3px rgba(61, 184, 199, .22);--shadow-selected: 0 0 0 2px rgba(61, 184, 199, .45);--shadow-highlighted: 0 0 0 2px rgba(224, 164, 90, .5);--shadow-compatible: 0 0 0 2px rgba(224, 164, 90, .4);--canvas-grid-line: rgba(143, 163, 174, .12);--canvas-grid-dot: rgba(143, 163, 174, .22);--canvas-wash: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(18, 122, 138, .08), transparent 70%);--wire-glow: rgba(61, 184, 199, .45);--skeleton-mid: #144556;--btn-primary-hover: #d08a55;--btn-danger-hover: #5c2830;--header-divider: rgba(232, 240, 243, .1);--yale-blue: #8eb8c6;--peach-glow: #e0a45a;--lavender-blush: #103443;--tomato-jam: var(--danger)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:linear-gradient(180deg,rgba(18,122,138,.04),transparent 28%),var(--bg-app);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-med) var(--ease-out),color var(--duration-med) var(--ease-out)}h1,h2,h3,.panel-header,.app-brand h1,.device-title,.palette-category,.diagnostic-group-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em}button,input,select,textarea{font:inherit}#root{height:100vh;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:.45}50%{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-pulse{0%,to{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
