:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", ui-monospace, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:20px;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-primary-50:#eff6ff;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-2:#f1f5f9;--color-surface-3:#e2e8f0;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-faint:#94a3b8;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-ki:#8b5cf6;--color-ki-light:#ede9fe;--color-canvas-bg:#0f172a;--color-canvas-bg-2:#1e293b;--color-grid-minor:#ffffff0f;--color-grid-major:#ffffff1f;--color-grid-axis:#60a5fa47;--color-online:#10b981;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:10px;--spacing-lg:14px;--spacing-xl:20px;--topbar-h:38px;--ribbon-h:86px;--leftbar-w:200px;--rightbar-w:300px;--cmdline-h:56px;--status-h:26px;--canvas-toolbar-h:38px;--mobile-right-tab-w:56px;--mobile-topbar-h:44px;--mobile-ribbon-h:48px;--drawer-w:min(320px, 88vw);--shadow-sm:0 1px 2px 0 #0f172a0a;--shadow-md:0 2px 6px -1px #0f172a14, 0 1px 3px -1px #0f172a0f;--shadow-lg:0 10px 20px -4px #0f172a1a, 0 4px 8px -2px #0f172a0f;--shadow-drawer:-8px 0 24px -4px #0f172a2e;--t-fast:.12s cubic-bezier(.2,0,.2,1);--t-base:.2s cubic-bezier(.2,0,.2,1);--t-drawer:.28s cubic-bezier(.32, .72, 0, 1)}[data-theme=dark]{--color-bg:#0b0e14;--color-surface:#11151c;--color-surface-2:#161b24;--color-surface-3:#1d2330;--color-border:#232a36;--color-border-strong:#2f3849;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-text-faint:#64748b;--color-primary-light:#1e3a8a;--color-primary-50:#172554;--color-ki-light:#2e1065;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 2px 6px -1px #0006;--shadow-lg:0 10px 20px -4px #00000080;--shadow-drawer:-8px 0 24px -4px #0009}*,:before,:after{box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);font-size:var(--fs-md);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0;line-height:1.5;overflow:hidden}body{width:100%;position:fixed;inset:0}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:2px solid var(--color-bg);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);z-index:1000;padding:8px 12px;font-weight:500;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}.scrim{z-index:90;opacity:0;visibility:hidden;transition:opacity var(--t-drawer), visibility 0s linear var(--t-drawer);background:#0f172a80;position:fixed;inset:0}.scrim.show{opacity:1;visibility:visible;transition:opacity var(--t-drawer), visibility 0s linear 0s}.app{grid-template-rows:var(--topbar-h) var(--ribbon-h) 1fr var(--cmdline-h) var(--status-h);background:var(--color-bg);grid-template-columns:100%;height:100dvh;display:grid;overflow:hidden}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-md);height:var(--topbar-h);z-index:30;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.topbar-left,.topbar-right{align-items:center;gap:var(--spacing-sm);display:flex}.app-logo{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-ki) 100%);border-radius:var(--radius-sm);color:#fff;place-items:center;width:24px;height:24px;display:grid}.app-logo svg{width:14px;height:14px}.app-name{font-weight:700;font-size:var(--fs-lg);letter-spacing:-.2px}.project-name{align-items:center;gap:var(--spacing-xs);color:var(--color-text);border-radius:var(--radius-sm);transition:background var(--t-fast);background:0 0;border:none;padding:4px 8px;font-weight:500;display:flex}.project-name:hover{background:var(--color-surface-2)}.project-name .caret{color:var(--color-text-faint)}.saved-badge{font-size:var(--fs-sm);color:var(--color-text-muted);background:var(--color-surface-2);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.saved-badge:before{content:"";background:var(--color-success);border-radius:50%;width:6px;height:6px}.icon-btn-top{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);transition:all var(--t-fast);place-items:center;display:grid}.icon-btn-top:hover{background:var(--color-surface-2);color:var(--color-text)}.icon-btn-top svg{width:16px;height:16px}.icon-btn-top.danger{color:var(--color-error)}.lang-select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);height:28px;font-size:var(--fs-sm);color:var(--color-text);cursor:pointer;padding:0 8px}.avatar{color:#fff;width:28px;height:28px;font-weight:600;font-size:var(--fs-xs);cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;place-items:center;display:grid}.hamburger-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text);justify-content:center;align-items:center;display:none}.hamburger-btn:hover{background:var(--color-surface-2)}.hamburger-btn svg{width:20px;height:20px}.mobile-drawer-toggle,.right-tab-bar,.drawer,.scrim{display:none}.ribbon{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:var(--ribbon-h);z-index:25;flex-direction:column;flex-shrink:0;display:flex}.ribbon-tabs{border-bottom:1px solid var(--color-border);height:30px;padding:0 var(--spacing-sm);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.ribbon-tabs::-webkit-scrollbar{display:none}.ribbon-tab{height:100%;font-size:var(--fs-md);color:var(--color-text-muted);transition:all var(--t-fast);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;margin-bottom:-1px;padding:0 12px;font-weight:500;display:flex}.ribbon-tab:hover{color:var(--color-text);background:var(--color-surface-2)}.ribbon-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ribbon-tab svg{width:14px;height:14px}.ribbon-content{align-items:center;gap:var(--spacing-lg);flex:1;padding:6px 8px;display:flex;overflow:hidden}.ribbon-group{flex-direction:column;align-items:center;height:100%;padding:4px 0;display:flex;position:relative}.ribbon-group-btns{flex:1;align-items:center;gap:2px;display:flex}.ribbon-group-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;border-top:1px solid var(--color-border);text-align:center;width:100%;margin-top:2px;padding-top:3px;font-size:11px}.ribbon-color-picker{flex-direction:column;align-items:center;gap:4px;display:flex}.ribbon-color-swatch{border:2px solid var(--color-border);cursor:pointer;border-radius:4px;width:32px;height:24px;position:relative;overflow:hidden}.ribbon-color-swatch input[type=color]{cursor:pointer;opacity:0;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;top:-4px;left:-4px}.ribbon-color-swatch:hover{border-color:var(--color-primary)}.ribbon-color-label{color:var(--color-text-muted);text-align:center;font-size:11px}.ribbon-divider{background:var(--color-border);flex-shrink:0;align-self:center;width:1px;height:60%}.ribbon-btn{border-radius:var(--radius-sm);min-width:44px;height:38px;color:var(--color-text);transition:all var(--t-fast);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:4px 6px;font-size:12px;font-weight:500;display:flex}.ribbon-btn:hover{background:var(--color-primary-50);color:var(--color-primary)}[data-theme=dark] .ribbon-btn:hover{background:var(--color-surface-3);color:var(--color-primary)}.ribbon-btn:active{transform:scale(.97)}.ribbon-btn svg{width:18px;height:18px}.app-body{grid-template-columns:var(--leftbar-w) 1fr var(--rightbar-w);background:var(--color-bg);min-height:0;display:grid;position:relative;overflow:hidden}.app-body.left-collapsed{grid-template-columns:28px 1fr var(--rightbar-w)}.app-body.left-collapsed .leftbar{padding:4px}.app-body.left-collapsed .leftbar-header{border:none;justify-content:center;padding:4px}.app-body.left-collapsed .leftbar-title,.app-body.left-collapsed .leftbar .tool-section{display:none}.app-body.left-collapsed .leftbar-toggle svg{transform:rotate(180deg)}.app-body.left-collapsed .leftbar-toggle{display:grid!important}.app-body.right-collapsed{grid-template-columns:var(--leftbar-w) 1fr 28px}.app-body.both-collapsed{grid-template-columns:0 1fr 0}.leftbar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.leftbar-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.leftbar-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.leftbar-resize-handle{cursor:col-resize;z-index:10;width:4px;position:absolute;top:0;bottom:0;right:-2px}.leftbar-resize-handle:hover{background:var(--color-primary)}.tool-section-chevron{flex-shrink:0;font-size:8px;display:inline-block}.leftbar-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:600}.leftbar-toggle{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--color-text-muted);transition:all var(--t-fast);place-items:center;display:grid}.leftbar-toggle:hover{background:var(--color-surface-2);color:var(--color-text)}.leftbar-toggle svg{width:14px;height:14px}.tool-section{padding:var(--spacing-sm) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.tool-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-faint);padding:0 6px 6px;font-size:10px;font-weight:600}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px;display:grid}.tool-btn{border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:8px 4px;display:flex;position:relative}.tool-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.tool-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px -1px #2563eb66}.tool-btn svg{stroke-width:1.8px;width:20px;height:20px}.tool-btn-label{white-space:nowrap;font-size:10px;font-weight:500;line-height:1}.tool-btn-kbd{color:var(--color-text-faint);background:var(--color-surface-2);font-size:9px;font-weight:600;font-family:var(--font-mono);opacity:0;transition:opacity var(--t-fast);border-radius:2px;padding:0 3px;position:absolute;top:2px;right:4px}.tool-btn:hover .tool-btn-kbd{opacity:1}.tool-btn.active .tool-btn-kbd{color:#ffffffb3;background:#ffffff26}.leftbar-footer{padding:var(--spacing-sm);border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-around;margin-top:auto;display:flex}.leftbar-footer-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--t-fast);place-items:center;display:grid}.leftbar-footer-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.leftbar-footer-btn svg{width:16px;height:16px}.canvas-area{background:var(--color-canvas-bg);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.canvas-toolbar{z-index:5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);height:var(--canvas-toolbar-h);align-items:center;gap:2px;padding:0 4px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.canvas-toolbar-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text);transition:all var(--t-fast);place-items:center;display:grid}.canvas-toolbar-btn:hover{background:var(--color-surface-2)}.canvas-toolbar-btn.active{background:var(--color-primary);color:#fff}.canvas-toolbar-btn svg{width:16px;height:16px}.canvas-toolbar-divider{background:var(--color-border);width:1px;height:18px;margin:0 4px}.canvas-zoom-display{font-size:var(--fs-sm);font-weight:600;font-family:var(--font-mono);color:var(--color-text);text-align:center;min-width:52px;padding:0 8px}.canvas-coords{z-index:5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:6px 10px;display:flex;position:absolute;top:12px;left:12px}.canvas-coords-label{color:var(--color-text-muted);margin-right:4px}.canvas-coords-val{font-weight:600}.canvas-view-tabs{z-index:5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.canvas-view-tab{font-size:var(--fs-xs);color:var(--color-text-muted);border-right:1px solid var(--color-border);transition:all var(--t-fast);padding:6px 10px;font-weight:600}.canvas-view-tab:last-child{border-right:none}.canvas-view-tab:hover{background:var(--color-surface-2);color:var(--color-text)}.canvas-view-tab.active{background:var(--color-primary);color:#fff}.canvas-svg{cursor:crosshair;flex:1;width:100%;height:100%;display:block}.rightbar{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.rightbar-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:repeat(4,1fr);display:grid}.rightbar-tab{color:var(--color-text-muted);transition:all var(--t-fast);border-bottom:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;font-size:10px;font-weight:500;display:flex;position:relative}.rightbar-tab:hover{color:var(--color-text);background:var(--color-surface)}.rightbar-tab.active{color:var(--color-primary);background:var(--color-surface);border-bottom-color:var(--color-primary)}.rightbar-tab svg{width:18px;height:18px}.rightbar-tab-badge{background:var(--color-ki);color:#fff;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.3;position:absolute;top:4px;right:8px}.rightbar-content{padding:var(--spacing-md);flex:1;overflow-y:auto}.rightbar-panel{display:none}.rightbar-panel.active{display:block}.panel-section{margin-bottom:var(--spacing-lg)}.panel-section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;font-weight:600;display:flex}.prop-row{margin-bottom:var(--spacing-sm);align-items:center;gap:var(--spacing-sm);grid-template-columns:90px 1fr;display:grid}.prop-label{font-size:var(--fs-sm);color:var(--color-text-muted)}.prop-input,.prop-select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);height:30px;font-size:var(--fs-sm);color:var(--color-text);width:100%;padding:0 8px;font-family:inherit}.prop-input:focus,.prop-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.prop-color-row{align-items:center;gap:6px;display:flex}.prop-color-swatch{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);flex-shrink:0;width:22px;height:22px}.prop-swatch-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:30px;height:22px;padding:0}.layer-list{flex-direction:column;gap:2px;display:flex}.layer-item{border-radius:var(--radius-sm);font-size:var(--fs-sm);transition:background var(--t-fast);grid-template-columns:18px 18px 18px 1fr auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.layer-item:hover{background:var(--color-surface-2)}.layer-item.active{background:var(--color-primary-50);color:var(--color-primary)}[data-theme=dark] .layer-item.active{background:var(--color-surface-3)}.layer-item-name{font-weight:500}.layer-item-count{color:var(--color-text-faint);font-size:10px;font-family:var(--font-mono)}.layer-vis-btn,.layer-lock-btn,.layer-color-btn{width:18px;height:18px;color:var(--color-text-muted);border-radius:var(--radius-xs);transition:all var(--t-fast);place-items:center;display:grid}.layer-vis-btn:hover,.layer-lock-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.layer-vis-btn.off{color:var(--color-text-faint);opacity:.4}.layer-vis-btn svg,.layer-lock-btn svg{width:12px;height:12px}.layer-color-btn{border:1px solid var(--color-border);padding:0}.add-layer-btn{width:100%;height:30px;margin-top:var(--spacing-sm);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--fs-sm);transition:all var(--t-fast);justify-content:center;align-items:center;gap:6px;display:flex}.add-layer-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-50)}[data-theme=dark] .add-layer-btn:hover{background:var(--color-surface-3)}.add-layer-btn svg{width:14px;height:14px}.lib-search{margin-bottom:var(--spacing-md);position:relative}.lib-search input{border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:var(--radius-sm);width:100%;height:32px;font-size:var(--fs-sm);color:var(--color-text);padding:0 8px 0 30px}.lib-search input:focus{background:var(--color-surface);border-color:var(--color-primary);outline:none}.lib-search-icon{color:var(--color-text-faint);position:absolute;top:50%;left:8px;transform:translateY(-50%)}.lib-search-icon svg{width:14px;height:14px}.lib-categories{margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:4px;display:flex}.lib-cat{font-size:var(--fs-xs);background:var(--color-surface-2);color:var(--color-text-muted);transition:all var(--t-fast);border-radius:999px;padding:4px 10px;font-weight:500}.lib-cat:hover{background:var(--color-surface-3);color:var(--color-text)}.lib-cat.active{background:var(--color-primary);color:#fff}.lib-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lib-item{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:grab;transition:all var(--t-fast);flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.lib-item:hover{border-color:var(--color-primary);background:var(--color-primary-50);box-shadow:var(--shadow-sm);transform:translateY(-1px)}[data-theme=dark] .lib-item:hover{background:var(--color-surface-3)}.lib-item-icon{aspect-ratio:1;background:var(--color-surface);border-radius:var(--radius-sm);width:100%;color:var(--color-text);place-items:center;display:grid}.lib-item-icon svg{width:28px;height:28px}.lib-item-name{font-size:var(--fs-xs);text-align:center;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.ki-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;display:flex}.ki-avatar{background:linear-gradient(135deg, var(--color-ki) 0%, var(--color-primary) 100%);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.ki-avatar svg{width:16px;height:16px}.ki-title{font-weight:600;font-size:var(--fs-md)}.ki-status{font-size:var(--fs-xs);color:var(--color-success);align-items:center;gap:4px;margin-left:auto;display:flex}.ki-status:before{content:"";background:var(--color-success);border-radius:50%;width:6px;height:6px}.ki-suggestions{margin-bottom:var(--spacing-md);flex-direction:column;gap:4px;display:flex}.ki-suggestion-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:4px;font-weight:600}.ki-chip{background:var(--color-ki-light);color:var(--color-ki);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:left;transition:all var(--t-fast);border:1px solid #0000;align-items:center;gap:6px;padding:8px 10px;display:flex}.ki-chip:hover{background:var(--color-ki);color:#fff;border-color:var(--color-ki)}[data-theme=dark] .ki-chip{background:var(--color-ki-light)}.ki-chip svg{flex-shrink:0;width:14px;height:14px}.ki-chat{margin-bottom:var(--spacing-md);flex-direction:column;gap:8px;display:flex}.ki-msg{align-items:flex-start;gap:6px;display:flex}.ki-msg-bubble{border-radius:var(--radius-md);font-size:var(--fs-sm);max-width:100%;padding:8px 10px;line-height:1.4}.ki-msg.user .ki-msg-bubble{background:var(--color-primary);color:#fff;border-bottom-right-radius:2px}.ki-msg.assistant .ki-msg-bubble{background:var(--color-surface-2);color:var(--color-text);border-bottom-left-radius:2px}.ki-msg.assistant .ki-msg-bubble strong{color:var(--color-ki)}.ki-typing-dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite ki-typing}.ki-typing-dot:nth-child(2){animation-delay:.2s}.ki-typing-dot:nth-child(3){animation-delay:.4s}@keyframes ki-typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.ki-send-btn:disabled{opacity:.5;cursor:not-allowed}.ki-input-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--t-fast);align-items:center;padding:0 4px 0 10px;display:flex;position:relative}.ki-input-wrap:focus-within{border-color:var(--color-ki);box-shadow:0 0 0 3px var(--color-ki-light)}.ki-input{height:34px;font-size:var(--fs-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.ki-input::placeholder{color:var(--color-text-faint)}.ki-voice-btn,.ki-send-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);transition:all var(--t-fast);place-items:center;display:grid}.ki-voice-btn:hover{background:var(--color-surface-2);color:var(--color-ki)}.ki-send-btn{background:var(--color-ki);color:#fff}.ki-send-btn:hover{background:var(--color-primary)}.ki-voice-btn svg,.ki-send-btn svg{width:14px;height:14px}.cmdline{background:var(--color-surface);border-top:1px solid var(--color-border);height:var(--cmdline-h);font-family:var(--font-mono);font-size:var(--fs-sm);z-index:20;flex-shrink:0;align-items:stretch;display:flex}.cmdline-history{border-right:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column-reverse;flex:1;padding:6px 12px;display:flex;overflow-y:auto}.cmdline-history-entry{gap:8px;padding:1px 0;line-height:1.4;display:flex}.cmdline-history-entry .prefix{color:var(--color-primary);font-weight:600}.cmdline-history-entry.info .prefix{color:var(--color-text-muted)}.cmdline-history-entry.warn .prefix{color:var(--color-warning)}.cmdline-history-entry.error .prefix{color:var(--color-error)}.cmdline-history-entry .text{color:var(--color-text)}.cmdline-input-wrap{flex:1.4;align-items:center;gap:8px;padding:0 12px;display:flex}.cmdline-prompt{color:var(--color-primary);font-weight:700;font-size:var(--fs-md)}.cmdline-input{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.cmdline-input::placeholder{color:var(--color-text-faint)}.statusbar{background:var(--color-surface-2);border-top:1px solid var(--color-border);height:var(--status-h);padding:0 var(--spacing-md);font-size:var(--fs-xs);color:var(--color-text-muted);z-index:20;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.status-item{border-right:1px solid var(--color-border);height:100%;transition:all var(--t-fast);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:0 10px;display:flex}.status-item:first-child{padding-left:0}.status-item:last-child{border-right:none;margin-left:auto;padding-right:0}.status-item:hover{background:var(--color-surface-3);color:var(--color-text)}.status-item.active{color:var(--color-primary)}.status-item svg{width:12px;height:12px}.status-dot{background:var(--color-online);border-radius:50%;width:6px;height:6px;display:inline-block}@media (width<=1280px){:root{--rightbar-w:280px;--leftbar-w:180px}.ribbon-group-label{display:none}.prop-row{grid-template-columns:80px 1fr}}@media (width<=1024px){:root{--leftbar-w:64px;--rightbar-w:240px}.leftbar-title,.tool-section-label,.tool-btn-label{display:none}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:2px}.tool-btn{padding:10px 4px}.leftbar-header{justify-content:center;padding:6px}.leftbar-toggle,.ribbon-group-label,.canvas-view-tabs,.rightbar-tab span{display:none}.rightbar-tab{padding:10px 2px}.rightbar-tab svg{width:20px;height:20px}}@media (width<=768px){:root{--topbar-h:var(--mobile-topbar-h);--ribbon-h:var(--mobile-ribbon-h);--cmdline-h:44px;--status-h:32px}.hamburger-btn,.mobile-drawer-toggle{display:flex}.app-name,.saved-badge,.lang-select,.topbar>.topbar-right>:not(.hamburger-btn):not(.mobile-drawer-toggle):not(.icon-btn-top[aria-label=Benachrichtigungen]):not(.avatar){display:none}.topbar{gap:6px;padding:0 8px}.topbar-left{flex:1;min-width:0}.project-name{flex:1;min-width:0;padding:4px 6px}.project-name>span:not(.caret){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-name .caret{display:none}.icon-btn-top{width:34px;height:34px}.ribbon-tab span{display:none}.ribbon-tab{padding:0 12px}.ribbon-tab svg{width:16px;height:16px}.ribbon-content{gap:8px;padding:0 8px;overflow-x:auto}.ribbon-group{display:none}.ribbon-group.compact-mobile{flex-direction:row;flex:1;align-items:center;gap:2px;min-width:0;height:100%;padding:0;display:flex}.ribbon-group.compact-mobile .ribbon-group-btns{flex:1;justify-content:space-around}.ribbon-divider{display:none}.ribbon-btn{min-width:36px}.ribbon-btn span{display:none}.app-body{grid-template-columns:1fr}.leftbar,.rightbar{z-index:100;width:var(--drawer-w);background:var(--color-surface);max-width:88vw;box-shadow:var(--shadow-drawer);transition:transform var(--t-drawer);will-change:transform;flex-direction:column;display:flex;position:fixed;top:0;bottom:0}.leftbar{border-right:1px solid var(--color-border);left:0;transform:translate(-100%)}.rightbar{border-left:1px solid var(--color-border);width:var(--drawer-w);right:0;transform:translate(100%)}.leftbar.open,.rightbar.open{transform:translate(0)}.drawer{display:none!important}body.drawer-open{overflow:auto!important}.leftbar{-webkit-overflow-scrolling:touch;overflow-y:auto}.leftbar-toggle,.rightbar-close{display:grid!important}.rightbar-close{width:32px;height:32px;color:var(--color-text);cursor:pointer;z-index:10;background:0 0;border:none;border-radius:6px;position:absolute;top:6px;left:6px}.rightbar-close svg{width:18px;height:18px}.rightbar-close:hover{background:var(--color-surface-3)}.leftbar-title{display:block}.tool-section-label{padding:0 6px 6px;display:block}.tool-btn-label{display:block}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px}.rightbar{-webkit-overflow-scrolling:touch;overflow-y:auto}.right-tab-bar{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:15;flex-direction:column;display:flex}.right-tab-btn{min-height:0;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);transition:all var(--t-fast);border-left:3px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:9px;font-weight:500;display:flex;position:relative}.right-tab-btn svg{width:18px;height:18px}.right-tab-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.right-tab-btn.active{color:var(--color-primary);background:var(--color-primary-50);border-left-color:var(--color-primary)}[data-theme=dark] .right-tab-btn.active{background:var(--color-surface-3)}.right-tab-btn-badge{background:var(--color-ki);color:#fff;border-radius:999px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1.2;position:absolute;top:4px;right:4px}.right-tab-btn:last-child{border-bottom:none}.drawer{width:var(--drawer-w);background:var(--color-surface);z-index:100;max-width:88vw;box-shadow:var(--shadow-drawer);transition:transform var(--t-drawer);will-change:transform;flex-direction:column;display:flex;position:fixed;top:0;bottom:0}.drawer-left{border-right:1px solid var(--color-border);left:0;transform:translate(-100%)}.drawer-right{border-left:1px solid var(--color-border);right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-header{height:var(--mobile-topbar-h);border-bottom:1px solid var(--color-border);background:var(--color-surface-2);flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}.drawer-title{font-weight:600;font-size:var(--fs-md);color:var(--color-text);flex:1}.drawer-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);place-items:center;display:grid}.drawer-close:hover{background:var(--color-surface-3);color:var(--color-text)}.drawer-close svg{width:18px;height:18px}.drawer-body{padding:var(--spacing-md);flex:1;overflow-y:auto}.drawer-left .drawer-body{padding:var(--spacing-sm)}.drawer-left .tool-section{padding:8px}.drawer-left .tool-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px}.drawer-left .tool-btn{padding:10px 4px}.drawer-left .tool-btn-kbd{display:none}.drawer-left .tool-btn-label{display:block}.drawer-left .tool-section-label{padding:0 6px 6px;display:block}.drawer-right .drawer-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);flex-shrink:0;display:flex}.drawer-right .drawer-tab{font-size:var(--fs-xs);color:var(--color-text-muted);transition:all var(--t-fast);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:10px 6px;font-weight:500;display:flex}.drawer-right .drawer-tab svg{width:14px;height:14px}.drawer-right .drawer-tab.active{color:var(--color-primary);background:var(--color-surface);border-bottom-color:var(--color-primary)}.drawer-right .drawer-body{padding:var(--spacing-md)}.canvas-coords{padding:4px 8px;font-size:10px;top:8px;left:8px}.canvas-toolbar{gap:0;padding:0 2px;bottom:8px}.canvas-toolbar-btn{width:28px;height:28px}.canvas-toolbar-divider{margin:0 2px}.canvas-zoom-display{min-width:40px;padding:0 4px;font-size:11px}.cmdline-history{display:none}.cmdline-input-wrap{padding:0 8px}.cmdline-input{font-size:var(--fs-xs)}.statusbar{padding:0 4px;font-size:10px}.status-item{padding:0 6px}.status-item span:not(.status-dot){display:none}.status-item .status-text-mobile{display:inline!important}.status-dot{display:inline-block}.status-item.hide-mobile{display:none}.canvas-svg{touch-action:none}}@media (width<=480px){:root{--mobile-right-tab-w:52px}.ribbon-content{padding:0 4px}.right-tab-btn svg{width:16px;height:16px}.right-tab-btn{padding:4px 2px;font-size:8px}.topbar{padding:0 4px}.statusbar{padding:0 2px;font-size:9px}}body.drawer-open{overflow:hidden}.tree{-webkit-user-select:none;user-select:none;padding:4px 0;font-size:12px}.tree-node{position:relative}.tree-row{cursor:pointer;min-height:26px;color:var(--color-text);border-radius:4px;align-items:center;gap:4px;padding:4px 8px 4px 4px;transition:background-color .12s;display:flex}.tree-row:hover{background:var(--color-surface-2,#0000000a)}.tree-row.active{color:var(--color-primary,#2563eb);background:#2563eb1a;font-weight:500}.tree-view{padding:2px 0}.tree-node{cursor:pointer;min-height:28px;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background-color .12s;display:flex;overflow:hidden}.tree-node:hover{background:var(--color-surface-2)}.tree-node.active{background:var(--color-primary-50);color:var(--color-primary);font-weight:500}[data-theme=dark] .tree-node.active{background:var(--color-surface-3)}.tree-toggle:hover{background:var(--color-surface-3);color:var(--color-text)}.tree-toggle-placeholder{flex-shrink:0;width:16px}.tree-label{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text);flex:1;font-size:12px;overflow:hidden}.tree-node.active .tree-label{color:var(--color-primary)}.tree-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.tree-detail{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);padding:4px 8px 4px 24px}.tree-children{border-left:1px dashed var(--color-border);margin-left:11px}.lib-tree-node{margin-bottom:2px}.lib-tree-node .tree-item{cursor:pointer;min-height:28px;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background-color .12s;display:flex;overflow:hidden}.lib-tree-node .tree-item:hover{background:var(--color-surface-2)}.lib-tree-node .tree-item .tree-toggle{width:16px;color:var(--color-text-muted);flex-shrink:0;font-size:12px}.lib-tree-node .tree-item .tree-icon{flex-shrink:0;font-size:14px}.lib-tree-node .tree-item .tree-label{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text);flex:1;font-size:12px;overflow:hidden}.lib-tree-node .tree-item .tree-count{color:var(--color-text-muted);background:var(--color-surface-2);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px}.lib-tree-node .tree-children{border-left:1px dashed var(--color-border);margin-left:11px;padding-left:20px}.lib-tree-node .tree-item-leaf{cursor:grab;min-height:28px;color:var(--color-text);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background-color .12s;display:flex}.lib-tree-node .tree-item-leaf:hover{background:var(--color-surface-2)}.lib-tree-node .tree-item-leaf .tree-icon{flex-shrink:0;font-size:14px}.lib-tree-node .tree-item-leaf .tree-label{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text);flex:1;font-size:12px;overflow:hidden}.lib-tree-node .tree-item-leaf .tree-actions{opacity:0;flex-shrink:0;align-items:center;gap:2px;transition:opacity .15s;display:flex}.lib-tree-node .tree-item-leaf:hover .tree-actions{opacity:1}.tree-toggle{width:16px;height:16px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s;display:flex}.tree-toggle:hover{color:var(--color-text);background:#00000014}.tree-toggle svg{width:12px;height:12px;transition:transform .15s}.tree-toggle-leaf{visibility:hidden;cursor:default}.tree-toggle-leaf:hover{background:0 0}.tree-node[aria-expanded=true]>.tree-row>.tree-toggle svg{transform:rotate(0)}.tree-node[aria-expanded=false]>.tree-row>.tree-toggle svg{transform:rotate(-90deg)}.tree-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.tree-icon svg{width:14px;height:14px}.tree-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.tree-count{color:var(--color-text-muted);background:var(--color-surface-2,#0000000d);font-variant-numeric:tabular-nums;border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px}.tree-children{border-left:1px dashed var(--color-border,#e2e8f0);margin-left:11px;padding-left:16px}.tree-children[hidden]{display:none}.lib-drag-hint{color:var(--color-text-muted);cursor:grab;-webkit-user-select:none;user-select:none;opacity:0;flex-shrink:0;font-size:14px;transition:opacity .15s}.tree-row:hover .lib-drag-hint{opacity:.7}.lib-draggable.dragging{opacity:.4}.rightbar-panel .tree{max-height:calc(100vh - 360px);padding-right:4px;overflow-y:auto}.drawer-right .tree{padding:8px 4px;font-size:13px}.drawer-right .tree-name{font-size:13px}.drawer-right .tree-row{min-height:30px;padding:6px 10px}.plugin-manager{padding:8px}.plugin-manager-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 8px 12px;display:flex}.plugin-card{border:1px solid var(--color-border);border-radius:6px;margin-bottom:6px;transition:border-color .2s;overflow:hidden}.plugin-card.enabled{border-color:var(--color-primary)}.plugin-card.expanded .plugin-card-body{display:block}.plugin-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.plugin-icon{flex-shrink:0;align-items:center;width:20px;height:20px;display:flex}.plugin-icon svg{width:18px;height:18px}.plugin-info{flex:1;min-width:0}.plugin-name{color:var(--color-text);font-size:13px;font-weight:600}.plugin-meta{color:var(--color-text-muted);margin-top:2px;font-size:11px}.plugin-card-body{border-top:1px solid var(--color-border);padding:0 12px 12px;display:none}.plugin-description{color:var(--color-text-muted);margin:8px 0 4px;font-size:12px;line-height:1.4}.plugin-author{color:var(--color-text-muted);font-size:11px}.plugin-toggle{cursor:pointer;background:var(--color-border);border:none;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.plugin-toggle.on{background:var(--color-primary)}.plugin-toggle-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.plugin-toggle.on .plugin-toggle-knob{transform:translate(16px)}.export-menu-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;padding:16px}.export-menu-title{color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:600}.export-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--color-text);transition:background var(--t-fast);text-align:left;align-items:center;gap:12px;padding:10px 12px;display:flex}.export-menu-item:hover{background:var(--color-surface-2)}.export-menu-format{color:var(--color-primary);min-width:40px;font-size:14px;font-weight:700}.export-menu-desc{color:var(--color-text-muted);font-size:12px}.tree-node.tree-drag-before{border-top:2px solid var(--color-primary,#2563eb);margin-top:-1px}.tree-node.tree-drag-after{border-bottom:2px solid var(--color-primary,#2563eb);margin-bottom:-1px}.tree-node.tree-drag-inside{border:2px solid var(--color-primary,#2563eb);background:#2563eb14;border-radius:4px}.tree-node.tree-dragging{opacity:.4}.settings-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:500;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:90%;max-width:700px;max-height:80vh;display:flex;position:relative;overflow:hidden}.settings-modal-close{cursor:pointer;color:var(--color-text-muted);z-index:1;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;transition:background .2s,color .2s;display:flex;position:absolute;top:12px;right:12px}.settings-modal-close:hover{background:var(--color-surface-2);color:var(--color-text)}.settings-modal-tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;gap:0;padding:0 12px;display:flex;overflow-x:auto}.settings-modal-tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s}.settings-modal-tab:hover{color:var(--color-text)}.settings-modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-modal-content{flex:1;padding:20px 24px;overflow-y:auto}.settings-tab-content{flex-direction:column;gap:6px;display:flex}.settings-label{color:var(--color-text-muted);margin-top:10px;margin-bottom:2px;font-size:12px;font-weight:600}.settings-label:first-child{margin-top:0}.settings-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s}.settings-input:focus{border-color:var(--color-primary)}.settings-avatar-preview{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex}.settings-message{color:var(--color-primary);padding:8px 0;font-size:12px}.settings-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;align-self:flex-start;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .2s}.settings-btn:hover{opacity:.85}.settings-btn-danger{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#e74c3c;border:none;padding:6px 12px;font-size:12px;transition:opacity .2s}.settings-btn-danger:hover{opacity:.85}.settings-toggle-group{gap:8px;display:flex}.settings-toggle-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-muted);cursor:pointer;padding:8px 20px;font-size:13px;transition:all .2s}.settings-toggle-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.settings-color-picker{align-items:center;gap:10px;display:flex}.settings-color-picker input[type=color]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:40px;height:32px}.settings-color-value{color:var(--color-text-muted);font-family:monospace;font-size:13px}.settings-users-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.settings-user-list{flex-direction:column;gap:8px;display:flex}.settings-user-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);align-items:center;gap:12px;padding:10px 12px;display:flex}.settings-user-avatar{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.settings-user-info{flex:1;min-width:0}.settings-user-name{color:var(--color-text);font-size:13px;font-weight:600}.settings-user-email{color:var(--color-text-muted);font-size:11px}.settings-user-role{color:var(--color-primary);background:#2563eb1a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.dashboard-header-actions{align-items:center;gap:12px;display:flex}.notification-panel-wrapper{position:relative}.notification-bell-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;padding:6px;transition:background .2s;position:relative}.notification-bell-btn:hover{background:var(--color-border)}.notification-badge{background:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;right:0}.notification-dropdown{background:var(--color-bg);border:1px solid var(--color-border);z-index:1000;border-radius:8px;width:360px;max-height:480px;margin-top:8px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.notification-dropdown-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-dropdown-header h3{margin:0;font-size:14px;font-weight:600}.notification-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:18px}.notification-loading,.notification-empty{text-align:center;color:var(--color-text-muted);padding:16px;font-size:13px}.notification-list{padding:4px 0}.notification-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 16px;display:flex}.notification-item.unread{background:#3498db14}.notification-item-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notification-type-badge{text-transform:uppercase;color:var(--color-text-muted);background:var(--color-border);border-radius:3px;align-self:flex-start;padding:1px 6px;font-size:10px;font-weight:600}.notification-type-badge.type-share{color:#2ecc71;background:#2ecc7126}.notification-type-badge.type-info{color:#3498db;background:#3498db26}.notification-title{color:var(--color-text);font-size:13px;font-weight:600}.notification-message{color:var(--color-text-muted);font-size:12px;line-height:1.4}.notification-time{color:var(--color-text-muted);margin-top:2px;font-size:11px}.notification-item-actions{flex-shrink:0;gap:4px;display:flex}.notification-action-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:4px;transition:background .2s}.notification-action-btn:hover{background:var(--color-border)}.notification-action-btn.delete:hover{color:#e74c3c}.share-dialog-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-dialog{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;width:440px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #0006}.share-dialog-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.share-dialog-header h3{margin:0;font-size:16px;font-weight:600}.share-dialog-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:20px}.share-dialog-body{padding:20px}.share-form{gap:8px;margin-bottom:16px;display:flex}.share-email-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.share-permission-select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;padding:8px 12px;font-size:13px}.share-add-btn{cursor:pointer;background:var(--color-primary);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.share-add-btn:hover{opacity:.9}.share-error{color:#e74c3c;margin:8px 0;font-size:12px}.share-loading,.share-empty{text-align:center;color:var(--color-text-muted);padding:16px;font-size:13px}.share-list{flex-direction:column;gap:8px;display:flex}.share-item{border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.share-item-info{align-items:center;gap:8px;display:flex}.share-email{color:var(--color-text);font-size:13px}.share-permission-badge{text-transform:uppercase;background:var(--color-border);color:var(--color-text-muted);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.share-remove-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s}.share-remove-btn:hover{color:#e74c3c}.dashboard-project-actions{gap:6px;display:flex}.dashboard-share-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.dashboard-share-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.rightbar-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.rightbar-title{font-size:13px;font-weight:600}.rightbar-toggle{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--color-text-muted);transition:all var(--t-fast);place-items:center;display:grid}.rightbar-toggle:hover{background:var(--color-surface-2);color:var(--color-text)}.rightbar-toggle svg{width:14px;height:14px}.rightbar-edge-toggle{background:var(--color-surface-2);border-right:1px solid var(--color-border);cursor:pointer;z-index:10;width:20px;color:var(--color-text-muted);transition:color var(--t-fast);justify-content:center;align-items:flex-start;padding-top:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.rightbar-edge-toggle:hover{color:var(--color-text)}.rightbar-edge-toggle svg{width:14px;height:14px}.rightbar-resize-handle{cursor:col-resize;z-index:11;width:4px;position:absolute;top:0;bottom:0;left:-2px}.rightbar-resize-handle:hover{background:var(--color-primary)}.rightbar-content{padding-left:24px}.rightbar-tabs,.rightbar-header{margin-left:20px}.app-body.right-collapsed .rightbar-header,.app-body.right-collapsed .rightbar-tabs,.app-body.right-collapsed .rightbar-content{display:none}.app-body.right-collapsed .rightbar-edge-toggle svg{transform:rotate(180deg)}.leftbar-collapsed .tool-section,.leftbar-collapsed .leftbar-title,.leftbar-collapsed .leftbar-footer-btn:not(:first-child){display:none}.leftbar-collapsed .leftbar-header{border:none;justify-content:center;padding:4px}.leftbar-collapsed .leftbar-toggle svg{transform:rotate(180deg)}.tree-drag-before{border-top:2px solid var(--color-primary)}.tree-drag-after{border-bottom:2px solid var(--color-primary)}.tree-drag-inside{background:var(--color-surface-2);outline:2px solid var(--color-primary);outline-offset:-2px}.tree-dragging{opacity:.5}.export-format-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-format-modal{background:var(--color-surface-1,#1e1e2e);border:1px solid var(--color-border,#333);border-radius:8px;min-width:300px;padding:20px;box-shadow:0 4px 20px #0006}.export-format-modal h3{color:var(--color-text,#e0e0e0);margin:0 0 16px;font-size:16px}.export-format-buttons{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.export-format-btn{border:1px solid var(--color-border,#444);background:var(--color-surface-2,#2a2a3e);color:var(--color-text,#e0e0e0);cursor:pointer;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.export-format-btn:hover{background:var(--color-primary,#3498db);color:#fff}.export-format-cancel{border:1px solid var(--color-border,#444);width:100%;color:var(--color-text,#e0e0e0);cursor:pointer;background:0 0;border-radius:4px;padding:8px;font-size:13px}.export-format-cancel:hover{background:var(--color-surface-2,#2a2a3e)}.global-lib-tree{border-top:1px solid var(--color-border);padding:8px 0}.global-lib-header{align-items:center;gap:6px;margin-bottom:4px;padding:4px 12px;display:flex}.global-lib-title{color:var(--color-text);flex:1;font-size:12px;font-weight:600}.global-lib-add-btn{color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.global-lib-add-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.global-lib-loading{text-align:center;color:var(--color-text-faint);padding:16px;font-size:12px}.global-lib-empty{text-align:center;color:var(--color-text-faint);padding:12px;font-size:11px}.tree-global .tree-item{cursor:pointer;border-radius:3px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:flex}.tree-global .tree-item:hover{background:var(--color-bg-hover)}.tree-global .tree-item.drag-over{background:var(--color-accent-dim);outline:1px dashed var(--color-accent)}.tree-global .tree-item-leaf{cursor:grab}.tree-global .tree-item-leaf:active{cursor:grabbing}.tree-rename-input{background:var(--color-bg-secondary);border:1px solid var(--color-accent);color:var(--color-text);border-radius:3px;flex:1;min-width:0;padding:2px 6px;font-size:12px}.context-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;gap:2px;min-width:160px;padding:4px;display:flex;box-shadow:0 4px 12px #0000004d}.context-menu-item{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.dashboard-title-large{letter-spacing:-.5px;color:var(--color-text);margin:0;font-size:24px;font-weight:800}.dashboard-settings-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-muted);transition:all var(--t-fast);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.dashboard-settings-btn:hover{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.dashboard-icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--t-fast);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid;position:relative}.dashboard-icon-btn:hover{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.dashboard-icon-btn-danger:hover{color:var(--color-error);border-color:var(--color-error)}.dashboard-icon-btn[title]:after{content:attr(title);background:var(--color-surface-3);color:var(--color-text);border-radius:var(--radius-xs);white-space:nowrap;opacity:0;pointer-events:none;z-index:100;box-shadow:var(--shadow-sm);padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.dashboard-icon-btn[title]:hover:after{opacity:1}.dashboard-card-preview{border-radius:var(--radius-sm);width:100%;height:80px;margin-bottom:var(--spacing-sm);border:1px solid var(--color-border);background:var(--color-canvas-bg-2,#1e293b);overflow:hidden}.dashboard-preview-svg{width:100%;height:100%;display:block}.dashboard-card-title{font-size:var(--fs-lg);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-weight:600;overflow:hidden}.dashboard-card-desc{margin:0 0 var(--spacing-sm) 0;font-size:var(--fs-sm);color:var(--color-text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.info-panel-title-small{font-weight:500;font-size:var(--fs-md)!important}.info-panel-desc-tall{resize:vertical;min-height:120px!important}.info-panel-perm-hint{font-size:var(--fs-xs);color:var(--color-text-muted);margin:4px 0 8px}.info-panel-perm-selector{align-items:center;gap:6px;display:flex}.info-panel-perm-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);flex:1;padding:6px 8px}.info-panel-perm-type{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);padding:6px 8px}.info-panel-perm-add-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border:none;padding:6px 12px;font-weight:500}.info-panel-perm-add-btn:hover{background:var(--color-primary-hover)}.tool-section .tool-btn[title*=Gruppieren]{position:relative}.tool-section .tool-btn[title*=Gruppieren]:after{content:"";background:var(--color-accent);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;bottom:2px;right:2px}.auth-page{background:var(--color-surface-2);min-height:100vh;color:var(--color-text);justify-content:center;align-items:center;font-family:Inter,system-ui,sans-serif;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 8px 32px #0000004d}.auth-title{text-align:center;color:var(--color-primary);margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--color-text-muted);text-align:center;margin:0 0 1.5rem;font-size:1rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-field label{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.auth-field input{border:1px solid var(--color-border);background:var(--color-surface-3);color:var(--color-text);border-radius:6px;outline:none;padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s}.auth-field input:focus{border-color:var(--color-primary)}.auth-button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.auth-button:hover:not(:disabled){opacity:.9}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#ef4444;cursor:pointer;text-align:center;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;margin-bottom:1rem;padding:.625rem .875rem;font-size:.8125rem}.auth-switch{text-align:center;color:var(--color-text-muted);margin-top:1.5rem;font-size:.8125rem}.auth-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.dashboard-page{background:var(--color-surface-2);min-height:100vh;color:var(--color-text);flex-direction:column;font-family:Inter,system-ui,sans-serif;display:flex}.dashboard-3col{background:var(--color-border);flex:1;grid-template-columns:240px 1fr 300px;gap:1px;min-height:0;display:grid;overflow:hidden}.dashboard-treeview{background:var(--color-surface);padding:12px;position:relative;overflow-y:auto}.dashboard-info-panel{background:var(--color-surface);padding:16px;overflow-y:auto}.treeview-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.treeview-header h3{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.treeview-add-folder-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:flex}.treeview-add-folder-btn:hover{opacity:.85}.folder-create-form{background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:6px;margin-bottom:8px;padding:8px}.folder-create-form input{border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:4px;outline:none;padding:4px 8px;font-size:13px}.folder-create-form input:focus{border-color:var(--color-primary)}.folder-create-actions{gap:4px;margin-top:4px;display:flex}.folder-create-actions button{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.folder-create-actions button:first-child{background:var(--color-primary);color:#fff}.folder-create-actions button:last-child{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.folder-rename-form{background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:6px;margin-bottom:8px;padding:8px}.folder-rename-form input{border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:4px;outline:none;padding:4px 8px;font-size:13px}.folder-rename-form input:focus{border-color:var(--color-primary)}.folder-action-buttons{gap:2px;margin-left:4px;display:inline-flex}.folder-action-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;transition:color .15s,background .15s}.folder-action-btn:hover{color:var(--color-primary);background:#2563eb1a}.folder-action-btn.delete:hover{color:#e74c3c;background:#e74c3c1a}.folder-tree-item{cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;font-size:13px;transition:background .15s;display:flex}.folder-tree-item:hover{background:var(--color-surface-2)}.folder-tree-item.selected{background:var(--color-primary);color:#fff}.folder-tree-item.drag-over{background:var(--color-primary);opacity:.7;border:2px dashed var(--color-primary);border-radius:4px}.folder-chevron{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:16px;padding:0;font-size:10px;display:flex}.folder-chevron:hover{color:var(--color-text)}.folder-tree-item.selected .folder-chevron{color:#fffc}.folder-chevron-placeholder{flex-shrink:0;width:16px}.folder-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-count{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.folder-tree-item.selected .folder-count{color:#ffffffb3}.folder-rename-inline{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:3px;outline:none;flex:1;padding:2px 4px;font-size:13px}.context-menu-overlay{z-index:5000;position:fixed;inset:0}.context-menu{z-index:5001;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;min-width:160px;padding:4px 0;position:fixed;box-shadow:0 8px 24px #0006}.context-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:8px 16px;font-size:13px;transition:background .15s;display:block}.context-menu-item:hover{background:#2563eb1a}.context-menu-item.danger:hover{color:#e74c3c;background:#e74c3c1a}.dashboard-project-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.dashboard-open-btn{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.dashboard-open-btn:hover{opacity:.85}.info-panel-title{color:var(--color-text);margin:0 0 8px;font-size:18px;font-weight:700}.info-panel-title-input{width:100%;color:var(--color-text);background:var(--color-surface-3);border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;outline:none;margin:0 0 8px;padding:6px 8px;font-family:Inter,system-ui,sans-serif;font-size:18px;font-weight:700}.info-panel-title-input:focus{border-color:var(--color-primary)}.info-panel-description{color:var(--color-text-muted);margin:0 0 16px;font-size:14px;line-height:1.5}.info-panel-desc-textarea{width:100%;color:var(--color-text-muted);background:var(--color-surface-3);border:1px solid var(--color-border);box-sizing:border-box;resize:vertical;border-radius:6px;outline:none;min-height:60px;margin:0 0 16px;padding:8px;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}.info-panel-desc-textarea:focus{border-color:var(--color-primary)}.info-panel-section{margin-bottom:20px}.info-panel-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:4px;font-size:12px;font-weight:600}.info-panel-meta{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.info-panel-meta dt{color:var(--color-text-muted);font-size:13px;font-weight:500}.info-panel-meta dd{color:var(--color-text);margin:0;font-size:13px}.info-panel-loading,.info-panel-empty{color:var(--color-text-muted);padding:8px 0;font-size:13px}.info-panel-shares{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.info-panel-share-item{border:1px solid var(--color-border);border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;display:flex}.info-panel-share-email{color:var(--color-text)}.info-panel-share-perm{text-transform:uppercase;background:var(--color-border);color:var(--color-text-muted);border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600}.info-panel-open-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:8px;padding:10px;font-size:14px;font-weight:600}.info-panel-open-btn:hover{opacity:.85}.info-panel-save-btn{border:1px solid var(--color-primary);background:var(--color-surface);width:100%;color:var(--color-primary);cursor:pointer;border-radius:6px;margin-bottom:8px;padding:8px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.info-panel-save-btn:hover{background:var(--color-primary);color:#fff}.info-panel-save-btn:disabled{opacity:.5;cursor:not-allowed}.info-panel-placeholder{justify-content:center;align-items:center;height:100%;min-height:200px;display:flex}.info-panel-placeholder p{color:var(--color-text-muted);text-align:center;font-size:14px}.dashboard-hamburger{display:none}@media (width<=768px){.dashboard-hamburger{color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:8px;padding:4px;display:flex}.dashboard-3col{grid-template-columns:1fr;position:relative}.dashboard-treeview{z-index:200;width:min(280px,80vw);transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 16px #0000004d}.dashboard-treeview.mobile-open{transform:translate(0)}.dashboard-info-panel{z-index:200;width:min(320px,85vw);transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 16px #0000004d}.dashboard-info-panel.mobile-open{transform:translate(0)}.dashboard-scrim{z-index:150;background:#00000080;position:fixed;inset:0}.mobile-panel-close,.mobile-panel-back{color:var(--color-text);cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;align-items:center;gap:4px;width:100%;padding:8px 12px;font-size:16px;display:flex}}@media (width>=769px){.mobile-panel-close,.mobile-panel-back,.dashboard-scrim{display:none}}.dashboard-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.dashboard-brand{align-items:center;gap:1rem;display:flex}.dashboard-brand h1{color:var(--color-primary);margin:0;font-size:1.25rem;font-weight:700}.dashboard-user{color:var(--color-text-muted);font-size:13px}.dashboard-logout{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:6px;padding:.375rem .875rem;font-size:13px;transition:background .15s}.dashboard-logout:hover{background:#ffffff0d}.dashboard-content{background:var(--color-surface);padding:2rem;overflow-y:auto}.dashboard-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-section-header h2{margin:0;font-size:1.25rem;font-weight:600}.dashboard-create-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:13px;font-weight:600}.dashboard-create-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.dashboard-create-form input{border:1px solid var(--color-border);background:var(--color-surface-3);min-width:150px;color:var(--color-text);border-radius:6px;outline:none;flex:1;padding:.5rem .75rem;font-size:13px}.dashboard-create-form input:focus{border-color:var(--color-primary)}.dashboard-create-form button{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:13px;font-weight:500}.dashboard-create-form button:first-of-type{background:var(--color-primary);color:#fff}.dashboard-create-form button:last-of-type{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.dashboard-loading,.dashboard-empty{text-align:center;color:var(--color-text-muted);padding:2rem}.dashboard-project-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.dashboard-project-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:1.25rem;transition:border-color .15s,transform .1s}.dashboard-project-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.dashboard-project-card h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.dashboard-project-card p{color:var(--color-text-muted);margin:0 0 .75rem;font-size:13px}.dashboard-project-meta{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.dashboard-delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:4px;padding:.25rem .5rem;font-size:12px}.dashboard-delete-btn:hover{background:#ef44441a}
