.login-screen{min-height:100vh;display:grid;place-items:center;padding:var(--pad-lg);background:radial-gradient(circle at 20% 10%,rgba(234,91,11,.05),transparent 40%),radial-gradient(circle at 80% 90%,rgba(253,195,0,.06),transparent 40%),var(--color-paper)}.login-card{width:100%;max-width:480px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--pad-xl);box-shadow:0 4px 24px #0000000a}.login-banner{display:inline-block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-brand-primary);background:#ea5b0b14;padding:4px 8px;border-radius:99px;margin-bottom:var(--pad-lg)}.login-card h1{margin:0 0 var(--pad-sm) 0;font-size:1.6rem}.login-subtitle{margin:0 0 var(--pad-lg) 0;color:var(--color-muted)}.login-error{background:#cc333314;color:var(--color-danger);padding:var(--pad-md);border-radius:var(--r-md);margin-bottom:var(--pad-md);font-size:14px}.login-users{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--pad-sm)}.login-user-btn{width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:var(--pad-md) var(--pad-lg);display:flex;flex-direction:column;gap:2px;transition:border-color .12s,background .12s}.login-user-btn:hover:not(:disabled){border-color:var(--color-brand-primary);background:#ea5b0b0a}.login-user-btn:disabled{opacity:.5;cursor:not-allowed}.login-user-name{font-weight:600}.login-user-email{font-family:var(--font-mono);font-size:12px;color:var(--color-muted)}.login-empty{color:var(--color-muted);font-style:italic;padding:var(--pad-md)}.login-entra-btn{width:100%;text-align:center;font-weight:600;color:#fff;background:var(--color-brand-primary);border:1px solid var(--color-brand-primary);border-radius:var(--r-lg);padding:var(--pad-md) var(--pad-lg);transition:opacity .12s}.login-entra-btn:hover:not(:disabled){opacity:.9}.login-entra-btn:disabled{opacity:.5;cursor:not-allowed}.user-menu{display:inline-flex;align-items:center;gap:var(--pad-sm);padding:4px 4px 4px var(--pad-sm);border:1px solid var(--color-border);border-radius:99px;background:var(--color-surface)}.user-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--color-brand-primary);color:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono)}.user-name{font-size:14px;font-weight:500}.user-logout{background:transparent;border:1px solid var(--color-border);border-radius:99px;padding:4px 10px;font-size:12px;color:var(--color-muted)}.user-logout:hover{border-color:var(--color-danger);color:var(--color-danger)}.starter{display:grid;grid-template-rows:auto 1fr;gap:var(--pad-xl);padding:var(--pad-xl);max-width:1280px;margin:0 auto}.starter-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:var(--pad-xl);display:flex;flex-direction:column;gap:var(--pad-md)}.starter-hero-title{margin:0;font-size:1.4rem}.starter-hero-sub{margin:0;color:var(--color-muted);max-width:720px}.starter-uc-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.starter-uc-tab{background:none;border:1px solid var(--color-border);border-bottom:2px solid transparent;padding:8px 14px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-radius:6px 6px 0 0;text-align:left;transition:border-color 80ms}.starter-uc-tab.is-active{border-bottom-color:var(--color-brand-primary);background:#ea5b0b0f}.starter-uc-code{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);letter-spacing:.05em}.starter-uc-name{font-size:14px;font-weight:500}.starter-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--pad-md);margin-top:var(--pad-sm)}.starter-method-tile{display:flex;flex-direction:column;gap:6px;padding:var(--pad-md);border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);cursor:pointer;font:inherit;text-align:left;transition:border-color 80ms,transform 80ms}.starter-method-tile:hover{border-color:var(--color-brand-primary)}.starter-method-tile:active{transform:translateY(1px)}.starter-method-tile:disabled{opacity:.5;cursor:progress}.starter-method-name{font-weight:600;font-size:14px}.starter-method-desc{font-size:12px;color:var(--color-muted);line-height:1.4}.starter-method-blank{background:linear-gradient(135deg,rgba(234,91,11,.05),transparent);border-style:dashed}.starter-method-family-process .starter-method-name:before{content:"▶";margin-right:6px;color:var(--color-brand-primary)}.starter-method-family-cluster .starter-method-name:before{content:"◆";margin-right:6px;color:#4a8caf}.starter-method-family-matrix .starter-method-name:before{content:"▦";margin-right:6px;color:var(--color-brand-secondary, #fdc300)}.starter-method-family-diagram .starter-method-name:before{content:"⬡";margin-right:6px;color:#6a4c93}.starter-library{display:grid;grid-template-columns:220px 1fr;gap:var(--pad-lg);align-items:start}.starter-filter{display:flex;flex-direction:column;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--pad-md);position:sticky;top:var(--pad-md)}.starter-filter h3{margin:0 0 4px;font-size:13px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}.starter-filter nav{display:flex;flex-direction:column;gap:2px}.starter-filter-item{text-align:left;background:none;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;font:inherit}.starter-filter-item:hover{background:var(--color-muted-bg, #f3f3f3)}.starter-filter-item.is-active{background:#ea5b0b1a;color:var(--color-brand-primary);font-weight:600}.starter-refresh{margin-top:var(--pad-md);background:none;border:1px solid var(--color-border);border-radius:4px;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px}.starter-list{min-height:200px}.starter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--pad-md)}.starter-muted{color:var(--color-muted);font-style:italic}.starter-error{color:#a02020;font-family:var(--font-mono);font-size:13px}.board-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--pad-md);display:flex;flex-direction:column;gap:8px;min-height:130px;transition:border-color 80ms}.board-card:hover{border-color:var(--color-brand-primary)}.board-card-archived{opacity:.7}.board-card-header{display:flex;justify-content:space-between;gap:8px}.board-card-name{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.board-card-name-input{width:100%;padding:4px 8px;border:1px solid var(--color-brand-primary);border-radius:4px;font:inherit;font-size:1rem}.board-card-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;background:var(--color-muted-bg, #eee);color:var(--color-muted);border-radius:4px;align-self:flex-start}.board-card-meta{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.board-card-actions{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.board-card-actions button{font:inherit;font-size:12px;padding:5px 10px;border:1px solid var(--color-border);background:none;border-radius:4px;cursor:pointer}.board-card-actions button.primary{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.board-card-actions button:disabled{opacity:.5;cursor:not-allowed}.share-modal-dialog{border:none;border-radius:12px;padding:0;max-width:520px;width:min(520px,92vw);box-shadow:0 24px 60px #0f172a2e;background:#fff}.share-modal-dialog::backdrop{background:#0f172a52}.share-modal-form{display:flex;flex-direction:column;gap:20px;padding:24px;margin:0}.share-modal-header{display:flex;align-items:center;justify-content:space-between}.share-modal-header h2{margin:0;font-size:1.15rem;color:#0f172a}.share-modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#64748b;padding:4px 8px}.share-modal-close:hover{color:#0f172a}.share-modal-section{display:flex;flex-direction:column;gap:10px}.share-modal-section-title{margin:0;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#475569}.share-modal-muted{margin:0;color:#64748b;font-size:.9rem}.share-modal-hint{margin:4px 0 0;color:#94a3b8;font-size:.75rem}.share-modal-error{margin:0;padding:8px 12px;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:6px;color:#b91c1c;font-size:.85rem}.share-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.share-member-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.share-member-info{display:flex;flex-direction:column;min-width:0}.share-member-name{font-size:.95rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-member-self{color:var(--color-brand-primary, #ea5b0b);font-weight:500}.share-member-email{font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-role-badge{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#e2e8f0;color:#475569}.share-role-owner{background:#ea5b0b26;color:var(--color-brand-primary, #ea5b0b)}.share-role-editor{background:#4a8caf26;color:#1f4861}.share-member-remove{border:1px solid #e2e8f0;background:#fff;color:#b91c1c;border-radius:4px;padding:4px 10px;font:inherit;font-size:.8rem;cursor:pointer}.share-member-remove:hover{border-color:#b91c1c}.share-member-remove:disabled{opacity:.5;cursor:not-allowed}.share-add-button{background:var(--color-brand-primary, #ea5b0b);color:#fff;border:none;border-radius:4px;padding:6px 14px;font:inherit;font-size:.9rem;cursor:pointer}.share-add-button:disabled{opacity:.5;cursor:not-allowed}.share-combobox{position:relative;display:flex;flex-direction:column;gap:0}.share-combobox-row{display:flex;gap:10px;align-items:center}.share-combobox-input{flex:1;padding:7px 10px;border:1px solid #cbd5e1;border-radius:4px;font:inherit;font-size:.92rem}.share-combobox-input:focus{border-color:var(--color-brand-primary, #ea5b0b);outline:none}.share-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;list-style:none;margin:0;padding:4px 0;background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 8px 24px #0f172a1f;max-height:260px;overflow-y:auto}.share-combobox-option{padding:6px 12px;cursor:pointer;display:flex;flex-direction:column;gap:1px;border:none;background:transparent;text-align:left;width:100%;font:inherit;color:inherit}.share-combobox-option:hover{background:#f1f5f9}.share-combobox-option.is-selected{background:#ea5b0b1a}.share-combobox-name{font-size:.92rem;color:#0f172a}.share-combobox-email{font-size:.78rem;color:#64748b}.share-combobox-empty{padding:8px 12px;font-size:.85rem;color:#94a3b8;list-style:none}.export-modal-dialog{border:none;border-radius:12px;padding:0;max-width:560px;width:min(560px,92vw);box-shadow:0 24px 60px #0f172a2e;background:#fff}.export-modal-dialog::backdrop{background:#0f172a52}.export-modal-form{display:flex;flex-direction:column;gap:20px;padding:24px;margin:0}.export-modal-header{display:flex;align-items:center;justify-content:space-between}.export-modal-header h2{margin:0;font-size:1.15rem;color:#0f172a}.export-modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#64748b;padding:4px 8px}.export-modal-close:hover{color:#0f172a}.export-modal-section{display:flex;flex-direction:column;gap:10px}.export-modal-section-title{margin:0;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569}.export-modal-formats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-modal-format{display:flex;flex-direction:column;gap:4px;border:1px solid #cbd5e1;border-radius:8px;padding:12px;cursor:pointer;background:#f8fafc}.export-modal-format.is-active{border-color:var(--ms-orange, #ff7a00);background:#fff}.export-modal-format.is-disabled{opacity:.5;cursor:not-allowed}.export-modal-format input{margin-bottom:4px}.export-modal-format-name{font-weight:600;color:#0f172a}.export-modal-format-hint{font-size:.8rem;color:#64748b}.export-modal-actions{display:flex;justify-content:flex-end}.export-modal-trigger{background:var(--ms-orange, #ff7a00);color:#fff;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-weight:600}.export-modal-trigger:disabled{background:#cbd5e1;cursor:not-allowed}.export-modal-error{background:#fef2f2;color:#991b1b;padding:8px 10px;border-radius:6px;font-size:.85rem;margin:0}.export-modal-list-header{display:flex;align-items:center;justify-content:space-between}.export-modal-refresh{background:transparent;border:1px solid #cbd5e1;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:.8rem;color:#475569}.export-modal-refresh:disabled{opacity:.6;cursor:not-allowed}.export-modal-empty{color:#64748b;font-size:.9rem;margin:0}.export-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.export-modal-row{border:1px solid #e2e8f0;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.export-modal-row-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.export-modal-row-ts{font-size:.85rem;color:#0f172a}.export-modal-status{font-size:.75rem;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#e2e8f0;color:#334155}.export-modal-status.status-done{background:#dcfce7;color:#166534}.export-modal-status.status-failed{background:#fee2e2;color:#991b1b}.export-modal-status.status-running{background:#dbeafe;color:#1e3a8a}.export-modal-row-format{font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:#475569}.export-modal-row-counts{font-size:.8rem;color:#475569}.export-modal-row-downloads{display:flex;gap:8px}.export-modal-download{background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:4px 10px;font-size:.8rem;cursor:pointer;color:#1e293b}.export-modal-download:hover{border-color:var(--ms-orange, #ff7a00)}.export-modal-row-error{font-size:.8rem;color:#991b1b;margin:0;white-space:pre-wrap}.method-picker-dialog{border:none;padding:0;border-radius:10px;width:min(820px,92vw);max-height:min(680px,90vh);background:var(--color-surface, #fff);box-shadow:0 10px 40px #00000040}.method-picker-dialog::backdrop{background:#0006}.method-picker-form{margin:0;display:flex;flex-direction:column;max-height:inherit}.method-picker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--pad-md) var(--pad-lg);border-bottom:1px solid var(--color-border)}.method-picker-header h2{margin:0;font-size:1.1rem}.method-picker-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--color-muted);padding:2px 8px}.method-picker-close:hover{color:#222}.method-picker-tabs{display:flex;gap:4px;padding:0 var(--pad-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.method-picker-tab{background:none;border:none;padding:10px 12px;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:13px;display:inline-flex;align-items:center;gap:6px}.method-picker-tab.is-active{border-bottom-color:var(--color-brand-primary);color:var(--color-brand-primary)}.method-picker-tab-code{font-family:var(--font-mono);font-size:10px;color:var(--color-muted);letter-spacing:.05em}.method-picker-body{padding:var(--pad-lg);overflow:auto}.method-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--pad-md)}.method-picker-tile{display:flex;flex-direction:column;gap:6px;padding:var(--pad-md);border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);cursor:pointer;font:inherit;text-align:left;transition:border-color 80ms}.method-picker-tile:hover{border-color:var(--color-brand-primary)}.method-picker-tile.is-primary{border-width:2px}.method-picker-tile-name{font-weight:600;font-size:13px}.method-picker-tile-desc{font-size:11px;color:var(--color-muted);line-height:1.4}.method-picker-sub{margin:var(--pad-lg) 0 var(--pad-sm);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.method-family-process .method-picker-tile-name:before{content:"▶";margin-right:6px;color:var(--color-brand-primary)}.method-family-cluster .method-picker-tile-name:before{content:"◆";margin-right:6px;color:#4a8caf}.method-family-matrix .method-picker-tile-name:before{content:"▦";margin-right:6px;color:var(--color-brand-secondary, #fdc300)}.method-family-diagram .method-picker-tile-name:before{content:"⬡";margin-right:6px;color:#6a4c93}.icon-picker{display:flex;flex-direction:column;gap:6px;padding:6px;min-width:280px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f}.icon-picker-search{padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.icon-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:200px;overflow-y:auto}.icon-picker-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#1f2937}.icon-picker-btn:hover{background:#f1f5f9}.icon-picker-btn.is-active{border-color:var(--color-brand-primary);background:#fff7ed}.icon-picker-loading,.icon-picker-empty{grid-column:1 / -1;font-size:11px;color:#64748b;padding:8px;text-align:center}.floating-bar{position:absolute;transform:translate(-50%);z-index:30;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 20px #00000024,0 2px 4px #00000014;font-size:12px;color:var(--color-ink);white-space:nowrap;pointer-events:auto}.floating-bar-type{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand-primary);padding:2px 6px;background:#ea5b0b1a;border-radius:4px}.floating-bar-label{font-size:11px;color:var(--color-muted)}.floating-bar-count{font-family:var(--font-mono);font-size:11px;background:var(--color-muted-bg, #eee);padding:1px 6px;border-radius:999px}.floating-bar-swatches{display:inline-flex;gap:4px}.floating-bar-swatch{width:22px;height:22px;border-radius:4px;border:1.5px solid rgba(15,23,42,.12);cursor:pointer;padding:0;background:transparent}.floating-bar-swatch.is-active{outline:2px solid var(--color-brand-primary);outline-offset:1px}.floating-bar-swatch.is-default{background:linear-gradient(135deg,#fff 0% 47%,#ff7a00 47% 53%,#fff 53%);border-color:#cbd5e1}.floating-bar-swatch.is-yellow{background:#fdc300}.floating-bar-swatch.is-pink{background:#fbb4c4}.floating-bar-swatch.is-mint{background:#b6e8c8}.floating-bar-swatch.is-blue{background:#b6d3f1}.floating-bar-swatch.is-lavender{background:#d4c5f1}.floating-bar-swatch.is-peach{background:#ffd0a8}.floating-bar-swatch.is-gray{background:#d8dde3}.floating-bar-swatch.is-white{background:#fff;border-color:#cbd5e1}.floating-bar-icon-anchor{position:relative}.floating-bar-icon-flyout{position:absolute;top:calc(100% + 6px);left:0;z-index:31;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 20px #00000024,0 2px 4px #00000014;padding:0;min-width:290px}.floating-bar-pills{display:inline-flex;align-items:center;gap:4px}.floating-bar-pill-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-right:2px}.floating-bar-pill{padding:3px 8px;font:inherit;font-size:11px;border:1px solid var(--color-border);background:#fff;border-radius:4px;cursor:pointer;color:var(--color-ink)}.floating-bar-pill:hover{border-color:var(--color-brand-primary)}.floating-bar-pill.is-active{border-color:var(--color-brand-primary);background:#ea5b0b1f;color:var(--color-brand-primary);font-weight:600}.floating-bar-input{padding:3px 6px;font:inherit;font-size:12px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:110px;max-width:160px}.floating-bar-input:focus{outline:2px solid var(--color-brand-primary);outline-offset:-1px;border-color:var(--color-brand-primary)}.floating-bar-btn{padding:4px 10px;font:inherit;font-size:12px;border:1px solid var(--color-border);background:#fff;border-radius:4px;cursor:pointer;color:var(--color-ink)}.floating-bar-btn:hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.floating-bar-danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.floating-bar-danger:hover{background:#fca5a5;border-color:#ef4444;color:#7f1d1d}.floating-bar-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:14px;color:var(--color-ink)}.floating-bar-icon-btn:hover{border-color:var(--color-brand-primary)}.floating-bar-icon-btn.is-on{background:#ea5b0b1f;border-color:var(--color-brand-primary)}.floating-bar-align-row{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;background:var(--color-muted-bg, #f3f3f3);border-radius:4px}.floating-bar-align-row .floating-bar-icon-btn{width:24px;height:24px;font-size:13px;border:none;background:transparent}.floating-bar-align-row .floating-bar-icon-btn:hover{background:#ea5b0b1f}.floating-bar-align-divider-after{margin-right:4px;border-right:1px solid var(--color-border)!important;padding-right:4px;box-sizing:content-box}.floating-bar-convert{position:relative}.floating-bar-convert-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:5;display:flex;flex-direction:column;min-width:140px}.floating-bar-convert-item{padding:6px 10px;background:none;border:none;text-align:left;font:inherit;font-size:12px;cursor:pointer;color:var(--color-ink)}.floating-bar-convert-item:hover{background:#ea5b0b14;color:var(--color-brand-primary)}.settings-menu{position:relative;display:inline-block}.settings-menu-trigger{background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:calc(28px * var(--ui-scale));height:calc(28px * var(--ui-scale));font-size:calc(14px * var(--ui-scale));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#1a1a1a}.settings-menu-trigger:hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.settings-menu-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:25;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 20px #0000001f,0 2px 4px #0000000f;padding:8px;min-width:200px}.settings-menu-section-title{margin:0 0 6px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.settings-menu-popover ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.settings-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;background:none;border:none;border-radius:4px;font:inherit;font-size:13px;color:var(--color-ink);cursor:pointer;text-align:left}.settings-menu-item:hover{background:#ea5b0b14}.settings-menu-item.is-active{background:#ea5b0b1f;color:var(--color-brand-primary);font-weight:600}.settings-menu-item-value{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.settings-menu-item.is-active .settings-menu-item-value{color:var(--color-brand-primary)}.canvas-root{display:flex;flex-direction:column;height:100%;min-height:60vh}.canvas-topbar{display:flex;align-items:center;gap:var(--pad-md);padding:calc(6px * var(--ui-scale)) var(--pad-md);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-mono);font-size:calc(12px * var(--ui-scale))}.canvas-stage{flex:1;display:grid;grid-template-columns:calc(48px * var(--ui-scale)) 1fr;min-height:0;position:relative}.canvas-tool-rail{display:flex;flex-direction:column;gap:calc(4px * var(--ui-scale));padding:calc(var(--pad-sm) * var(--ui-scale)) calc(4px * var(--ui-scale));background:var(--color-surface);border-right:1px solid var(--color-border)}.canvas-tool-rail .tool-button{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;width:calc(38px * var(--ui-scale));height:calc(38px * var(--ui-scale));margin:0 auto;padding:0;cursor:pointer;font:inherit;font-size:calc(18px * var(--ui-scale));color:var(--color-muted)}.canvas-tool-rail .tool-button:hover{background:var(--color-muted-bg, #f3f3f3)}.canvas-tool-rail .tool-button.is-active{background:#ea5b0b1f;color:var(--color-brand-primary);border-color:#ea5b0b66}.canvas-tool-rail .tool-group{display:flex;flex-direction:column;gap:4px}.canvas-tool-rail .tool-group-divider{margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border, #e2e8f0)}.canvas-tool-rail .tool-icon{font-size:calc(18px * var(--ui-scale));line-height:1}.canvas-tool-rail .tool-shortcut{position:absolute;bottom:calc(1px * var(--ui-scale));right:calc(3px * var(--ui-scale));font-size:calc(8px * var(--ui-scale));color:var(--color-muted);font-family:var(--font-mono);opacity:.7;pointer-events:none}.canvas-tool-rail .tool-button.is-active .tool-shortcut{color:var(--color-brand-primary);opacity:1}.canvas-tool-rail .tool-chevron{position:absolute;top:calc(2px * var(--ui-scale));right:calc(3px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));color:var(--color-muted);line-height:1;pointer-events:none}.canvas-tool-rail .tool-anchor{position:relative}.canvas-tool-rail .tool-icon-sticky{display:inline-block;width:18px;height:18px;border-radius:3px;box-shadow:0 1px 1px #0000002e;border:1px solid rgba(0,0,0,.08)}.canvas-tool-rail .tool-icon-sticky.is-yellow{background:#fdc300}.canvas-tool-rail .tool-icon-sticky.is-pink{background:#fbb4c4}.canvas-tool-rail .tool-icon-sticky.is-mint{background:#b6e8c8}.canvas-tool-rail .tool-icon-sticky.is-blue{background:#b6d3f1}.canvas-tool-rail .tool-icon-sticky.is-lavender{background:#d4c5f1}.canvas-tool-rail .tool-icon-sticky.is-peach{background:#ffd0a8}.canvas-tool-rail .tool-icon-sticky.is-gray{background:#d8dde3}.canvas-tool-rail .tool-icon-sticky.is-white{background:#fff;border-color:#cbd5e1}.tool-flyout{position:absolute;top:0;left:calc(100% + 6px);z-index:20;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 20px #0000001f,0 2px 4px #0000000f;padding:8px;min-width:168px}.tool-flyout-title{margin:0 0 6px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.tool-flyout-color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tool-color-swatch{width:28px;height:28px;border-radius:6px;border:1.5px solid rgba(15,23,42,.12);cursor:pointer;padding:0;background:transparent}.tool-color-swatch.is-active{outline:2px solid var(--color-brand-primary);outline-offset:2px}.tool-color-swatch.is-yellow{background:#fdc300}.tool-color-swatch.is-pink{background:#fbb4c4}.tool-color-swatch.is-mint{background:#b6e8c8}.tool-color-swatch.is-blue{background:#b6d3f1}.tool-color-swatch.is-lavender{background:#d4c5f1}.tool-color-swatch.is-peach{background:#ffd0a8}.tool-color-swatch.is-gray{background:#d8dde3}.tool-color-swatch.is-white{background:#fff;border-color:#cbd5e1}.tool-flyout-shape{min-width:200px}.tool-flyout-shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.tool-shape-swatch{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:18px;color:#1f2937;padding:0}.tool-shape-swatch:hover{background:#f1f5f9}.tool-shape-swatch.is-active{border-color:var(--color-brand-primary);background:#ea5b0b1a}.tool-shape-swatch-icon{line-height:1}.tool-flyout-icon{min-width:290px}.tool-flyout-icon .icon-picker{padding:0}.tool-flyout-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tool-flyout-item{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:6px 8px;background:none;border:none;border-radius:4px;font:inherit;font-size:13px;color:var(--color-ink);cursor:pointer;text-align:left}.tool-flyout-item:hover{background:#ea5b0b14}.tool-flyout-item.is-active{background:#ea5b0b1f;color:var(--color-brand-primary)}.tool-flyout-item-icon{font-size:16px;line-height:1;text-align:center}.tool-flyout-item-label{white-space:nowrap}.tool-flyout-item-shortcut{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.canvas-bottom-strip{display:flex;align-items:center;gap:var(--pad-md);padding:calc(8px * var(--ui-scale)) var(--pad-md);border-top:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-mono);font-size:calc(13px * var(--ui-scale))}.canvas-strip-divider{flex:0 0 1px;height:14px;background:var(--color-border)}.strip-btn{background:none;border:1px solid var(--color-border);border-radius:4px;padding:calc(4px * var(--ui-scale)) calc(10px * var(--ui-scale));font:inherit;font-size:calc(13px * var(--ui-scale));cursor:pointer}.strip-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-zoom-control{display:inline-flex;align-items:center;gap:6px}.canvas-zoom-value{min-width:42px;text-align:right}.canvas-selection-count{color:var(--color-brand-primary)}.canvas-status{text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--color-muted-bg, #eee);color:var(--color-muted)}.canvas-status-connected{background:#228b2226;color:#1f7a1f}.canvas-status-connecting{background:#ea5b0b26;color:var(--color-brand-primary)}.canvas-status-disconnected{background:#c800001f;color:#a02020}.canvas-counter,.canvas-hint{color:var(--color-muted)}.canvas-hint{flex:1}.canvas-surface{flex:1;position:relative;overflow:hidden;cursor:crosshair;background-color:var(--color-canvas-bg, #fafafa);background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px);background-repeat:repeat;touch-action:none}.canvas-surface.canvas-tool-select{cursor:default}.canvas-marquee{position:absolute;pointer-events:none;border:1.5px dashed var(--color-brand-primary, #ea5b0b);background:#ea5b0b14;border-radius:2px;z-index:4}.canvas-smart-guide{position:absolute;background:var(--color-brand-primary, #ea5b0b);pointer-events:none;z-index:8}.canvas-smart-guide-vertical{width:1px}.canvas-smart-guide-horizontal{height:1px}.canvas-surface.is-panning{cursor:grab}.canvas-world{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-world>*{pointer-events:auto}.canvas-tool-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;background:#ea5b0b1a;color:var(--color-brand-primary);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.canvas-auto-route-hint{margin-left:auto;padding:4px 10px;background:#228b2226;color:#1f7a1f;border-radius:4px;font-size:12px;font-family:var(--font-sans);animation:fadeIn .2s ease-out}.canvas-upload-status{margin-left:auto;padding:4px 10px;background:#2563eb1f;color:#1d4ed8;border-radius:4px;font-size:12px;font-family:var(--font-sans);animation:fadeIn .2s ease-out}.canvas-upload-error{margin-left:auto;padding:4px 10px;background:#dc26261f;color:#b91c1c;border-radius:4px;font-size:12px;font-family:var(--font-sans);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.canvas-tool-select .canvas-obj{cursor:grab}.canvas-tool-select .canvas-obj:active{cursor:grabbing}.canvas-obj{position:absolute;user-select:none;box-sizing:border-box}.canvas-obj.is-selected{outline:2px solid var(--color-brand-primary);outline-offset:2px}.canvas-obj.is-arrow-source{outline:2px dashed #4a8caf;outline-offset:2px}.canvas-editable{width:100%;min-height:1.4em;margin:0;padding:0;border:none;outline:none;resize:none;background:transparent;font:inherit;color:inherit;line-height:inherit;overflow:hidden;field-sizing:content;box-sizing:border-box;white-space:pre-wrap;word-break:break-word}.canvas-editable:focus{outline:1px dashed rgba(234,91,11,.55);outline-offset:1px}.canvas-link-port{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--color-brand-primary);border-radius:50%;z-index:9;cursor:crosshair;opacity:0;transition:opacity .1s ease;touch-action:none;box-shadow:0 1px 2px #00000026}.canvas-tool-select .canvas-obj:hover .canvas-link-port,.canvas-tool-select .canvas-obj.is-selected .canvas-link-port{opacity:1}.canvas-link-port-n{top:-16px;left:50%;transform:translate(-50%)}.canvas-link-port-s{bottom:-16px;left:50%;transform:translate(-50%)}.canvas-link-port-e{right:-16px;top:50%;transform:translateY(-50%)}.canvas-link-port-w{left:-16px;top:50%;transform:translateY(-50%)}.canvas-resize-handle{position:absolute;width:10px;height:10px;background:#fff;border:1.5px solid var(--color-brand-primary);border-radius:50%;z-index:10;box-shadow:0 1px 2px #00000026;touch-action:none}.canvas-resize-handle-n{top:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.canvas-resize-handle-s{bottom:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.canvas-resize-handle-w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.canvas-resize-handle-e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.canvas-resize-handle-nw{top:-6px;left:-6px;cursor:nwse-resize}.canvas-resize-handle-ne{top:-6px;right:-6px;cursor:nesw-resize}.canvas-resize-handle-sw{bottom:-6px;left:-6px;cursor:nesw-resize}.canvas-resize-handle-se{bottom:-6px;right:-6px;cursor:nwse-resize}.canvas-tool-arrow .canvas-obj{cursor:crosshair}.canvas-obj-sticky{min-width:80px;min-height:40px;max-width:280px;padding:10px 12px;background:var(--sticky-bg, var(--color-brand-secondary, #fdc300));color:#222;border-radius:4px;box-shadow:0 1px 2px #0000001f,0 2px 6px #00000014;font-size:14px;white-space:pre-wrap;word-break:break-word}.canvas-obj-sticky[data-color=yellow]{--sticky-bg: #fdc300}.canvas-obj-sticky[data-color=pink]{--sticky-bg: #fbb4c4}.canvas-obj-sticky[data-color=mint]{--sticky-bg: #b6e8c8}.canvas-obj-sticky[data-color=blue]{--sticky-bg: #b6d3f1}.canvas-obj-sticky[data-color=lavender]{--sticky-bg: #d4c5f1}.canvas-obj-sticky[data-color=peach]{--sticky-bg: #ffd0a8}.canvas-obj-sticky[data-color=gray]{--sticky-bg: #d8dde3;color:#1a1a1a}.canvas-obj-sticky[data-color=white]{--sticky-bg: #ffffff;color:#1a1a1a;border:1px solid #e2e8f0}.canvas-obj-text{min-width:80px;min-height:40px;max-width:360px;padding:6px 8px;background:transparent;color:#222;font-size:16px;font-weight:500;white-space:pre-wrap;word-break:break-word}.canvas-obj-shape-rect{background:#ffffffb3;border:2px solid #4a8caf;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:13px;color:#1f4861}.canvas-shape-label{text-align:center}.canvas-obj-requirement,.canvas-obj-pain,.canvas-obj-dependency{min-width:160px;max-width:240px;padding:8px 10px 10px;border-radius:4px;font-size:13px;color:#1a1a1a;box-shadow:0 1px 2px #0000001f,0 2px 6px #00000014;display:flex;flex-direction:column;gap:4px;border-left:4px solid transparent;background:#fff}.canvas-obj-requirement{border-left-color:#4a8caf}.canvas-obj-requirement[data-priority=must]{border-left-color:#c83232}.canvas-obj-requirement[data-priority=should]{border-left-color:#ea5b0b}.canvas-obj-requirement[data-priority=could]{border-left-color:#fdc300}.canvas-obj-requirement[data-priority=wont]{border-left-color:#999;opacity:.7}.canvas-obj-pain{border-left-color:#c83232;background:#fff5f5}.canvas-obj-pain[data-severity=low]{border-left-color:#f0b070;background:#fffaf2}.canvas-obj-pain[data-severity=med]{border-left-color:#ea5b0b}.canvas-obj-pain[data-severity=high]{border-left-color:#a01010}.canvas-obj-dependency{border-left-color:#6a4c93;background:#f7f3fb}.canvas-semantic-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--color-muted);text-transform:uppercase}.canvas-category-badge{position:absolute;top:6px;right:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;letter-spacing:.04em;pointer-events:none;line-height:1.2}.canvas-category-badge[data-category=functional]{background:#4a8caf2e;color:#1f4861}.canvas-category-badge[data-category=non-functional]{background:#6a4c932e;color:#4b2f7b}.canvas-category-badge[data-category=data]{background:#ea5b0b2e;color:#7a3406}.canvas-category-badge[data-category=out-of-scope]{background:#7878782e;color:#555}.canvas-semantic-text{font-size:13px;line-height:1.35;white-space:pre-wrap;word-break:break-word}.canvas-semantic-status{margin-top:2px;font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:999px;align-self:flex-start;background:var(--color-muted-bg, #eee)}.canvas-semantic-status[data-status=open]{background:#ea5b0b26;color:var(--color-brand-primary)}.canvas-semantic-status[data-status=confirmed]{background:#228b2226;color:#1f7a1f}.canvas-semantic-status[data-status=at-risk]{background:#c8000026;color:#a02020}.canvas-obj-block{border:1px solid var(--color-border);border-radius:8px;background:#ffffff80;box-shadow:0 1px 2px #0000000f}.canvas-block-label{position:absolute;top:-22px;left:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);pointer-events:none}.canvas-obj-region{border:1px dashed rgba(0,0,0,.18);border-radius:4px;background:transparent}.canvas-region-label{position:absolute;top:6px;left:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);pointer-events:none;background:#ffffffb3;padding:1px 5px;border-radius:3px}.canvas-block-label-editing,.canvas-region-label-editing,.canvas-frame-title-editing{pointer-events:auto;min-width:80px}.canvas-obj-frame{border:2px solid #94a3b8;border-radius:10px;background:#fff6;box-shadow:0 1px 2px #0000000f}.canvas-frame-title{position:absolute;top:-26px;left:4px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.02em;color:#475569;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #e2e8f0;pointer-events:none}.canvas-obj-mindmap-node{border-radius:999px;padding:6px 14px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;background:#ff7a00;color:#fff;box-shadow:0 1px 2px #00000014;border:1px solid rgba(0,0,0,.04)}.canvas-obj-mindmap-node[data-level="1"]{background:#ffd6b3;color:#1f2937}.canvas-obj-mindmap-node[data-level="2"]{background:#f5e8d8;color:#1f2937}.canvas-obj-mindmap-node[data-level="3"],.canvas-obj-mindmap-node[data-level="4"],.canvas-obj-mindmap-node[data-level="5"],.canvas-obj-mindmap-node[data-level="6"]{background:#f1f5f9;color:#475569}.canvas-mindmap-text{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-mindmap-text-editing{text-align:left}.canvas-obj-shape{display:flex;align-items:center;justify-content:center;background:transparent;border:none}.canvas-shape-svg{position:absolute;inset:0;pointer-events:none}.canvas-shape-label{position:relative;z-index:1;font-size:13px;text-align:center;padding:4px 8px;pointer-events:none;color:#1f2937}.canvas-shape-label:has(textarea),.canvas-shape-label:has(input){pointer-events:auto}.canvas-obj-icon{display:flex;align-items:center;justify-content:center;background:transparent;border:none}.canvas-icon-fallback{font-size:11px;color:#94a3b8;font-family:var(--font-mono)}.canvas-obj-image{padding:0;overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.canvas-obj-image .canvas-image{width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}.canvas-image-loading{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 10px,#e2e8f0 10px 20px)}.canvas-image-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#dc2626;font-size:20px}.canvas-remote-cursor{position:absolute;pointer-events:none;display:flex;align-items:flex-start;gap:4px;z-index:5}.canvas-remote-cursor svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.canvas-remote-cursor-label{margin-top:14px;margin-left:-6px;padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:10px;color:#fff;white-space:nowrap;box-shadow:0 1px 2px #0003}.canvas-board-name{font-size:13px;font-weight:500;color:#1a1a1a;font-family:var(--font-base)}.canvas-board-name-input{font-size:13px;font-weight:500;color:#1a1a1a;font-family:var(--font-base);padding:2px 6px;border:1px solid var(--color-brand-primary);border-radius:4px;background:#fff;max-width:240px}.canvas-method-trigger{background:var(--color-brand-primary);color:#fff;border:none;border-radius:4px;padding:calc(5px * var(--ui-scale)) calc(12px * var(--ui-scale));font:inherit;font-size:calc(12px * var(--ui-scale));cursor:pointer}.canvas-method-trigger:hover{filter:brightness(1.05)}.canvas-export-trigger,.canvas-share-trigger,.canvas-snap-trigger{background:#fff;color:#1a1a1a;border:1px solid #cbd5e1;border-radius:4px;padding:calc(5px * var(--ui-scale)) calc(12px * var(--ui-scale));font:inherit;font-size:calc(12px * var(--ui-scale));cursor:pointer}.canvas-export-trigger:hover,.canvas-share-trigger:hover,.canvas-snap-trigger:hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.canvas-snap-trigger.is-active{background:#ea5b0b1f;color:var(--color-brand-primary);border-color:var(--color-brand-primary)}.canvas-presence{display:inline-flex;align-items:center;gap:6px}.canvas-presence-count{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.canvas-presence ul{list-style:none;margin:0;padding:0;display:inline-flex;gap:-4px}.canvas-presence-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);font-size:11px;font-weight:600;margin-left:-4px}.canvas-presence-avatar.is-self{outline:2px solid var(--color-brand-primary)}.canvas-presence-dot{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--color-surface)}.workspace-shell{display:flex;flex-direction:column;height:calc(100vh - 64px)}.workspace-toolbar{display:flex;align-items:center;gap:var(--pad-md);padding:var(--pad-sm) var(--pad-md);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.workspace-back{background:none;border:1px solid var(--color-border);border-radius:4px;padding:4px 10px;cursor:pointer;font:inherit}.workspace-back:hover{background:var(--color-muted-bg, #f3f3f3)}.workspace-board-id{font-family:var(--font-mono);font-size:12px;color:var(--color-muted)}.workspace-picker{max-width:720px;margin:0 auto;padding:var(--pad-xl);display:flex;flex-direction:column;gap:var(--pad-lg)}.workspace-sub{color:var(--color-muted);margin-top:-8px}.workspace-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--pad-lg);display:flex;flex-direction:column;gap:var(--pad-md)}.workspace-card h3{margin:0;font-size:1rem}.workspace-label{display:flex;flex-direction:column;gap:6px;font-size:13px}.workspace-label input{padding:8px 10px;border:1px solid var(--color-border);border-radius:4px;font:inherit}.workspace-card button{align-self:flex-start;background:var(--color-brand-primary);color:#fff;border:none;border-radius:4px;padding:8px 14px;cursor:pointer;font:inherit}.workspace-card button:disabled{background:var(--color-muted);cursor:not-allowed}.workspace-error{color:#a02020;font-family:var(--font-mono);font-size:13px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--pad-md) var(--pad-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-title{font-size:1.1rem;margin:0;letter-spacing:-.01em}.app-header-right{display:inline-flex;align-items:center;gap:var(--pad-md)}.app-main{flex:1;padding:var(--pad-xl)}.app-main-flush{padding:0}.app-loading{min-height:100vh;display:grid;place-items:center;grid-auto-flow:column;gap:var(--pad-md);color:var(--color-muted);font-family:var(--font-mono);font-size:13px;letter-spacing:.05em}.app-loading-dot{width:10px;height:10px;border-radius:50%;background:var(--color-brand-primary);animation:app-pulse 1.2s ease-in-out infinite}@keyframes app-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}:root{--color-brand-primary: #ea5b0b;--color-brand-secondary: #fdc300;--color-paper: #fafaf7;--color-surface: #ffffff;--color-ink: #1f1f1f;--color-muted: #6b6b6b;--color-border: #e0e0dc;--color-danger: #c33;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 24px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ui-scale: 1}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-paper);color:var(--color-ink);line-height:1.5}button{font:inherit;cursor:pointer}
