:root{--posit-blue: #447099;--posit-blue-light-1: #D1DBE5;--posit-blue-light-2: #A2B8CB;--posit-blue-light-3: #7494B1;--posit-blue-dark-1: #305775;--posit-blue-dark-2: #213D4F;--posit-blue-dark-3: #17212B;--posit-gray: #404041;--posit-gray-light-1: #C2C2C4;--posit-gray-light-2: #949494;--posit-gray-light-3: #707073;--posit-gray-dark-1: #333333;--posit-gray-dark-2: #242426;--posit-gray-dark-3: #151515;--posit-orange: #D44000;--posit-orange-hover: #E57366;--posit-teal: #419599;--posit-green: #72994E;--posit-red: #DB593B;--bg-overlay: rgba(209, 219, 229, .95);--bg-modal: #ffffff;--bg-card: var(--posit-blue-light-1);--bg-card-hover: var(--posit-blue-light-2);--bg-input: #ffffff;--text-primary: var(--posit-blue-dark-3);--text-secondary: var(--posit-blue-dark-1);--text-muted: var(--posit-blue);--border-color: var(--posit-blue-light-2);--border-focus: var(--posit-blue);--accent-primary: var(--posit-orange);--accent-secondary: var(--posit-blue);--error-bg: var(--posit-red);--error-text: #c0392b;--error-bg-subtle: rgba(219, 89, 59, .08);--success-bg: var(--posit-teal);--input-bg-alpha: rgba(68, 112, 153, .08);--input-bg-alpha-hover: rgba(68, 112, 153, .15);--bg-subtle: rgba(0, 0, 0, .03);--modal-shadow: 0 20px 60px rgba(0, 0, 0, .15);--logo-filter: none;--editor-bg: #f5f5f5;--editor-header-bg: #e8eef4;--editor-header-border: #d0d8e0;--editor-text: var(--posit-blue-dark-3);--editor-text-dim: #555;--editor-text-muted: #777;--editor-accent-bg: #dce6f0;--editor-accent-border: var(--posit-blue-light-2);--editor-accent-text: #2563eb;--editor-success: #16a34a;--editor-success-bg: #dcfce7;--editor-error: #dc2626;--editor-error-bg: #fee2e2;--editor-warning: #ca8a04;--editor-info: #2563eb;--editor-note: #6366f1;--editor-drag-accent: #16a34a;--editor-disconnected-border: #ccc;--sidebar-bg: #e8eef4;--sidebar-border: #d0d8e0;--sidebar-section-bg: #dce4ee;--sidebar-section-hover: #d0dae8;--sidebar-drag-bg: #c8d8ea;--sidebar-active-accent: #4f46e5;--sidebar-drop-accent: #4f46e5;--context-menu-bg: #ffffff;--context-menu-border: #ddd;--context-menu-hover: #f0f0f0;--context-menu-shadow: rgba(0, 0, 0, .12);--context-menu-danger: #dc2626;--context-menu-danger-bg: #fee2e2;--outline-header-icon: #9333ea;--outline-code-icon: #2563eb;--outline-function-icon: #b45309;--dialog-bg: #ffffff;--dialog-border: #ddd;--dialog-shadow: rgba(0, 0, 0, .15);--dialog-input-bg: #f5f5f5;--dialog-input-border: #ccc;--dialog-input-hover-bg: #f0f0f0;--dialog-tab-active: #4f46e5;--dialog-primary-bg: #4f46e5;--dialog-primary-hover: #4338ca;--dialog-danger-bg: #fee2e2;--dialog-danger-border: #fca5a5;--dialog-disabled-bg: #e5e5e5;--dialog-file-preview-bg: #f5f5f5;--dialog-file-input-bg: #f0f0f0;--dialog-file-input-border: #ccc;--dialog-add-more-hover-bg: #e8e8e8;--warning-bg: #fef3c7;--warning-border: #fcd34d;--warning-icon: #d97706;--warning-text: #92400e;--warning-detail: #a16207;--dialog-copied-bg: #22c55e;--view-toggle-bg: #e8eef4;--view-toggle-text: var(--posit-blue);--view-toggle-hover-bg: #d0dae8;--view-toggle-hover-text: var(--posit-blue-dark-1);--view-toggle-active-bg: #d0dae8;--view-toggle-active-text: var(--posit-blue-dark-2);--replay-handle: #c0c0c0;--replay-handle-hover: #888;--replay-actor-border: #ccc;--replay-actor-me-text: #2563eb;--replay-actor-me-border: #93c5fd;--replay-actor-me-bg: rgba(37, 99, 235, .08);--replay-tooltip-bg: #ffffff;--header-preview-bg: var(--posit-blue-dark-2);--header-preview-text: #ffffff;--header-preview-hover: var(--posit-blue-dark-1);--header-preview-shadow: rgba(0, 0, 0, .15);--header-preview-shadow-hover: rgba(0, 0, 0, .25);--header-share-bg: #4f46e5;--header-share-hover: #4338ca;--summary-bg: #f0f0f0;--summary-text: #333;--summary-scrollbar-track: #f0f0f0;--summary-scrollbar-thumb: #c0c0c0;--summary-scrollbar-thumb-hover: #a0a0a0;--error-overlay-bg: #ffffff;--error-overlay-header-bg: #f5f5f5;--error-overlay-border: #ddd;--error-overlay-text: #333;--error-overlay-dismiss: #777;--diagnostics-bg: #fee2e2;--diagnostics-border: #fca5a5;--toast-bg: #213547;--toast-text: #ffffff;--toast-shadow: rgba(0, 0, 0, .15);--page-bg: #ffffff;--page-text: #213547;--link-hover: #747bff;--button-bg: #f9f9f9}:root.dark{--bg-overlay: rgba(23, 33, 43, .9);--bg-modal: var(--posit-blue-dark-2);--bg-card: var(--posit-blue-dark-1);--bg-card-hover: var(--posit-blue);--bg-input: var(--posit-blue-dark-3);--text-primary: #ffffff;--text-secondary: var(--posit-blue-light-2);--text-muted: var(--posit-blue-light-3);--border-color: var(--posit-blue-dark-1);--border-focus: var(--posit-blue);--accent-primary: var(--posit-orange);--accent-secondary: var(--posit-blue);--error-bg: var(--posit-red);--error-text: #ff8a70;--error-bg-subtle: rgba(219, 89, 59, .15);--success-bg: var(--posit-teal);--input-bg-alpha: rgba(255, 255, 255, .08);--input-bg-alpha-hover: rgba(255, 255, 255, .12);--bg-subtle: rgba(255, 255, 255, .05);--modal-shadow: 0 20px 60px rgba(0, 0, 0, .5);--logo-filter: none;--editor-bg: #1a1a2e;--editor-header-bg: #16213e;--editor-header-border: #1f3460;--editor-text: #fff;--editor-text-dim: #ccc;--editor-text-muted: #888;--editor-accent-bg: #0f3460;--editor-accent-border: #1f4460;--editor-accent-text: #60a5fa;--editor-success: #4ade80;--editor-success-bg: #0a4f0a;--editor-error: #f87171;--editor-error-bg: #4f0a0a;--editor-warning: #fbbf24;--editor-info: #60a5fa;--editor-note: #a5b4fc;--editor-drag-accent: #4ade80;--editor-disconnected-border: #333;--sidebar-bg: #16213e;--sidebar-border: #1f3460;--sidebar-section-bg: #12192e;--sidebar-section-hover: #1a2440;--sidebar-drag-bg: #1a2a4e;--sidebar-active-accent: #646cff;--sidebar-drop-accent: #646cff;--context-menu-bg: #1e1e1e;--context-menu-border: #333;--context-menu-hover: #333;--context-menu-shadow: rgba(0, 0, 0, .3);--context-menu-danger: #f87171;--context-menu-danger-bg: #3d2020;--outline-header-icon: #c586c0;--outline-code-icon: #9cdcfe;--outline-function-icon: #dcdcaa;--dialog-bg: #1e1e1e;--dialog-border: #333;--dialog-shadow: rgba(0, 0, 0, .4);--dialog-input-bg: #2d2d2d;--dialog-input-border: #444;--dialog-input-hover-bg: #252525;--dialog-tab-active: #646cff;--dialog-primary-bg: #646cff;--dialog-primary-hover: #5558dd;--dialog-danger-bg: #3d2020;--dialog-danger-border: #5a2020;--dialog-disabled-bg: #444;--dialog-file-preview-bg: #2d2d2d;--dialog-file-input-bg: #383838;--dialog-file-input-border: #555;--dialog-add-more-hover-bg: #333;--warning-bg: #3d3020;--warning-border: #5a4520;--warning-icon: #f59e0b;--warning-text: #fbbf24;--warning-detail: #d4a644;--dialog-copied-bg: #22c55e;--view-toggle-bg: #1a1a2e;--view-toggle-text: #8899bb;--view-toggle-hover-bg: #2a3a5a;--view-toggle-hover-text: #aabbdd;--view-toggle-active-bg: #2a3a5a;--view-toggle-active-text: #c0d0f0;--replay-handle: #444;--replay-handle-hover: #888;--replay-actor-border: #666;--replay-actor-me-text: #aad4ff;--replay-actor-me-border: #335580;--replay-actor-me-bg: rgba(51, 85, 128, .15);--replay-tooltip-bg: #0f0f1e;--header-preview-bg: #ffffff;--header-preview-text: #1e3a8a;--header-preview-hover: #f0f0f0;--header-preview-shadow: rgba(255, 255, 255, .3);--header-preview-shadow-hover: rgba(255, 255, 255, .4);--header-share-bg: #646cff;--header-share-hover: #5558dd;--summary-bg: #1e1e1e;--summary-text: #d4d4d4;--summary-scrollbar-track: #1e1e1e;--summary-scrollbar-thumb: #4a4a4a;--summary-scrollbar-thumb-hover: #5a5a5a;--error-overlay-bg: #1e1e1e;--error-overlay-header-bg: #2d2d2d;--error-overlay-border: #333;--error-overlay-text: #e0e0e0;--error-overlay-dismiss: #999;--diagnostics-bg: #2d1b1b;--diagnostics-border: #4a2020;--toast-bg: #3a3a3a;--toast-text: rgba(255, 255, 255, .87);--toast-shadow: rgba(0, 0, 0, .3);--page-bg: #242424;--page-text: black;--link-hover: #535bf2;--button-bg: #1a1a1a}:root.light{--bg-overlay: rgba(209, 219, 229, .95);--bg-modal: #ffffff;--bg-card: var(--posit-blue-light-1);--bg-card-hover: var(--posit-blue-light-2);--bg-input: #ffffff;--text-primary: var(--posit-blue-dark-3);--text-secondary: var(--posit-blue-dark-1);--text-muted: var(--posit-blue);--border-color: var(--posit-blue-light-2);--border-focus: var(--posit-blue);--accent-primary: var(--posit-orange);--accent-secondary: var(--posit-blue);--error-bg: var(--posit-red);--error-text: #c0392b;--error-bg-subtle: rgba(219, 89, 59, .08);--success-bg: var(--posit-teal);--input-bg-alpha: rgba(68, 112, 153, .08);--input-bg-alpha-hover: rgba(68, 112, 153, .15);--bg-subtle: rgba(0, 0, 0, .03);--modal-shadow: 0 20px 60px rgba(0, 0, 0, .15);--logo-filter: none;--editor-bg: #f5f5f5;--editor-header-bg: #e8eef4;--editor-header-border: #d0d8e0;--editor-text: var(--posit-blue-dark-3);--editor-text-dim: #555;--editor-text-muted: #777;--editor-accent-bg: #dce6f0;--editor-accent-border: var(--posit-blue-light-2);--editor-accent-text: #2563eb;--editor-success: #16a34a;--editor-success-bg: #dcfce7;--editor-error: #dc2626;--editor-error-bg: #fee2e2;--editor-warning: #ca8a04;--editor-info: #2563eb;--editor-note: #6366f1;--editor-drag-accent: #16a34a;--editor-disconnected-border: #ccc;--sidebar-bg: #e8eef4;--sidebar-border: #d0d8e0;--sidebar-section-bg: #dce4ee;--sidebar-section-hover: #d0dae8;--sidebar-drag-bg: #c8d8ea;--sidebar-active-accent: #4f46e5;--sidebar-drop-accent: #4f46e5;--context-menu-bg: #ffffff;--context-menu-border: #ddd;--context-menu-hover: #f0f0f0;--context-menu-shadow: rgba(0, 0, 0, .12);--context-menu-danger: #dc2626;--context-menu-danger-bg: #fee2e2;--outline-header-icon: #9333ea;--outline-code-icon: #2563eb;--outline-function-icon: #b45309;--dialog-bg: #ffffff;--dialog-border: #ddd;--dialog-shadow: rgba(0, 0, 0, .15);--dialog-input-bg: #f5f5f5;--dialog-input-border: #ccc;--dialog-input-hover-bg: #f0f0f0;--dialog-tab-active: #4f46e5;--dialog-primary-bg: #4f46e5;--dialog-primary-hover: #4338ca;--dialog-danger-bg: #fee2e2;--dialog-danger-border: #fca5a5;--dialog-disabled-bg: #e5e5e5;--dialog-file-preview-bg: #f5f5f5;--dialog-file-input-bg: #f0f0f0;--dialog-file-input-border: #ccc;--dialog-add-more-hover-bg: #e8e8e8;--warning-bg: #fef3c7;--warning-border: #fcd34d;--warning-icon: #d97706;--warning-text: #92400e;--warning-detail: #a16207;--dialog-copied-bg: #22c55e;--view-toggle-bg: #e8eef4;--view-toggle-text: var(--posit-blue);--view-toggle-hover-bg: #d0dae8;--view-toggle-hover-text: var(--posit-blue-dark-1);--view-toggle-active-bg: #d0dae8;--view-toggle-active-text: var(--posit-blue-dark-2);--replay-handle: #c0c0c0;--replay-handle-hover: #888;--replay-actor-border: #ccc;--replay-actor-me-text: #2563eb;--replay-actor-me-border: #93c5fd;--replay-actor-me-bg: rgba(37, 99, 235, .08);--replay-tooltip-bg: #ffffff;--header-preview-bg: var(--posit-blue-dark-2);--header-preview-text: #ffffff;--header-preview-hover: var(--posit-blue-dark-1);--header-preview-shadow: rgba(0, 0, 0, .15);--header-preview-shadow-hover: rgba(0, 0, 0, .25);--header-share-bg: #4f46e5;--header-share-hover: #4338ca;--summary-bg: #f0f0f0;--summary-text: #333;--summary-scrollbar-track: #f0f0f0;--summary-scrollbar-thumb: #c0c0c0;--summary-scrollbar-thumb-hover: #a0a0a0;--error-overlay-bg: #ffffff;--error-overlay-header-bg: #f5f5f5;--error-overlay-border: #ddd;--error-overlay-text: #333;--error-overlay-dismiss: #777;--diagnostics-bg: #fee2e2;--diagnostics-border: #fca5a5;--toast-bg: #213547;--toast-text: #ffffff;--toast-shadow: rgba(0, 0, 0, .15);--page-bg: #ffffff;--page-text: #213547;--link-hover: #747bff;--button-bg: #f9f9f9}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--page-text);background-color:var(--page-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:var(--link-hover)}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.share-dialog{background:var(--dialog-bg);border:1px solid var(--dialog-border);border-radius:12px;width:90%;max-width:520px;box-shadow:0 8px 32px var(--dialog-shadow)}.share-dialog .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--dialog-border)}.share-dialog .dialog-header h2{margin:0;font-size:18px;font-weight:600;color:var(--editor-text)}.share-dialog .close-btn{background:none;border:none;color:var(--editor-text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.share-dialog .close-btn:hover{color:var(--editor-text)}.share-dialog .dialog-content{padding:20px}.warning-box{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:16px;margin-bottom:20px}.warning-box .warning-icon{display:inline-block;font-size:24px;margin-bottom:8px;color:var(--warning-icon)}.warning-box p{margin:0 0 8px;color:var(--warning-text);font-size:14px;line-height:1.5}.warning-box p:last-child{margin-bottom:0}.warning-box .warning-detail{color:var(--warning-detail);font-size:13px}.url-field{margin-top:16px}.url-field label{display:block;margin-bottom:8px;color:var(--editor-text-dim);font-size:14px}.url-field input{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text-muted);font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;box-sizing:border-box;cursor:text}.url-field input:focus{outline:none;border-color:var(--dialog-tab-active);color:var(--editor-text-dim)}.share-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--dialog-border)}.share-dialog .cancel-btn{padding:10px 20px;background:none;border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text-muted);font-size:14px;cursor:pointer;transition:all .2s}.share-dialog .cancel-btn:hover{border-color:var(--editor-text-muted);color:var(--editor-text-dim)}.share-dialog .copy-btn{padding:10px 24px;background:var(--dialog-primary-bg);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.share-dialog .copy-btn:hover{background:var(--dialog-primary-hover)}.share-dialog .copy-btn.copied{background:var(--dialog-copied-bg)}.project-selector{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:flex-start;justify-content:center;z-index:1000;font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;overflow-y:auto}.project-selector .modal{background:var(--bg-modal);border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 8px 32px #00000080;border:1px solid var(--border-color);margin:32px auto}.modal-header{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.modal-header .header-text{display:flex;flex-direction:column}.modal-header h1{margin:0;font-size:35px;font-weight:300;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.modal-header .tagline{margin:-6px 0 0;font-size:13px;color:var(--text-secondary);font-weight:400;line-height:1}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.sign-out-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-color);border-radius:16px;padding:4px 12px 4px 4px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.sign-out-btn:hover{color:var(--text-primary);border-color:var(--posit-blue);background:var(--input-bg-alpha)}.auth-avatar{width:22px;height:22px;border-radius:50%}.sign-out-btn:not(:has(.auth-avatar)){padding-left:12px}.theme-toggle{background:var(--input-bg-alpha);border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px;padding:0;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--bg-card-hover);border-color:var(--posit-blue)}.project-selector h1{margin:0 0 24px;font-size:24px;font-weight:600;color:var(--text-primary)}.project-selector h2{margin:0 0 12px;font-family:Source Code Pro,monospace;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}:root.light h2{color:var(--posit-blue)}.project-selector .error{background:var(--error-bg);color:#fff;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-weight:500}.project-selector .loading{color:var(--text-secondary);text-align:center;padding:32px}.project-selector .empty{color:var(--text-muted);font-style:italic}.projects-list ul{list-style:none;padding:0;margin:0}.projects-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-card);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent;border-left:4px solid var(--posit-blue);box-shadow:0 2px 4px #0000001a}.projects-list li:hover{background:var(--bg-card-hover);border-color:var(--posit-blue-light-3);border-left-color:var(--posit-orange);box-shadow:0 4px 8px #00000026}.project-info{display:flex;flex-direction:column;gap:4px}.project-name{color:var(--text-primary);font-weight:700;font-size:17px}:root.light .project-name{color:var(--posit-blue-dark-3)}:root.light .projects-list li:hover{background:#bacad8;border-left-color:#4a6a32}.project-meta{display:flex;gap:12px;font-size:12px}.project-server{color:var(--text-muted)}.project-docid{color:var(--text-secondary);font-family:Source Code Pro,monospace;cursor:help}.delete-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;opacity:.4}.projects-list li:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--posit-orange);color:#fff;opacity:1}:root.light .delete-btn{color:var(--posit-blue-dark-1)}.divider{display:flex;align-items:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.divider span{padding:0 16px;color:var(--text-muted);font-size:12px;font-weight:500}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.action-btn{display:block;padding:20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-align:center}.action-btn:hover{background:var(--bg-card-hover);border-color:var(--posit-blue-light-3);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.action-btn:hover .action-btn-title{color:var(--text-primary)}.action-btn-icon{display:inline-block;width:20px;text-align:center;font-size:18px;color:var(--posit-orange);margin-right:6px}.action-btn-text{display:block}.action-btn-title{display:block;font-size:17px;font-weight:600;color:var(--text-primary);transition:color .2s;margin-bottom:4px}.action-btn-hint{display:block;font-size:14px;color:var(--text-secondary)}.action-btn.create-btn{border-color:var(--posit-teal);background:var(--posit-teal)}.action-btn.create-btn .action-btn-title,.action-btn.create-btn .action-btn-hint,.action-btn.create-btn .action-btn-icon{color:#fff}.action-btn.create-btn:hover{background:#5ab5b8;border-color:#5ab5b8}.action-btn.create-btn .action-btn-icon{color:#fff}.action-btn.connect-btn{border-color:var(--posit-blue)}:root.light .action-btn.connect-btn{background:var(--posit-blue);border-color:var(--posit-blue)}:root.light .action-btn.connect-btn .action-btn-title,:root.light .action-btn.connect-btn .action-btn-hint,:root.light .action-btn.connect-btn .action-btn-icon{color:#fff}:root.light .action-btn.connect-btn:hover{background:var(--posit-blue-dark-1);border-color:var(--posit-blue-dark-1)}.add-btn{width:100%;padding:16px;background:var(--bg-card);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:16px;cursor:pointer;transition:all .2s}.add-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--posit-blue-light-3)}.add-form{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border-color)}.add-form.create-form{background:var(--bg-card);border:1px solid transparent;border-left:4px solid var(--posit-blue);box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.add-form.create-form:hover{background:var(--bg-card-hover);border-color:var(--posit-blue-light-3);border-left-color:var(--posit-orange);box-shadow:0 4px 8px #00000026}:root.light .add-form.create-form{border:1px solid transparent;border-left:4px solid var(--posit-blue)}:root.light .add-form.create-form:hover{background:#bacad8;border-color:var(--posit-blue-light-3);border-left-color:#4a6a32}.add-form h2{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-family:Open Sans,sans-serif;text-transform:none;letter-spacing:0}:root.light .add-form h2{color:var(--posit-blue-dark-3)}.form-hint{color:var(--text-secondary);font-size:14px;margin:0 0 20px;line-height:1.5}:root.light .form-hint{color:var(--posit-blue-dark-1)}.form-group{margin-bottom:20px}.form-group label{display:block;font-family:Source Code Pro,monospace;color:var(--text-secondary);font-size:11px;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}:root.light .form-group label{color:var(--posit-blue-dark-1);font-weight:600}.form-group input{width:100%;padding:14px 16px;background:var(--input-bg-alpha);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;font-family:inherit;transition:all .2s;box-sizing:border-box}.form-group input:hover{border-color:var(--posit-blue)}:root.light .form-group input,:root.light .form-group select{border-color:var(--posit-blue-light-3);background:#fff}:root.light .form-group input:hover,:root.light .form-group select:hover{border-color:var(--posit-blue)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--posit-green);background:var(--input-bg-alpha-hover);box-shadow:0 0 0 3px #72994e40}.form-group input::placeholder{color:var(--posit-blue-light-3)}.form-group select{width:100%;padding:14px 40px 14px 16px;background-color:var(--input-bg-alpha);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23447099' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:all .2s;box-sizing:border-box}.form-group select:hover{border-color:var(--posit-blue)}.form-group select option{background:var(--posit-blue-dark-2);color:var(--text-primary);padding:12px}.select-loading,.select-error{padding:14px 16px;background:var(--input-bg-alpha);border:2px solid var(--border-color);border-radius:8px;font-size:14px}.select-loading{color:var(--text-secondary);border-style:dashed}.select-error{color:var(--posit-red);border-color:var(--posit-red)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.form-actions button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.form-actions button:first-child{background:transparent;border:2px solid var(--border-color);color:var(--text-secondary)}.form-actions button:first-child:hover{border-color:var(--posit-blue);color:var(--text-primary);background:var(--input-bg-alpha)}.form-actions button.primary{background:var(--posit-teal);border:2px solid var(--posit-teal);color:#fff;min-width:140px}.form-actions button.primary:hover{background:#5ab5b8;border-color:#5ab5b8;transform:translateY(-1px);box-shadow:0 4px 12px #4195994d}.form-actions button.primary:disabled{background:var(--posit-gray-dark-1);border-color:var(--posit-gray-dark-1);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.import-export{display:flex;justify-content:center;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.import-export button{padding:6px 12px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.import-export button:hover{color:var(--posit-blue);background:var(--input-bg-alpha)}:root.light .import-export button{color:var(--posit-blue)}:root.light .import-export button:hover{color:var(--posit-blue-dark-1)}.project-selector .connecting{background:var(--input-bg-alpha);color:var(--posit-teal);padding:12px;border-radius:6px;margin-bottom:16px;text-align:center;border:1px solid var(--posit-teal);font-weight:500}.user-identity{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.section-header-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.section-header-row h2{margin:0}.collapsed-name{font-size:14px;font-weight:600;font-family:Open Sans,sans-serif}.collapse-toggle{margin-left:auto;background:var(--input-bg-alpha);border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px;padding:0;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.collapse-toggle:hover{background:var(--bg-card-hover);border-color:var(--posit-blue);color:var(--text-primary)}.user-identity.collapsed .section-header-row{margin-bottom:0}.user-identity h2{margin:0}.identity-hint{color:var(--text-muted);font-size:12px;margin:0 0 16px}.identity-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border-radius:8px;margin-bottom:12px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.identity-color-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px var(--border-color)}.identity-name{color:var(--text-primary);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}.identity-name .edit-hint{color:var(--text-muted);font-size:12px;font-weight:400}.identity-name:hover .edit-hint{color:var(--text-secondary)}:root.light .identity-name .edit-hint{color:var(--posit-blue)}.identity-name-edit{display:flex;align-items:center;gap:8px;flex:1}.identity-name-edit input{flex:1;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px;font-family:inherit}.identity-name-edit input:focus{outline:none;border-color:var(--posit-blue);box-shadow:0 0 0 2px #44709933}.identity-name-edit button{padding:6px 12px;border-radius:4px;font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s}.identity-name-edit .save-btn{background:var(--posit-orange);border:none;color:#fff;font-weight:500}.identity-name-edit .save-btn:hover{background:var(--posit-orange-hover)}.identity-name-edit .cancel-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted)}.identity-name-edit .cancel-btn:hover{border-color:var(--posit-blue-light-3);color:var(--text-primary)}.identity-actions{display:flex;gap:8px;margin-bottom:16px}.randomize-btn{padding:8px 16px;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s}.randomize-btn:hover{border-color:var(--posit-blue-light-3);color:var(--text-primary)}.color-picker label{display:block;font-family:Source Code Pro,monospace;color:var(--text-secondary);font-size:11px;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.color-swatches{display:flex;flex-wrap:nowrap;gap:6px}.color-swatch{width:32px;height:32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s;flex-shrink:0}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--border-color)}.version-info{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color);text-align:center}.version-info .commit-hash{font-family:Source Code Pro,monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-card);padding:4px 12px;border-radius:4px;cursor:help;border:1px solid var(--border-color)}:root.light .version-info .commit-hash{color:var(--posit-blue)}.project-set-info{margin-top:16px;padding:14px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color)}.project-set-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.project-set-header h2{font-size:14px;color:var(--text-secondary);margin:0}.project-set-id{font-family:Source Code Pro,monospace;font-size:11px;color:var(--text-muted);background:var(--bg-input);padding:2px 8px;border-radius:4px}.link-browser-btn{width:100%;padding:8px 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.link-browser-btn:hover{border-color:var(--accent-secondary);color:var(--text-primary)}.project-set-setup{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif}.setup-modal{background:var(--bg-modal);border-radius:12px;padding:40px;max-width:520px;width:90%;box-shadow:var(--modal-shadow)}.setup-header{margin-bottom:24px;text-align:center}.setup-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.setup-tagline{color:var(--text-muted);font-size:14px;margin:0}.setup-explanation{margin-bottom:20px}.setup-explanation p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.setup-error{background:var(--error-bg-subtle);border:1px solid var(--error-bg);border-radius:6px;color:var(--error-text);font-size:13px;padding:10px 14px;margin-bottom:16px}.setup-backup{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:8px;padding:14px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.backup-btn{background:var(--border-color);color:var(--text-primary);border:none;border-radius:6px;padding:8px 16px;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s}.backup-btn:hover:not(:disabled){background:var(--border-focus)}.backup-btn:disabled{opacity:.5;cursor:not-allowed}.backup-hint{color:var(--text-muted);font-size:12px;line-height:1.4}.setup-form-group{margin-bottom:16px}.setup-form-group label{display:block;color:var(--text-secondary);font-size:13px;margin-bottom:6px}.setup-form-group input{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .15s}.setup-form-group input:focus{outline:none;border-color:var(--border-focus)}.setup-form-group input:disabled{opacity:.5}.setup-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.setup-primary-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s}.setup-primary-btn:hover:not(:disabled){opacity:.9}.setup-primary-btn:disabled{opacity:.5;cursor:not-allowed}.setup-secondary-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 16px;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}.setup-secondary-btn:hover:not(:disabled){border-color:var(--border-focus);color:var(--text-primary)}.setup-secondary-btn:disabled{opacity:.5;cursor:not-allowed}.file-sidebar{flex:1;display:flex;flex-direction:column;position:relative;user-select:none;overflow:hidden}.file-sidebar.drag-over{background:var(--sidebar-drag-bg)}.sidebar-header{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 12px;border-bottom:1px solid var(--sidebar-border)}.sidebar-header .new-file-btn,.sidebar-header .upload-asset-btn{padding:4px 10px;background:var(--editor-accent-bg);border:1px solid var(--editor-accent-border);border-radius:4px;color:var(--editor-text-muted);font-size:12px;cursor:pointer;transition:all .2s}.sidebar-header .new-file-btn:hover,.sidebar-header .upload-asset-btn:hover{background:var(--editor-accent-border);color:var(--editor-text)}.file-list{flex:1;overflow-y:auto;padding:8px 0}.empty-state{padding:24px 16px;text-align:center;color:var(--editor-text-muted)}.empty-state p{margin:0 0 8px;font-size:13px}.empty-state .hint{font-size:11px;color:var(--editor-text-muted)}.file-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;transition:background .15s}.file-item:hover{background:var(--sidebar-border)}.file-item.active{background:var(--editor-accent-bg);border-left:2px solid var(--sidebar-active-accent);margin-left:-2px}.file-item.binary{opacity:.85}.file-icon{font-size:14px;flex-shrink:0}.file-name{font-size:13px;color:var(--editor-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item.active .file-name{color:var(--editor-text)}.folder-header{display:flex;align-items:center;gap:6px;padding:4px 12px;color:var(--editor-text-muted);font-size:12px;cursor:pointer;transition:background .15s}.folder-header:hover{background:var(--sidebar-border)}.folder-chevron{font-size:8px;width:10px;text-align:center;color:var(--editor-text-muted);flex-shrink:0}.folder-icon{font-size:12px;flex-shrink:0}.folder-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rename-input{flex:1;background:var(--editor-accent-bg);border:1px solid var(--sidebar-active-accent);border-radius:3px;padding:2px 6px;font-size:13px;color:var(--editor-text);min-width:0}.rename-input:focus{outline:none}.drop-overlay{position:absolute;inset:0;background:#646cff26;border:2px dashed var(--sidebar-drop-accent);display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--sidebar-drop-accent);font-weight:500}.drop-icon{font-size:32px}.context-menu{position:fixed;background:var(--context-menu-bg);border:1px solid var(--context-menu-border);border-radius:6px;padding:4px 0;min-width:120px;box-shadow:0 4px 12px var(--context-menu-shadow);z-index:1000}.context-menu button{display:block;width:100%;padding:8px 16px;background:none;border:none;text-align:left;color:var(--editor-text-dim);font-size:13px;cursor:pointer;transition:background .15s}.context-menu button:hover{background:var(--context-menu-hover)}.context-menu button.danger{color:var(--context-menu-danger)}.context-menu button.danger:hover{background:var(--context-menu-danger-bg)}.template-selector select{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text);font-size:14px;box-sizing:border-box;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.new-file-dialog{background:var(--dialog-bg);border:1px solid var(--dialog-border);border-radius:12px;width:90%;max-width:480px;box-shadow:0 8px 32px var(--dialog-shadow)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--dialog-border)}.dialog-header h2{margin:0;font-size:18px;font-weight:600;color:var(--editor-text)}.close-btn{background:none;border:none;color:var(--editor-text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:var(--editor-text)}.dialog-tabs{display:flex;border-bottom:1px solid var(--dialog-border)}.dialog-tabs .tab{flex:1;padding:12px;background:none;border:none;color:var(--editor-text-muted);font-size:14px;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.dialog-tabs .tab:hover{color:var(--editor-text-dim);background:var(--dialog-input-hover-bg)}.dialog-tabs .tab.active{color:var(--dialog-tab-active);border-bottom-color:var(--dialog-tab-active)}.dialog-content{padding:20px}.text-file-form label{display:block;margin-bottom:8px;color:var(--editor-text-dim);font-size:14px}.text-file-form input{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text);font-size:14px;box-sizing:border-box}.text-file-form input:focus{outline:none;border-color:var(--dialog-tab-active)}.drop-zone{border:2px dashed var(--dialog-input-border);border-radius:8px;padding:32px;text-align:center;transition:all .2s;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-zone.drag-over{border-color:var(--dialog-tab-active);background:#646cff1a}.drop-zone .drop-icon{font-size:48px;margin-bottom:12px}.drop-zone p{margin:0 0 8px;color:var(--editor-text-muted);font-size:14px}.drop-zone .hint{color:var(--editor-text-muted);font-size:12px}.drop-zone .size-hint{color:var(--editor-text-muted);font-size:11px;margin-top:12px}.browse-btn{padding:10px 20px;background:var(--dialog-primary-bg);border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s;margin-top:4px}.browse-btn:hover{background:var(--dialog-primary-hover)}.file-previews{width:100%}.file-preview{display:flex;align-items:center;gap:12px;padding:10px;background:var(--dialog-file-preview-bg);border-radius:6px;margin-bottom:8px}.file-preview.has-error{background:var(--dialog-danger-bg);border:1px solid var(--dialog-danger-border)}.file-preview img{width:48px;height:48px;object-fit:cover;border-radius:4px}.file-preview .file-icon{font-size:32px;width:48px;text-align:center}.file-preview .file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-preview .file-name-input{width:100%;padding:4px 8px;background:var(--dialog-file-input-bg);border:1px solid var(--dialog-file-input-border);border-radius:4px;color:var(--editor-text);font-size:13px;box-sizing:border-box}.file-preview .file-name-input:focus{outline:none;border-color:var(--dialog-tab-active)}.file-preview .file-name-input:disabled{opacity:.5;cursor:not-allowed}.file-preview.has-error .file-name-input{border-color:var(--editor-error)}.file-preview .file-size{color:var(--editor-text-muted);font-size:11px}.file-preview .file-error{color:var(--editor-error);font-size:11px}.file-preview .remove-btn{background:none;border:none;color:var(--editor-text-muted);font-size:20px;cursor:pointer;padding:4px 8px;transition:color .2s}.file-preview .remove-btn:hover{color:var(--editor-error)}.add-more-btn{width:100%;padding:12px;background:var(--dialog-file-preview-bg);border:1px dashed var(--dialog-input-border);border-radius:6px;color:var(--editor-text-muted);font-size:13px;cursor:pointer;transition:all .2s}.add-more-btn:hover{background:var(--dialog-add-more-hover-bg);border-color:var(--dialog-file-input-border);color:var(--editor-text-dim)}.error-message{margin-top:8px;padding:8px 12px;background:var(--dialog-danger-bg);border-radius:4px;color:var(--editor-error);font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--dialog-border)}.cancel-btn{padding:10px 20px;background:none;border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text-muted);font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:var(--editor-text-muted);color:var(--editor-text-dim)}.create-btn,.upload-btn{padding:10px 20px;background:var(--dialog-primary-bg);border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.create-btn:hover,.upload-btn:hover{background:var(--dialog-primary-hover)}.create-btn:disabled,.upload-btn:disabled{background:var(--dialog-disabled-bg);color:var(--editor-text-muted);cursor:not-allowed}.template-selector{margin-bottom:16px}.template-selector label{display:block;margin-bottom:8px;color:var(--editor-text-dim);font-size:14px}.template-selector select{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text);font-size:14px;box-sizing:border-box;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.template-selector select:focus{outline:none;border-color:var(--dialog-tab-active)}.template-selector select:disabled{opacity:.6;cursor:not-allowed}.filename-input{margin-bottom:0}.filename-input label{display:block;margin-bottom:8px;color:var(--editor-text-dim);font-size:14px}.filename-input input{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text);font-size:14px;box-sizing:border-box}.filename-input input:focus{outline:none;border-color:var(--dialog-tab-active)}.new-asset-dialog{background:var(--dialog-bg);border:1px solid var(--dialog-border);border-radius:12px;width:90%;max-width:480px;box-shadow:0 8px 32px var(--dialog-shadow)}.new-asset-dialog .destination-input{margin-bottom:16px}.new-asset-dialog .destination-input label{display:block;margin-bottom:8px;color:var(--editor-text-dim);font-size:14px}.new-asset-dialog .destination-input input{width:100%;padding:12px;background:var(--dialog-input-bg);border:1px solid var(--dialog-input-border);border-radius:6px;color:var(--editor-text);font-size:14px;box-sizing:border-box}.new-asset-dialog .destination-input input:focus{outline:none;border-color:var(--dialog-tab-active)}.view-toggle-control{display:flex;flex-direction:row;align-items:center;gap:2px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--view-toggle-bg);border:none;border-radius:2px;color:var(--view-toggle-text);cursor:pointer;padding:0;transition:background .15s ease,color .15s ease}.view-toggle-btn:hover{background:var(--view-toggle-hover-bg);color:var(--view-toggle-hover-text)}.view-toggle-btn.active{background:var(--view-toggle-active-bg);color:var(--view-toggle-active-text)}.minimal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--editor-header-bg);border-bottom:1px solid var(--editor-header-border);min-height:36px;gap:16px}.header-left{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.minimal-header .file-path{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;color:var(--editor-text-dim)}.minimal-header .file-path.empty{color:var(--editor-text-muted);font-style:italic}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-right .project-name{font-size:13px;font-weight:500;color:var(--editor-text-muted);min-width:120px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.header-right .preview-btn{padding:6px 16px;background:var(--header-preview-bg);border:2px solid var(--header-preview-bg);border-radius:6px;color:var(--header-preview-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px var(--header-preview-shadow)}.header-right .preview-btn:hover{background:var(--header-preview-hover);border-color:var(--header-preview-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--header-preview-shadow-hover)}.header-right .preview-btn:active{transform:translateY(0)}.header-right .choose-project-btn{padding:4px 10px;background:none;border:1px solid var(--editor-disconnected-border);border-radius:4px;color:var(--editor-text-muted);font-size:12px;cursor:pointer;transition:all .15s}.header-right .choose-project-btn:hover{border-color:var(--sidebar-active-accent);color:var(--sidebar-active-accent)}.header-right .share-btn{padding:4px 10px;background:var(--header-share-bg);border:1px solid var(--header-share-bg);border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:all .15s}.header-right .share-btn:hover{background:var(--header-share-hover);border-color:var(--header-share-hover)}.sidebar-sections{width:220px;min-width:180px;max-width:300px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sidebar-section{display:flex;flex-direction:column;border-bottom:1px solid var(--sidebar-border)}.sidebar-section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--sidebar-section-bg);border:none;border-radius:0;color:var(--editor-text-dim);font-size:11px;font-weight:600;letter-spacing:.5px;cursor:pointer;text-align:left;transition:background .15s;user-select:none}.section-header:hover{background:var(--sidebar-section-hover)}.section-chevron{font-size:8px;color:var(--editor-text-muted);width:12px;flex-shrink:0}.section-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-content{display:flex;flex-direction:column;background:var(--sidebar-bg)}.sidebar-sections--disabled{opacity:.4;pointer-events:none}.sidebar-section.expanded:first-child .section-content{flex:1;min-height:150px;overflow:hidden}.outline-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;user-select:none}.outline-list{flex:1;overflow-y:auto;padding:4px 0;margin:0;list-style:none}.outline-list .outline-list{padding:0;margin:0}.outline-item{margin:0;padding:0;cursor:pointer}.outline-row{display:flex;align-items:center;padding-left:12px}.outline-chevron{width:16px;height:20px;padding:0;background:none;border:none;color:var(--editor-text-muted);font-size:8px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.outline-chevron:hover{color:var(--editor-text-dim)}.outline-item:not(.has-children)>.outline-row{padding-left:28px}.outline-button{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:5px 12px 5px 0;background:none;border:none;text-align:left;cursor:pointer;transition:background .15s;color:var(--editor-text-dim);font-size:13px}.outline-row:hover{background:var(--sidebar-border)}.outline-button:focus{outline:none}.outline-list .outline-list .outline-row{padding-left:24px}.outline-list .outline-list .outline-item:not(.has-children)>.outline-row{padding-left:40px}.outline-list .outline-list .outline-list .outline-row{padding-left:36px}.outline-list .outline-list .outline-list .outline-item:not(.has-children)>.outline-row{padding-left:52px}.outline-list .outline-list .outline-list .outline-list .outline-row{padding-left:48px}.outline-list .outline-list .outline-list .outline-list .outline-item:not(.has-children)>.outline-row{padding-left:64px}.outline-list .outline-list .outline-list .outline-list .outline-list .outline-row{padding-left:60px}.outline-list .outline-list .outline-list .outline-list .outline-list .outline-item:not(.has-children)>.outline-row{padding-left:76px}.outline-icon{font-size:12px;flex-shrink:0;width:16px;text-align:center;color:var(--editor-text-muted)}.outline-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-detail{font-size:11px;color:var(--editor-text-muted);margin-left:4px}.outline-loading{padding:16px 12px;color:var(--editor-text-muted);font-size:12px;text-align:center}.outline-loading:after{content:"...";animation:ellipsis 1.5s infinite}@keyframes ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.outline-empty{padding:16px 12px;color:var(--editor-text-muted);font-size:12px;text-align:center}.outline-error{padding:12px;color:var(--editor-error);font-size:12px;text-align:center}.outline-icon.header{color:var(--outline-header-icon)}.outline-icon.code{color:var(--outline-code-icon)}.outline-icon.function{color:var(--outline-function-icon)}.project-tab{padding:16px 12px;display:flex;flex-direction:column;gap:16px}.project-tab-section{display:flex;flex-direction:column;gap:4px}.project-name{font-size:14px;font-weight:500;color:#fff}.doc-id-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#0f3460;border:1px solid #1f4460;border-radius:6px;cursor:pointer;transition:all .15s;width:100%}.doc-id-button:hover{background:#1f4460;border-color:#2f5470}.doc-id-value{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;color:#ddd}.copy-indicator{font-size:11px;color:#888;padding:2px 6px;background:#ffffff1a;border-radius:3px}.doc-id-button:hover .copy-indicator{background:#ffffff26;color:#bbb}.sync-server{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;color:#aaa;word-break:break-all}.project-tab-actions{margin-top:8px;padding-top:16px;border-top:1px solid #1f3460}.export-zip-btn{width:100%;padding:10px 16px;background:#1a1a2e;border:1px solid #646cff;border-radius:6px;color:#646cff;font-size:13px;cursor:pointer;transition:all .2s;margin-bottom:8px}.export-zip-btn:hover{background:#646cff;color:#fff}.export-zip-btn:disabled{opacity:.5;cursor:not-allowed}.export-error{font-size:12px;color:#ff6b6b;padding:4px 0;margin-bottom:4px}.choose-project-btn{width:100%;padding:10px 16px;background:none;border:1px solid #333;border-radius:6px;color:#888;font-size:13px;cursor:pointer;transition:all .2s}.choose-project-btn:hover{border-color:#646cff;color:#646cff}.status-tab{padding:16px 12px;display:flex;flex-direction:column;gap:20px}.status-tab-section{display:flex;flex-direction:column;gap:8px}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:13px}.status-indicator.loading{background:#2a2a1e;color:#fbbf24}.status-indicator.ready{background:#0a4f0a;color:#4ade80}.status-indicator.error{background:#4f0a0a;color:#f87171}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.status-error{font-size:12px;color:#f87171;padding:8px;background:#2d1b1b;border-radius:4px;word-break:break-word}.no-users{font-size:13px;color:#666;padding:8px 0}.user-list{display:flex;flex-direction:column;gap:8px}.user-count-summary{font-size:13px;color:#60a5fa;padding:8px 12px;background:#1f3460;border-radius:6px}.user-names{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.user-names li{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff08;border-radius:4px}.user-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.user-name{font-size:13px;color:#ddd}.settings-tab{padding:16px 12px;display:flex;flex-direction:column;gap:20px}.settings-tab-section{display:flex;flex-direction:column;gap:12px}.setting-toggle{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px;background:#ffffff08;border-radius:6px;cursor:pointer;transition:background .15s}.setting-toggle:hover{background:#ffffff0f}.setting-toggle input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.setting-name{font-size:14px;font-weight:500;color:#ddd;display:flex;align-items:center;gap:8px}.setting-name:before{content:"";display:inline-block;width:18px;height:18px;border:2px solid #444;border-radius:4px;background:#1a1a2e;transition:all .15s}.setting-toggle input[type=checkbox]:checked+.setting-name:before{background:#4ade80;border-color:#4ade80;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:14px;background-position:center;background-repeat:no-repeat}.setting-description{font-size:12px;color:#666;padding-left:26px}.about-tab{padding:16px 12px;display:flex;flex-direction:column;gap:20px}.about-tab-section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.about-description{font-size:13px;color:#aaa;margin:0;line-height:1.5}.about-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.about-links li{font-size:13px}.about-links a{color:#646cff;text-decoration:none;transition:color .15s}.about-links a:hover{color:#8b8fff;text-decoration:underline}.changelog-link-btn{background:none;border:none;padding:0;color:#646cff;font-size:13px;cursor:pointer;text-align:left;transition:color .15s}.changelog-link-btn:hover:not(:disabled){color:#8b8fff;text-decoration:underline}.changelog-link-btn:disabled{color:#666;cursor:not-allowed}.changelog-error-hint{color:#f87171;font-size:12px}.version-info{display:flex;align-items:center;gap:6px;border-top:none;margin-top:0;padding-top:0}.commit-label{font-size:13px;color:#888}.commit-hash{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;color:#646cff;cursor:help}.changelog-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.changelog-modal{background:#fff;border-radius:8px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.changelog-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.changelog-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.changelog-modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.changelog-modal-close:hover{background:#f0f0f0;color:#333}.changelog-modal-content{flex:1;overflow:hidden}.changelog-modal-content .changelog-iframe{width:100%;height:100%;min-height:400px;border:none}.changelog-modal-content .changelog-loading{padding:24px;color:#666;text-align:center}.markdown-summary{height:100%;overflow-y:auto;overflow-x:hidden;background:var(--summary-bg);cursor:pointer}.markdown-summary-content{margin:0;padding:8px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:6px;line-height:1.4;color:var(--summary-text);white-space:pre-wrap;word-wrap:break-word}.markdown-summary-content:before{content:""}.markdown-summary::-webkit-scrollbar{width:6px}.markdown-summary::-webkit-scrollbar-track{background:var(--summary-scrollbar-track)}.markdown-summary::-webkit-scrollbar-thumb{background:var(--summary-scrollbar-thumb);border-radius:3px}.markdown-summary::-webkit-scrollbar-thumb:hover{background:var(--summary-scrollbar-thumb-hover)}.replay-drawer{background:var(--editor-bg);border-top:1px solid var(--editor-header-border);flex-shrink:0;transition:height .2s ease}.replay-drawer--collapsed{height:28px;padding-bottom:env(safe-area-inset-bottom,0px)}.replay-drawer--expanded{height:72px;padding-bottom:env(safe-area-inset-bottom,0px);outline:none;display:flex;flex-direction:column}.replay-drawer__toggle{display:flex;align-items:center;gap:6px;padding:0;background:none;border:none;color:var(--editor-text-dim);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;text-align:left;transition:color .15s;user-select:none}.replay-drawer__toggle:hover:not(:disabled){color:var(--editor-text)}.replay-drawer__toggle:disabled{opacity:.35;cursor:default}.replay-drawer--collapsed .replay-drawer__toggle{width:100%;height:100%;padding:0 10px}.replay-drawer__chevron{font-size:8px;color:var(--editor-text-muted);width:12px;flex-shrink:0}.replay-drawer__header{display:flex;align-items:center;gap:10px;height:28px;padding:4px 10px 0;flex-shrink:0}.replay-drawer__handle{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin:-4px 0 0;align-self:stretch;cursor:pointer;min-width:0}.replay-drawer__handle-bar{display:block;width:160px;height:3px;border-radius:2px;background:var(--replay-handle);transition:background .15s}.replay-drawer__handle:hover .replay-drawer__handle-bar{background:var(--replay-handle-hover)}.replay-drawer__info{display:flex;align-items:baseline;gap:8px;margin-left:auto}.replay-drawer__position{font-size:11px;color:var(--editor-text-muted);font-family:SF Mono,Monaco,Cascadia Code,monospace}.replay-drawer__actor{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--editor-text-dim);font-family:SF Mono,Monaco,Cascadia Code,monospace;border:1px solid var(--replay-actor-border);border-radius:3px;padding:0 4px;background:#ffffff0d}.replay-drawer__actor-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.replay-drawer__actor--me{color:var(--replay-actor-me-text);border-color:var(--replay-actor-me-border);background:var(--replay-actor-me-bg)}.replay-drawer__timestamp{font-size:12px;color:var(--editor-text-dim);display:flex;align-items:baseline;gap:6px}.replay-drawer__absolute{font-size:11px;color:var(--editor-text-muted)}.replay-drawer__controls{display:flex;align-items:center;gap:10px;flex:1;min-height:0;padding:0 10px 6px}.replay-drawer__transport{display:flex;align-items:center;gap:3px;flex-shrink:0}.replay-drawer__btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--editor-accent-bg);border:1px solid var(--editor-accent-border);border-radius:4px;color:var(--editor-text-dim);font-size:11px;cursor:pointer;transition:all .15s}.replay-drawer__btn:hover{background:var(--editor-accent-border);color:var(--editor-text)}.replay-drawer__btn--play{width:28px;height:28px;font-size:13px}.replay-drawer__btn--speed{width:auto;padding:0 6px;font-size:10px;font-family:SF Mono,Monaco,Cascadia Code,monospace;margin-left:3px}.replay-drawer__btn--apply{width:auto;height:24px;padding:0 10px;background:var(--editor-success-bg);border-color:var(--editor-success);color:var(--editor-success);font-size:11px;font-weight:600;border-radius:4px;flex-shrink:0}.replay-drawer__btn--apply:hover{background:var(--editor-success);color:var(--editor-bg)}.replay-waveform-container{flex:1;min-width:80px;position:relative;height:24px}.replay-waveform{display:block;width:100%;height:100%;border-radius:3px}.replay-waveform__input{-webkit-appearance:none;appearance:none;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;background:transparent;outline:none;cursor:pointer}.replay-waveform__input::-webkit-slider-runnable-track{background:transparent;height:100%}.replay-waveform__input::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0}.replay-waveform__input::-moz-range-track{background:transparent;height:100%;border:none}.replay-waveform__input::-moz-range-thumb{width:0;height:0;border:none}.replay-drawer__tooltip{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:6px;padding:3px 8px;background:var(--replay-tooltip-bg);border:1px solid var(--editor-header-border);border-radius:4px;color:var(--editor-text-dim);font-size:11px;white-space:nowrap;pointer-events:none}.editor-container{display:flex;flex-direction:column;height:100vh;background:var(--editor-bg)}.wasm-error-banner{background:var(--error-bg);color:var(--text-primary);padding:12px 16px;font-size:14px}.diagnostics-banner{background:var(--diagnostics-bg);border-bottom:1px solid var(--diagnostics-border);padding:8px 16px}.diagnostic-item{padding:4px 0;font-size:13px;font-family:SF Mono,Monaco,Cascadia Code,monospace}.diagnostic-item.diagnostic-error{color:var(--editor-error)}.diagnostic-item.diagnostic-warning{color:var(--editor-warning)}.diagnostic-item.diagnostic-info{color:var(--editor-info)}.diagnostic-item.diagnostic-note{color:var(--editor-note)}.diagnostic-code{font-weight:600;margin-right:6px}.diagnostic-title{font-weight:500}.diagnostic-problem{opacity:.85}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--editor-header-bg);border-bottom:1px solid var(--editor-header-border);gap:16px}.editor-header .project-info{display:flex;align-items:center;gap:12px}.editor-header h1{margin:0;font-size:16px;font-weight:500;color:var(--editor-text)}.status-indicators{display:flex;align-items:center;gap:8px}.sync-status{font-size:12px;padding:4px 8px;border-radius:4px}.sync-status.connected{background:var(--editor-success-bg);color:var(--editor-success)}.sync-status.disconnected{background:var(--editor-error-bg);color:var(--editor-error)}.user-count{font-size:12px;padding:4px 8px;border-radius:4px;background:var(--editor-accent-bg);color:var(--editor-accent-text);cursor:help}.current-file-indicator{padding:6px 12px;background:var(--editor-accent-bg);border:1px solid var(--editor-accent-border);border-radius:6px}.current-file-indicator .file-path{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;color:var(--editor-text-dim)}.toolbar-actions{display:flex;align-items:center;gap:8px}.scroll-sync-toggle{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--editor-accent-bg);border:1px solid var(--editor-accent-border);border-radius:6px;color:var(--editor-text-dim);font-size:13px;cursor:pointer;transition:all .2s}.scroll-sync-toggle:hover{background:var(--editor-accent-border)}.scroll-sync-toggle input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--editor-success)}.scroll-sync-toggle span{user-select:none}.disconnect-btn{padding:8px 16px;background:none;border:1px solid var(--editor-disconnected-border);border-radius:6px;color:var(--editor-text-muted);font-size:14px;cursor:pointer;transition:all .2s}.disconnect-btn:hover{border-color:var(--editor-error);color:var(--editor-error)}.editor-main{flex:1;display:flex;overflow:hidden}.pane{flex:1;min-width:0;transition:flex .3s ease}.pane-divider{width:1px;background:var(--editor-header-border);flex-shrink:0}.editor-pane{position:relative;overflow:hidden}.editor-main.view-mode-both .editor-pane,.editor-main.view-mode-both .preview-pane{flex:1}.editor-main.view-mode-markup .editor-pane{flex:4}.editor-main.view-mode-markup .preview-pane{flex:1;min-width:120px;max-width:180px;overflow:hidden}.editor-main.view-mode-markup .preview-pane iframe{transform:scale(.3);transform-origin:top left;width:333%;height:333%}.editor-main.view-mode-preview .editor-pane{flex:0 0 180px;min-width:150px;max-width:220px}.editor-main.view-mode-preview .preview-pane{flex:1;overflow:hidden}.markdown-summary-overlay{position:absolute;inset:0;z-index:10}.editor-pane.drag-over{box-shadow:inset 0 0 0 3px var(--editor-drag-accent)}.editor-pane.drag-over:after{content:"Drop image to insert";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#4ade80f2;color:var(--editor-bg);padding:16px 24px;border-radius:8px;font-size:16px;font-weight:600;z-index:100;pointer-events:none}.preview-pane{background:#fff;position:relative}.preview-pane.fullscreen{flex:1;width:100%}.fullscreen-close-btn{position:fixed;top:20px;right:35px;width:50px;height:50px;min-width:50px;min-height:50px;padding:0;background:#0006;border:2px solid rgba(255,255,255,.6);border-radius:50%;color:#fff;font-size:28px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(8px)}.fullscreen-close-btn:hover{background:#0009;border-color:#ffffffe6;transform:scale(1.25)}.fullscreen-close-btn:active{transform:scale(.9);transition:all .1s}.preview-pane iframe{width:100%;height:100%;border:none}.preview-pane iframe.preview-active{position:relative;z-index:1}.preview-pane iframe.preview-hidden{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;z-index:0}.header-wrapper{position:relative;flex-shrink:0}.replay-mode-banner{position:absolute;bottom:0;left:0;right:0;background:repeating-linear-gradient(-45deg,rgba(74,222,128,.15),rgba(74,222,128,.15) 4px,transparent 4px,transparent 8px);color:var(--editor-success);text-align:center;padding:2px 0;font-size:10px;font-weight:700;letter-spacing:2px;z-index:1}.monaco-editor{padding-top:0!important}.monaco-editor .margin{background:var(--editor-bg)!important}.preview-error-overlay{position:absolute;bottom:16px;right:16px;z-index:1000;background:var(--error-overlay-bg);border:1px solid var(--editor-error);border-radius:8px;box-shadow:0 4px 12px #0000004d;font-family:system-ui,-apple-system,sans-serif;font-size:13px;color:var(--error-overlay-text)}.preview-error-overlay--collapsed{padding:8px 12px}.preview-error-overlay--expanded{max-width:400px;min-width:280px}.preview-error-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--error-overlay-border);background:var(--error-overlay-header-bg);border-radius:8px 8px 0 0}.preview-error-title{color:var(--editor-error);font-weight:600;display:flex;align-items:center;gap:6px}.preview-error-icon{font-size:16px}.preview-error-collapse-btn,.preview-error-expand-btn{background:none;border:none;color:var(--error-overlay-dismiss);cursor:pointer;font-size:16px;padding:0 4px;display:flex;align-items:center;gap:6px}.preview-error-expand-btn{color:var(--editor-error);font-weight:600}.preview-error-collapse-btn:hover,.preview-error-expand-btn:hover{color:var(--editor-text)}.preview-error-content{padding:12px;max-height:28em;overflow-y:auto}.preview-error-message{margin:0;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.4;color:var(--error-overlay-text)}.preview-error-diagnostics{margin:8px 0 0;padding-left:20px;list-style:disc}.preview-error-diagnostics li{margin:4px 0;font-size:12px}.preview-error-diagnostics .diagnostic-line{color:var(--editor-warning);font-weight:500}.preview-error-diagnostics .diagnostic-title{color:var(--editor-error)}.preview-error-diagnostics .diagnostic-problem{color:var(--editor-note)}.preview-error-pass1-failures{margin-top:12px;padding-top:8px;border-top:1px solid var(--error-overlay-border, rgba(0, 0, 0, .1))}.preview-error-pass1-failure{margin-bottom:8px}.preview-error-pass1-failure:last-child{margin-bottom:0}.preview-error-pass1-failure .diagnostic-source-file{font-size:12px;font-weight:600;color:var(--editor-warning);margin-bottom:4px}.preview-error-pass1-failure .diagnostic-source-file code{font-family:SF Mono,Monaco,Cascadia Code,monospace;background:#0000000d;padding:1px 4px;border-radius:2px}.revealjs-container .reveal .slide-menu-button{position:absolute!important;left:30px;bottom:30px;z-index:30}.revealjs-container .slide-menu-wrapper,.revealjs-container .slide-menu-wrapper .slide-menu-overlay,.revealjs-container .slide-menu-wrapper .slide-menu-panel{position:absolute!important}.revealjs-container .slide-menu-wrapper{inset:0}.revealjs-container .slide-menu-wrapper .slide-menu{position:absolute!important;top:0;height:100%}.reveal .slide-menu-button a{display:block;width:24px;height:24px;position:relative}.reveal .slide-menu-button a i,.reveal .slide-menu-button a svg{display:none}.reveal .slide-menu-button a:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}.slide-menu-toolbar>li[data-panel=Slides] i.fa-images,.slide-menu-toolbar>li[data-panel=Slides] svg{display:inline-block!important;width:1.7em;height:1.7em;position:relative;vertical-align:middle}.slide-menu-toolbar>li[data-panel=Slides] i.fa-images:before,.slide-menu-toolbar>li[data-panel=Slides] svg:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-.6em,-.375em);width:.3em;height:.3em;background:currentColor;border-radius:1px;box-shadow:.45em 0 0 0 currentColor,.9em 0 0 0 currentColor,0 .45em 0 0 currentColor,.45em .45em 0 0 currentColor,.9em .45em 0 0 currentColor}.slide-menu-toolbar>li#close i.fa-times,.slide-menu-toolbar>li#close svg{display:inline-block!important;width:1.7em;height:1.7em;position:relative;vertical-align:middle}.slide-menu-toolbar>li#close i.fa-times:before,.slide-menu-toolbar>li#close i.fa-times:after,.slide-menu-toolbar>li#close svg:before,.slide-menu-toolbar>li#close svg:after{content:"";position:absolute;top:50%;left:50%;width:1.2em;height:2px;background:currentColor}.slide-menu-toolbar>li#close i.fa-times:before,.slide-menu-toolbar>li#close svg:before{transform:translate(-50%,-50%) rotate(45deg)}.slide-menu-toolbar>li#close i.fa-times:after,.slide-menu-toolbar>li#close svg:after{transform:translate(-50%,-50%) rotate(-45deg)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-text);padding:10px 20px;border-radius:6px;font-size:14px;font-family:system-ui,-apple-system,sans-serif;box-shadow:0 4px 12px var(--toast-shadow);z-index:10000;animation:toast-fade-in .2s ease-out}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
