@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--cream-50:#fdfcf8;--cream-100:#f8f5ee;--cream-200:#f0ead9;--cream-300:#e5dcc8;--cream-400:#d4c9af;--ink-900:#1a1918;--ink-800:#1a1918;--ink-700:#1a1918;--ink-600:#000;--ink-500:#7a736c;--ink-400:#070707;--ink-300:#bdb8b2;--ink-200:#d9d5cf;--ink-100:#ece9e4;--ink-50:#f5f3f0;--ink-20:#faf9f7;--accent:#c4611a;--accent-dark:#0c397c;--accent-light:#fdf0e6;--accent-muted:#e8956a;--green:#2d7d4f;--green-bg:#edf7f1;--green-border:#a3d9b8;--red:#c0392b;--red-bg:#fdf1ef;--red-border:#f0b4ac;--blue:#1a5fa8;--blue-bg:#eef4fc;--amber:#b7720a;--amber-bg:#fef8ec;--bg-base:var(--cream-100);--bg-surface:var(--cream-50);--bg-elevated:#fff;--bg-canvas:#edf0f7;--bg-nav:#fff;--bg-sidebar:#fff;--bg-card:#fff;--bg-card-hover:var(--cream-50);--text-primary:#111;--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--border:var(--cream-300);--border-soft:var(--cream-200);--border-strong:var(--cream-400);--shadow-xs:0 1px 2px #1a17140d;--shadow-sm:0 1px 4px #1a171412, 0 2px 8px #1a17140a;--shadow-md:0 4px 16px #1a171417, 0 2px 6px #1a17140d;--shadow-lg:0 8px 32px #1a17141f, 0 4px 12px #1a17140f;--shadow-xl:0 16px 48px #1a171424, 0 8px 20px #1a171412;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:9999px;--font-ui:"Plus Jakarta Sans", "Inter", system-ui, sans-serif;--font-display:"Playfair Display", "Inter", system-ui, serif;--font-mono:"JetBrains Mono", "Consolas", monospace;--nav-h:50px;--rail-w:64px;--sidebar-w:240px;--code-w:348px;--ease:.18s cubic-bezier(.4,0,.2,1);--ease-spring:.3s cubic-bezier(.34,1.4,.64,1);--ease-out:.22s cubic-bezier(0,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{width:100%;overflow-x:hidden}body{font-family:var(--font-ui);background:var(--bg-base);color:var(--ink-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;font-size:14px;line-height:1.6;text-decoration:none}body.sim-body{flex-direction:column;height:100dvh;display:flex;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}img{max-width:100%;display:block}::selection{color:var(--ink-900);background:#c4611a26}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--cream-200)}::-webkit-scrollbar-thumb{background:var(--cream-400);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}.circuit-thumb{border-bottom:1px solid var(--border-soft);height:120px;color:var(--border);background:linear-gradient(135deg,#f0ede8 0%,#e8e3db 100%);justify-content:center;align-items:center;text-decoration:none;display:flex;overflow:hidden}nav{height:var(--nav-h);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);z-index:500;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.nav-logo{flex-shrink:0;align-items:center;height:70%;text-decoration:none;display:flex}.nav-logo-img{width:auto;max-width:150px;height:100%;display:block}.nav-left{flex-wrap:nowrap;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.nav-right-group{flex-shrink:0;align-items:center;gap:4px;display:flex}.nav-sep{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 4px}.project-name-wrapper{flex-shrink:1;align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.project-name-text{color:var(--ink-700);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.02em;max-width:200px;font-size:13.5px;font-weight:600;font-family:var(--font-ui);overflow:hidden}.btn-rename-inline{color:var(--ink-400);cursor:pointer;transition:all var(--ease);background:0 0;border:none;border-radius:5px;flex-shrink:0;padding:4px 6px;font-size:11px}.btn-rename-inline:hover{background:var(--ink-50);color:var(--accent)}.project-name-input{font:inherit;background:var(--ink-50);border:1px solid var(--accent);color:var(--ink-900);border-radius:6px;outline:none;max-width:40vw;padding:3px 9px;font-size:13.5px;font-weight:600}.btn-nav{color:var(--ink-500);border-radius:var(--r-sm);font-size:12.5px;font-family:var(--font-ui);cursor:pointer;transition:all var(--ease);white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:6px 11px;font-weight:500;line-height:1;display:inline-flex}.btn-nav:hover{background:var(--ink-50);border-color:var(--border-soft);color:var(--ink-900);box-shadow:var(--shadow-xs)}.btn-nav:active{transform:scale(.97)}.btn-icon-only{padding:6px 8px!important}.btn-icon-only svg{display:block}.btn-icon-only:disabled{pointer-events:none;opacity:.4;cursor:not-allowed!important}.save-status-pill{background:var(--ink-50);color:var(--ink-500);border:1px solid var(--border);white-space:nowrap;font-size:11.5px;font-weight:600;font-family:var(--font-ui);border-radius:12px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;display:inline-flex}.save-status-pill.saved{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.save-status-pill.unsaved{color:#c2410c;background:#fff8f0;border-color:#fed7aa}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.unsaved-dot{background:#f97316}.saved-dot{background:var(--green)}.share-btn{color:var(--accent)!important}.share-btn:hover{background:var(--accent-light)!important;border-color:#c4611a33!important}.download-btn:hover{color:var(--blue)!important;background:#f0f9ff!important}.code-btn{background:var(--ink-800)!important;color:#e2e8f0!important;border-color:var(--ink-700)!important}.code-btn:hover{background:var(--ink-700)!important;color:#fff!important}.del-btn:hover{background:var(--red-bg)!important;color:var(--red)!important;border-color:#fca5a5!important}.start-btn{background:var(--amber-bg)!important;color:#92400e!important;border-color:#fcd34d!important}.start-btn:hover{background:#fef3c7!important}.save-run-group{border-radius:var(--r-sm);border:1px solid var(--border);box-shadow:var(--shadow-xs);flex-shrink:0;align-items:center;margin-left:2px;display:inline-flex;overflow:hidden}.save-btn{background:var(--ink-50)!important;border:none!important;border-right:1px solid var(--border)!important;color:var(--ink-700)!important;font-size:12.5px!important;font-family:var(--font-ui)!important;cursor:pointer!important;transition:all var(--ease)!important;white-space:nowrap!important;border-radius:0!important;align-items:center!important;gap:5px!important;padding:7px 14px!important;font-weight:500!important;display:inline-flex!important}.save-btn:hover{color:var(--green)!important;border-right-color:var(--green-border)!important;background:#e0e2e2!important}.run-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex;color:#fff!important;font-family:var(--font-ui)!important;cursor:pointer!important;transition:all var(--ease)!important;background:#1755ff!important;border:none!important;border-radius:0!important;padding:7px 16px!important;font-size:12.5px!important;font-weight:600!important}.run-btn:hover{background:var(--accent-dark)!important}.run-btn.btn-running{animation:2s infinite pulse-red;background:var(--red)!important}@keyframes pulse-red{0%,to{box-shadow:0 0 #c0392b4d}50%{box-shadow:0 0 0 4px #c0392b33}}.btn{border-radius:var(--r-sm);font-family:var(--font-ui);cursor:pointer;transition:all var(--ease);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 16px #c4611a59}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--ink-700);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--cream-200);border-color:var(--border-strong)}.btn-ghost{color:var(--ink-600);background:0 0;border:1.5px solid #0000}.btn-ghost:hover{background:var(--cream-200);color:var(--ink-800)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.btn-danger:hover{background:#f9e0dc}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:13px 28px;font-size:15px}.btn-xl{padding:16px 36px;font-size:16px}.btn-icon{padding:9px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.input-field{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--ink-800);transition:border-color var(--ease), box-shadow var(--ease);font-size:14px;font-family:var(--font-ui);outline:none;padding:11px 14px}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4611a1a}.input-field::placeholder{color:var(--ink-300)}.input-field.error{border-color:var(--red);box-shadow:0 0 0 3px #c0392b1a}.field-label{color:var(--ink-600);letter-spacing:.03em;font-size:12.5px;font-weight:600;font-family:var(--font-ui);margin-bottom:6px;display:block}.field-error{color:var(--red);font-size:12px;font-family:var(--font-ui);align-items:center;gap:5px;margin-top:5px;display:flex}.select-field{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--ink-800);transition:border-color var(--ease), box-shadow var(--ease);appearance:none;cursor:pointer;font-size:14px;font-family:var(--font-ui);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239c968f' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;outline:none;padding:11px 36px 11px 14px}.select-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4611a1a}.card{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.badge{border-radius:var(--r-full);font-size:11.5px;font-weight:600;font-family:var(--font-ui);align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge-amber{background:var(--amber-bg);color:var(--amber);border:1px solid #f0c97a}.badge-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.badge-blue{background:var(--blue-bg);color:var(--blue);border:1px solid #b3d0ef}.badge-cream{background:var(--cream-200);color:var(--ink-600);border:1px solid var(--border)}.divider{background:var(--border-soft);height:1px;margin:24px 0}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:28px;right:28px}.toast{border-radius:var(--r-md);font-size:13.5px;font-weight:500;font-family:var(--font-ui);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:toastIn .3s var(--ease-spring) both;pointer-events:all;align-items:center;gap:10px;max-width:360px;padding:12px 18px;display:flex}.toast.success{border-color:var(--green-border);color:var(--green)}.toast.error{border-color:var(--red-border);color:var(--red)}.toast.info{color:var(--blue);border-color:#b3d0ef}.toast.warning{color:var(--amber);border-color:#f0c97a}.toast.hide{animation:.25s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8000;background:#1a171466;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-xl);animation:slideUp .22s var(--ease-spring);max-height:90vh;padding:26px;position:relative;overflow-y:auto}.modal-header{color:var(--ink-900);font-size:15px;font-weight:700;font-family:var(--font-ui);justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header span{align-items:center;gap:8px;display:inline-flex}.modal-header i{color:var(--accent)}.modal-title{color:var(--ink-900);font-size:18px;font-weight:700;font-family:var(--font-display)}.modal-close{cursor:pointer;color:var(--ink-400);border-radius:var(--r-xs);transition:all var(--ease);background:0 0;border:none;padding:6px;display:flex}.modal-close:hover{background:var(--cream-200);color:var(--ink-700)}.modal-box.compact{border-radius:var(--r-lg);max-width:420px;padding:24px}.modal-header.compact{margin-bottom:14px;font-size:15px;font-weight:600}.modal-close-btn{color:var(--ink-500);cursor:pointer;transition:all var(--ease);background:0 0;border:none;border-radius:7px;padding:5px 7px;font-size:14px}.modal-close-btn:hover{background:var(--ink-50);color:var(--ink-900)}.modal-sub{color:var(--ink-500);margin-bottom:16px;font-size:12.5px}.modal-input{border:1px solid var(--border);border-radius:var(--r-md);width:100%;font-family:var(--font-ui);color:var(--ink-800);background:var(--bg-base);outline:none;margin-bottom:16px;padding:10px 12px;font-size:13px;transition:all .2s}.modal-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #c4611a14}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn-modal-cancel{border:1px solid var(--border);font-family:var(--font-ui);cursor:pointer;color:var(--ink-500);transition:all var(--ease);background:0 0;border-radius:8px;padding:8px 16px;font-size:13px}.btn-modal-cancel:hover{background:var(--bg-base);color:var(--ink-800)}.btn-modal-ok{background:var(--accent);color:#fff;font-family:var(--font-ui);cursor:pointer;transition:background var(--ease);border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.btn-modal-ok:hover{background:var(--accent-dark)}.modal-footer{border-top:1px solid var(--border-soft);padding-top:16px}.share-link-row{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:8px;margin-bottom:14px;padding:9px 12px;display:flex}.share-link-row input{color:var(--ink-800);font-size:12.5px;font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;min-width:0;margin:0;padding:0}.btn-copy{background:var(--accent-light);color:var(--accent);cursor:pointer;white-space:nowrap;transition:all var(--ease);font-size:12px;font-weight:600;font-family:var(--font-ui);border:none;border-radius:7px;padding:6px 12px}.btn-copy:hover{background:var(--accent);color:#fff}.share-platforms{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.share-platform-btn{min-width:90px;font-family:var(--font-ui);cursor:pointer;transition:all var(--ease);border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:12px;font-weight:600;display:inline-flex}.share-platform-btn.wa{color:#15803d;background:#dcfce7}.share-platform-btn.wa:hover{background:#bbf7d0}.share-platform-btn.tw{color:#1d4ed8;background:#dbeafe}.share-platform-btn.tw:hover{background:#bfdbfe}.share-platform-btn.li{color:#0369a1;background:#e0f2fe}.share-platform-btn.li:hover{background:#bae6fd}.share-platform-btn.tg{color:#0284c7;background:#f0f9ff}.share-platform-btn.tg:hover{background:#bae6fd}.public-toggle-row{color:var(--ink-700);font-size:13px;font-weight:500;font-family:var(--font-ui);justify-content:space-between;align-items:center;gap:10px;display:flex}.toggle-switch{cursor:pointer;flex-shrink:0;width:40px;height:22px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:#d1d5db;border-radius:11px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.loading-spinner{border:2px solid var(--cream-300);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-title{font-family:var(--font-display);color:var(--ink-900);font-size:22px;font-weight:600}.section-count{color:var(--ink-400);margin-left:8px;font-size:13px}.empty-state{text-align:center;color:var(--ink-400);padding:64px 24px}.empty-state-icon{background:var(--cream-200);border-radius:var(--r-xl);width:64px;height:64px;color:var(--ink-300);justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.empty-state h3{color:var(--ink-600);font-size:17px;font-weight:600;font-family:var(--font-display);margin-bottom:8px}.empty-state p{max-width:300px;margin:0 auto 20px;font-size:14px;line-height:1.6}.avatar{background:var(--cream-200);color:var(--ink-500);font-weight:700;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:13px}.avatar-md{width:44px;height:44px;font-size:17px}.avatar-lg{width:64px;height:64px;font-size:24px}.avatar-xl{width:96px;height:96px;font-size:36px}.avatar img{object-fit:cover;width:100%;height:100%}.sync-indicator{border-radius:var(--r-full);font-size:11.5px;font-weight:500;font-family:var(--font-ui);align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.sync-indicator.synced{background:var(--green-bg);color:var(--green)}.sync-indicator.pending{background:var(--amber-bg);color:var(--amber)}.sync-indicator.offline{background:var(--cream-200);color:var(--ink-500)}.workspaceContainer{background:var(--bg-base);flex-direction:row;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.tool-rail{width:var(--rail-w);background:var(--bg-nav);border-right:1px solid var(--border);z-index:110;flex-direction:column;flex-shrink:0;order:-2;align-items:stretch;gap:6px;height:100%;padding:10px 6px;display:flex;position:relative;box-shadow:2px 0 12px #0f111708}.tool-rail-group{flex-direction:column;gap:4px;display:flex}.tool-rail-spacer{flex:1}.rail-btn{text-align:center;width:100%;border-radius:var(--r-md)!important;flex-direction:column!important;gap:3px!important;padding:9px 4px!important}.rail-btn i{font-size:15px}.rail-btn .btn-label{letter-spacing:.01em;font-size:9.5px;font-weight:600;line-height:1;display:block}.rail-btn:hover{background:var(--accent-light)!important;color:var(--accent)!important;border-color:#0000!important}.rail-btn.rail-active{background:var(--accent-light)!important;color:var(--accent)!important}.rail-btn.rail-active:after{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.rail-btn{position:relative}.rail-profile{color:var(--ink-500)!important}.rail-profile:hover{color:var(--accent)!important}.rail-profile i{font-size:20px}#svg1{-webkit-user-select:none;user-select:none;background-color:var(--bg-canvas);z-index:1;background-image:radial-gradient(circle,#6373a929 1px,#0000 1px);background-size:28px 28px;flex:1;min-width:0;height:100%;display:block;position:relative;overflow:hidden}#svg1.workspace-locked{pointer-events:none;cursor:not-allowed;opacity:.82;filter:saturate(.6);-webkit-user-select:none;user-select:none}.mainBox{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:100;height:100%;transition:width var(--ease-out);flex-direction:column;flex-shrink:0;order:-1;display:flex;position:relative;overflow:hidden;box-shadow:2px 0 16px #0f11170a}.mainBox.hidden{width:0;overflow:hidden}.mainBox h3{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-500);border-bottom:1px solid var(--border-soft);background:var(--bg-nav);z-index:2;font-size:10px;font-weight:600;font-family:var(--font-ui);flex-shrink:0;align-items:center;gap:6px;padding:14px 14px 12px;display:flex;position:sticky;top:0}.mainBox h3 i{color:var(--accent);font-size:12px}.comp-count-badge{background:var(--accent-light);color:var(--accent);border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.sidebar-search-wrap{background:var(--bg-nav);border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:10px 10px 4px;position:relative}.sidebar-search-icon{color:var(--ink-400);pointer-events:none;font-size:11px;position:absolute;top:50%;left:18px;transform:translateY(-30%)}.sidebar-search-input{border:1px solid var(--border);background:var(--bg-base);width:100%;font-family:var(--font-ui);color:var(--ink-800);border-radius:20px;outline:none;padding:7px 10px 7px 30px;font-size:12.5px;transition:all .2s}.sidebar-search-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #c4611a14}.components-grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:6px;min-height:0;padding:8px 8px 16px;display:grid;overflow-y:auto}.components-grid::-webkit-scrollbar{width:4px}.components-grid::-webkit-scrollbar-track{background:0 0}.components-grid::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:4px}.comp-group{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);border-top:1px solid var(--border-soft);font-size:9px;font-weight:600;font-family:var(--font-ui);grid-column:1/-1;margin-top:2px;padding:12px 4px 5px}.comp-group:first-child{border-top:none;margin-top:0;padding-top:4px}.component-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--r-md);cursor:grab;transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease), background var(--ease);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:104px;padding:12px 5px 10px;display:flex;position:relative;overflow:hidden}.component-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-muted));transform-origin:0;height:2px;transition:transform var(--ease-out);border-radius:2px 2px 0 0;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.component-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-md);border-color:#c4611a38;transform:translateY(-2px)}.component-card:hover:before{transform:scaleX(1)}.component-card:active{cursor:grabbing;transform:scale(.95)}.comp-img{object-fit:contain;pointer-events:none;width:64px;height:52px;transition:transform var(--ease-spring);flex-shrink:0;display:block}.component-card:hover .comp-img{transform:scale(1.08)}.component-label{color:var(--ink-400);text-align:center;width:100%;font-size:11.5px;font-weight:500;line-height:1.3;font-family:var(--font-ui);padding:0 3px}.component-card:hover .component-label{color:var(--ink-700)}.drag-ghost{pointer-events:none!important;opacity:.88!important;z-index:99999!important;box-shadow:var(--shadow-lg)!important;border-radius:var(--r-md)!important;border:1px solid #c4611a4d!important;position:fixed!important;transform:rotate(1.5deg)scale(1.05)!important}.ace-container{width:var(--code-w,348px);background:var(--cream-100);border-left:1px solid var(--border);z-index:100;height:100%;font-family:var(--font-mono,"JetBrains Mono", monospace);flex-direction:column;flex-shrink:0;order:1;font-size:13px;line-height:22px;display:flex;position:relative;overflow:hidden;box-shadow:-2px 0 10px #1a17140d}.ace-container.hidden-panel{box-shadow:none;border:none;overflow:hidden;width:0!important}.ace-container.hidden-panel .ace-resizer{display:none}.ace-resizer{cursor:ew-resize;z-index:120;background:0 0;width:6px;position:absolute;top:0;bottom:0;left:-3px}.ace-resizer:before{content:"";width:2px;transition:background var(--ease);background:0 0;position:absolute;top:0;bottom:0;left:2px}.ace-resizer:hover:before{background:var(--accent-muted)}.ace-resizer.active:before{background:var(--accent)}.ace-resizer:after{content:"";background:var(--border-strong);width:4px;height:34px;transition:background var(--ease), height var(--ease);border-radius:3px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.ace-resizer:hover:after,.ace-resizer.active:after{background:var(--accent);height:46px}body.ace-resizing{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}body.ace-resizing *{cursor:ew-resize!important}.ace-titlebar{background:var(--cream-200);border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:8px;height:34px;padding:0 12px;display:flex}.ace-dots{flex-shrink:0;gap:5px;display:inline-flex}.ace-dots i{background:var(--border-strong);border-radius:50%;width:8px;height:8px;display:block}.ace-dots i:first-child{background:#e8967a}.ace-dots i:nth-child(2){background:#ecc06a}.ace-dots i:nth-child(3){background:#8fc98f}.ace-filename{color:var(--ink-600);font-size:11.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:-.01em;align-items:center;gap:6px;display:inline-flex}.ace-filename svg{color:var(--accent);flex-shrink:0}.ace-board-select{border:1px solid var(--border);color:var(--ink-600);font-size:11.5px;font-family:var(--font-ui);cursor:pointer;background:#fff;border-radius:5px;outline:none;min-width:0;max-width:130px;margin-left:auto;padding:4px 8px}.ace-outer{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.ace-editor-row{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.ace-gutter{background:var(--cream-200,#f0ead9);border-right:1px solid var(--border-soft,#e5ddd5);width:46px;min-width:46px;color:var(--ink-300,#bdb8b2);font-size:11.5px;line-height:22px;font-family:var(--font-mono,monospace);text-align:right;-webkit-user-select:none;user-select:none;box-sizing:border-box;flex-shrink:0;padding-top:10px;overflow:hidden}.ace-gutter-line{cursor:pointer;box-sizing:border-box;justify-content:flex-end;align-items:center;gap:3px;height:22px;padding:0 6px 0 2px;transition:background .1s,color .1s;display:flex}.ace-gutter-line:hover{color:var(--accent,#c4611a);background:#c4611a12}.ace-gutter-line.ge{color:var(--red,#c0392b);background:#c0392b17;font-weight:600}.ace-gutter-line.gw{color:var(--amber,#b7720a);background:#b7720a12}.gdot{flex-shrink:0;font-size:7px;line-height:1}.ged{color:var(--red,#c0392b)}.gwd{color:var(--amber,#b7720a)}.ace-code-area{background:#fff;flex:1;min-width:0;position:relative;overflow:hidden}.ace-highlight{pointer-events:none;box-sizing:border-box;width:100%;height:100%;font-family:var(--font-mono,monospace);white-space:pre;word-wrap:normal;color:var(--ink-700,#443f3b);tab-size:2;z-index:1;background:0 0;margin:0;padding:10px 14px;font-size:13px;line-height:22px;position:absolute;top:0;left:0;overflow:hidden}.ace-line{white-space:pre;height:22px;min-height:22px;display:block}.ace-line.le{background:#c0392b0f}.ace-line.lw{background:#b7720a0d}.ace-textarea{box-sizing:border-box;width:100%;height:100%;font-family:var(--font-mono,monospace);color:#0000;-webkit-text-fill-color:transparent;caret-color:var(--accent,#c4611a);resize:none;white-space:pre;word-wrap:normal;tab-size:2;z-index:2;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;margin:0;padding:10px 14px;font-size:13px;line-height:22px;position:absolute;top:0;left:0;overflow:auto}.ace-textarea::selection{color:#0000!important;background:#c4611a33!important}.ace-textarea::selection{color:#0000!important;background:#c4611a33!important}.ace-textarea::-webkit-scrollbar{width:7px;height:7px}.ace-textarea::-webkit-scrollbar-track{background:var(--cream-100,#f8f5ee)}.ace-textarea::-webkit-scrollbar-thumb{background:var(--cream-400,#d4c9af);border-radius:4px}.ace-textarea::-webkit-scrollbar-thumb:hover{background:var(--ink-300,#bdb8b2)}.tok-kw{color:#7c3aed;font-weight:600}.tok-builtin{color:#1558a8}.tok-str{color:#16a34a}.tok-num{color:#c4611a}.tok-cmt{color:#a0a8b0;font-style:italic}.tok-pre{color:#b45309}.tok-bracket{color:#5c4d3c}.tok-op{color:#0891b2}.ace-diagnostics{background:var(--cream-100,#f8f5ee);border-top:1px solid var(--border-soft,#e5ddd5);flex-direction:column;flex-shrink:0;max-height:200px;display:none;overflow-y:auto}.ace-diagnostics.has-diag{display:flex}.ace-diagnostics::-webkit-scrollbar{width:4px}.ace-diagnostics::-webkit-scrollbar-track{background:var(--cream-100,#f8f5ee)}.ace-diagnostics::-webkit-scrollbar-thumb{background:var(--cream-400,#d4c9af);border-radius:4px}.dh{background:var(--cream-200,#f0ead9);border-bottom:1px solid var(--border-soft,#e5ddd5);flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.dhint{color:var(--ink-300,#bdb8b2);font-size:10px;font-family:var(--font-ui,sans-serif);margin-left:auto;font-style:italic}.db{font-size:11px;font-weight:700;font-family:var(--font-ui,sans-serif);border-radius:10px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.eb{background:var(--red-bg,#fdf1ef);color:var(--red,#c0392b);border:1px solid var(--red-border,#f0b4ac)}.wb{background:var(--amber-bg,#fef8ec);color:var(--amber,#b7720a);border:1px solid #f0c97a}.dl{flex-direction:column;display:flex}.di{border-bottom:1px solid var(--border-soft,#e5ddd5);cursor:pointer;font-family:var(--font-ui,sans-serif);align-items:flex-start;gap:8px;padding:7px 12px;transition:background .1s;display:flex}.di:hover{background:var(--cream-200,#f0ead9)}.di:last-child{border-bottom:none}.di>svg{flex-shrink:0;margin-top:2px}.de>svg{color:var(--red,#c0392b)}.dw>svg{color:var(--amber,#b7720a)}.db2{flex-wrap:wrap;align-items:baseline;gap:5px;min-width:0;font-size:11.5px;line-height:1.5;display:flex}.dloc{color:var(--blue,#1a5fa8);font-size:10.5px;font-weight:700;font-family:var(--font-mono,monospace);flex-shrink:0}.dcode{color:var(--ink-300,#bdb8b2);font-size:10px;font-family:var(--font-mono,monospace);flex-shrink:0}.dmsg{color:var(--ink-600,#5c5650);word-break:break-word}.de .dmsg{color:var(--red,#c0392b)}.dw .dmsg{color:var(--amber,#b7720a)}.dfix{color:var(--green,#2d7d4f);width:100%;font-size:10.5px;font-style:italic}.sm-wrapper{border-top:1px solid var(--border-soft,#e5ddd5);background:var(--cream-100,#f8f5ee);flex-direction:column;flex-shrink:0;display:flex}.sm-tabbar{background:var(--cream-200,#f0ead9);border-top:1px solid var(--border-soft,#e5ddd5);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:4px;height:34px;padding:0 8px;display:flex;overflow-x:auto}.sm-tab{color:var(--ink-400,#9c968f);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-ui,sans-serif);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:5px 5px 0 0;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;line-height:1;transition:all .15s;display:inline-flex;position:relative;bottom:-1px}.sm-tab:hover{color:var(--ink-700,#443f3b);background:#c4611a0d}.sm-tab-active{color:var(--accent,#c4611a)!important;background:#fff!important;border-bottom-color:#fff!important}.sm-badge{background:var(--accent,#c4611a);color:#fff;text-align:center;border-radius:9px;min-width:16px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;display:none}.sm-tabbar select{border:1px solid var(--border,#e5dcc8);color:var(--ink-500,#7a736c);cursor:pointer;font-size:11.5px;font-family:var(--font-mono,monospace);background:#fff;border-radius:5px;outline:none;flex-shrink:0;margin-left:auto;padding:3px 8px;transition:border-color .15s}.sm-tabbar select:focus{border-color:var(--accent,#c4611a)}.sm-tabbar button:not(.sm-tab){border:1px solid var(--border,#e5dcc8);color:var(--ink-400,#9c968f);cursor:pointer;font-size:11px;font-family:var(--font-ui,sans-serif);background:0 0;border-radius:5px;flex-shrink:0;padding:3px 9px;line-height:1.4;transition:all .15s}.sm-tabbar button:not(.sm-tab):hover{background:var(--cream-300,#e5dcc8);color:var(--ink-700,#443f3b)}.sm-panel{flex-direction:column;flex-shrink:0;height:200px;display:none;overflow:hidden}.sm-output{font-family:var(--font-mono,monospace);color:var(--ink-700,#443f3b);white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border-soft,#e5ddd5);background:#fff;flex:1;padding:8px 14px;font-size:12.5px;line-height:1.65;overflow-y:auto}.sm-output::-webkit-scrollbar{width:5px}.sm-output::-webkit-scrollbar-track{background:var(--cream-100,#f8f5ee)}.sm-output::-webkit-scrollbar-thumb{background:var(--cream-400,#d4c9af);border-radius:3px}.sm-empty{color:var(--ink-300,#bdb8b2);text-align:center;pointer-events:none;font-size:12px;font-style:italic;font-family:var(--font-ui,sans-serif);padding:24px 0}.sm-ts{color:var(--ink-200,#d9d5cf);-webkit-user-select:none;user-select:none;margin-right:8px;font-size:10.5px}.sm-input-row{border-top:1px solid var(--border-soft,#e5ddd5);background:var(--cream-100,#f8f5ee);flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.sm-input-row input[type=text]{border:1px solid var(--border,#e5dcc8);color:var(--ink-800,#2d2926);font-family:var(--font-mono,monospace);background:#fff;border-radius:5px;outline:none;flex:1;min-width:0;padding:5px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.sm-input-row input[type=text]:focus{border-color:var(--accent,#c4611a);box-shadow:0 0 0 3px #c4611a14}.sm-input-row input[type=text]::placeholder{color:var(--ink-200,#d9d5cf)}.sm-send-btn{background:var(--accent,#c4611a);color:#fff;font-size:12px;font-family:var(--font-ui,sans-serif);cursor:pointer;border:none;border-radius:5px;flex-shrink:0;padding:5px 14px;font-weight:600;transition:background .15s}.sm-send-btn:hover{background:var(--accent-dark,#a34e12)}#resistorEditor{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;background:#1a171459;justify-content:center;align-items:center;padding:16px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}#resistorEditor>div{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--r-lg);width:310px;max-width:100%;box-shadow:var(--shadow-lg);animation:slideUp .22s var(--ease-spring);padding:28px;position:relative;overflow:hidden}#resistorEditor>div:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-muted));height:3px;position:absolute;top:0;left:0;right:0}#resistorEditor h4{color:var(--ink-900);font-size:15px;font-weight:600;font-family:var(--font-ui);margin-bottom:18px}#resSelect,#customRes{background:var(--cream-50);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--ink-800);font-size:13px;font-family:var(--font-ui);transition:border-color var(--ease);appearance:none;outline:none;margin-bottom:10px;padding:9px 12px}#resSelect:focus,#customRes:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4611a1a}#applyRes{background:var(--accent);border:1px solid var(--accent-dark);border-radius:var(--r-sm);color:#fff;width:100%;font-size:13px;font-weight:600;font-family:var(--font-ui);cursor:pointer;transition:all var(--ease);padding:10px}#applyRes:hover{background:var(--accent-dark)}.resizable-iframe{left:var(--rail-w);top:var(--nav-h);width:380px;height:calc(100vh - var(--nav-h));border-right:1px solid var(--border);z-index:200;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;display:none;position:fixed;overflow:hidden;box-shadow:4px 0 32px #0f11171a}.resizable-iframe iframe{border:none;width:100%;height:100%}.resizer-diagonal{cursor:nwse-resize;background:var(--ink-100);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:10;width:18px;height:18px;transition:background var(--ease);position:absolute;bottom:0;right:0}.resizer-diagonal:hover{background:var(--accent)}svg{-webkit-user-select:none;user-select:none}path{cursor:pointer}path.selected{stroke-width:4px;filter:drop-shadow(0 0 5px #1a171466)}.wire-node{fill:#fff;stroke:#a8b2c9;stroke-width:1.5px;cursor:grab}.connection-point{r:5px;fill:#171718;stroke:#fff;stroke-width:1.5px;cursor:crosshair;filter:drop-shadow(0 0 3px #0f0f0f66);transition:r .12s,fill .12s,filter .12s}.connection-point:hover{r:7px;fill:var(--accent-muted);filter:drop-shadow(0 0 5px #c4611a99)}.connection-point.active{r:6px;fill:var(--green);stroke:#fff;filter:drop-shadow(0 0 4px #2d7d4f8c)}.selected{filter:drop-shadow(0 0 7px #c4611a80)}.gas-cloud{cursor:grab;pointer-events:all!important}.gas-cloud:active{cursor:grabbing}.sensing-chamber{pointer-events:none}.draggable:active{cursor:grabbing}.btn-disabled{opacity:.4;pointer-events:none;cursor:not-allowed!important}#svg1.panning{-webkit-user-select:none;user-select:none;cursor:grabbing!important}#wireMaterialPopup{background:var(--bg-card)!important;border:1px solid var(--border-soft)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow-lg)!important}#wireMaterialPopup .wm-btn{background:var(--ink-50)!important;border:1px solid var(--border-soft)!important;color:var(--ink-700)!important;border-radius:var(--r-sm)!important}#wireMaterialPopup .wm-btn:hover{background:var(--bg-card-hover)!important}#workspaceBtns button{background:var(--bg-card)!important;color:#111!important;border:1px solid var(--border-soft)!important;border-radius:var(--r-md)!important;font-family:var(--font-ui)!important;box-shadow:var(--shadow-sm)!important;transition:all var(--ease)!important;font-size:12px!important}#workspaceBtns button:hover{background:var(--bg-card-hover)!important;color:var(--accent)!important;box-shadow:var(--shadow-md)!important;border-color:#c4611a4d!important;transform:translateY(-1px)!important}@media (width<=1100px){:root{--code-w:300px}}@media (width<=1024px){nav{gap:8px;padding:0 10px}.project-name-text{max-width:150px}.btn-nav{padding:6px 9px}}@media (width<=900px){:root{--sidebar-w:220px;--code-w:280px;--rail-w:56px}.btn-label,.rail-btn .btn-label{display:none}.btn-nav{padding:6px 8px}.modal-box{padding:22px 18px}.section-title{font-size:18px}.nav-logo-img{max-width:110px}}@media (width<=768px){.workspaceContainer{flex-direction:column-reverse}.tool-rail{border-right:none;border-top:1px solid var(--border);flex-direction:row;order:1;width:100%;height:auto;padding:6px 10px}.tool-rail-group{flex-direction:row}.tool-rail-spacer{display:none}.rail-btn{width:auto;padding:7px 10px!important}.rail-btn.rail-active:after{border-radius:3px 3px 0 0;width:auto;height:3px;inset:auto 8px 0}.mainBox{border-right:none;border-top:1px solid var(--border);order:0;height:210px;min-height:210px;width:100%!important}.components-grid{grid-template-columns:repeat(3,1fr);gap:5px}#svg1{height:calc(100vh - var(--nav-h) - 190px - 46px);height:calc(100dvh - var(--nav-h) - 190px - 46px);min-height:unset;order:2}.ace-container{border-left:none;border-top:1px solid var(--border);order:3;height:220px;width:100%!important}.ace-resizer{display:none!important}.resizable-iframe{left:0}.project-name-text{max-width:100px}.save-status-pill{display:none}nav{padding:0 8px}.nav-logo-img{max-width:90px}.sm-panel{height:160px}.ace-board-select{max-width:100px}}@media (width<=480px){nav{gap:2px;padding:0 6px}.btn-nav{padding:5px 7px;font-size:11px}.components-grid{grid-template-columns:repeat(2,1fr);gap:4px}.mainBox{height:190px;min-height:190px}.nav-logo-img{max-width:70px}.nav-sep{display:none}.project-name-text{max-width:80px;font-size:12px}.save-run-group .save-btn span{display:none}.modal-box{width:calc(100% - 24px);padding:18px 14px}.ace-titlebar{gap:5px;padding:0 8px}.ace-filename{font-size:10.5px}.ace-board-select{max-width:80px;padding:3px 5px;font-size:10.5px}.ace-gutter{width:36px;min-width:36px;font-size:10.5px}.ace-highlight,.ace-textarea{padding:8px 10px;font-size:12px}}
