:root{--primary-color: #2563eb;--primary-strong: #1d4ed8;--primary-soft: #dbeafe;--secondary-color: #d97706;--secondary-soft: #fef3c7;--danger-color: #dc2626;--success-color: #15803d;--bg-color: #f3f6f8;--panel-bg: rgba(255, 255, 255, .92);--surface-color: #ffffff;--surface-muted: #eef3f7;--text-main: #1f2933;--text-light: #64748b;--text-muted: #8191a3;--border-color: #d8e0e8;--border-strong: #b9c6d3;--shadow-soft: 0 16px 40px rgba(15, 23, 42, .12);--shadow-control: 0 6px 18px rgba(37, 99, 235, .2);--font-family: "Inter", "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, sans-serif}@media (prefers-color-scheme: dark){:root{--bg-color: #111827;--panel-bg: rgba(24, 33, 45, .94);--surface-color: #18212d;--surface-muted: #202b38;--text-main: #f8fafc;--text-light: #a7b4c4;--text-muted: #8a98aa;--border-color: #344256;--border-strong: #4b5b70;--shadow-soft: 0 18px 44px rgba(0, 0, 0, .36)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);height:100vh;overflow:hidden;font-size:14px;line-height:1.45;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.header{padding:1rem 2rem;z-index:10;display:flex;align-items:center}.header h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary-strong),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.main-content{display:flex;flex:1;overflow:hidden}.toolbar{position:absolute;top:50%;left:1.5rem;transform:translateY(-50%);display:flex;flex-direction:column;gap:.75rem;padding:1rem .75rem;z-index:20;border-radius:10px}.tool-settings{position:absolute;top:1.5rem;right:1.5rem;width:320px;max-height:calc(100vh - 3rem);padding:1.5rem;z-index:20;border-radius:10px;overflow-y:auto}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-main);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;position:relative}.toolbar-btn:hover{background:var(--primary-soft);border-color:#2563eb38;color:var(--primary-color)}.toolbar-btn.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-control);transform:translateY(-1px)}.toolbar-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:.5rem 0}.settings-group{display:flex;flex-direction:column;gap:.75rem}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.section-header{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;margin-bottom:1rem;color:var(--text-main);font-weight:700}.section-header svg{color:var(--primary-color)}.btn{padding:.75rem 1rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:650;color:var(--text-main);transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;text-align:left}.btn:hover:not(:disabled){background:#f8fbfd;border-color:var(--border-strong);box-shadow:0 4px 14px #0f172a14}.btn.active{background:var(--primary-soft);border-color:#2563eb5c;color:var(--primary-strong)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn-primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.icon-btn,.icon-text-btn{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.icon-btn{width:32px;height:32px;border-radius:6px}.icon-text-btn{min-height:32px;padding:0 .65rem;gap:.35rem;border-radius:6px;font-weight:600}.icon-btn:hover,.icon-text-btn:hover{background:var(--surface-muted);border-color:var(--border-strong);color:var(--primary-color)}.link-btn{background:transparent;border:none;color:var(--primary-color);cursor:pointer;font:inherit;font-weight:600}.auth-status{position:absolute;top:16px;right:16px;z-index:50;min-height:48px;padding:.5rem .75rem;border-radius:8px;display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:650}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0f172a75;padding:1rem}.auth-modal{width:min(420px,100%);padding:1.25rem;border-radius:8px;background:var(--panel-bg);display:flex;flex-direction:column;gap:.9rem}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;font-size:1.1rem}.auth-modal label{display:flex;flex-direction:column;gap:.3rem;color:var(--text-light);font-size:.82rem;font-weight:650}.auth-modal input{padding:.65rem;border:1px solid var(--border-color);border-radius:6px;color:var(--text-main);background:var(--surface-color);font:inherit}.form-error{border:1px solid #fecdd3;background:#fff1f2;color:#be123c;border-radius:6px;padding:.5rem;font-size:.82rem}.project-message{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:6px;padding:.5rem;font-size:.82rem}.project-menu-btn{display:flex;align-items:center;gap:8px;border:none;cursor:pointer;background:var(--surface-color);padding:10px 16px;border-radius:8px;color:var(--text-main);font-weight:650;font-size:.9rem;box-shadow:0 6px 18px #0f172a14;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.project-menu-btn:hover{background:var(--surface-muted);color:var(--primary-strong)}.project-dropdown{position:absolute;top:120%;left:0;width:360px;display:flex;flex-direction:column;gap:.7rem;z-index:100;padding:.85rem;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-soft)}.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.guest-note{display:flex;flex-direction:column;gap:.6rem;color:var(--text-light);font-size:.85rem;line-height:1.35;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:.75rem}.guest-note.inline{margin-bottom:.25rem}.project-section-title{font-size:.75rem;font-weight:750;color:var(--text-muted);text-transform:uppercase;padding-left:.25rem}.project-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.project-row:hover{background:#f8fbfd;border-color:var(--border-strong);box-shadow:0 4px 14px #0f172a12}.project-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:650}.project-row-actions{display:flex;align-items:center;gap:.25rem}.project-row-actions button{min-width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-light);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.project-row-actions button:hover{background:var(--surface-muted);color:var(--text-main)}.empty-state{color:var(--text-light);font-size:.85rem;padding:.4rem}.btn-danger{padding:.5rem;background:transparent;border:1px solid #fca5a5;color:var(--danger-color);border-radius:6px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-danger:hover{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.settings-group label{display:flex;flex-direction:column;font-size:.82rem;color:var(--text-light);gap:.25rem;font-weight:650}.settings-group input,.settings-group select{padding:.52rem .6rem;border:1px solid var(--border-color);border-radius:6px;background:var(--surface-color);color:var(--text-main);font-family:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.settings-group input:focus,.settings-group select:focus,.auth-modal input:focus{outline:none;border-color:#2563eba6;box-shadow:0 0 0 3px #2563eb21}.hint{font-size:.75rem;color:var(--text-light);margin-top:1rem;text-align:center;line-height:1.4}.logo-container{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;z-index:20;border-radius:10px}.logo-icon{color:var(--primary-color)}.logo-text{font-weight:750;font-size:1.1rem;background:linear-gradient(135deg,var(--primary-strong),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.canvas-area{flex:1;position:relative;background-color:var(--bg-color);background-image:linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px),radial-gradient(rgba(37,99,235,.18) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px;display:flex;align-items:center;justify-content:center;overflow:hidden}.circuit-list{border-radius:10px}.tool-settings strong,.circuit-list h3,.auth-modal-header strong{font-weight:750;color:var(--text-main)}button:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb29}
