:root{--brand:#1847c2;--brand-dim:#1847c222;--brand-light:#e8efff;--bg:#f2f3f7;--surface:#fff;--surface2:#f0f1f6;--surface3:#e5e7ef;--border:#00000012;--border2:#00000021;--text:#111318;--text2:#525668;--text3:#9095a8;--green:#2d7a22;--green-bg:#e7f4e5;--amber:#8a5200;--amber-bg:#fef3e2;--red:#a12020;--red-bg:#fdeaea;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow:0 1px 3px #0000000f, 0 4px 12px #0000000a;--shadow-lg:0 4px 16px #0000001a, 0 1px 4px #0000000f;--font-head:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e0f14;--surface:#17191f;--surface2:#1f2129;--surface3:#282b35;--border:#ffffff0f;--border2:#ffffff1f;--text:#eceef5;--text2:#8a8fa5;--text3:#52566a;--brand-light:#1a2a5a;--green-bg:#1a2e18;--amber-bg:#2a2010;--red-bg:#2a1515}}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg);color:var(--text);margin:0;font-size:14px;line-height:1.6}#root{width:100%;min-height:100svh}h1,h2{font-family:var(--font-head);color:var(--text);font-weight:600}.loading-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-form{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:.5px solid var(--border);flex-direction:column;gap:.9rem;width:100%;max-width:320px;padding:2rem;display:flex}.auth-form h1{margin:0;font-size:22px}.auth-form label{color:var(--text2);flex-direction:column;gap:.3rem;font-size:12.5px;display:flex}.auth-form input{border:.5px solid var(--border2);border-radius:var(--radius);font-family:var(--font-body);background:var(--surface);color:var(--text);padding:.55rem .65rem;font-size:14px}.auth-form button{border-radius:var(--radius);background:var(--brand);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;padding:.65rem;font-size:14px;font-weight:500}.auth-error{color:var(--red);background:var(--red-bg);border-radius:var(--radius);padding:.5rem .7rem;font-size:12.5px}.auth-hint{color:var(--text3);font-size:11.5px}.menu-screen{min-height:100vh;padding:clamp(1rem,4vw,2.5rem)}.menu-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.menu-header h1{margin:0;font-size:24px}.menu-header-actions{gap:1rem;display:flex}.signout{color:var(--text3);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;font-size:12.5px;text-decoration:underline}.settings-block{max-width:420px;margin-bottom:2rem}.settings-block h2{margin-bottom:.75rem;font-size:15px}.settings-form{flex-direction:column;gap:.75rem;display:flex}.settings-form label{color:var(--text2);flex-direction:column;gap:.3rem;font-size:12.5px;display:flex}.settings-form input{border:.5px solid var(--border2);border-radius:var(--radius);font-family:var(--font-body);background:var(--surface);color:var(--text);padding:.55rem .65rem;font-size:14px}.settings-form input:disabled{color:var(--text3);background:var(--surface2)}.settings-form button{border-radius:var(--radius);background:var(--brand);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;align-self:flex-start;padding:.55rem 1.1rem}.settings-form button:disabled{opacity:.5;cursor:default}.settings-saved{color:var(--green);font-size:12.5px}.menu-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;max-width:760px;display:grid}.menu-card{text-align:left;border:.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:var(--surface);box-shadow:var(--shadow);font-family:var(--font-body);color:var(--text);padding:1.5rem}.menu-card h2{margin-bottom:.4rem;font-size:17px}.menu-card p{color:var(--text2);margin:0;font-size:12.5px;line-height:1.5}.menu-card:hover{border-color:var(--brand)}.proto-screen,.board-screen{flex-direction:column;min-height:100vh;display:flex}.proto-toolbar{border-bottom:.5px solid var(--border);align-items:center;padding:.75rem 1rem;display:flex}.proto-toolbar button{cursor:pointer;font-family:var(--font-body);color:var(--text2);background:0 0;border:none;font-size:13px}.proto-frame{border:none;flex:1;width:100%}.board-screen{padding:0 clamp(1rem,4vw,2rem) 2rem}.board-screen h1{margin:1rem 0 .5rem;font-size:22px}.new-board-form{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.new-board-form input{border:.5px solid var(--border2);border-radius:var(--radius);font-family:var(--font-body);background:var(--surface);color:var(--text);flex:1;min-width:160px;padding:.5rem .65rem}.new-board-form button{border-radius:var(--radius);background:var(--brand);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;padding:.5rem 1.1rem}.board-list{padding:0;list-style:none}.board-list li{border-bottom:.5px solid var(--border);padding:0}.board-list-item{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);color:var(--text);border-radius:var(--radius);background:0 0;border:none;padding:.7rem .5rem;font-size:13.5px;display:block}.board-list-item:hover{background:var(--surface2)}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.board-list-row{align-items:center;gap:.5rem;display:flex}.board-list-row .board-list-item{flex:1}.trash-button{cursor:pointer;border-radius:var(--radius);opacity:.5;background:0 0;border:none;padding:.4rem;font-size:14px}.trash-button:hover{opacity:1;background:var(--red-bg)}.trash-toggle{border:.5px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);padding:.4rem .8rem;font-size:13px}.board-list-item-muted{color:var(--text3);flex:1;padding:.7rem .5rem;font-size:13.5px}.restore-button{border:.5px solid var(--brand);background:var(--brand-light);color:var(--brand);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);padding:.35rem .7rem;font-size:12.5px}.canvas-history-panel{border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:1rem;padding:.75rem 1rem}.canvas-history-panel h3{font-family:var(--font-head);margin:0 0 .5rem;font-size:14px}.canvas-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.canvas-toolbar button{border:.5px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);padding:.4rem .8rem;font-size:13px}.canvas-toolbar button.active{background:var(--brand-light);color:var(--brand);border-color:var(--brand)}.canvas-toolbar button:disabled{opacity:.4;cursor:default}.canvas-board-name-input{font-family:var(--font-head);border-radius:var(--radius);color:var(--text);background:0 0;border:none;margin-right:auto;padding:.3rem .5rem;font-size:15px;font-weight:600}.canvas-board-name-input:hover{background:var(--surface2)}.canvas-board-name-input:focus{background:var(--surface);outline:2px solid var(--brand-dim)}.canvas-hint{color:var(--brand);background:var(--brand-light);border-radius:var(--radius);margin-bottom:.75rem;padding:.5rem .8rem;font-size:12.5px}.board-canvas{border:.5px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle, var(--border2) 1.2px, transparent 1.2px) 0 0 / 22px 22px, var(--surface2);cursor:grab;touch-action:none;min-height:65vh;position:relative;overflow:hidden;box-shadow:inset 0 1px 4px #0000000a}.board-canvas:active{cursor:grabbing}.board-canvas-inner{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.edges-layer{pointer-events:none;width:3000px;height:3000px;position:absolute;top:0;left:0;overflow:visible}.board-canvas.draw-mode{cursor:crosshair}.board-node{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;font-family:var(--font-body);color:var(--text);justify-content:center;align-items:center;padding:.6rem;font-size:12.5px;display:flex;position:absolute}.board-node:active{cursor:grabbing}.node-shape-bg{z-index:0;box-shadow:var(--shadow);background:var(--surface);border:1.5px solid var(--border2);transition:box-shadow .15s,filter .15s;position:absolute;inset:0}.board-node:hover .node-shape-bg{box-shadow:var(--shadow-lg);filter:brightness(1.02)}.board-node.connect-selected .node-shape-bg{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.board-node.multi-selected .node-shape-bg{outline:2px dashed var(--brand);outline-offset:3px}.marquee-rect{border:1.5px dashed var(--brand);background:var(--brand-dim);pointer-events:none;z-index:5;position:absolute}.node-text,.node-textarea{z-index:1;position:relative}.node-bubble{text-align:center;width:130px;height:130px}.node-bubble .node-shape-bg{background:var(--brand-light);border-color:var(--brand-dim);border-radius:50%}.node-box{text-align:center;width:160px;height:80px}.node-box .node-shape-bg{border-radius:var(--radius)}.node-decision{text-align:center;width:130px;height:130px}.node-decision .node-shape-bg{background:var(--amber-bg);border-color:var(--amber);border-radius:4px;inset:19px;transform:rotate(45deg)}.node-triangle{text-align:center;align-items:flex-end;width:130px;height:120px;padding-bottom:.4rem}.node-triangle .node-shape-bg{clip-path:polygon(50% 0%,0% 100%,100% 100%);background:var(--surface2)}.node-star{text-align:center;width:130px;height:130px}.node-star .node-shape-bg{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:var(--amber-bg);border-color:var(--amber)}.node-arrow{text-align:center;width:160px;height:90px}.node-arrow .node-shape-bg{clip-path:polygon(0% 30%,60% 30%,60% 10%,100% 50%,60% 90%,60% 70%,0% 70%);background:var(--green-bg);border-color:var(--green)}.node-frame{justify-content:flex-start;align-items:flex-start;width:480px;height:320px;padding:.6rem .8rem}.node-frame .node-shape-bg{border-radius:var(--radius);border:1.5px dashed var(--border2);box-shadow:none;background:#00000004}.node-frame:hover .node-shape-bg{box-shadow:none;filter:none}.node-frame .node-text{font-family:var(--font-head);color:var(--text2);font-size:13px;font-weight:600}.node-text{overflow-wrap:anywhere;max-height:100%;overflow:hidden}.node-text-placeholder{color:var(--text3);font-style:italic}.node-textarea{resize:none;width:100%;height:100%;font-family:var(--font-body);color:var(--text);text-align:center;background:0 0;border:none;outline:none;font-size:12.5px}.node-delete{border:.5px solid var(--border2);background:var(--surface);width:20px;height:20px;color:var(--text3);cursor:pointer;opacity:0;z-index:2;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:opacity .15s,color .15s,border-color .15s;display:flex;position:absolute;top:-8px;right:-8px}.board-node:hover .node-delete{opacity:1}.node-delete:hover{color:var(--red);border-color:var(--red)}.node-color-button{border:.5px solid var(--border2);background:var(--surface);cursor:pointer;opacity:0;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:11px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:16px}.board-node:hover .node-color-button{opacity:1}.node-color-picker{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:3;gap:.3rem;padding:.4rem;display:flex;position:absolute;top:-40px;right:0}.node-color-swatch{border:1px solid var(--border2);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0}.node-resize-handle{background:var(--brand);cursor:nwse-resize;opacity:0;z-index:2;touch-action:none;border-radius:3px;width:14px;height:14px;transition:opacity .15s;position:absolute;bottom:-4px;right:-4px}.board-node:hover .node-resize-handle{opacity:.7}.node-resize-handle:hover{opacity:1!important}.workspace-tabs{border-bottom:.5px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.workspace-tab{cursor:pointer;font-family:var(--font-body);color:var(--text3);background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:13px}.workspace-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:500}.new-page-button{border-radius:var(--radius);background:var(--brand);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;margin-bottom:1rem;padding:.55rem 1.1rem}.new-page-button:disabled{opacity:.4;cursor:default}.section-tabs{border-bottom:.5px solid var(--border);flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex}.section-tab{border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:.2rem;display:flex}.section-tab.active{background:var(--brand-light)}.section-tab-label{cursor:pointer;font-family:var(--font-body);color:var(--text2);background:0 0;border:none;padding:.5rem .8rem;font-size:13px}.section-tab.active .section-tab-label{color:var(--brand);font-weight:500}.section-tab-delete{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:0 .5rem 0 0;font-size:13px}.section-tab-delete:hover{color:var(--red)}.section-tab-move{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:13px}.section-tab-move:hover{color:var(--brand)}.section-tab-add{color:var(--text3);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;padding:.5rem .7rem;font-size:13px}.section-tab-add:hover{color:var(--brand)}.section-tab-input{font-family:var(--font-body);border:.5px solid var(--brand);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.5rem .8rem;font-size:13px}.page-list{padding:0;list-style:none}.page-tree-row{border-bottom:.5px solid var(--border);align-items:center;gap:.5rem;display:flex}.page-number{color:var(--text3);text-align:right;flex-shrink:0;min-width:2.5rem;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.page-list-item{text-align:left;cursor:pointer;font-family:var(--font-body);color:var(--text);border-radius:var(--radius);background:0 0;border:none;flex:1;padding:.7rem .5rem;font-size:13.5px;display:block}.page-list-item:hover{background:var(--surface2)}.page-controls{flex-shrink:0;gap:.1rem;display:flex}.page-controls button{color:var(--text3);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.3rem .35rem;font-size:12px}.page-controls button:hover{background:var(--surface2);color:var(--brand)}.page-controls button:disabled{opacity:.3;cursor:default}.page-controls button:disabled:hover{color:var(--text3);background:0 0}.save-indicator{color:var(--text3);margin-left:auto;font-size:11.5px}.page-title-input{width:100%;font-family:var(--font-head);color:var(--text);background:0 0;border:none;outline:none;margin-bottom:.5rem;padding:.5rem 0;font-size:1.4rem;font-weight:600;display:block}.editor-toolbar{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.editor-toolbar button{border:.5px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);padding:.3rem .7rem;font-size:13px}.editor-toolbar button.active{background:var(--brand-light);color:var(--brand);border-color:var(--brand)}.editor-toolbar button:disabled{opacity:.4;cursor:default}.page-editor{border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:300px;padding:1rem}.page-editor .ProseMirror{min-height:280px;font-family:var(--font-body);color:var(--text);outline:none}.editor-toolbar-divider{background:var(--border2);align-self:stretch;width:1px;margin:0 .2rem}.font-size-value{color:var(--text3);text-align:center;align-self:center;min-width:32px;font-size:12px}.site-review-layout{flex-direction:column;gap:1rem;display:flex}.site-review-frame{border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);width:100%;height:min(85vh,1000px)}.site-review-note{flex-direction:column;display:flex}.site-review-editor{min-height:160px}@media (width<=640px){.site-review-frame{height:70vh}}.page-editor .ProseMirror ul[data-type=taskList]{margin:0;padding-left:0;list-style:none}.page-editor .ProseMirror ul[data-type=taskList] li{align-items:center;gap:.5rem;margin:.15rem 0;display:flex}.page-editor .ProseMirror ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;margin:0;line-height:1}.page-editor .ProseMirror ul[data-type=taskList] li>div{flex:1}.page-editor .ProseMirror ul[data-type=taskList] li>div>p{margin:0}.page-editor .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text3);text-decoration:line-through}.page-editor .ProseMirror ul[data-type=taskList] input[type=checkbox]{cursor:pointer}
