:root{color:#172025;background:#eef1f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{display:grid;grid-template-columns:345px minmax(0,1fr);min-height:100vh;background:#f6f7f6}.configuration-panel{position:relative;z-index:2;min-height:100vh;padding:25px 22px;overflow-y:auto;border-right:1px solid #cfd6d2;background:#fff;box-shadow:8px 0 24px #1c2a230a}.board-title{margin-bottom:18px}.board-title h1{margin:0;font-size:23px;letter-spacing:-.03em}.board-picker,.configuration-options{display:grid;gap:6px;margin:0;padding:0;border:0}.board-picker{margin-bottom:17px}.configuration-options{margin-bottom:14px}.board-picker legend,.configuration-options legend{width:100%;margin-bottom:7px;color:#2a3630;font-size:11px;font-weight:750}.board-choice{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:9px;min-height:55px;padding:5px 8px;overflow:hidden;border:1px solid #d7ddda;border-radius:7px;background:#fff;cursor:pointer}.board-choice:hover{border-color:#9db9ab;background:#f7faf8}.board-choice[data-selected=true]{border-color:#3a7d5e;background:#f0f7f3;box-shadow:0 1px 4px #20553c1a}.board-choice input,.configuration-choice input{position:absolute;opacity:0;pointer-events:none}.board-choice img{width:50px;height:43px;object-fit:contain;border-radius:4px;background:#eef2f0}.board-choice>span{display:grid;gap:2px;min-width:0}.board-choice small{color:#6d8177;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.board-choice strong{overflow:hidden;color:#26342d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.configuration-choice{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;padding:9px 10px;border:1px solid #d7ddda;border-radius:7px;background:#fff;cursor:pointer}.configuration-choice:before{width:12px;height:12px;margin-top:2px;border:1px solid #aebbb4;border-radius:3px;content:""}.configuration-choice[data-selected=true]{border-color:#3a7d5e;background:#f0f7f3}.configuration-choice[data-selected=true]:before{border-color:#2d7553;color:#fff;background:#2d7553;content:"✓";font-size:9px;font-weight:800;line-height:10px;text-align:center}.configuration-choice>span{display:grid;gap:3px}.configuration-choice strong{color:#2c3932;font-size:11px}.configuration-choice small{color:#6d7973;font-size:9px;line-height:1.4}.configuration-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:2px}.configuration-quick-actions button{min-height:32px;border:1px solid #9db9ab;border-radius:6px;color:#285840;background:#f5faf7;font-size:10px;font-weight:750}.configuration-quick-actions button:hover:not(:disabled){border-color:#3a7d5e;background:#edf6f1}.configuration-quick-actions button:disabled{color:#929d97;border-color:#d9dfdc;background:#f5f6f5}.source-links{display:flex;justify-content:space-between;gap:10px;margin:0 1px 14px}.source-links a{color:#2d684d;font-size:9px;font-weight:700;text-decoration:none}.source-links a:hover{text-decoration:underline}.export-json-button,.render-error button{width:100%;min-height:36px;border:1px solid #245e47;border-radius:6px;color:#fff;background:#245e47;font-size:11px;font-weight:700}.export-json-button:hover:not(:disabled),.render-error button:hover{background:#1f513e}.export-json-button:disabled{color:#9ba5a0;border-color:#d6dcda;background:#f3f5f4}.render-status{margin:11px 0 0;color:#66736d;font-size:10px;font-variant-numeric:tabular-nums}.render-error{margin-top:10px;padding:10px;border:1px solid #e3b8b4;border-radius:6px;background:#fff8f7}.render-error p{margin:0 0 8px;color:#9a3830;font-size:10px;line-height:1.45;white-space:pre-wrap}.render-error button{width:auto;min-height:29px;padding:0 10px}.design-viewer{display:grid;grid-template-rows:51px minmax(0,1fr);min-width:0;min-height:100vh;background:#0b100d}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #d9dddb;background:#fffffffa}.view-tabs{display:flex;align-items:center;gap:4px}.view-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:6px;color:#68726d;background:transparent;font-size:12px;font-weight:650}.view-tabs button[aria-selected=true]{border-color:#d4dad7;color:#17231d;background:#fff;box-shadow:0 1px 3px #14241c1a}.view-tabs button:disabled{opacity:.42}.tab-dot{width:7px;height:7px;border-radius:50%;background:#89938e}.pcb-dot{background:#e94d78}.schematic-dot{background:#3d7cea}.hover-hint{display:flex;align-items:center;gap:7px;margin:0;color:#68756f;font-size:11px}.hover-hint span{width:12px;height:2px;background:#f2537b;box-shadow:0 0 0 2px #f2537b29}.viewer-canvas{position:relative;min-width:0;min-height:0;height:calc(100vh - 51px);overflow:hidden;background:#020504}.viewer-canvas>div{width:100%}.viewer-empty{display:grid;place-items:center;align-content:center;gap:18px;height:100%;color:#8e9a94}.viewer-empty p{margin:0;font-size:12px;letter-spacing:.02em}.board-skeleton{display:grid;grid-template-columns:repeat(6,12px);gap:6px;width:126px;padding:21px;border:1px solid #254337;background:#0a1611}.board-skeleton span{width:12px;height:8px;background:#293f36;animation:pulse 1.4s ease-in-out infinite alternate}.board-skeleton span:nth-child(3n){animation-delay:.22s}.rendering-badge{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #40534a;border-radius:5px;color:#d8e2dd;background:#121d18e0;font-size:11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rendering-badge span{width:7px;height:7px;border-radius:50%;background:#66d49a;animation:pulse .7s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.35}to{opacity:1}}@media(max-width:700px){.app-shell{grid-template-columns:1fr}.configuration-panel{min-height:auto;max-height:57vh;border-right:0;border-bottom:1px solid #cfd6d2}.board-picker{grid-template-columns:1fr 1fr}.design-viewer{min-height:60vh}.viewer-canvas{height:60vh}.hover-hint{display:none}}@media(max-width:520px){.board-picker{grid-template-columns:1fr}}
