@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500&display=swap";.tooltip-wrapper.svelte-11extwn{position:relative;display:inline-block}.tooltip-trigger.svelte-11extwn{display:inline-flex}.tooltip-trigger.svelte-11extwn:focus{outline:none}.tooltip.svelte-11extwn{position:absolute;z-index:var(--z-tooltip, 1000);padding:var(--space-1) var(--space-2);background-color:var(--colour-surface-overlay);color:var(--colour-text-inverse);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-2);animation:svelte-11extwn-tooltip-fade-in var(--duration-fast, .1s) var(--ease-out, ease-out)}@keyframes svelte-11extwn-tooltip-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tooltip.position-top.svelte-11extwn{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--space-1)}.tooltip.position-bottom.svelte-11extwn{top:100%;left:50%;transform:translate(-50%);margin-top:var(--space-1)}.tooltip.position-left.svelte-11extwn{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--space-1)}.tooltip.position-right.svelte-11extwn{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--space-1)}.tooltip-text.svelte-11extwn{color:inherit}.tooltip-shortcut.svelte-11extwn{padding:1px 4px;background-color:#ffffff26;border-radius:2px;font-size:var(--font-size-xs);font-family:var(--font-mono, monospace);color:var(--colour-text-muted-inverse, rgba(255, 255, 255, .7))}@media(prefers-reduced-motion:reduce){.tooltip.svelte-11extwn{animation:none}}.toolbar-drawer.svelte-1dzkxau{position:fixed;top:var(--toolbar-height);right:0;width:var(--drawer-width);max-width:85vw;height:calc(100vh - var(--toolbar-height));background:var(--colour-surface);border-left:1px solid var(--colour-border);transform:translate(100%);transition:transform var(--duration-normal) var(--ease-out);z-index:var(--z-drawer);overflow-y:auto;box-shadow:var(--shadow-lg)}.toolbar-drawer.open.svelte-1dzkxau{transform:translate(0)}.drawer-backdrop.svelte-1dzkxau{position:fixed;inset:0;top:var(--toolbar-height);background:#00000080;opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-out),visibility var(--duration-normal);z-index:var(--z-drawer-backdrop);border:none;cursor:default}.drawer-backdrop.visible.svelte-1dzkxau{opacity:1;visibility:visible}.drawer-nav.svelte-1dzkxau{display:flex;flex-direction:column}.drawer-group.svelte-1dzkxau{padding:var(--space-4);border-bottom:1px solid var(--colour-border)}.drawer-group.svelte-1dzkxau:last-child{border-bottom:none}.drawer-group-title.svelte-1dzkxau{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2) 0;padding:0 var(--space-2)}.drawer-item.svelte-1dzkxau{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;color:var(--colour-text);font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);text-align:left}.drawer-item.svelte-1dzkxau:hover:not(:disabled){background:var(--colour-surface-hover)}.drawer-item.svelte-1dzkxau:focus-visible{outline:none;box-shadow:0 0 0 2px var(--colour-focus-ring)}.drawer-item.svelte-1dzkxau:disabled{opacity:.5;cursor:not-allowed}.drawer-item.svelte-1dzkxau span:where(.svelte-1dzkxau){flex:1}.drawer-shortcut.svelte-1dzkxau{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);background:var(--colour-surface-raised);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.env-badge.svelte-1u17vro{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--env-badge-bg);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}.env-badge__text.svelte-1u17vro{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(90deg,var(--env-badge-text) 0%,var(--env-badge-text) 35%,var(--env-badge-gradient-highlight) 50%,var(--env-badge-text) 65%,var(--env-badge-text) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:svelte-1u17vro-cylon-text var(--anim-env-cylon) ease-in-out infinite}@keyframes svelte-1u17vro-cylon-text{0%,to{background-position:200% center}50%{background-position:0% center}}@media(prefers-reduced-motion:reduce){.env-badge__text.svelte-1u17vro{background:none;color:var(--env-badge-text);animation:none}}.santa-hat.svelte-i2yyuu{pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.logo-lockup.svelte-1i1ldj{display:flex;align-items:flex-end;gap:var(--space-2)}.logo-mark-container.svelte-1i1ldj{position:relative;flex-shrink:0}.logo-hat.svelte-1i1ldj{position:absolute;top:-9px;right:0;z-index:1}.logo-mark.svelte-1i1ldj,.logo-title.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:url(#lockup-idle);transition:fill .3s ease}.logo-mark.svelte-1i1ldj{flex-shrink:0;filter:drop-shadow(0 0 8px rgba(189,147,249,.3));margin-bottom:-2px}.logo-title.svelte-1i1ldj{width:auto;filter:drop-shadow(0 0 8px rgba(189,147,249,.3))}.logo-title.svelte-1i1ldj text:where(.svelte-1i1ldj){font-family:"Space Grotesk",var(--font-family, system-ui, sans-serif);font-size:38px;font-weight:500}.logo-mark--celebrate.svelte-1i1ldj,.logo-title--celebrate.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:var(--active-gradient, url(#lockup-celebrate))!important}.logo-mark--celebrate.svelte-1i1ldj,.logo-title--celebrate.svelte-1i1ldj{filter:drop-shadow(0 0 20px rgba(189,147,249,.4))}.logo-mark--party.svelte-1i1ldj,.logo-title--party.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:var(--active-gradient, url(#lockup-party))!important}.logo-mark--party.svelte-1i1ldj,.logo-title--party.svelte-1i1ldj{filter:drop-shadow(0 0 24px rgba(189,147,249,.5));animation:svelte-1i1ldj-wobble var(--anim-party, .5s) ease-in-out infinite}.logo-mark--showcase.svelte-1i1ldj,.logo-title--showcase.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:var(--active-gradient, url(#lockup-showcase))!important}.logo-mark--showcase.svelte-1i1ldj,.logo-title--showcase.svelte-1i1ldj{filter:drop-shadow(0 0 16px rgba(189,147,249,.4))}.logo-mark--hover.svelte-1i1ldj,.logo-title--hover.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:var(--active-gradient, url(#lockup-rainbow))!important}.logo-mark--hover.svelte-1i1ldj,.logo-title--hover.svelte-1i1ldj{filter:drop-shadow(0 0 12px rgba(189,147,249,.4))}@media(prefers-reduced-motion:reduce){.logo-mark.svelte-1i1ldj,.logo-title.svelte-1i1ldj text:where(.svelte-1i1ldj){fill:var(--dracula-purple)!important}.logo-mark.svelte-1i1ldj,.logo-title.svelte-1i1ldj{filter:drop-shadow(0 0 8px rgba(189,147,249,.2))}.logo-mark--party.svelte-1i1ldj,.logo-title--party.svelte-1i1ldj{animation:none}}@media(max-width:600px){.logo-title.svelte-1i1ldj{display:none}}.toolbar-brand .logo-title.svelte-1i1ldj,.toolbar-brand.hamburger-mode .logo-title.svelte-1i1ldj{display:block!important}@keyframes svelte-1i1ldj-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.toolbar.svelte-1ld6r3r{display:flex;align-items:center;justify-content:space-between;height:var(--toolbar-height);padding:0 var(--space-4);background:var(--colour-toolbar-bg, var(--toolbar-bg));border-bottom:1px solid var(--colour-toolbar-border, var(--toolbar-border));flex-shrink:0;position:relative}.toolbar-section.svelte-1ld6r3r{display:flex;align-items:center;gap:var(--space-1)}.toolbar-left.svelte-1ld6r3r{flex:0 0 var(--sidebar-width);justify-content:flex-start}@media(max-width:1024px){.toolbar-left.svelte-1ld6r3r{flex:1;justify-content:flex-start}}.toolbar-center.svelte-1ld6r3r{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.toolbar-right.svelte-1ld6r3r{flex:0 0 auto}.toolbar-brand.svelte-1ld6r3r{display:flex;align-items:center;gap:var(--space-2);color:var(--colour-text);padding:var(--space-2);cursor:default;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out);background:transparent;border:none;font:inherit}.toolbar-brand--clickable.svelte-1ld6r3r{cursor:pointer;padding:0 var(--space-2);transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.toolbar-brand--clickable.svelte-1ld6r3r:hover{background:var(--colour-surface-hover);transform:scale(1.02)}.toolbar-brand--clickable.svelte-1ld6r3r:active{transform:scale(.98);background:var(--colour-selection)}.toolbar-brand--clickable.svelte-1ld6r3r:focus-visible{outline:none;box-shadow:0 0 0 2px var(--colour-bg),0 0 0 4px var(--colour-focus-ring)}.hamburger-icon.svelte-1ld6r3r{display:none;align-items:center;justify-content:center;color:var(--colour-text-muted)}.toolbar-action-btn.svelte-1ld6r3r{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:transparent;color:var(--colour-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.toolbar-action-btn.svelte-1ld6r3r:hover:not(:disabled){background-color:var(--colour-surface-hover)}.toolbar-action-btn.svelte-1ld6r3r:focus-visible{outline:none;box-shadow:0 0 0 2px var(--colour-bg),0 0 0 4px var(--colour-focus-ring)}.toolbar-action-btn.svelte-1ld6r3r:disabled{opacity:.5;cursor:not-allowed}.toolbar-action-btn.primary.svelte-1ld6r3r{background:var(--colour-selection);border-color:var(--colour-selection);color:var(--colour-text-on-primary)}.toolbar-action-btn.primary.svelte-1ld6r3r:hover:not(:disabled){background:var(--colour-selection-hover);border-color:var(--colour-selection-hover)}.separator.svelte-1ld6r3r{width:1px;height:var(--space-6);background:var(--colour-border);margin:0 var(--space-2)}@media(max-width:1000px){.toolbar-action-btn.svelte-1ld6r3r span:where(.svelte-1ld6r3r){display:none}.toolbar-action-btn.svelte-1ld6r3r{padding:var(--space-2)}.separator.svelte-1ld6r3r{margin:0 var(--space-1)}}@media(max-width:1024px){.toolbar-center.svelte-1ld6r3r,.toolbar-right.svelte-1ld6r3r{display:none}}.toolbar-brand.hamburger-mode.svelte-1ld6r3r{cursor:pointer;padding:var(--space-2);background:transparent;width:100%;justify-content:space-between}.toolbar-brand.hamburger-mode.svelte-1ld6r3r .hamburger-icon:where(.svelte-1ld6r3r){display:flex}.toolbar-brand.hamburger-mode.svelte-1ld6r3r:hover{background:var(--colour-surface-hover)}.toolbar-brand.hamburger-mode.svelte-1ld6r3r:focus-visible{outline:none;box-shadow:0 0 0 2px var(--colour-focus-ring)}@media(max-width:600px){.toolbar-brand.svelte-1ld6r3r{padding:var(--space-2)}}.category-icon.svelte-4m7k1j{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:currentColor}.category-icon.svelte-4m7k1j svg{display:block}.rack-device.svelte-isdosf{will-change:filter;transition:filter var(--anim-drag-settle, .15s) ease-out}.rack-device.dragging.svelte-isdosf{opacity:.7;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.rack-device.svelte-isdosf:hover:not(.dragging){filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.drag-overlay.svelte-isdosf{overflow:visible}.drag-handle.svelte-isdosf{position:relative;width:100%;height:100%;cursor:grab;background:transparent;border:none;padding:0;margin:0}.drag-handle.svelte-isdosf:active{cursor:grabbing}.drag-handle.svelte-isdosf:focus{outline:none}.rack-device.svelte-isdosf:focus-within .device-rect:where(.svelte-isdosf){stroke:var(--colour-selection);stroke-width:2}.device-rect.svelte-isdosf{stroke:#0003;stroke-width:1;pointer-events:none}.device-selection.svelte-isdosf{fill:none;stroke:var(--colour-selection);stroke-width:2;pointer-events:none}.device-name.svelte-isdosf{fill:var(--neutral-50);font-size:var(--font-size-device, 13px);font-family:var(--font-family, system-ui, sans-serif);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none;-webkit-user-select:none;user-select:none}.category-icon-wrapper.svelte-isdosf{pointer-events:none;overflow:visible}.icon-container.svelte-isdosf{display:flex;align-items:center;height:100%;color:#fffc;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.grip-icon-container.svelte-isdosf{position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity var(--duration-fast, .1s) var(--ease-out, ease-out),transform var(--duration-fast, .1s) var(--ease-out, ease-out);color:#fff9;pointer-events:none}.drag-handle.svelte-isdosf:hover .grip-icon-container:where(.svelte-isdosf),.drag-handle.svelte-isdosf:focus .grip-icon-container:where(.svelte-isdosf){opacity:1}.drag-handle.svelte-isdosf:active .grip-icon-container:where(.svelte-isdosf){opacity:1;transform:translateY(-50%) scale(.9)}.label-overlay-wrapper.svelte-isdosf{overflow:visible;pointer-events:none}.label-overlay.svelte-isdosf{display:flex;align-items:flex-end;justify-content:center;height:100%;padding-bottom:2px;font-size:var(--font-size-device, 12px);font-family:var(--font-family, system-ui, sans-serif);font-weight:500;color:var(--neutral-50);text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.5);background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 50%,transparent 100%);-webkit-user-select:none;user-select:none}.device-image.svelte-isdosf{pointer-events:none}@media(prefers-reduced-motion:reduce){.rack-device.svelte-isdosf{transition:none}.rack-device.dragging.svelte-isdosf{transform:none}}.rack-container.svelte-18fpxw1{display:inline-block;position:relative;cursor:inherit;touch-action:inherit}.rack-container.svelte-18fpxw1:focus{outline:2px solid var(--colour-selection);outline-offset:2px}.rack-container[aria-selected=true].svelte-18fpxw1{outline:2px solid var(--colour-selection);outline-offset:2px}.rack-container.selected.svelte-18fpxw1{outline:2px solid var(--colour-selection);outline-offset:4px}svg.svelte-18fpxw1{pointer-events:auto;touch-action:inherit}.rack-interior.svelte-18fpxw1{fill:var(--rack-interior)}.u-slot.svelte-18fpxw1{fill:var(--rack-slot);transition:fill var(--duration-fast) var(--ease-out)}.u-slot.u-slot-even.svelte-18fpxw1{fill:var(--rack-slot-alt)}.u-slot.drop-target.svelte-18fpxw1{transition:fill var(--duration-fast) var(--ease-out)}.u-slot.drop-target.drop-valid.svelte-18fpxw1{fill:var(--colour-dnd-valid-bg)}.u-slot.drop-target.drop-invalid.svelte-18fpxw1{fill:var(--colour-dnd-invalid-bg)}.rack-rail.svelte-18fpxw1{fill:var(--rack-rail)}.rack-grid-line.svelte-18fpxw1{stroke:var(--rack-grid);stroke-width:1}.u-label.svelte-18fpxw1{fill:var(--rack-text);font-size:var(--font-size-2xs);text-anchor:middle;font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.u-label-highlight.svelte-18fpxw1{font-weight:var(--font-weight-semibold, 600);fill:var(--rack-text-highlight)}.rack-hole.svelte-18fpxw1{fill:var(--rack-grid)}.rack-name.svelte-18fpxw1{fill:var(--colour-text);font-size:var(--font-size-base);font-weight:500;text-anchor:middle;font-family:var(--font-family, system-ui, sans-serif)}.rack-view-label.svelte-18fpxw1{fill:var(--colour-text-muted);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-anchor:middle;font-family:var(--font-family, system-ui, sans-serif)}.drop-preview.svelte-18fpxw1{pointer-events:none;stroke-dasharray:4 2;opacity:.8}.drop-valid.svelte-18fpxw1{fill:var(--colour-dnd-valid-bg);stroke:var(--colour-dnd-valid);stroke-width:2}.drop-invalid.svelte-18fpxw1,.drop-blocked.svelte-18fpxw1{fill:var(--colour-dnd-invalid-bg);stroke:var(--colour-dnd-invalid);stroke-width:2}.blocked-stripe-rect.svelte-18fpxw1{fill:var(--colour-blocked-stripe, rgba(239, 68, 68, .35))}.blocked-slot-bg.svelte-18fpxw1{fill:var(--colour-blocked-bg, rgba(239, 68, 68, .08))}.blocked-slot-stripes.svelte-18fpxw1{pointer-events:none}@keyframes svelte-18fpxw1-party-glow{0%{filter:drop-shadow(0 0 8px hsl(0,100%,50%))}25%{filter:drop-shadow(0 0 8px hsl(90,100%,50%))}50%{filter:drop-shadow(0 0 8px hsl(180,100%,50%))}75%{filter:drop-shadow(0 0 8px hsl(270,100%,50%))}to{filter:drop-shadow(0 0 8px hsl(360,100%,50%))}}.rack-container.party-mode.svelte-18fpxw1 .rack-svg:where(.svelte-18fpxw1){animation:svelte-18fpxw1-party-glow 3s linear infinite}@media(prefers-reduced-motion:reduce){.rack-container.party-mode.svelte-18fpxw1 .rack-svg:where(.svelte-18fpxw1){animation:none;filter:drop-shadow(0 0 8px hsl(300,100%,50%))}}.rack-dual-view.svelte-pzaauc{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:transparent;cursor:inherit}.rack-dual-view.svelte-pzaauc:focus{outline:2px solid var(--colour-selection);outline-offset:2px}.rack-dual-view[aria-selected=true].svelte-pzaauc,.rack-dual-view.selected.svelte-pzaauc{outline:2px solid var(--colour-selection);outline-offset:4px}.rack-dual-view-name.svelte-pzaauc{font-size:var(--font-size-xl);font-weight:500;color:var(--colour-text);font-family:var(--font-family, system-ui, sans-serif);text-align:center;margin-bottom:var(--spacing-xs, 4px)}.rack-dual-view-container.svelte-pzaauc{display:flex;gap:var(--spacing-lg, 24px);align-items:flex-start}.rack-front.svelte-pzaauc,.rack-rear.svelte-pzaauc{display:flex;flex-direction:column;align-items:center}.rack-front.svelte-pzaauc .rack-container,.rack-rear.svelte-pzaauc .rack-container{outline:none!important}.rack-front.svelte-pzaauc .rack-container:focus,.rack-rear.svelte-pzaauc .rack-container:focus{outline:none!important}.welcome-screen.svelte-vrf9as{display:flex;align-items:center;justify-content:center;min-height:100%;background:var(--canvas-bg);position:relative;overflow:hidden;cursor:pointer}.welcome-screen.svelte-vrf9as:focus{outline:none}.welcome-screen.svelte-vrf9as:focus-visible{outline:2px solid var(--colour-focus-ring);outline-offset:-2px}.ghost-rack.svelte-vrf9as{height:90%;max-height:976px;opacity:.15}.rack-interior.svelte-vrf9as{fill:var(--rack-interior)}.rack-line.svelte-vrf9as{stroke:var(--rack-grid);stroke-width:1}.rack-rail.svelte-vrf9as{fill:var(--rack-rail)}.rack-unit-num.svelte-vrf9as{fill:var(--rack-text);font-size:var(--font-size-2xs);text-anchor:middle;font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.canvas.svelte-o4ydsk{flex:1;overflow:hidden;background-color:var(--canvas-bg);min-height:0;position:relative}.panzoom-container.svelte-o4ydsk{min-width:100%;min-height:100%;transform-origin:0 0;touch-action:none;cursor:grab}.panzoom-container.svelte-o4ydsk:active{cursor:grabbing}.rack-wrapper.svelte-o4ydsk{display:inline-block;padding:var(--space-4)}@keyframes svelte-o4ydsk-party-bg{0%{background-color:#281515}33%{background-color:#152815}66%{background-color:#151528}to{background-color:#281515}}.canvas.party-mode.svelte-o4ydsk{animation:svelte-o4ydsk-party-bg 4s linear infinite}@media(prefers-reduced-motion:reduce){.canvas.party-mode.svelte-o4ydsk{animation:none}}.sidebar.svelte-129hoe0{position:fixed;top:var(--toolbar-height);bottom:0;width:var(--sidebar-width);background:var(--colour-sidebar-bg);border-right:1px solid var(--colour-border);display:flex;flex-direction:column;z-index:var(--z-sidebar)}.sidebar-left.svelte-129hoe0{left:0;border-right:1px solid var(--colour-border);border-left:none}.sidebar-right.svelte-129hoe0{right:0;border-left:1px solid var(--colour-border);border-right:none}.sidebar-header.svelte-129hoe0{padding:var(--space-4);border-bottom:1px solid var(--colour-border);flex-shrink:0}.sidebar-title.svelte-129hoe0{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--colour-text)}.sidebar-content.svelte-129hoe0{flex:1;overflow-y:auto;overflow-x:hidden}.image-indicator.svelte-t7kldy{display:inline-flex;align-items:center;justify-content:center;color:var(--colour-text-muted);flex-shrink:0}.device-palette-item.svelte-g5u9ju{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:grab;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.device-palette-item.svelte-g5u9ju:hover{background-color:var(--colour-surface-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.device-palette-item.svelte-g5u9ju:active,.device-palette-item.dragging.svelte-g5u9ju{cursor:grabbing;transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg);z-index:100}.device-palette-item.svelte-g5u9ju:focus-visible{outline:2px solid var(--colour-focus-ring);outline-offset:var(--space-1)}.device-palette-item.library-selected.svelte-g5u9ju{background-color:color-mix(in srgb,var(--colour-selection) 15%,transparent);border:1px solid var(--colour-selection)}.drag-handle.svelte-g5u9ju{color:var(--colour-text-muted);opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);flex-shrink:0;display:flex;align-items:center}.device-palette-item.svelte-g5u9ju:hover .drag-handle:where(.svelte-g5u9ju){opacity:1}.category-icon-indicator.svelte-g5u9ju{display:flex;align-items:center;justify-content:center;flex-shrink:0}.device-name.svelte-g5u9ju{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.device-height.svelte-g5u9ju{background-color:var(--colour-surface-active);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--colour-text);flex-shrink:0}.brand-icon.svelte-11wiekg{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:currentColor;flex-shrink:0}.brand-icon.svelte-11wiekg svg{display:block}.brand-icon-fallback.svelte-11wiekg{opacity:.7}.segmented-control.svelte-nuytdb{display:flex;gap:0;width:100%}.segment.svelte-nuytdb{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-family:inherit;background:transparent;border:1px solid var(--colour-border);color:var(--colour-text-muted);cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast);margin-left:-1px;position:relative}.segment.first.svelte-nuytdb{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.segment.last.svelte-nuytdb{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.segment.svelte-nuytdb:not(.first):not(.last){border-radius:0}.segment.svelte-nuytdb:hover:not(.selected){background:var(--colour-surface-hover);color:var(--colour-text)}.segment.selected.svelte-nuytdb{background:color-mix(in srgb,var(--colour-selection) 20%,transparent);border-color:var(--colour-selection);color:var(--colour-text);position:relative;z-index:1}.segment.svelte-nuytdb:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px;z-index:2}.device-palette.svelte-1qbgdcd{display:flex;flex-direction:column;height:100%;overflow:hidden}.search-container.svelte-1qbgdcd{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-2) var(--space-3)}.search-input.svelte-1qbgdcd{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease}.search-input.svelte-1qbgdcd::placeholder{color:var(--input-placeholder)}.search-input.svelte-1qbgdcd:focus{border-color:var(--colour-selection)}.device-list.svelte-1qbgdcd{flex:1;overflow-y:auto;padding:var(--space-2) 0}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:calc(100% - var(--space-4));padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:600;text-align:left;background:var(--colour-surface-secondary);border:none;border-radius:var(--radius-sm);margin:var(--space-1) var(--space-2);cursor:pointer;color:var(--colour-text);transition:background-color .15s ease,color .15s ease}.accordion-trigger:hover{background:var(--colour-surface-hover)}.accordion-trigger:focus-visible{outline:2px solid var(--colour-selection);outline-offset:-2px}.accordion-trigger[data-state=open]{background:var(--colour-surface-active)}.accordion-trigger.has-no-matches{opacity:.5;color:var(--colour-text-muted)}.section-header.svelte-1qbgdcd{display:flex;align-items:center;gap:var(--space-2);flex:1}.section-title.svelte-1qbgdcd{flex:1}.section-count.svelte-1qbgdcd{margin-left:var(--space-2);font-weight:400;color:var(--colour-text-muted)}.match-info.svelte-1qbgdcd{display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-2)}.match-count.svelte-1qbgdcd{font-weight:400;color:var(--colour-text-muted)}.match-preview.svelte-1qbgdcd{font-style:italic;font-weight:400;color:var(--colour-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out;overflow:hidden}.accordion-content[data-state=open]{grid-template-rows:1fr}.accordion-content[data-state=closed]{grid-template-rows:0fr}.accordion-content-inner{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.accordion-content{transition:none}}.category-group.svelte-1qbgdcd{margin-bottom:var(--space-2)}.category-header.svelte-1qbgdcd{margin:0;padding:var(--space-2) var(--space-3) 4px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--colour-text-muted)}.category-devices.svelte-1qbgdcd,.section-devices.svelte-1qbgdcd{display:flex;flex-direction:column}.empty-state.svelte-1qbgdcd{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);text-align:center}.empty-message.svelte-1qbgdcd{margin:0;font-size:var(--font-size-base);color:var(--colour-text)}.empty-hint.svelte-1qbgdcd{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.actions.svelte-1qbgdcd{padding:var(--space-3)}.actions-row.svelte-1qbgdcd{display:flex;gap:var(--space-2)}.import-button.svelte-1qbgdcd,.add-device-button.svelte-1qbgdcd{display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);flex:1;padding:10px var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--colour-text);background-color:var(--button-bg);border:1px solid var(--button-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,transform .1s ease}.import-button.svelte-1qbgdcd:hover,.add-device-button.svelte-1qbgdcd:hover{background-color:var(--button-bg-hover)}.import-button.svelte-1qbgdcd:active,.add-device-button.svelte-1qbgdcd:active{transform:scale(.98)}.import-button.svelte-1qbgdcd:focus,.add-device-button.svelte-1qbgdcd:focus{outline:2px solid var(--colour-selection);outline-offset:2px}.import-icon.svelte-1qbgdcd,.add-icon.svelte-1qbgdcd{font-size:var(--font-size-base);font-weight:700}.drawer-header.svelte-v4comw{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);flex-shrink:0}.drawer-title.svelte-v4comw{font-size:var(--font-size-md);font-weight:600;margin:0;color:var(--colour-text)}.close-button.svelte-v4comw{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:transparent;color:var(--colour-text-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.close-button.svelte-v4comw:hover{background:var(--colour-surface-hover);color:var(--colour-text)}.close-button.svelte-v4comw:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.drawer.svelte-uoov0r{position:fixed;top:var(--toolbar-height);bottom:0;width:var(--drawer-width);background:var(--drawer-bg);border:1px solid var(--colour-border);display:flex;flex-direction:column;transition:transform var(--transition-normal);z-index:100}.drawer-left.svelte-uoov0r{left:0;border-left:none;transform:translate(-100%)}.drawer-right.svelte-uoov0r{right:0;border-right:none;transform:translate(100%)}.drawer-left.open.svelte-uoov0r,.drawer-right.open.svelte-uoov0r{transform:translate(0)}.drawer-content.svelte-uoov0r{flex:1;overflow-y:auto;padding:var(--space-4)}.colour-swatch.svelte-1m5lsuc{display:inline-block;border:1px solid var(--colour-border);border-radius:2px;flex-shrink:0}.colour-picker.svelte-1htnrzi{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}.presets-grid.svelte-1htnrzi{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}.preset-btn.svelte-1htnrzi{display:flex;align-items:center;justify-content:center;padding:var(--space-1);background:transparent;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration-fast),transform var(--duration-fast)}.preset-btn.svelte-1htnrzi:hover{border-color:var(--colour-border);transform:scale(1.1)}.preset-btn.selected.svelte-1htnrzi{border-color:var(--colour-text)}.preset-btn.svelte-1htnrzi:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.custom-input.svelte-1htnrzi{display:flex;align-items:center;gap:var(--space-2)}.custom-input.svelte-1htnrzi label:where(.svelte-1htnrzi){font-size:var(--font-size-sm);color:var(--colour-text-muted);min-width:60px}.hex-input.svelte-1htnrzi{flex:1;padding:var(--space-1-5) var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--input-bg);border:1px solid var(--colour-border);border-radius:var(--radius-sm);color:var(--colour-text);text-transform:uppercase}.hex-input.svelte-1htnrzi:focus{outline:2px solid var(--colour-selection);outline-offset:1px}.reset-btn.svelte-1htnrzi{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-sm);background:transparent;border:1px solid var(--colour-border);border-radius:var(--radius-sm);color:var(--colour-text-muted);cursor:pointer;transition:background-color var(--duration-fast)}.reset-btn.svelte-1htnrzi:hover{background:var(--colour-surface-hover);color:var(--colour-text)}.reset-btn.svelte-1htnrzi:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.image-upload.svelte-3xfzto{display:flex;flex-direction:column;gap:var(--space-2)}.image-upload-label.svelte-3xfzto{font-weight:500;color:var(--colour-text);font-size:var(--font-size-base)}.sr-only.svelte-3xfzto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-preview.svelte-3xfzto{display:flex;align-items:center;gap:var(--space-3)}.preview-image.svelte-3xfzto{width:80px;height:60px;object-fit:contain;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg-secondary)}.btn.svelte-3xfzto{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-choose.svelte-3xfzto{background:var(--button-bg);color:var(--colour-text)}.btn-choose.svelte-3xfzto:hover{background:var(--button-bg-hover)}.btn-remove.svelte-3xfzto{background:transparent;color:var(--colour-error);border:1px solid var(--colour-error)}.btn-remove.svelte-3xfzto:hover{background:#e74c3c1a}.btn.svelte-3xfzto:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.error-message.svelte-3xfzto{font-size:var(--font-size-sm);color:var(--colour-error)}.edit-form.svelte-11ma2jy,.device-view.svelte-11ma2jy{display:flex;flex-direction:column;gap:var(--space-4)}.form-group.svelte-11ma2jy{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-group.svelte-11ma2jy label:where(.svelte-11ma2jy){font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--colour-text)}.form-group.svelte-11ma2jy input:where(.svelte-11ma2jy){padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--colour-text);font-size:var(--font-size-base)}.form-group.svelte-11ma2jy input:where(.svelte-11ma2jy):focus{outline:none;border-color:var(--colour-selection)}.form-group.svelte-11ma2jy input:where(.svelte-11ma2jy):disabled{opacity:.6;cursor:not-allowed}.form-group.svelte-11ma2jy select:where(.svelte-11ma2jy){padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--colour-text);font-size:var(--font-size-base);cursor:pointer}.form-group.svelte-11ma2jy select:where(.svelte-11ma2jy):focus{outline:none;border-color:var(--colour-selection)}.form-group.svelte-11ma2jy select:where(.svelte-11ma2jy):disabled{opacity:.6;cursor:not-allowed;background:var(--colour-surface)}.form-group.svelte-11ma2jy textarea:where(.svelte-11ma2jy){padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--colour-text);font-size:var(--font-size-base);font-family:inherit;resize:vertical;min-height:80px}.form-group.svelte-11ma2jy textarea:where(.svelte-11ma2jy):focus{outline:none;border-color:var(--colour-selection)}.helper-text.svelte-11ma2jy{font-size:var(--font-size-sm);margin:0;color:var(--colour-text-muted)}.helper-text.error.svelte-11ma2jy{color:var(--colour-error)}.input-field.error.svelte-11ma2jy{border-color:var(--colour-error)}.height-presets.svelte-11ma2jy{display:flex;gap:var(--space-2);margin-top:4px}.preset-btn.svelte-11ma2jy{padding:4px var(--space-2);background:var(--button-bg);border:1px solid var(--colour-border);border-radius:var(--radius-sm);color:var(--colour-text);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--duration-fast)}.preset-btn.svelte-11ma2jy:hover{background:var(--button-bg-hover)}.preset-btn.active.svelte-11ma2jy{background:var(--colour-selection);border-color:var(--colour-selection);color:#fff}.info-section.svelte-11ma2jy{display:flex;flex-direction:column;gap:var(--space-2)}.info-row.svelte-11ma2jy{display:flex;justify-content:space-between;align-items:center}.info-label.svelte-11ma2jy{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.info-value.svelte-11ma2jy{font-size:var(--font-size-base);color:var(--colour-text)}.colour-info.svelte-11ma2jy{display:flex;align-items:center;gap:var(--space-2);font-family:monospace}.colour-row-btn.svelte-11ma2jy{width:100%;background:transparent;border:none;cursor:pointer;text-align:left;padding:var(--space-1) 0;border-radius:var(--radius-sm);transition:background-color var(--duration-fast)}.colour-row-btn.svelte-11ma2jy:hover{background:var(--colour-surface-hover)}.colour-row-btn.svelte-11ma2jy:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.colour-badge.svelte-11ma2jy{font-size:var(--font-size-xs);padding:0 var(--space-1);background:var(--dracula-purple);color:var(--dracula-bg);border-radius:var(--radius-xs);text-transform:uppercase;font-weight:var(--font-weight-medium)}.colour-picker-container.svelte-11ma2jy{margin-top:var(--space-2);margin-bottom:var(--space-2)}.device-type.svelte-11ma2jy,.brand-info.svelte-11ma2jy{display:flex;align-items:center;gap:var(--space-2)}.display-name-display.svelte-11ma2jy{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--colour-text);font-size:var(--font-size-base);transition:border-color .15s ease}.display-name-display.svelte-11ma2jy:hover{border-color:var(--colour-selection)}.display-name-display.svelte-11ma2jy:focus{outline:2px solid var(--colour-selection);outline-offset:2px}.display-name-text.svelte-11ma2jy{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-icon.svelte-11ma2jy{flex-shrink:0;opacity:.6}.display-name-display.svelte-11ma2jy:hover .edit-icon:where(.svelte-11ma2jy){opacity:1}.notes-section.svelte-11ma2jy{display:flex;flex-direction:column;gap:var(--space-1-5)}.notes-text.svelte-11ma2jy{font-size:var(--font-size-base);color:var(--colour-text-muted);margin:0;white-space:pre-wrap;line-height:1.5}.actions.svelte-11ma2jy{margin-top:var(--space-6)}.btn-danger.svelte-11ma2jy{width:100%;padding:10px var(--space-4);background:var(--colour-error);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast)}.btn-danger.svelte-11ma2jy:hover{background:var(--colour-error-hover)}.dialog-backdrop.svelte-jby388{position:fixed;inset:0;background:var(--colour-backdrop, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-jby388{background:var(--colour-dialog-bg, var(--colour-bg));border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;position:relative;z-index:1}.dialog-header.svelte-jby388{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--colour-border)}.dialog-title.svelte-jby388{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--colour-text)}.dialog-close.svelte-jby388{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--colour-text-muted);cursor:pointer;transition:all var(--duration-fast)}.dialog-close.svelte-jby388:hover{background:var(--colour-surface-hover);color:var(--colour-text)}.dialog-close.svelte-jby388:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.dialog-content.svelte-jby388{padding:var(--space-5);overflow-y:auto}.new-rack-form.svelte-1l9ordz{display:flex;flex-direction:column;gap:var(--space-5)}.form-group.svelte-1l9ordz{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.svelte-1l9ordz label:where(.svelte-1l9ordz),.form-group.svelte-1l9ordz .form-label:where(.svelte-1l9ordz){font-weight:var(--font-weight-medium);color:var(--colour-text)}.form-group.svelte-1l9ordz input[type=text]:where(.svelte-1l9ordz),.form-group.svelte-1l9ordz input[type=number]:where(.svelte-1l9ordz){padding:var(--space-2) var(--space-3);background:var(--colour-input-bg, var(--colour-bg));border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);font-size:var(--font-size-base)}.form-group.svelte-1l9ordz input:where(.svelte-1l9ordz):focus{outline:none;border-color:var(--colour-selection);box-shadow:var(--glow-pink-sm)}.form-group.svelte-1l9ordz input.error:where(.svelte-1l9ordz){border-color:var(--colour-error)}.error-message.svelte-1l9ordz{font-size:var(--font-size-sm);color:var(--colour-error)}.height-buttons.svelte-1l9ordz{display:flex;gap:var(--space-2);flex-wrap:wrap}.height-btn.svelte-1l9ordz{padding:var(--space-2) var(--space-4);background:var(--colour-button-bg);border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast)}.height-btn.svelte-1l9ordz:hover{background:var(--colour-button-hover)}.height-btn.selected.svelte-1l9ordz{background:var(--colour-selection);border-color:var(--colour-selection);color:#fff}.custom-height-input.svelte-1l9ordz{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.custom-height-input.svelte-1l9ordz input:where(.svelte-1l9ordz){width:80px;padding:var(--space-2) var(--space-3);background:var(--colour-input-bg, var(--colour-bg));border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);font-size:var(--font-size-base)}.custom-height-input.svelte-1l9ordz .unit:where(.svelte-1l9ordz){color:var(--colour-text-muted);font-size:var(--font-size-base)}.sr-only.svelte-1l9ordz{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.width-options.svelte-1l9ordz{display:flex;gap:var(--space-4)}.width-option.svelte-1l9ordz{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.width-option.svelte-1l9ordz input[type=radio]:where(.svelte-1l9ordz){width:18px;height:18px;accent-color:var(--colour-selection);cursor:pointer}.width-label.svelte-1l9ordz{font-size:var(--font-size-base);color:var(--colour-text)}.form-actions.svelte-1l9ordz{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.btn.svelte-1l9ordz{padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary.svelte-1l9ordz{background:var(--colour-button-bg);color:var(--colour-text)}.btn-secondary.svelte-1l9ordz:hover{background:var(--colour-button-hover)}.btn-primary.svelte-1l9ordz{background:var(--colour-button-primary);color:var(--colour-text-on-primary)}.btn-primary.svelte-1l9ordz:hover{background:var(--colour-button-primary-hover)}.add-device-form.svelte-1547zar{display:flex;flex-direction:column;gap:var(--space-4)}.form-group.svelte-1547zar{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-group.svelte-1547zar label:where(.svelte-1547zar){font-weight:var(--font-weight-medium);color:var(--colour-text);font-size:var(--font-size-base)}.form-row.svelte-1547zar{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-4)}.form-row-symmetric.svelte-1547zar{grid-template-columns:1fr 1fr}.form-group.svelte-1547zar input[type=text]:where(.svelte-1547zar),.form-group.svelte-1547zar input[type=number]:where(.svelte-1547zar),.form-group.svelte-1547zar select:where(.svelte-1547zar),.form-group.svelte-1547zar textarea:where(.svelte-1547zar){padding:var(--space-2) var(--space-3);background:var(--colour-input-bg, var(--colour-bg));border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);font-size:var(--font-size-base);font-family:inherit}.form-group.svelte-1547zar textarea:where(.svelte-1547zar){resize:vertical;min-height:60px}.form-group.svelte-1547zar input:where(.svelte-1547zar):focus,.form-group.svelte-1547zar select:where(.svelte-1547zar):focus,.form-group.svelte-1547zar textarea:where(.svelte-1547zar):focus{outline:none;border-color:var(--colour-selection);box-shadow:var(--glow-pink-sm)}.form-group.svelte-1547zar input.error:where(.svelte-1547zar){border-color:var(--colour-error)}.error-message.svelte-1547zar{font-size:var(--font-size-sm);color:var(--colour-error)}.colour-input-wrapper.svelte-1547zar{display:flex;align-items:center;gap:var(--space-3)}.colour-input.svelte-1547zar{width:50px;height:36px;padding:2px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.colour-input.svelte-1547zar::-webkit-color-swatch{border:none;border-radius:2px}.colour-hex.svelte-1547zar{font-family:monospace;font-size:var(--font-size-base);color:var(--colour-text-muted)}.colour-presets.svelte-1547zar{display:flex;gap:var(--space-1-5);flex-wrap:wrap;margin-top:var(--space-2)}.colour-preset.svelte-1547zar{width:24px;height:24px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);cursor:pointer;padding:0;transition:transform var(--transition-fast)}.colour-preset.svelte-1547zar:hover{transform:scale(1.1)}.colour-preset.svelte-1547zar:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.form-actions.svelte-1547zar{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.btn.svelte-1547zar{padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary.svelte-1547zar{background:var(--colour-button-bg);color:var(--colour-text)}.btn-secondary.svelte-1547zar:hover{background:var(--colour-button-hover)}.btn-primary.svelte-1547zar{background:var(--colour-selection);color:#fff}.btn-primary.svelte-1547zar:hover{background:var(--colour-selection-hover)}.confirm-dialog.svelte-7e0w24{display:flex;flex-direction:column;gap:var(--space-5)}.message.svelte-7e0w24{margin:0;font-size:var(--font-size-base);line-height:1.5;color:var(--colour-text)}.actions.svelte-7e0w24{display:flex;justify-content:flex-end;gap:var(--space-3)}.btn.svelte-7e0w24{padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary.svelte-7e0w24{background:var(--colour-button-bg);color:var(--colour-text)}.btn-secondary.svelte-7e0w24:hover{background:var(--colour-button-hover)}.btn-primary.svelte-7e0w24{background:var(--colour-selection);color:#fff}.btn-primary.svelte-7e0w24:hover{background:var(--colour-selection-hover)}.btn-destructive.svelte-7e0w24{background:var(--colour-error);color:#fff}.btn-destructive.svelte-7e0w24:hover{background:var(--colour-error-hover)}.btn.svelte-7e0w24:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.message.svelte-2301vw{margin:0 0 24px;color:var(--colour-text-muted);line-height:1.5}.actions.svelte-2301vw{display:flex;gap:var(--space-3);justify-content:flex-end}.btn.svelte-2301vw{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.btn.svelte-2301vw:hover{opacity:.9}.btn-primary.svelte-2301vw{background:var(--colour-button-primary);color:var(--colour-text-on-primary)}.btn-primary.svelte-2301vw:hover{background:var(--colour-button-primary-hover)}.btn-destructive.svelte-2301vw{background:var(--colour-button-destructive);color:var(--colour-text-on-primary)}.btn-destructive.svelte-2301vw:hover{background:var(--colour-button-destructive-hover)}.btn-secondary.svelte-2301vw{background:transparent;border:1px solid var(--colour-border);color:var(--colour-text)}.toast.svelte-1cpok13{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--toast-bg);border:1px solid var(--toast-border);box-shadow:var(--shadow-md);min-width:280px;max-width:420px;animation:svelte-1cpok13-slideIn .2s ease-out}@keyframes svelte-1cpok13-slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes svelte-1cpok13-slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes svelte-1cpok13-success-glow{0%{box-shadow:var(--shadow-md),0 0 #50fa7b66}to{box-shadow:var(--shadow-md),0 0 0 8px transparent}}.toast--exiting.svelte-1cpok13{animation:svelte-1cpok13-slideOut var(--anim-toast-exit, .3s) ease-in forwards}.toast--success-glow.svelte-1cpok13{animation:svelte-1cpok13-slideIn .2s ease-out,svelte-1cpok13-success-glow var(--anim-success-glow, .5s) ease-out}.toast--success.svelte-1cpok13{border-left:4px solid var(--colour-success)}.toast--error.svelte-1cpok13{border-left:4px solid var(--colour-error)}.toast--warning.svelte-1cpok13{border-left:4px solid var(--colour-warning)}.toast--info.svelte-1cpok13{border-left:4px solid var(--colour-info)}.toast__icon.svelte-1cpok13{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.toast--success.svelte-1cpok13 .toast__icon:where(.svelte-1cpok13){color:var(--colour-success)}.toast--error.svelte-1cpok13 .toast__icon:where(.svelte-1cpok13){color:var(--colour-error)}.toast--warning.svelte-1cpok13 .toast__icon:where(.svelte-1cpok13){color:var(--colour-warning)}.toast--info.svelte-1cpok13 .toast__icon:where(.svelte-1cpok13){color:var(--colour-info)}.toast__message.svelte-1cpok13{flex:1;font-size:.875rem;color:var(--colour-text);word-break:break-word}.toast__dismiss.svelte-1cpok13{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--colour-text-muted);font-size:.75rem;transition:all .15s ease}.toast__dismiss.svelte-1cpok13:hover{background:var(--colour-hover);color:var(--colour-text)}.toast__dismiss.svelte-1cpok13:focus-visible{outline:2px solid var(--colour-selection);outline-offset:1px}.toast-container.svelte-cqwvc2{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column-reverse;gap:.75rem;pointer-events:none}.toast-container.svelte-cqwvc2 .toast{pointer-events:auto}@media(max-width:480px){.toast-container.svelte-cqwvc2{left:1rem;right:1rem;bottom:1rem}.toast-container.svelte-cqwvc2 .toast{min-width:0;max-width:none}}.logo-loader.svelte-m1h1m0{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.logo-mark.svelte-m1h1m0{color:var(--dracula-purple);filter:drop-shadow(0 0 8px rgba(189,147,249,.3))}.frame.svelte-m1h1m0{stroke:var(--dracula-purple)}.slot.svelte-m1h1m0{fill:var(--dracula-purple);transform-origin:left center;animation:slot-fill var(--anim-loading, 2s) ease-in-out infinite}.slot-1.svelte-m1h1m0{animation-delay:0s}.slot-2.svelte-m1h1m0{animation-delay:.3s}.slot-3.svelte-m1h1m0{animation-delay:.6s}.loader-message.svelte-m1h1m0{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);text-align:center}@media(prefers-reduced-motion:reduce){.slot.svelte-m1h1m0{animation:none;opacity:.6}.slot-1.svelte-m1h1m0{opacity:1}.slot-2.svelte-m1h1m0{opacity:.8}.slot-3.svelte-m1h1m0{opacity:.6}}.shimmer-container.svelte-j4afnf{position:relative;overflow:hidden}.shimmer-overlay.svelte-j4afnf{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);background-size:200% 100%;animation:shimmer var(--anim-shimmer, 2s) infinite;pointer-events:none}@media(prefers-reduced-motion:reduce){.shimmer-overlay.svelte-j4afnf{animation:none;background:#ffffff08}}.export-form.svelte-19mnd4u{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0}.form-group.svelte-19mnd4u{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-group.svelte-19mnd4u label:where(.svelte-19mnd4u){font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--colour-text)}.form-group.svelte-19mnd4u select:where(.svelte-19mnd4u){padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--colour-text);font-size:var(--font-size-base);cursor:pointer}.form-group.svelte-19mnd4u select:where(.svelte-19mnd4u):focus{outline:2px solid var(--colour-selection);outline-offset:1px}.form-group.svelte-19mnd4u select:where(.svelte-19mnd4u) option:where(.svelte-19mnd4u):disabled{color:var(--colour-text-muted)}.csv-info.svelte-19mnd4u{color:var(--colour-text-muted);font-size:var(--font-size-sm);line-height:1.5;margin:0;padding:var(--space-2) 0}.preview-section.svelte-19mnd4u{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.preview-label.svelte-19mnd4u{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-text-muted)}.preview-container.svelte-19mnd4u{max-width:200px;max-height:300px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--colour-surface)}.preview-container.transparent-bg.svelte-19mnd4u{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.preview-container.svelte-19mnd4u svg{display:block;width:100%;height:auto}.preview-placeholder.svelte-19mnd4u{max-width:200px;height:100px;border:1px dashed var(--colour-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.preview-loading.svelte-19mnd4u{max-width:200px;min-height:120px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--colour-surface);padding:var(--space-4)}.checkbox-group.svelte-19mnd4u{flex-direction:row;align-items:center}.checkbox-group.svelte-19mnd4u label:where(.svelte-19mnd4u){display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:var(--font-weight-normal)}.checkbox-group.svelte-19mnd4u input[type=checkbox]:where(.svelte-19mnd4u){width:var(--space-4);height:var(--space-4);accent-color:var(--colour-selection);cursor:pointer}.form-group.svelte-19mnd4u select:where(.svelte-19mnd4u):disabled{opacity:.6;cursor:not-allowed}.filename-preview.svelte-19mnd4u{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-top:var(--space-2)}.filename-label.svelte-19mnd4u{font-size:var(--font-size-sm);color:var(--colour-text-muted);flex-shrink:0}.filename-value.svelte-19mnd4u{font-size:var(--font-size-sm);font-family:monospace;color:var(--colour-text);background:var(--colour-surface-hover);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-actions.svelte-19mnd4u{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.btn-secondary.svelte-19mnd4u,.btn-primary.svelte-19mnd4u{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--duration-fast) ease,opacity var(--duration-fast) ease}.btn-secondary.svelte-19mnd4u{background:transparent;border:1px solid var(--colour-border);color:var(--colour-text)}.btn-secondary.svelte-19mnd4u:hover:not(:disabled){background:var(--colour-surface-hover)}.btn-secondary.svelte-19mnd4u:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-19mnd4u{background:var(--colour-selection);border:none;color:var(--neutral-50)}.btn-primary.svelte-19mnd4u:hover:not(:disabled){background:var(--colour-selection-hover)}.btn-primary.svelte-19mnd4u:disabled{opacity:.5;cursor:not-allowed}.preview-error.svelte-19mnd4u{max-width:200px;min-height:100px;border:1px solid var(--colour-error);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--colour-surface)}.preview-error__icon.svelte-19mnd4u{font-size:var(--font-size-xl);color:var(--colour-error)}.preview-error__message.svelte-19mnd4u{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-error);text-align:center}.preview-error__hint.svelte-19mnd4u{font-size:var(--font-size-xs);color:var(--colour-text-muted);text-align:center}.share-dialog.svelte-1athwxr{display:flex;flex-direction:column;gap:var(--space-5)}.share-section.svelte-1athwxr{display:flex;flex-direction:column;gap:var(--space-2)}.share-label.svelte-1athwxr{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-text-muted)}.url-container.svelte-1athwxr{display:flex;gap:var(--space-2)}.url-input.svelte-1athwxr{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--colour-text);font-size:var(--font-size-sm);font-family:var(--font-mono)}.url-input.svelte-1athwxr:focus{outline:2px solid var(--colour-selection);outline-offset:1px}.icon-btn.svelte-1athwxr{display:flex;align-items:center;justify-content:center;padding:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:transparent;color:var(--colour-text);cursor:pointer;transition:background-color var(--duration-fast) ease}.icon-btn.svelte-1athwxr:hover{background:var(--colour-surface-hover)}.icon-btn.svelte-1athwxr:focus-visible{outline:2px solid var(--colour-selection);outline-offset:1px}.url-info.svelte-1athwxr{font-size:var(--font-size-xs);color:var(--colour-text-muted);margin:0}.url-info.svelte-1athwxr .warning:where(.svelte-1athwxr){color:var(--colour-warning, #f59e0b)}.qr-container.svelte-1athwxr{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:#fff;border-radius:var(--radius-md)}.qr-image.svelte-1athwxr{width:280px;height:280px;image-rendering:pixelated}.qr-scan-label.svelte-1athwxr{margin:0;font-size:var(--font-size-sm);color:#333}.qr-scan-label.svelte-1athwxr .brand:where(.svelte-1athwxr){color:var(--dracula-purple);font-weight:var(--font-weight-semibold)}.qr-message.svelte-1athwxr{padding:var(--space-4);text-align:center;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.qr-error.svelte-1athwxr{color:var(--colour-error, #ef4444)}.qr-error.svelte-1athwxr .hint:where(.svelte-1athwxr){color:var(--colour-text-muted);margin-top:var(--space-1)}.share-info.svelte-1athwxr{padding:var(--space-3);background:var(--colour-surface);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--colour-text-muted)}.share-info.svelte-1athwxr p:where(.svelte-1athwxr){margin:0}.actions.svelte-1athwxr{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.btn.svelte-1athwxr{display:flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:none;transition:background-color var(--duration-fast)}.btn-primary.svelte-1athwxr{background:var(--colour-button-primary);color:var(--colour-text-on-primary)}.btn-primary.svelte-1athwxr:hover{background:var(--colour-button-primary-hover)}.btn-secondary.svelte-1athwxr{background:transparent;border:1px solid var(--colour-border);color:var(--colour-text)}.btn-secondary.svelte-1athwxr:hover{background:var(--colour-surface-hover)}.about-content.svelte-1ty53ib{display:flex;flex-direction:column;gap:var(--space-4)}.about-header.svelte-1ty53ib{display:flex;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--colour-border)}.brand-row.svelte-1ty53ib{display:flex;align-items:center;gap:var(--space-3)}.version-btn.svelte-1ty53ib{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-mono, monospace);color:var(--colour-text-muted);transition:all .15s ease}.version-btn.svelte-1ty53ib:hover{background:var(--colour-surface);border-color:var(--colour-border);color:var(--colour-text)}.chevron-icon.svelte-1ty53ib{transition:transform .15s ease}.chevron-icon.expanded.svelte-1ty53ib{transform:rotate(180deg)}.debug-info.svelte-1ty53ib{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--colour-surface);border-radius:var(--radius-sm);border:1px solid var(--colour-border)}.debug-info.svelte-1ty53ib .user-agent:where(.svelte-1ty53ib){flex:1;font-size:var(--font-size-xs);color:var(--colour-text-muted);font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-btn.svelte-1ty53ib{display:flex;align-items:center;justify-content:center;padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--colour-text-muted);transition:color .15s ease,background .15s ease}.copy-btn.svelte-1ty53ib:hover{color:var(--colour-selection);background:var(--colour-surface-hover)}.shortcut-group.svelte-1ty53ib{display:flex;flex-direction:column;gap:var(--space-2)}.shortcut-group.svelte-1ty53ib h4:where(.svelte-1ty53ib){margin:0;font-size:var(--font-size-sm);font-weight:500;color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:.05em}.shortcuts-list.svelte-1ty53ib{display:flex;flex-direction:column;gap:var(--space-1)}.shortcut-row.svelte-1ty53ib{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm)}.key-cell.svelte-1ty53ib{min-width:140px;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:2px var(--space-2);color:var(--colour-text)}.action.svelte-1ty53ib{color:var(--colour-text-muted)}.quick-links.svelte-1ty53ib{display:flex;gap:var(--space-3);justify-content:center;padding-top:var(--space-3);border-top:1px solid var(--colour-border)}.quick-link.svelte-1ty53ib{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text-muted);text-decoration:none;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-sm);transition:color .15s ease,border-color .15s ease,background .15s ease}.quick-link.svelte-1ty53ib:hover{color:var(--colour-text);border-color:var(--colour-selection);background:var(--colour-surface-hover)}.quick-link.svelte-1ty53ib:focus-visible{outline:2px solid var(--colour-selection);outline-offset:2px}.made-in.svelte-1ty53ib{margin:0;padding-top:var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text-muted);text-align:center}.bottom-sheet-container.svelte-1xhvrmi{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;pointer-events:all}.backdrop.svelte-1xhvrmi{position:absolute;inset:0;background:#00000080;opacity:0;transition:opacity .3s ease}@media(prefers-reduced-motion:reduce){.backdrop.svelte-1xhvrmi{transition:none}}.backdrop.visible.svelte-1xhvrmi{opacity:1}.bottom-sheet.svelte-1xhvrmi{position:relative;width:100%;max-height:80vh;background:var(--color-bg);border-top-left-radius:1rem;border-top-right-radius:1rem;box-shadow:0 -4px 20px #00000026;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);touch-action:pan-y;overflow:hidden;display:flex;flex-direction:column}@media(prefers-reduced-motion:reduce){.bottom-sheet.svelte-1xhvrmi{transition:none}}.bottom-sheet.open.svelte-1xhvrmi{transform:translateY(0)}.bottom-sheet.dragging.svelte-1xhvrmi{transition:none}.drag-handle.svelte-1xhvrmi{display:flex;justify-content:center;padding:.75rem 0;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-handle-bar.svelte-1xhvrmi{width:2.5rem;height:.25rem;background:var(--color-text-secondary);opacity:.4;border-radius:.125rem}.sheet-content.svelte-1xhvrmi{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 1.5rem 1.5rem}.sheet-content.svelte-1xhvrmi::-webkit-scrollbar{width:.5rem}.sheet-content.svelte-1xhvrmi::-webkit-scrollbar-track{background:transparent}.sheet-content.svelte-1xhvrmi::-webkit-scrollbar-thumb{background:var(--color-text-secondary);opacity:.3;border-radius:.25rem}.device-details.svelte-y5wouk{display:flex;flex-direction:column;gap:1rem;font-size:.875rem}.detail-section.svelte-y5wouk{display:flex;flex-direction:column;gap:.5rem}.name-section.svelte-y5wouk{padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.device-name.svelte-y5wouk{font-size:1.25rem;font-weight:600;margin:0;color:var(--color-text)}.info-section.svelte-y5wouk,.optional-section.svelte-y5wouk{display:flex;flex-direction:column;gap:.75rem}.info-row.svelte-y5wouk{display:flex;justify-content:space-between;align-items:center;gap:1rem}.info-label.svelte-y5wouk{font-weight:500;color:var(--color-text-secondary);flex-shrink:0}.info-value.svelte-y5wouk{text-align:right;color:var(--color-text);flex-grow:1}.category-value.svelte-y5wouk{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.notes-section.svelte-y5wouk{padding-top:.5rem;border-top:1px solid var(--color-border)}.notes-text.svelte-y5wouk{margin:0;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.app-layout.svelte-1n46o8q{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-main.svelte-1n46o8q{display:flex;flex:1;position:relative;overflow:hidden}.app-main.mobile.svelte-1n46o8q{overscroll-behavior:none}:root{--space-0: 0;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--neutral-50: #fafafa;--neutral-100: #f4f4f5;--neutral-200: #e4e4e7;--neutral-300: #d4d4d8;--neutral-400: #a1a1aa;--neutral-500: #71717a;--neutral-600: #52525b;--neutral-700: #3f3f46;--neutral-800: #27272a;--neutral-900: #18181b;--neutral-950: #09090b;--dracula-bg-darkest: #191a21;--dracula-bg-darker: #21222c;--dracula-bg: #282a36;--dracula-bg-light: #343746;--dracula-bg-lighter: #424450;--dracula-selection: #44475a;--dracula-foreground: #f8f8f2;--dracula-comment: #6272a4;--dracula-purple: #bd93f9;--dracula-pink: #ff79c6;--dracula-pink-muted: #c45b9a;--dracula-cyan: #8be9fd;--dracula-green: #50fa7b;--dracula-orange: #ffb86c;--dracula-red: #ff5555;--dracula-yellow: #f1fa8c;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--red-50: #fef2f2;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--green-50: #f0fdf4;--green-500: #22c55e;--green-600: #16a34a;--amber-50: #fffbeb;--amber-500: #f59e0b;--amber-600: #d97706;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-family: var(--font-sans);--font-family-mono: var(--font-mono);--font-size-2xs: .625rem;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--breakpoint-mobile: 1024px}:root{--colour-bg: var(--dracula-bg);--colour-bg-darker: var(--dracula-bg-darker);--colour-surface: var(--dracula-bg-light);--colour-surface-raised: var(--dracula-bg-lighter);--colour-surface-hover: var(--dracula-bg-lighter);--colour-surface-active: var(--dracula-selection);--colour-backdrop: rgba(0, 0, 0, .6);--colour-dialog-bg: var(--dracula-bg-darker);--colour-text: var(--dracula-foreground);--colour-text-muted: #9a9a9a;--colour-text-disabled: var(--dracula-comment);--colour-border: var(--dracula-selection);--colour-border-hover: var(--dracula-comment);--colour-border-focus: var( --dracula-pink );--colour-primary: var(--dracula-cyan);--colour-selection: var( --dracula-pink );--colour-selection-hover: var(--dracula-pink);--colour-focus-ring: var( --dracula-pink );--colour-button-bg: var(--dracula-bg-light);--colour-button-hover: var(--dracula-bg-lighter);--colour-button-primary: var( --dracula-pink-muted );--colour-button-primary-hover: var(--dracula-pink);--colour-button-destructive: #a84a4a;--colour-button-destructive-hover: var( --dracula-red );--colour-text-on-primary: #ffffff;--colour-success: var(--dracula-green);--colour-warning: var(--dracula-orange);--colour-error: var(--dracula-red);--colour-info: var(--dracula-cyan);--colour-dnd-valid: var(--dracula-green);--colour-dnd-valid-bg: rgba(80, 250, 123, .1);--colour-dnd-invalid: var(--dracula-red);--colour-dnd-invalid-bg: rgba(255, 85, 85, .1);--colour-dnd-dragging: var(--dracula-cyan);--colour-airflow-intake: var(--dracula-cyan);--colour-airflow-exhaust: var(--dracula-red);--colour-airflow-passive: var(--dracula-comment);--colour-airflow-conflict: var(--dracula-orange);--glow-cyan-sm: 0 0 12px rgba(139, 233, 253, .3);--glow-cyan-md: 0 0 20px rgba(139, 233, 253, .3);--glow-cyan-lg: 0 0 30px rgba(139, 233, 253, .3);--glow-purple-sm: 0 0 12px rgba(189, 147, 249, .3);--glow-purple-md: 0 0 20px rgba(189, 147, 249, .3);--glow-purple-lg: 0 0 30px rgba(189, 147, 249, .3);--glow-pink-sm: 0 0 12px rgba(255, 121, 198, .3);--glow-pink-md: 0 0 20px rgba(255, 121, 198, .3);--glow-green-sm: 0 0 12px rgba(46, 204, 113, .3);--focus-ring-glow: 0 0 0 2px var(--colour-bg), 0 0 0 4px var(--colour-focus-ring), var(--glow-pink-sm)}:root{--canvas-bg: var(--dracula-bg-darkest);--rack-u-height: 17.78px;--rack-width: 482.6px;--rack-rail-width: 30px;--rack-padding: 16px;--rack-bg: var(--dracula-bg-darker);--rack-rail: var(--dracula-bg-lighter);--rack-interior: var(--dracula-bg);--rack-slot: rgba(255, 255, 255, .02);--rack-slot-alt: rgba(255, 255, 255, .04);--rack-grid: var(--dracula-bg-light);--rack-text: var(--dracula-comment);--rack-text-highlight: var( --dracula-foreground );--colour-blocked-stripe: rgba( 239, 68, 68, .35 );--colour-blocked-bg: rgba( 239, 68, 68, .08 );--toolbar-height: 56px;--toolbar-bg: var(--dracula-bg-darker);--toolbar-border: var(--dracula-bg-light);--drawer-width: 320px;--drawer-bg: var(--dracula-bg-darker);--sidebar-width: 280px;--colour-sidebar-bg: var(--dracula-bg-darker);--colour-surface-secondary: var(--dracula-bg-light);--z-sidebar: 10;--z-drawer-backdrop: 99;--z-drawer: 100;--z-modal: 200;--z-toast: 300;--input-bg: var(--dracula-bg-light);--input-border: var(--dracula-selection);--input-placeholder: var(--dracula-comment);--button-bg: var(--dracula-bg-light);--button-bg-hover: var(--dracula-bg-lighter);--button-border: var(--dracula-selection);--device-font-size: var(--font-size-xs);--device-padding: var(--space-2);--device-radius: var(--radius-sm);--device-ghost-opacity: .5;--toast-bg: var(--dracula-bg-light);--toast-border: var(--dracula-selection);--toast-radius: var(--radius-md);--logo-frame: var(--dracula-selection);--logo-interior: var(--dracula-bg-light);--logo-device-1: var(--dracula-cyan);--logo-device-2: var(--dracula-green);--logo-device-3: var(--dracula-purple);--colour-error-hover: #cc4444;--env-badge-bg: rgba(255, 85, 85, .1);--env-badge-text: var(--dracula-red);--env-badge-gradient-highlight: var(--dracula-pink);--anim-env-cylon: 6s}[data-theme=light]{--alucard-bg-darkest: #bcbab3;--alucard-bg-darker: #ceccc0;--alucard-bg: #fffbeb;--alucard-bg-light: #dedccf;--alucard-bg-lighter: #ece9df;--alucard-selection: #cfcfde;--alucard-floating: #efeddc;--alucard-foreground: #1f1f1f;--alucard-comment: #6c664b;--alucard-purple: #644ac9;--alucard-pink: #a3144d;--alucard-pink-muted: #8a4a60;--alucard-cyan: #036a96;--alucard-green: #14710a;--alucard-orange: #a34d14;--alucard-red: #cb3a2a;--alucard-yellow: #846e15;--colour-bg: var(--alucard-bg);--colour-bg-darker: var(--alucard-bg-darker);--colour-surface: var(--alucard-bg-light);--colour-surface-raised: var(--alucard-bg-lighter);--colour-surface-hover: var(--alucard-bg-lighter);--colour-surface-active: var(--alucard-selection);--colour-backdrop: rgba(0, 0, 0, .4);--colour-dialog-bg: var(--alucard-floating);--colour-text: var(--alucard-foreground);--colour-text-muted: var(--alucard-comment);--colour-text-disabled: var(--alucard-comment);--colour-border: var(--alucard-bg-light);--colour-border-hover: var(--alucard-comment);--colour-border-focus: var( --alucard-pink );--colour-primary: var(--alucard-cyan);--colour-selection: var( --alucard-pink );--colour-selection-hover: var(--alucard-pink);--colour-focus-ring: var( --alucard-pink );--colour-button-bg: var(--alucard-bg-lighter);--colour-button-hover: var(--alucard-bg-light);--colour-button-primary: var( --alucard-pink-muted );--colour-button-primary-hover: var(--alucard-pink);--colour-button-destructive: #b85a5a;--colour-button-destructive-hover: var( --alucard-red );--colour-text-on-primary: #ffffff;--colour-success: var(--alucard-green);--colour-warning: var(--alucard-orange);--colour-error: var(--alucard-red);--colour-info: var(--alucard-cyan);--colour-dnd-valid: var(--alucard-green);--colour-dnd-valid-bg: rgba(20, 113, 10, .1);--colour-dnd-invalid: var(--alucard-red);--colour-dnd-invalid-bg: rgba(203, 58, 42, .1);--colour-dnd-dragging: var(--alucard-cyan);--colour-airflow-intake: var(--alucard-cyan);--colour-airflow-exhaust: var(--alucard-red);--colour-airflow-passive: var(--alucard-comment);--colour-airflow-conflict: var(--alucard-orange);--glow-cyan-sm: 0 0 8px rgba(3, 106, 150, .2);--glow-cyan-md: 0 0 16px rgba(3, 106, 150, .2);--glow-cyan-lg: 0 0 24px rgba(3, 106, 150, .2);--glow-purple-sm: 0 0 8px rgba(100, 74, 201, .2);--glow-purple-md: 0 0 16px rgba(100, 74, 201, .2);--glow-purple-lg: 0 0 24px rgba(100, 74, 201, .2);--glow-pink-sm: 0 0 8px rgba(163, 20, 77, .2);--glow-pink-md: 0 0 16px rgba(163, 20, 77, .2);--glow-green-sm: 0 0 8px rgba(20, 113, 10, .2);--colour-blocked-stripe: rgba(203, 58, 42, .3);--colour-blocked-bg: rgba(203, 58, 42, .06);--toolbar-bg: var(--alucard-floating);--toolbar-border: var(--alucard-bg-light);--drawer-bg: var(--alucard-floating);--colour-sidebar-bg: var(--alucard-floating);--colour-surface-secondary: var(--alucard-bg-light);--toast-bg: var(--alucard-floating);--toast-border: var(--alucard-bg-light);--colour-error-hover: #b33030;--canvas-bg: var(--alucard-bg-lighter);--input-bg: var(--alucard-floating);--input-border: var(--alucard-bg-light);--input-placeholder: var(--alucard-comment);--button-bg: var(--alucard-bg-lighter);--button-bg-hover: var(--alucard-bg-light);--button-border: var(--alucard-bg-light);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--env-badge-bg: rgba(203, 58, 42, .1);--env-badge-text: var(--alucard-red);--env-badge-gradient-highlight: var(--alucard-pink)}@media(max-width:1000px){:root{--sidebar-width: 200px}}:root{--anim-breathe: 4s;--anim-rainbow: 6s;--anim-party: .5s;--anim-party-duration: 5s;--anim-loading: 2s;--anim-shimmer: 2s;--anim-success-glow: .5s;--anim-toast-exit: .3s;--anim-drag-settle: .15s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.6}}@keyframes breathe-glow{0%,to{filter:drop-shadow(0 0 8px rgba(189,147,249,.2))}50%{filter:drop-shadow(0 0 16px rgba(189,147,249,.4))}}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes success-glow{0%{box-shadow:0 0 #50fa7b66}to{box-shadow:0 0 0 8px transparent}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slot-fill{0%,to{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}@keyframes slot-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes rainbow-border{0%{border-color:#bd93f9}14%{border-color:#ff79c6}28%{border-color:#8be9fd}42%{border-color:#50fa7b}57%{border-color:#ffb86c}71%{border-color:#f55}85%{border-color:#f1fa8c}to{border-color:#bd93f9}}@keyframes pulse-border{0%{box-shadow:0 0 #50fa7b66}50%{box-shadow:0 0 0 4px #50fa7b33}to{box-shadow:0 0 #50fa7b00}}@keyframes flash-invalid{0%,to{border-color:var(--colour-border)}50%{border-color:var(--colour-error)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background:var(--colour-bg);color:var(--colour-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#app{height:100%}:focus-visible{outline:2px solid var(--colour-focus-ring);outline-offset:var(--space-1);box-shadow:var(--glow-pink-sm)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:var(--space-2);height:var(--space-2)}::-webkit-scrollbar-track{background:var(--colour-surface)}::-webkit-scrollbar-thumb{background:var(--colour-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--colour-text-muted)}.input-field{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background-color:var(--colour-surface);color:var(--colour-text);font-size:var(--font-size-base);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input-field:hover:not(:disabled):not(:focus){border-color:var(--colour-border-hover)}.input-field:focus{outline:none;border-color:var(--colour-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--colour-selection) 25%,transparent)}.input-field:invalid,.input-field.error{border-color:var(--colour-error)}.input-field:invalid:focus,.input-field.error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--colour-error) 25%,transparent)}.input-field:disabled{opacity:.5;cursor:not-allowed;background-color:var(--colour-surface-muted, rgba(255, 255, 255, .02))}.input-error{color:var(--colour-error);font-size:var(--font-size-xs);margin-top:var(--space-1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-high-contrast{color:var(--colour-text)}.text-medium-contrast{color:var(--colour-text-muted)}.text-low-contrast{color:var(--colour-text-disabled)}@keyframes device-settle{0%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.device-just-dropped{animation:device-settle var(--duration-normal) var(--ease-spring)}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-left{animation:drawer-slide-in-left var(--duration-normal) var(--ease-out)}.drawer-right{animation:drawer-slide-in-right var(--duration-normal) var(--ease-out)}@keyframes toast-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-enter{animation:toast-slide-up var(--duration-normal) var(--ease-out)}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dialog-backdrop{animation:dialog-fade-in var(--duration-fast) var(--ease-out)}.dialog{animation:dialog-scale-in var(--duration-normal) var(--ease-out)}@keyframes selection-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.error-shake{animation:shake var(--duration-normal) var(--ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
