@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-app:#fafafa;--bg-panel:#fff;--text-main:#111;--text-muted:#737373;--text-light:#a3a3a3;--border-color:#e5e5e5;--badge-bg:#f5f5f5;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}button{font-family:inherit;font-size:inherit;color:inherit;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:0 0;border:none}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}::selection{background-color:#e5e5e5}.app-layout{display:flex;width:100vw;height:100vh}.switchboard{background-color:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;z-index:10;flex-direction:column;flex-shrink:0;width:320px;padding:2rem;box-shadow:0 1px 2px #0000000d}.switchboard-header{margin-bottom:3rem}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.title{letter-spacing:-.025em;font-size:2rem;font-weight:500}.description{color:var(--text-muted);margin-top:.5rem;font-size:.875rem;line-height:1.6}.switchboard-body{display:flex;flex-direction:column;flex:1;min-height:0}.section-title{display:flex;justify-content:space-between;align-items: center;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.badge{font-family:var(--font-mono);color:var(--text-muted);background-color:var(--badge-bg);border:1px solid var(--border-color);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.controls{display:flex;overflow-y:auto;overflow-x:hidden;flex-direction:column;flex:1;gap:.25rem;margin:0 -.5rem 0 -1.25rem;padding:0 .5rem 1rem 1.25rem}.controls::-webkit-scrollbar{width:4px}.controls::-webkit-scrollbar-track{background:0 0}.controls::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.controls::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.plates-header{display:flex;border-bottom:1px solid var(--border-color);position:relative;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem}.plates-header-subrow{display:flex;justify-content:space-between;align-items: center;width:100%}.group-selector{position:relative;width:100%}.group-selector-btn{display:flex;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;color:var(--text-main);text-align:left;background:0 0;border:none;border-radius:.5rem;justify-content:space-between;align-items: center;width:100%;margin:-.35rem -.5rem;padding:.35rem .5rem;transition:all .2s;font-family:inherit}.group-selector-btn:hover{background:var(--badge-bg)}.group-selector-text-group{display:flex;flex-wrap:wrap;align-items: center;gap:.5rem}.group-title-text{color:var(--text-main);letter-spacing:-.01em;font-size:.875rem;font-weight:600}.group-active-badge{color:#f9670d;letter-spacing:.02em;white-space:nowrap;background:#f9670d1a;border-radius:4px;padding:.125rem .45rem;font-size:.65rem;font-weight:600}.chevron-icon{color:var(--text-muted);flex-shrink:0;transition:transform .25s cubic-bezier(.16,1,.3,1)}.group-selector-btn.is-open .chevron-icon{color:var(--text-main);transform:rotate(180deg)}.group-dropdown-menu{position:absolute;background-color:var(--bg-panel);border:1px solid var(--border-color);z-index:100;animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1);border-radius:.75rem;width:100%;padding:.4rem;top:calc(100% + .5rem);left:0;box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000a}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.group-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);padding:.4rem .5rem .25rem;font-size:.65rem;font-weight:600}.group-options-list{display:flex;flex-direction:column;gap:.15rem}.group-option-btn{display:flex;outline:none;appearance:none;-webkit-appearance:none;font-family:var(--font-sans);color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;justify-content:space-between;align-items: center;width:100%;padding:.5rem .65rem;transition:all .2s;font-size:.8rem;font-weight:500}.group-option-btn:hover{background-color:var(--badge-bg)}.group-option-btn.is-selected{color:#c2410c;background-color:#fff7ed;font-weight:600}.group-option-count{font-family:var(--font-mono);color:var(--text-muted);background:#0000000a;border-radius:99px;padding:.1rem .4rem;font-size:.65rem}.group-option-btn.is-selected .group-option-count{color:#c2410c;background:#f9670d26}.plates-count{font-family:var(--font-mono);color:var(--text-muted);background:var(--badge-bg);display:inline-block;text-align:center;border:1px solid #eee;border-radius:99px;min-width:3.5rem;padding:.15rem .5rem;font-size:.7rem}.plates-actions{display:flex;gap:.25rem}.action-btn{font-family:var(--font-sans);color:var(--text-light);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background-color:#0000;border:none;border-radius:4px;padding:.35rem .6rem;transition:all .3s;font-size:.65rem;font-weight:600}.action-btn:hover{color:var(--text-main);background-color:#00000008}.control-label{position:relative;display:flex;cursor:pointer;user-select:none;border-radius:.5rem;align-items: center;margin:0 -1.25rem;padding:.6rem 1.25rem;transition:background-color .4s cubic-bezier(.16,1,.3,1)}.control-label:hover,.control-label.is-hovered{background-color:var(--badge-bg)}.control-checkbox{position:relative;display:flex;background-color:#fff;border:1px solid #d4d4d8;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items: center;width:1.1rem;height:1.1rem;margin-right:.75rem;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #0000000d}.control-icon{color:#fff;pointer-events:none;transform-origin:center;width:.65rem;height:.65rem;transition:transform .4s cubic-bezier(.16,1,.3,1)}.control-label:hover .control-checkbox,.control-label.is-hovered .control-checkbox{border-color:#a3a3a3;box-shadow:0 2px 4px #00000014}.control-label:hover .control-text,.control-label.is-hovered .control-text{color:#000;transform:translate(4px)}.control-text{color:#404040;transition:all .4s cubic-bezier(.16,1,.3,1);font-size:.875rem;font-weight:500}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.stage{position:relative;display:flex;overflow:hidden;user-select:none;-webkit-user-select:none;background-color:#f5f5f580;flex-direction:column;flex:1;justify-content:center;align-items: center;padding:1rem}@media (min-width:1024px){.stage{padding:3rem}}.stage-container{aspect-ratio:16/9;position:relative;display:flex;justify-content:center;align-items: center;width:100%;max-width:90rem;transform:scale(.95)}@media (min-width:1024px){.stage-container{transform:scale(1)}}.blueprint{position:relative;aspect-ratio:16/9;user-select:none;-webkit-user-select:none;width:1920px}.bg-reference{position:absolute;pointer-events:none;width:100%;height:100%;inset:0}.die-cut{position:absolute;color:#1a1a1a;filter:drop-shadow(0 1px 2px #0000000d);width:100%;height:100%;transition:opacity .5s cubic-bezier(.16,1,.3,1);inset:0}.plate{position:absolute;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1);inset:0}.plate-svg{position:absolute;width:100%;height:100%;inset:0}.plate-svg rect,.plate-svg path,.plate-svg circle{pointer-events:auto;cursor:pointer;transition:filter .4s cubic-bezier(.16,1,.3,1)}
