:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;background:#05070d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;min-width:320px;min-height:100vh;margin:0;overflow:hidden}#root{width:100%;min-height:100vh}.workspace-root{min-height:100vh}.workspace-root[inert]{pointer-events:none;-webkit-user-select:none;user-select:none}.auth-loading-screen,.login-screen{z-index:20;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 24px) calc(env(safe-area-inset-right,0px) + 20px) calc(env(safe-area-inset-bottom,0px) + 24px) calc(env(safe-area-inset-left,0px) + 20px);background:radial-gradient(circle at 50% 20%,#0e74903d,#0000 42%),#05070d;place-items:center;display:grid;position:fixed;inset:0}.auth-loading-screen{color:#cbd5e1;grid-auto-flow:column;align-content:center;gap:12px;font-weight:700}.auth-loading-indicator{border:2px solid #334155;border-top-color:#38bdf8;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite auth-loading-spin}.login-screen.is-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617c7}.login-card{background:#0f172af5;border:1px solid #94a3b847;border-radius:18px;width:min(420px,100%);padding:28px;box-shadow:0 24px 80px #00000080}.login-brand{color:#082f49;background:linear-gradient(135deg,#7dd3fc,#34d399);border-radius:14px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.login-card h1{color:#f8fafc;margin:18px 0 6px;font-size:clamp(24px,6vw,32px)}.login-introduction,.login-session-notice{color:#94a3b8;margin:0;line-height:1.55}.login-session-notice{color:#fde68a;background:#78350f2e;border:1px solid #fbbf2452;border-radius:9px;margin-top:14px;padding:10px 12px;font-size:13px}.login-form{gap:8px;margin-top:22px;display:grid}.login-form label,.document-editor-fields label{color:#cbd5e1;font-size:13px;font-weight:700}.login-form input,.document-editor-fields input{color:#f8fafc;width:100%;min-height:44px;font:inherit;background:#020617;border:1px solid #334155;border-radius:9px;padding:9px 11px}.login-form input:focus-visible,.document-editor-fields input:focus-visible{outline-offset:1px;border-color:#38bdf8;outline:2px solid #38bdf857}.login-form input:disabled{color:#64748b}.login-error,.document-error{color:#fecaca;margin:4px 0;font-size:13px;line-height:1.45}.login-submit,.document-primary-button{color:#082f49;min-height:42px;font:inherit;cursor:pointer;background:#7dd3fc;border:0;border-radius:9px;font-weight:800}.login-submit{margin-top:10px}.login-submit:hover:not(:disabled),.document-primary-button:hover:not(:disabled){background:#bae6fd}.login-submit:disabled,.document-primary-button:disabled{color:#475569;cursor:not-allowed;background:#1e293b}.canvas-host{overscroll-behavior:none;background:#05070d;width:100%;height:100dvh;margin:0;padding:0;position:fixed;top:0;left:0;overflow:hidden}.canvas-empty-host{place-items:center;display:grid}.canvas-empty-preview{color:#94a3b8;text-align:center;background:#0f172ab8;border:1px solid #94a3b83d;border-radius:12px;max-width:min(420px,100vw - 48px);margin:0;padding:14px 18px}.canvas{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#05070d;width:100%;height:100%;display:block}.canvas:active{cursor:grabbing}.canvas:focus-visible{outline-offset:-3px;outline:2px solid #38bdf8}.canvas-description{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.canvas-zoom-controls{z-index:1;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;background:#0f172ae0;border:1px solid #94a3b83d;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 10px 30px #00000047}.canvas-zoom-button,.canvas-zoom-fit{color:#e2e8f0;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-weight:600}.canvas-zoom-button{font-size:22px;line-height:1}.canvas-zoom-button:hover:not(:disabled),.canvas-zoom-fit:hover:not(:disabled){background:#94a3b829}.canvas-zoom-button:focus-visible,.canvas-zoom-fit:focus-visible{outline-offset:-2px;outline:2px solid #38bdf8}.canvas-zoom-button:disabled,.canvas-zoom-fit:disabled{color:#64748b;cursor:not-allowed}.canvas-zoom-value{color:#cbd5e1;font-variant-numeric:tabular-nums;text-align:center;min-width:58px}.backend-connection-status{z-index:3;right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);color:#cbd5e1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#0f172ae0;border:1px solid #94a3b83d;border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:700;display:flex;position:fixed;box-shadow:0 10px 30px #00000047}.backend-connection-dot{background:#fbbf24;border-radius:50%;width:8px;height:8px}.backend-connection-status.is-connected{color:#a7f3d0}.backend-connection-status.is-connected .backend-connection-dot{background:#34d399}.backend-connection-status.is-failed{color:#fecaca}.backend-connection-status.is-failed .backend-connection-dot{background:#f87171}.document-panel{z-index:4;top:calc(env(safe-area-inset-top,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + 12px);color:#e2e8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af5;border:1px solid #94a3b847;border-radius:12px;width:min(300px,100vw - 24px);max-height:calc(100dvh - 24px);position:fixed;overflow:hidden;box-shadow:0 14px 40px #0000005c}.document-panel-header{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 10px 8px 14px;display:flex}.document-panel:not(.is-expanded) .document-panel-header{border-bottom:0}.document-panel-header>div:first-child{min-width:0;display:grid}.document-panel-header strong{color:#f8fafc}.document-panel-header span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.document-header-actions,.document-save-actions,.document-conflict-actions{align-items:center;gap:7px;display:flex}.document-icon-button,.document-logout-button,.document-danger-button,.document-warning-button,.document-load-more,.document-conflict-actions button{color:#cbd5e1;min-height:36px;font:inherit;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.document-icon-button{min-width:36px;padding:0;font-size:20px}.document-logout-button:hover:not(:disabled),.document-icon-button:hover:not(:disabled),.document-load-more:hover:not(:disabled),.document-conflict-actions button:hover:not(:disabled){color:#f8fafc;background:#334155}.document-danger-button{color:#fecaca;background:#7f1d1d38;border-color:#f8717173}.document-warning-button,.document-conflict-actions .document-warning-button{color:#fde68a;background:#78350f40;border-color:#fbbf2480}.document-icon-button:disabled,.document-logout-button:disabled,.document-danger-button:disabled,.document-warning-button:disabled,.document-load-more:disabled,.document-conflict-actions button:disabled{opacity:.5;cursor:not-allowed}.document-panel-content{max-height:calc(100dvh - 80px);padding:10px;overflow:auto}.document-panel-content[hidden]{display:none}.document-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.document-dirty-status{color:#a7f3d0;background:#10b98129;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.document-dirty-status.is-dirty{color:#fde68a;background:#f59e0b2e}.document-list-region{background:#020617a8;border:1px solid #334155;border-radius:9px;margin-top:10px;padding:8px}.document-placeholder{color:#94a3b8;text-align:center;margin:8px;font-size:12px}.document-list{gap:4px;max-height:min(210px,28dvh);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.document-list-item{color:#cbd5e1;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;gap:3px;padding:8px 9px;display:grid}.document-list-item:hover:not(:disabled){background:#1e293b}.document-list-item[aria-current=page]{color:#f8fafc;background:#0e749038;border-color:#38bdf873}.document-list-item span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.document-list-item small{color:#64748b;font-size:10px}.document-list-item:disabled{cursor:wait}.document-load-more{width:100%;margin-top:7px}.document-editor-fields{gap:6px;margin-top:10px;display:grid}.document-editor-fields input[aria-invalid=true]{border-color:#f87171}.document-editor-fields small{color:#64748b;font-size:11px}.document-save-actions{grid-template-columns:minmax(0,1fr) auto;margin-top:10px;display:grid}.document-danger-button{min-height:42px}.document-conflict{color:#fde68a;background:#78350f2e;border:1px solid #fbbf2461;border-radius:9px;margin-top:10px;padding:10px}.document-conflict h2{margin:0;font-size:14px}.document-conflict p{margin:6px 0 9px;font-size:12px;line-height:1.45}.document-conflict-actions{flex-wrap:wrap}.document-conflict-actions button{flex:auto}.workspace-notice{z-index:8;color:#cbd5e1;background:#0f172af2;border:1px solid #334155;border-radius:9px;margin:0;padding:9px 12px;font-size:13px;position:fixed;bottom:56px;right:12px;box-shadow:0 10px 30px #0000004d}.workspace-notice.is-error{color:#fecaca;border-color:#f8717166}.mermaid-source-panel{z-index:2;top:calc(env(safe-area-inset-top,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + 324px);color:#e2e8f0;width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);position:fixed}.mermaid-source-panel details{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af0;border:1px solid #94a3b847;border-radius:12px;overflow:hidden;box-shadow:0 14px 40px #0000005c}.mermaid-source-summary{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:10px 14px;font-weight:700;display:grid}.mermaid-source-summary::-webkit-details-marker{display:none}.mermaid-source-title{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.mermaid-source-chevron{color:#7dd3fc;flex:none;width:16px;height:16px;transition:transform .16s}.mermaid-source-chevron path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.mermaid-source-panel details[open]>.mermaid-source-summary .mermaid-source-chevron{transform:rotate(90deg)}.mermaid-source-panel details[open]>.mermaid-source-summary{border-bottom:1px solid #94a3b833}.mermaid-source-summary:focus-visible{outline-offset:-3px;outline:2px solid #38bdf8}.mermaid-source-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;min-width:0;padding:3px 8px;font-size:12px;font-weight:700;overflow:hidden}.mermaid-source-badge.is-success{color:#a7f3d0;background:#10b9812e}.mermaid-source-badge.is-error{color:#fecaca;background:#ef44442e}.mermaid-source-toggle-label{color:#7dd3fc;text-align:right;min-width:2em;font-size:12px}.mermaid-source-summary:hover .mermaid-source-toggle-label{color:#bae6fd}.mermaid-source-content{gap:8px;max-height:calc(100dvh - 84px);padding:12px;display:grid;overflow:auto}.mermaid-template-actions{background:#020617;border:1px solid #334155;border-radius:9px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.mermaid-template-actions>span{color:#94a3b8;padding:0 7px;font-size:12px;font-weight:700}.mermaid-template-button{color:#94a3b8;min-width:max-content;font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;padding:7px 10px;font-size:13px;font-weight:700;overflow:hidden}.mermaid-template-button:hover{color:#e2e8f0;background:#334155a3}.mermaid-template-button:disabled{color:#475569;cursor:wait}.mermaid-template-button:focus-visible{outline-offset:1px;outline:2px solid #38bdf8}.mermaid-source-editor{min-width:0}.mermaid-source-input{resize:vertical;color:#f8fafc;tab-size:2;background:#020617;border:1px solid #334155;border-radius:8px;width:100%;min-height:220px;max-height:48dvh;padding:12px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;display:block}.mermaid-source-input:hover{border-color:#475569}.mermaid-source-input:focus-visible{outline-offset:1px;border-color:#38bdf8;outline:2px solid #38bdf85c}.mermaid-source-input[aria-invalid=true]{border-color:#f87171}.mermaid-source-input:disabled{color:#64748b;cursor:wait}.mermaid-source-status{color:#94a3b8;font-size:12px;line-height:1.5}.mermaid-diagnostics{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mermaid-diagnostic{background:#7f1d1d2e;border:1px solid #f871714d;border-radius:8px;padding:10px}.mermaid-diagnostic-heading{color:#fecaca;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.mermaid-diagnostic p{margin:8px 0 0;font-size:13px;line-height:1.45}.mermaid-diagnostic pre{color:#fecaca;background:#020617b3;border-radius:6px;margin:8px 0 0;padding:8px;font-size:12px;line-height:1.4;overflow:auto}.mermaid-diagnostic-hint{color:#fef3c7}@media (width<=980px){.mermaid-source-panel{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + 12px)}}@media (width<=800px){.backend-connection-status{top:calc(env(safe-area-inset-top,0px) + 74px);bottom:auto;right:auto;left:calc(env(safe-area-inset-left,0px) + 12px)}.mermaid-source-panel{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.document-panel{width:calc(100vw - 24px)}.document-panel-content{max-height:min(58dvh,100dvh - 80px)}.mermaid-source-content{max-height:58dvh}.mermaid-source-input{min-height:160px;max-height:32dvh}}@media (prefers-reduced-motion:reduce){.mermaid-source-chevron{transition:none}.auth-loading-indicator{animation:none}}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}
