:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas-bg:#fff;--chrome-bg:#fafafa;--chrome-bg-raised:#fff;--chrome-border:#e5e7eb;--chrome-border-2:#ececee;--chrome-field-border:#d1d5db;--chrome-text:#1f2328;--chrome-text-2:#3f4650;--chrome-text-muted:#6b7280;--chrome-text-faint:#9099a4;--chrome-hover:#f1f3f7;--chrome-press:#e7eaf0;--chrome-accent:#4f7cff;--chrome-accent-strong:#2b6fff;--chrome-accent-text:#1d4ed8;--chrome-accent-bg:#e8efff;--chrome-accent-border:#c7d6ff;--chrome-danger:#c81e2c;--chrome-danger-border:#e5484d;--chrome-danger-bg:#fdecec;--chrome-bar-shadow:#1018280a;--chrome-menu-shadow:#1018281f;--chrome-dialog-shadow:#10182838;--chrome-focus-ring:#4f7cff26;font:14px/1.4 system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas-bg:#16181d;--chrome-bg:#1f242c;--chrome-bg-raised:#272d37;--chrome-border:#363d48;--chrome-border-2:#2f353f;--chrome-field-border:#454d5a;--chrome-text:#e6e9ee;--chrome-text-2:#cbd1da;--chrome-text-muted:#9aa2ad;--chrome-text-faint:#737c89;--chrome-hover:#2e353f;--chrome-press:#353d49;--chrome-accent:#5b8bff;--chrome-accent-strong:#6e9bff;--chrome-accent-text:#a9c2ff;--chrome-accent-bg:#2a3450;--chrome-accent-border:#3b4a73;--chrome-danger:#ff7a7a;--chrome-danger-border:#b3474b;--chrome-danger-bg:#3a2627;--chrome-bar-shadow:#0006;--chrome-menu-shadow:#00000080;--chrome-dialog-shadow:#0009;--chrome-focus-ring:#5b8bff47}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--chrome-text);background:var(--canvas-bg)}.toolbar{border-right:1px solid var(--chrome-border);background:var(--chrome-bg);scrollbar-gutter:stable;flex-direction:column;gap:2px;width:max-content;min-width:176px;height:100%;padding:8px 6px;display:flex;overflow-y:auto}.toolbar-group{flex-direction:column;gap:1px;display:flex}.toolbar-group+.toolbar-group{border-top:1px solid var(--chrome-border-2);margin-top:8px;padding-top:8px}.toolbar-heading{font:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--chrome-text-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:3px 8px 5px;font-size:10px;font-weight:700;display:flex}.toolbar-heading:hover{color:var(--chrome-text-muted)}.toolbar-heading:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:1px;border-radius:4px}.toolbar-heading-chevron{flex:none;transition:transform .12s}.toolbar-heading-chevron.collapsed{transform:rotate(-90deg)}.tool-button{color:var(--chrome-text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;transition:background-color .12s,color .12s;display:flex}.tool-button-icon{color:var(--chrome-text-muted);flex:none;transition:color .12s}.tool-button-label{white-space:nowrap}.tool-button:hover{background:var(--chrome-hover)}.tool-button:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:1px}.tool-button.active{background:var(--chrome-accent-bg);color:var(--chrome-accent-text);font-weight:600}.tool-button.active .tool-button-icon{color:var(--chrome-accent-strong)}.properties-panel{border-left:1px solid var(--chrome-border);background:var(--chrome-bg);width:260px;color:var(--chrome-text);padding:12px;overflow-y:auto}.properties-empty{color:var(--chrome-text-faint)}.properties-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--chrome-text-muted);margin:0 0 8px;font-size:13px}.numeric-field,.rotation-field{grid-template-columns:1fr 80px 20px;align-items:center;gap:6px;margin-bottom:8px;display:grid}.numeric-field input,.numeric-field select,.rotation-field input{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);font:inherit;border-radius:4px;width:100%;padding:4px 6px}.color-field{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.color-field-controls{align-items:center;gap:6px;display:flex}.color-field-reset{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text-2);font:inherit;cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;line-height:1;display:inline-flex}.color-field-reset:hover{background:var(--chrome-hover)}.color-field-reset-swatch{border:1px solid #0003;border-radius:2px;width:10px;height:10px}.checkbox-field{color:var(--chrome-text-2);cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.checkbox-field input{cursor:pointer;width:15px;height:15px;accent-color:var(--chrome-accent)}.properties-subheading{letter-spacing:.04em;text-transform:uppercase;color:var(--chrome-text-faint);margin:12px 0 6px;font-size:11px;font-weight:700}.dir-picker{color:var(--chrome-text-2);grid-template-columns:1fr auto;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:grid}.dir-picker-buttons{gap:3px;display:flex}.dir-btn{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);width:26px;height:26px;color:var(--chrome-text-2);cursor:pointer;border-radius:5px;font-size:14px;line-height:1}.dir-btn:hover{background:var(--chrome-hover)}.dir-btn.active{border-color:var(--chrome-accent);background:var(--chrome-accent-bg);color:var(--chrome-accent-text)}.color-field input[type=color]{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);cursor:pointer;border-radius:4px;width:40px;height:26px;padding:0}.unit{color:var(--chrome-text-faint);font-size:12px}.properties-readonly{color:var(--chrome-text-2);justify-content:space-between;margin-top:4px;font-size:13px;display:flex}.properties-readonly-multiline{flex-direction:column;align-items:flex-start;gap:2px}.properties-readonly-multiline>span:last-child{flex-direction:column;align-items:flex-end;gap:2px;width:100%;display:flex}.properties-readonly-row{white-space:nowrap}.properties-hint{color:var(--chrome-text-muted);margin-top:12px;font-size:12px}.select-field{color:var(--chrome-text-2);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.select-field select{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);font:inherit;border-radius:4px;flex:0 0 132px;padding:4px 6px}.label-text-field{color:var(--chrome-text-2);flex-direction:column;gap:4px;margin-bottom:8px;font-size:13px;display:flex}.label-text-field textarea,.label-text-field input[type=text]{font:inherit;border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);resize:vertical;border-radius:4px;padding:4px 6px}.label-edit-btn,.properties-action-btn{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);width:100%;color:var(--chrome-text-2);font:inherit;cursor:pointer;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:13px}.label-edit-btn:hover,.properties-action-btn:hover{background:var(--chrome-hover)}.delete-button{border:1px solid var(--chrome-danger-border);background:var(--chrome-bg-raised);width:100%;color:var(--chrome-danger);cursor:pointer;font:inherit;border-radius:6px;margin-top:16px;padding:8px 10px;font-weight:500}.delete-button:hover{background:var(--chrome-danger-bg)}.column-guard-picker{color:var(--chrome-text-muted);margin:2px 0 8px;position:relative}.column-guard-picker svg{display:block}.column-guard-picker-check{cursor:pointer;width:15px;height:15px;margin:0;position:absolute;transform:translate(-50%,-50%)}.confirm-dialog{width:calc(100% - 32px);max-width:380px;box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.confirm-dialog::backdrop{background:#10182866}.confirm-dialog-body{padding:20px}.confirm-dialog-body h2{margin:0 0 8px;font-size:16px}.confirm-dialog-body p{color:var(--chrome-text-2);margin:0;font-size:13px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:8px;padding:0 20px 20px;display:flex}.confirm-dialog-actions button{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 14px;font-size:13px;font-weight:500}.confirm-dialog-actions button:hover{background:var(--chrome-hover)}.confirm-dialog-actions .confirm-primary{background:var(--chrome-accent-strong);color:#fff;border-color:#0000}.confirm-dialog-actions .confirm-primary:hover{background:var(--chrome-accent)}.confirm-dialog-actions .confirm-primary.confirm-danger{background:#e5484d}.confirm-dialog-actions .confirm-primary.confirm-danger:hover{background:#c81e2c}.stats-dialog{width:calc(100% - 32px);max-width:440px;max-height:calc(100vh - 64px);box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.stats-dialog::backdrop{background:#10182866}.stats-dialog-body{max-height:calc(100vh - 130px);padding:20px 20px 8px;overflow-y:auto}.stats-dialog-body h2{margin:0 0 2px;font-size:16px}.stats-dialog-sub{color:var(--chrome-text-faint);margin:0 0 14px;font-size:12px}.stats-section{margin-top:16px}.stats-section:first-of-type{margin-top:0}.stats-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--chrome-text-faint);margin:0 0 6px;font-size:11px;font-weight:700}.stats-list{flex-direction:column;gap:2px;margin:0;display:flex}.stats-list>div{border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:flex}.stats-list>div:nth-child(odd){background:var(--chrome-hover)}.stats-list dt{color:var(--chrome-text-2);align-items:center;gap:8px;min-width:0;display:flex}.stats-list dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:600}.stats-list .stats-total{border-top:1px solid var(--chrome-border-2);border-radius:0;margin-top:2px;font-weight:700;background:0 0!important}.stats-list .stats-total dt{color:var(--chrome-text);font-weight:700}.stats-swatch{border:1px solid var(--chrome-field-border);border-radius:3px;flex:none;display:inline-flex;overflow:hidden}.stats-swatch>span{width:10px;height:14px;display:block}.stats-empty{color:var(--chrome-text-faint);margin:0;padding:6px 8px;font-size:13px}.stats-dialog-actions{justify-content:flex-end;padding:12px 20px 20px;display:flex}.stats-dialog-actions .stats-primary{background:var(--chrome-accent-strong);color:#fff;height:34px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.stats-dialog-actions .stats-primary:hover{background:var(--chrome-accent)}.licenses-dialog{width:calc(100% - 32px);max-width:460px;max-height:calc(100vh - 64px);box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.licenses-dialog::backdrop{background:#10182866}.licenses-dialog-body{max-height:calc(100vh - 130px);padding:20px 20px 8px;overflow-y:auto}.licenses-dialog-body h2{margin:0 0 2px;font-size:16px}.licenses-dialog-sub{color:var(--chrome-text-faint);margin:0 0 14px;font-size:12px}.licenses-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.licenses-list li{background:var(--chrome-hover);border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.5}.licenses-list a{color:inherit}.licenses-restriction{color:var(--chrome-danger);margin-top:4px;font-weight:600;display:block}.licenses-dialog-actions{justify-content:flex-end;padding:12px 20px 20px;display:flex}.licenses-dialog-actions .licenses-primary{background:var(--chrome-accent-strong);color:#fff;height:34px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.licenses-dialog-actions .licenses-primary:hover{background:var(--chrome-accent)}.pdf-export-dialog{width:calc(100% - 32px);max-width:400px;box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.pdf-export-dialog::backdrop{background:#10182866}.pdf-export-dialog-body{padding:20px 20px 4px}.pdf-export-dialog-body h2{margin:0 0 2px;font-size:16px}.pdf-export-dialog-sub{color:var(--chrome-text-faint);margin:0 0 18px;font-size:12px}.pdf-export-field{color:var(--chrome-text-2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.pdf-export-field select{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);min-width:0;max-width:230px;color:var(--chrome-text);font:inherit;border-radius:4px;flex:auto;padding:5px 6px}.pdf-export-dialog-actions{justify-content:flex-end;gap:8px;padding:12px 20px 20px;display:flex}.pdf-export-dialog-actions button{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.pdf-export-dialog-actions button:hover{background:var(--chrome-hover)}.pdf-export-dialog-actions .pdf-export-primary{background:var(--chrome-accent-strong);color:#fff;border-color:#0000}.pdf-export-dialog-actions .pdf-export-primary:hover{background:var(--chrome-accent)}.project-settings-dialog{width:calc(100% - 32px);max-width:400px;box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.project-settings-dialog::backdrop{background:#10182866}.project-settings-dialog-body{padding:20px 20px 4px}.project-settings-dialog-body h2{margin:0 0 14px;font-size:16px}.project-settings-field{color:var(--chrome-text-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.project-settings-field input{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);font:inherit;border-radius:6px;padding:7px 9px;font-size:13px}.project-settings-field input:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.project-settings-hint{color:var(--chrome-text-faint);margin:8px 0 0;font-size:12px}.project-settings-dialog-actions{justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.project-settings-dialog-actions button{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.project-settings-dialog-actions button:hover{background:var(--chrome-hover)}.project-settings-dialog-actions .project-settings-primary{background:var(--chrome-accent-strong);color:#fff;border-color:#0000}.project-settings-dialog-actions .project-settings-primary:hover{background:var(--chrome-accent)}.share-dialog{width:calc(100% - 32px);max-width:480px;box-shadow:0 16px 48px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:14px;padding:0}.share-dialog::backdrop{background:#10182866}.share-dialog-header{justify-content:space-between;align-items:center;padding:16px 16px 4px 20px;display:flex}.share-dialog-header h2{margin:0;font-size:16px}.share-dialog-x{width:30px;height:30px;color:var(--chrome-text-2);cursor:pointer;background:0 0;border:none;border-radius:7px;font-size:20px;line-height:1}.share-dialog-x:hover{background:var(--chrome-hover);color:var(--chrome-text)}.share-dialog-body{padding:8px 20px 0}.share-dialog-add{gap:8px;display:flex}.share-dialog-search,.share-dialog-role,.share-dialog-member-role{box-sizing:border-box;border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;border-radius:7px;padding:0 9px;font-size:13px}.share-dialog-search{flex:1;min-width:0}.share-dialog-role{cursor:pointer;flex:none}.share-dialog-search:focus,.share-dialog-role:focus,.share-dialog-member-role:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.share-dialog-caption{letter-spacing:.02em;text-transform:uppercase;color:var(--chrome-text-faint);margin:14px 0 6px;font-size:11.5px;font-weight:600}.share-dialog-candidates{border:1px solid var(--chrome-field-border);border-radius:8px;max-height:168px;margin:0;padding:0;list-style:none;overflow-y:auto}.share-dialog-candidates li{align-items:center;gap:8px;min-height:38px;padding:0 6px 0 10px;font-size:13px;display:flex}.share-dialog-candidates li+li{border-top:1px solid var(--chrome-field-border)}.share-dialog-candidates li:hover{background:var(--chrome-hover)}.share-dialog-candidates .share-dialog-typed{background:color-mix(in srgb, var(--chrome-accent) 8%, transparent)}.share-dialog-candidates .share-dialog-empty{color:var(--chrome-text-faint);text-align:center;justify-content:center;padding:8px 10px;font-size:12.5px}.share-dialog-candidates .share-dialog-empty:hover{background:0 0}.share-dialog-members{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.share-dialog-members li{align-items:center;gap:8px;min-height:40px;font-size:13px;display:flex}.share-dialog-members li+li{border-top:1px solid var(--chrome-field-border)}.share-dialog-member-role{cursor:pointer;flex:none;height:30px;font-size:12.5px}.share-dialog-role-label{color:var(--chrome-text-faint);flex:none;font-size:12.5px}.share-dialog-email{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.share-dialog-sub{color:var(--chrome-text-faint);font-size:12px}.share-dialog-you{color:var(--chrome-text-faint)}.share-dialog-remove,.share-dialog-remove-spacer{flex:none;width:26px;height:26px}.share-dialog-remove{color:var(--chrome-danger);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:17px;line-height:1}.share-dialog-remove:hover{background:var(--chrome-danger-bg)}.share-dialog-hint{color:var(--chrome-text-faint);margin:0;font-size:12px}.share-dialog-error{background:var(--chrome-danger-bg);color:var(--chrome-danger);border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:12.5px}.share-dialog-actions{border-top:1px solid var(--chrome-field-border);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 20px 16px;display:flex}.share-dialog button.share-dialog-done,.share-dialog button.share-dialog-primary{height:34px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:0 16px;font-size:13px;font-weight:600}.share-dialog button.share-dialog-done{border-color:var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);flex:none}.share-dialog button.share-dialog-done:hover{background:var(--chrome-hover)}.share-dialog button.share-dialog-primary{background:var(--chrome-accent-strong);color:#fff}.share-dialog button.share-dialog-primary:hover{background:var(--chrome-accent)}.share-dialog button.share-dialog-primary:disabled{opacity:.55;cursor:default}.share-dialog button.share-dialog-invite-btn{flex:none;height:28px;padding:0 12px;font-size:12px}.change-password-dialog{width:calc(100% - 32px);max-width:380px;box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0}.change-password-dialog::backdrop{background:#10182866}.change-password-dialog-body{flex-direction:column;gap:14px;padding:20px 20px 4px;display:flex}.change-password-dialog-body h2{margin:0;font-size:16px}.change-password-field{color:var(--chrome-text-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.change-password-field input{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);font:inherit;border-radius:6px;padding:7px 9px;font-size:13px}.change-password-field input:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.change-password-error{color:var(--chrome-danger);margin:0;font-size:12px}.change-password-dialog-actions{justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.change-password-dialog-actions button{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.change-password-dialog-actions button:hover{background:var(--chrome-hover)}.change-password-dialog-actions button:disabled{opacity:.6;cursor:default}.change-password-dialog-actions .change-password-primary{background:var(--chrome-accent-strong);color:#fff;border-color:#0000}.change-password-dialog-actions .change-password-primary:hover:not(:disabled){background:var(--chrome-accent)}.top-bar{background:var(--chrome-bg-raised);border-bottom:1px solid var(--chrome-border);height:48px;box-shadow:0 1px 2px var(--chrome-bar-shadow);align-items:center;gap:16px;padding:0 12px;display:flex}.tb-brand{flex:0 auto;align-items:center;gap:8px;min-width:60px;display:flex}.tb-badge{background:var(--chrome-accent-bg);width:28px;height:28px;color:var(--chrome-accent);border-radius:7px;flex:none;justify-content:center;align-items:center;display:flex}.tb-name{font:inherit;color:var(--chrome-text);field-sizing:content;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 auto;min-width:120px;max-width:600px;padding:5px 8px;font-size:15px;font-weight:600}.tb-name:hover{border-color:var(--chrome-border)}.tb-name:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);background:var(--chrome-bg-raised);outline:none}.tb-save{color:var(--chrome-text-faint);white-space:nowrap;flex:none;align-items:center;gap:4px;min-width:96px;font-size:12px;display:inline-flex}.tb-save>svg{flex:none}.tb-save-pending{color:var(--chrome-text-faint);font-style:italic}.tb-save-error{color:var(--chrome-danger)}.tb-readonly{background:color-mix(in srgb, var(--chrome-accent) 14%, transparent);color:var(--chrome-accent-strong);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:11.5px;font-weight:600}.tb-save-live{color:var(--chrome-text-2)}.tb-presence{flex:none;align-items:center;padding-left:4px;display:flex}.tb-avatar{border:2px solid var(--chrome-bg);color:#fff;letter-spacing:.02em;cursor:default;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:10.5px;font-weight:700;display:inline-flex}.tb-avatar+.tb-avatar{margin-left:-7px}.tb-cursor-toggle{margin-left:4px}.tb-avatar-more{background:var(--chrome-text-faint)}.tb-live-dot{background:#16a34a;border-radius:50%;width:7px;height:7px;margin:0 2px;box-shadow:0 0 0 3px #16a34a38}.tb-actions{flex:none;align-items:center;gap:4px;display:flex}.tb-group{align-items:center;gap:2px;display:flex}.tb-theme{margin-left:auto}.tb-sep{background:var(--chrome-border);flex:none;width:1px;height:20px;margin:0 6px}.tb-btn{height:32px;color:var(--chrome-text-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:500;line-height:1;transition:background-color .12s,color .12s,box-shadow .12s;display:inline-flex}.tb-btn>svg{flex:none}.tb-btn:hover{background:var(--chrome-hover)}.tb-btn:active{background:var(--chrome-press)}.tb-btn:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:1px}.tb-btn:disabled{color:var(--chrome-text-faint);cursor:default;background:0 0}.tb-icon-only{justify-content:center;width:32px;padding:0}.tb-toggle[aria-pressed=true]{background:var(--chrome-accent-bg);color:var(--chrome-accent-text);box-shadow:inset 0 0 0 1px var(--chrome-accent-border)}.tb-toggle[aria-pressed=true]:hover{background:var(--chrome-accent-bg)}.tb-btn-danger:hover{background:var(--chrome-danger-bg);color:var(--chrome-danger)}.tb-export{display:inline-flex;position:relative}.tb-menu{z-index:30;background:var(--chrome-bg-raised);border:1px solid var(--chrome-border);min-width:180px;box-shadow:0 8px 24px var(--chrome-menu-shadow);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.tb-menu-item{width:100%;color:var(--chrome-text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.tb-menu-item:hover{background:var(--chrome-hover)}.tb-menu-check{align-items:center}.tb-menu-check>svg{color:var(--chrome-text-faint);flex:none}.tb-layers-active{color:var(--chrome-accent);border-color:var(--chrome-accent)}.tb-menu-item:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:-2px}.tb-menu-hint{color:var(--chrome-text-faint);font-size:12px;font-weight:400}.pdf-busy{z-index:10000;cursor:progress;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pdf-busy__box{color:var(--chrome-text);background:var(--chrome-bg-raised);box-shadow:0 12px 40px var(--chrome-dialog-shadow);border-radius:10px;align-items:center;gap:12px;padding:16px 24px;font-size:15px;display:flex}.pdf-busy__spinner{border:3px solid var(--chrome-field-border);border-top-color:var(--chrome-text);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite pdf-busy-spin}@keyframes pdf-busy-spin{to{transform:rotate(360deg)}}.tb-levels-menu{min-width:300px}.tb-level-row{border-radius:6px;align-items:center;gap:6px;padding:3px 4px;display:flex}.tb-level-active{background:var(--chrome-hover);box-shadow:inset 3px 0 0 var(--chrome-accent)}.tb-level-eye,.tb-level-del{width:24px;height:24px;color:var(--chrome-text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tb-level-eye:hover:not(:disabled),.tb-level-del:hover{background:var(--chrome-hover);color:var(--chrome-text-2)}.tb-level-eye:disabled{cursor:default;opacity:.5}.tb-level-name{min-width:0;color:var(--chrome-text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:5px 6px;font-size:13px;font-weight:600}.tb-level-name-input{flex:1;min-width:0}.tb-level-input{border:1px solid var(--chrome-border);background:var(--chrome-bg-raised);width:100%;color:var(--chrome-text-2);font:inherit;border-radius:6px;padding:4px 6px;font-size:13px}.tb-level-elev{flex:none;align-items:center;gap:4px;width:92px;display:inline-flex}@media (width<=1800px){.tb-btn>.tb-label-opt{display:none}}.status-bar{border-top:1px solid var(--chrome-border);background:var(--chrome-bg);color:var(--chrome-text-muted);gap:16px;padding:4px 100px 4px 12px;font-size:12px;display:flex}.status-hint{color:var(--chrome-accent-text);font-weight:500}.control-group-bar{align-items:center;gap:3px;margin-left:auto;display:inline-flex}.control-group-chip{border:1px solid var(--chrome-border);width:18px;height:18px;color:var(--chrome-text-faint);cursor:default;background:0 0;border-radius:4px;padding:0;font-size:11px;font-weight:600;line-height:1}.control-group-chip.is-occupied{border-color:var(--chrome-accent-border);background:var(--chrome-accent-bg);color:var(--chrome-accent-text);cursor:pointer}.control-group-chip.is-occupied:hover{background:var(--chrome-accent-border)}.control-group-chip.is-active{border-color:var(--chrome-accent-strong);background:var(--chrome-accent-strong);color:#fff}.ctx-menu{z-index:1200;background:var(--chrome-bg-raised);border:1px solid var(--chrome-border);min-width:200px;box-shadow:0 8px 28px var(--chrome-menu-shadow);-webkit-user-select:none;user-select:none;border-radius:8px;padding:4px;position:fixed}.ctx-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--chrome-text-faint);padding:6px 10px 4px;font-size:10px;font-weight:700}.ctx-item{width:100%;color:var(--chrome-text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px;display:block}.ctx-item:hover{background:var(--chrome-hover)}.ctx-item:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:-2px}.ctx-item:disabled{color:var(--chrome-text-faint);cursor:default;background:0 0}.ctx-item-danger{color:var(--chrome-danger)}.ctx-item-danger:hover{background:var(--chrome-danger-bg);color:var(--chrome-danger)}.ctx-sep{background:var(--chrome-border);height:1px;margin:4px 6px}.offset-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:320px;box-shadow:0 12px 40px var(--chrome-dialog-shadow);color:var(--chrome-text);background:var(--chrome-bg-raised);border:none;border-radius:12px;padding:0;overflow:hidden}.offset-dialog::backdrop{background:#10182866}.offset-dialog-body{padding:20px 20px 4px}.offset-dialog-body h2{margin:0 0 14px;font-size:16px}.offset-dialog-fields{gap:12px;display:flex}.offset-dialog-field{min-width:0;color:var(--chrome-text-2);flex-direction:column;flex:1;gap:6px;font-size:13px;display:flex}.offset-dialog-field input{box-sizing:border-box;border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);width:100%;min-width:0;color:var(--chrome-text);font:inherit;border-radius:6px;padding:7px 9px;font-size:13px}.offset-dialog-field input:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.offset-dialog-hint{color:var(--chrome-text-faint);margin:8px 0 0;font-size:12px}.offset-dialog-actions{justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.offset-dialog-actions button{border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);height:34px;color:var(--chrome-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.offset-dialog-actions button:hover{background:var(--chrome-hover)}.offset-dialog-actions .offset-dialog-primary{background:var(--chrome-accent-strong);color:#fff;border-color:#0000}.offset-dialog-actions .offset-dialog-primary:hover{background:var(--chrome-accent)}.aichat-fab{z-index:900;border:1px solid var(--chrome-border);background:var(--chrome-bg-raised);color:#7b8cff;cursor:pointer;width:48px;height:48px;box-shadow:0 6px 18px var(--chrome-menu-shadow);border-radius:50%;place-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:grid;position:fixed;bottom:16px;right:16px;overflow:hidden}.aichat-fab:hover{box-shadow:0 10px 26px var(--chrome-menu-shadow);transform:translateY(-1px)scale(1.05)}.aichat-fab svg{width:22px;height:22px;position:relative}.aichat-fab-shine svg{animation:.9s ease-in-out aichat-fab-twinkle}.aichat-fab:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffffbf,#0000);width:40%;position:absolute;inset:-20% auto -20% -60%;transform:skew(-20deg)}.aichat-fab-shine:after{animation:.9s ease-in-out aichat-fab-sweep}@keyframes aichat-fab-sweep{0%{left:-60%}to{left:130%}}@keyframes aichat-fab-twinkle{0%,to{filter:drop-shadow(0 0 #9b6bff00);transform:scale(1)}50%{filter:drop-shadow(0 0 6px #9b6bfff2);transform:scale(1.18)rotate(12deg)}}@media (prefers-reduced-motion:reduce){.aichat-fab-shine:after,.aichat-fab-shine svg{animation:none}}@keyframes aichat-fab-shimmer{0%,to{filter:drop-shadow(0 0 #fff0)}50%{filter:drop-shadow(0 0 4px #ffffffe6)}}.aichat-panel{z-index:900;background:var(--chrome-bg-raised);border:1px solid var(--chrome-border);width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 96px);box-shadow:0 16px 48px var(--chrome-menu-shadow);color:var(--chrome-text);border-radius:16px;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) aichat-panel-in;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden}@keyframes aichat-panel-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.aichat-head{border-bottom:1px solid var(--chrome-border);background:linear-gradient(135deg,#4f7cff1a,#9b6bff14);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.aichat-title{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.aichat-title-main{color:var(--chrome-text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.aichat-avatar{border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.aichat-avatar-brand{color:#fff;background:linear-gradient(135deg,#4f7cff,#9b6bff)}.aichat-title-sub{color:var(--chrome-accent-text);background:var(--chrome-accent-bg);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;max-width:240px;padding:1px 8px;font-size:10px;font-weight:600;display:inline-flex;overflow:hidden}.aichat-head-btns{gap:2px;display:flex}.aichat-head-btns button{width:26px;height:26px;color:var(--chrome-text-2);cursor:pointer;background:0 0;border:none;border-radius:7px;font-size:13px;transition:background .12s,color .12s}.aichat-head-btns button:hover{background:var(--chrome-hover);color:var(--chrome-text)}.aichat-head-btns button[aria-pressed=true]{background:var(--chrome-accent-bg);color:var(--chrome-accent-text)}.aichat-note{color:var(--chrome-text-faint);margin:0;font-size:11px}.aichat-warning{color:var(--chrome-danger);background:var(--chrome-danger-bg);border-bottom:1px solid var(--chrome-border);padding:8px 10px;font-size:12px}.aichat-model-row{border-bottom:1px solid var(--chrome-border);background:var(--chrome-bg);align-items:center;gap:6px;padding:6px 10px;display:flex}.aichat-model-select{min-width:0;font:inherit;border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);border-radius:5px;flex:1;padding:4px 6px;font-size:12px}.aichat-list{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.aichat-empty{flex-direction:column;gap:10px;display:flex}.aichat-empty p{color:var(--chrome-text-faint);margin:0;font-size:12px;line-height:1.5}.aichat-suggestions{flex-direction:column;gap:6px;display:flex}.aichat-suggestion{text-align:left;border:1px solid var(--chrome-border);background:var(--chrome-bg);color:var(--chrome-text-2);font:inherit;cursor:pointer;border-radius:9px;padding:8px 10px;font-size:12px;transition:border-color .12s,background .12s,color .12s,transform .12s}.aichat-suggestion:hover{border-color:var(--chrome-accent-border);background:var(--chrome-accent-bg);color:var(--chrome-accent-text);transform:translate(1px)}.aichat-row{align-items:flex-end;gap:6px;animation:.2s aichat-msg-in;display:flex}@keyframes aichat-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.aichat-row-user{justify-content:flex-end}.aichat-row .aichat-avatar{margin-bottom:2px}.aichat-avatar-assistant{color:#fff;background:linear-gradient(135deg,#4f7cff,#9b6bff)}.aichat-avatar-tool{background:var(--chrome-hover);color:var(--chrome-text-muted)}.aichat-avatar-error{background:var(--chrome-danger-bg);color:var(--chrome-danger)}.aichat-avatar-thinking{animation:1.4s ease-in-out infinite aichat-fab-shimmer}.aichat-msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:78%;padding:8px 11px;font-size:12.5px;line-height:1.45}.aichat-user{color:#fff;background:linear-gradient(135deg,#4f7cff,#6f8fff);border-bottom-right-radius:4px}.aichat-assistant{background:var(--chrome-hover);color:var(--chrome-text);box-shadow:0 1px 0 var(--chrome-border-2);border-bottom-left-radius:4px}.aichat-tool{color:var(--chrome-text-muted);background:var(--chrome-bg);border:1px dashed var(--chrome-border);padding:5px 9px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.aichat-typing{align-items:center;gap:3px;height:12px;display:inline-flex}.aichat-typing span{background:var(--chrome-text-muted);border-radius:999px;width:5px;height:5px;animation:1.1s ease-in-out infinite aichat-typing-bounce}.aichat-typing span:nth-child(2){animation-delay:.15s}.aichat-typing span:nth-child(3){animation-delay:.3s}@keyframes aichat-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.aichat-error{background:var(--chrome-danger-bg);color:var(--chrome-danger);border-bottom-left-radius:4px}.aichat-input{border-top:1px solid var(--chrome-border);background:var(--chrome-bg);align-items:flex-end;gap:8px;padding:10px;display:flex}.aichat-input textarea{resize:none;font:inherit;border:1px solid var(--chrome-field-border);background:var(--chrome-bg-raised);color:var(--chrome-text);border-radius:14px;flex:1;padding:8px 12px;font-size:13px;transition:border-color .12s,box-shadow .12s}.aichat-input textarea:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.aichat-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f7cff,#9b6bff);border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 4px 12px #6b5aff4d}.aichat-send-btn:hover:not(:disabled){transform:translateY(-1px)scale(1.03)}.aichat-send-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.aichat-actions{opacity:0;align-self:center;gap:2px;transition:opacity .12s;display:flex}.aichat-row:hover .aichat-actions,.aichat-actions:focus-within{opacity:1}.aichat-row-user{flex-direction:row-reverse;justify-content:flex-start}.aichat-action{width:22px;height:22px;color:var(--chrome-text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.aichat-action:hover:not(:disabled){background:var(--chrome-hover);color:var(--chrome-text)}.aichat-action:disabled{opacity:.4;cursor:default}.aichat-action-retry{color:var(--chrome-accent-text)}@media (hover:none){.aichat-actions{opacity:1}}.view-3d-container{-webkit-user-select:none;user-select:none;background-color:#ccc;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.view-3d-canvas-mount{width:100%;height:100%}.view-3d-canvas-mount canvas{-webkit-user-drag:none;width:100%;height:100%;display:block}.view-3d-loading-overlay{z-index:5;background-color:#ccc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.view-3d-loading-box{flex-direction:column;align-items:center;gap:10px;min-width:240px;display:flex}.view-3d-loading-box p{color:#444;margin:0;font-size:14px;font-weight:500}.view-3d-progress-track{background:#00000026;border-radius:4px;width:240px;height:8px;overflow:hidden}.view-3d-progress-fill{background:#2196f3;border-radius:4px;height:100%;transition:width .1s ease-out}.view-3d-progress-label{color:#666;font-size:12px}.view-3d-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.view-3d-dialog{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:1400px;height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.view-3d-header{background:#f5f5f5;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px;display:flex}.view-3d-header h2{margin:0;font-size:18px;font-weight:600}.view-3d-header-actions{align-items:center;gap:8px;display:flex}.close-btn,.fullscreen-btn,.info-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:20px;transition:background .2s;display:flex}.close-btn{font-size:24px}.close-btn:hover,.fullscreen-btn:hover,.info-btn:hover{background:#e0e0e0}.view-3d-content:fullscreen{width:100vw;height:100vh}.fullscreen-exit-btn{z-index:10;color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.fullscreen-exit-btn:hover{background:#000000bf}.view-3d-controls{background:#fafafa;border-bottom:1px solid #e0e0e0;align-items:center;gap:16px;padding:12px 16px;display:flex}.view-3d-controls label{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.view-3d-controls input{border:1px solid #ddd;border-radius:4px;width:80px;padding:6px 8px}.viewpoint-info{color:#666;margin:0;font-size:13px}.view-3d-content{background:#ccc;flex:1;position:relative;overflow:hidden}.view-3d-footer{background:#f5f5f5;border-top:1px solid #e0e0e0;justify-content:flex-end;align-items:center;padding:12px 16px;display:flex}.close-button{color:#fff;cursor:pointer;background:#2196f3;border:none;border-radius:4px;padding:8px 16px;font-weight:500;transition:background .2s}.close-button:hover{background:#1976d2}.view-3d-help-overlay{z-index:20;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.view-3d-help{background:#fff;border-radius:8px;width:90%;max-width:420px;max-height:80%;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.view-3d-help-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.view-3d-help-header h3{margin:0;font-size:16px;font-weight:600}.view-3d-help-list{margin:0;padding:12px 16px;list-style:none}.view-3d-help-list li{color:#333;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.view-3d-help-list kbd{color:#333;background:#f0f0f0;border:1px solid #ccc;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.view-3d-help-list .mouse-hint{color:#555;min-width:130px;font-size:12px;font-weight:600}.auth-gate{background:var(--chrome-bg);justify-content:center;align-items:center;width:100%;height:100%;font-family:Plus Jakarta Sans,system-ui,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.auth-gate:before,.auth-gate:after{content:"";filter:blur(70px);pointer-events:none;border-radius:50%;position:absolute}.auth-gate:before{background:color-mix(in srgb, var(--chrome-accent) 45%, transparent);width:480px;height:480px;top:-160px;left:-120px}.auth-gate:after{background:color-mix(in srgb, var(--chrome-accent-strong) 35%, transparent);width:420px;height:420px;bottom:-180px;right:-140px}.auth-gate-card{z-index:1;background:color-mix(in srgb, var(--chrome-bg-raised) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid color-mix(in srgb, var(--chrome-border) 70%, transparent);width:min(380px,100% - 32px);box-shadow:0 20px 60px var(--chrome-dialog-shadow);color:var(--chrome-text);border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:32px 28px;display:flex;position:relative}.auth-gate-badge{background:linear-gradient(135deg, var(--chrome-accent), var(--chrome-accent-strong));color:#fff;width:48px;height:48px;box-shadow:0 8px 20px color-mix(in srgb, var(--chrome-accent-strong) 45%, transparent);border-radius:14px;justify-content:center;align-items:center;display:flex}.auth-gate-card h1{letter-spacing:-.01em;text-align:center;width:100%;margin:0;font-size:21px;font-weight:800}.auth-gate-sub{color:var(--chrome-text-faint);text-align:center;margin:-8px 0 0;font-size:13px}.auth-gate-field{width:100%;color:var(--chrome-text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-gate-field input{border:1px solid var(--chrome-field-border);background:color-mix(in srgb, var(--chrome-bg-raised) 92%, transparent);color:var(--chrome-text);font:inherit;border-radius:9px;padding:10px 12px;font-size:14px}.auth-gate-field input:focus{border-color:var(--chrome-accent);box-shadow:0 0 0 3px var(--chrome-focus-ring);outline:none}.auth-gate-error{background:var(--chrome-danger-bg);width:100%;color:var(--chrome-danger);border-radius:8px;margin:0;padding:8px 10px;font-size:12.5px}.auth-gate-info{background:var(--chrome-accent-bg);width:100%;color:var(--chrome-accent-text);border-radius:8px;margin:0;padding:8px 10px;font-size:12.5px}.auth-gate-primary{background:linear-gradient(135deg, var(--chrome-accent), var(--chrome-accent-strong));color:#fff;width:100%;height:40px;font:inherit;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb, var(--chrome-accent-strong) 35%, transparent);border:none;border-radius:10px;font-size:14px;font-weight:700}.auth-gate-primary:hover{filter:brightness(1.06)}.auth-gate-primary:disabled{opacity:.6;cursor:default;filter:none;box-shadow:none}.auth-gate-links{flex-direction:column;align-items:center;gap:4px;display:flex}.auth-gate-links button{color:var(--chrome-accent-text);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px;font-size:12.5px;font-weight:500}.auth-gate-links button:hover{text-decoration:underline}.projects-dashboard{background:0 0;border:none;width:min(520px,100% - 32px);max-width:none;max-height:calc(100vh - 64px);padding:0;font-family:Plus Jakarta Sans,system-ui,Segoe UI,Roboto,sans-serif;overflow:visible}.projects-dashboard[open]{display:flex}.projects-dashboard::backdrop{-webkit-backdrop-filter:blur(3px);background:#10182859}.projects-dashboard-card{box-sizing:border-box;background:color-mix(in srgb, var(--chrome-bg-raised) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid color-mix(in srgb, var(--chrome-border) 70%, transparent);width:100%;max-height:calc(100vh - 64px);box-shadow:0 20px 60px var(--chrome-dialog-shadow);color:var(--chrome-text);border-radius:20px;flex-direction:column;gap:14px;padding:26px 26px 24px;display:flex}.projects-dashboard-header{justify-content:space-between;align-items:center;display:flex}.projects-dashboard-header h1{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}.projects-dashboard-close{border:1px solid color-mix(in srgb, var(--chrome-border) 80%, transparent);width:36px;height:36px;color:var(--chrome-text-2);cursor:pointer;background:0 0;border-radius:9px;font-size:20px;line-height:1}.projects-dashboard-close:disabled{opacity:.4;cursor:default;background:0 0}.projects-dashboard-close:hover:not(:disabled){background:var(--chrome-hover);color:var(--chrome-text)}.projects-dashboard-new{background:linear-gradient(135deg, var(--chrome-accent), var(--chrome-accent-strong));color:#fff;height:40px;font:inherit;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb, var(--chrome-accent-strong) 35%, transparent);border:none;border-radius:9px;flex-shrink:0;padding:0 16px;font-size:13px;font-weight:700}.projects-dashboard-new:hover{filter:brightness(1.06)}.projects-dashboard-new:disabled{opacity:.6;cursor:default;filter:none;box-shadow:none}.projects-dashboard-error{background:var(--chrome-danger-bg);color:var(--chrome-danger);border-radius:8px;margin:0;padding:8px 10px;font-size:12.5px}.projects-dashboard-hint{color:var(--chrome-text-faint);text-align:center;margin:0;padding:20px 0;font-size:13px}.projects-dashboard-list{flex-direction:column;flex-shrink:1;gap:6px;min-height:0;max-height:254px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.projects-dashboard-list:empty{display:none}.projects-dashboard-list li{align-items:stretch;gap:4px;display:flex}.projects-dashboard-item{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--chrome-border) 80%, transparent);background:color-mix(in srgb, var(--chrome-bg-raised) 60%, transparent);min-width:0;height:46px;color:var(--chrome-text);font:inherit;cursor:pointer;text-align:left;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;transition:background-color .15s,border-color .15s;display:flex}.projects-dashboard-item:hover{background:var(--chrome-hover);border-color:color-mix(in srgb, var(--chrome-accent) 40%, transparent)}.projects-dashboard-item:disabled{opacity:.6;cursor:default}.projects-dashboard-item-title{flex-direction:column;gap:1px;min-width:0;display:flex}.projects-dashboard-item-owner{text-overflow:ellipsis;white-space:nowrap;color:var(--chrome-text-faint);font-size:11px;overflow:hidden}.projects-dashboard-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.projects-dashboard-item-date{color:var(--chrome-text-faint);flex-shrink:0;font-size:12px}.projects-dashboard-delete{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--chrome-border) 80%, transparent);background:color-mix(in srgb, var(--chrome-bg-raised) 60%, transparent);width:40px;height:46px;color:var(--chrome-danger);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:15px}.projects-dashboard-delete:hover{background:var(--chrome-danger-bg)}.app-layout{grid-template-rows:auto 1fr auto;width:100%;height:100%;display:grid}.app-body{grid-template-columns:auto 1fr auto;min-height:0;display:grid}.app-canvas{background:var(--canvas-bg);min-width:0;min-height:0;position:relative;overflow:hidden}.app-splash{width:100%;height:100%;color:var(--chrome-text-faint);background:var(--chrome-bg);justify-content:center;align-items:center;font-size:14px;display:flex}.readonly-scope{border:0;min-width:0;margin:0;padding:0;display:contents}.readonly-scope:disabled button:not([aria-pressed=true]),.readonly-scope:disabled input,.readonly-scope:disabled select,.readonly-scope:disabled textarea{opacity:.45;cursor:not-allowed}
