:root{--font-family: "Inter", "Mulish", Avenir, Helvetica, Arial, sans-serif;--font-family-cards: "Nunito Sans", Avenir, Helvetica, Arial, sans-serif;--font-size: 16px;--space-xs: .25rem;--space-s: .5rem;--space-m: 1rem;--space-l: 1.5rem;--space-xl: 2rem;--bg-primary: #F8F7F4;--bg-surface: #FFFFFF;--bg-muted: #EDECEA;--text-primary: #1A1918;--text-secondary: #6D6C6A;--text-tertiary: #9C9B99;--border-subtle: #E5E4E1;--border-strong: #D1D0CD;--accent-primary: #3B82F6;--accent-light: #DBEAFE;--accent-indigo: #6366F1;--shadow-color: rgba(26, 25, 24, .08);--shadow-strong: rgba(26, 25, 24, .15);--color-background: var(--bg-primary);--color-surface: var(--bg-surface);--color-text: var(--text-primary);--color-muted: var(--text-secondary);--color-primary: var(--accent-primary);--color-border: var(--border-subtle);--overlay-color: var(--bg-primary);--accent-color: var(--accent-indigo);--connector-color: var(--accent-indigo);--edge-color: var(--accent-indigo);--button-color: var(--bg-surface);--button-active-color: var(--bg-muted);--button-color-border: var(--border-subtle);--menu-background-color: var(--bg-surface);--menu-text-color: var(--text-primary);--menu-hover-color: var(--bg-muted);--menu-hover-text-color: var(--text-primary);--card-color: var(--bg-surface);--card-text-color: #1A1918;--card-hover-color: var(--bg-muted);--card-border: transparent;--grid-dot-color: #D1D0CD;--radius: 6px;--radius-lg: 8px}@media (prefers-color-scheme: dark){:root{--bg-primary: #0F172A;--bg-surface: #1E293B;--bg-muted: #334155;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-tertiary: #64748B;--border-subtle: #334155;--border-strong: #475569;--accent-primary: #3B82F6;--accent-light: #312E81;--accent-indigo: #818CF8;--shadow-color: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .5);--overlay-color: var(--bg-primary);--menu-hover-color: var(--bg-muted);--button-color: var(--bg-muted);--button-active-color: var(--border-strong);--button-color-border: var(--border-strong);--card-color: #e8e8e8;--card-text-color: #1A1918;--grid-dot-color: #334155}}html,body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size);overscroll-behavior:none;color:var(--text-primary);background-color:var(--bg-primary);-webkit-user-select:none;user-select:none;width:100vw;height:100vh}html{background-color:transparent;overflow:hidden}body{overflow:auto}*{box-sizing:border-box}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font-family:inherit;font-size:inherit}button{background:var(--button-color);border:1px solid var(--button-color-border);border-radius:var(--radius);padding:var(--space-s) var(--space-m);cursor:pointer;transition:all .15s ease;color:var(--text-primary);font-weight:500}button:hover:not([disabled]){background:var(--menu-hover-color);color:var(--menu-hover-text-color)}button:active:not([disabled]){background:var(--button-active-color)}button[disabled]{cursor:not-allowed;opacity:.5}.Button_primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.Button_primary:hover:not([disabled]){background:#2563eb;border-color:#2563eb;color:#fff}.Button_secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.Button_secondary:hover:not([disabled]){background:var(--bg-muted)}input,textarea{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-s);color:var(--text-primary)}input:focus,textarea:focus{outline:none;border-color:var(--accent-primary)}.Board{position:relative;z-index:1}.BoardCanvas{position:absolute;top:0;left:0;background-color:#fff9;background-image:radial-gradient(circle,var(--grid-dot-color) 1px,transparent 1px);background-size:24px 24px}@media (prefers-color-scheme: dark){.BoardCanvas{background-color:#0000004d}}.BoardCanvas>svg{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%;pointer-events:none}.Board_locked .BoardCanvas,.Board_locked .BoardCanvas>svg path{pointer-events:none}.Board_locked a{pointer-events:auto}.Board_locked .ColorPicker{display:none}.FloatingHeader{position:fixed;top:var(--space-m);left:var(--space-m);right:var(--space-m);z-index:50;display:flex;justify-content:flex-end;align-items:center;gap:var(--space-m);pointer-events:none}.FloatingHeader>*{pointer-events:auto}.LogoFloat{display:flex;align-items:center;gap:var(--space-s);background:var(--bg-surface);padding:var(--space-s);border-radius:var(--radius-lg);box-shadow:0 2px 12px var(--shadow-color),0 1px 3px var(--shadow-color)}.LogoIcon{width:28px;height:28px;background:var(--accent-primary);border-radius:6px;display:flex;align-items:center;justify-content:center}.LogoIcon svg{width:16px;height:16px;color:#fff}.LogoText{font-weight:600;font-size:15px;color:var(--text-primary)}@media (max-width: 480px){.LogoText{display:none}}.TitleInput{background:var(--bg-muted);border:none;border-radius:var(--radius);padding:6px 12px;font-size:14px;font-weight:500;color:var(--text-primary);min-width:120px;max-width:200px}.TitleInput:focus{outline:none;background:var(--bg-muted)}.TitleInput::placeholder{color:var(--text-tertiary)}.TitleInput:read-only{cursor:default}.LockIndicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary);flex-shrink:0}.LockIndicator svg{width:14px;height:14px}.ShareFloat{width:40px;height:40px;padding:0;background:var(--bg-surface);border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 2px 12px var(--shadow-color),0 1px 3px var(--shadow-color);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.ShareFloat:hover{background:var(--bg-muted)}.ShareFloat svg{width:18px;height:18px;color:var(--text-primary)}.HeaderActions{display:flex;align-items:center;gap:var(--space-s)}.MenuBtn{width:40px;height:40px;padding:0;background:var(--bg-surface);border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 2px 12px var(--shadow-color);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.MenuBtn:hover{background:var(--bg-muted)}.MenuBtn svg{width:20px;height:20px;color:var(--text-primary)}.Sidebar{position:fixed;top:0;right:0;z-index:100;height:100vh;pointer-events:none}.Sidebar_locked .MenuBtn:after{content:"";position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:var(--accent-primary);border-radius:50%;border:2px solid var(--bg-surface)}.Sidebar_drawer{background:var(--bg-surface);width:320px;height:100vh;position:absolute;right:0;top:0;z-index:1;transition:transform .25s ease;display:flex;flex-direction:column;pointer-events:auto;box-shadow:-4px 0 24px var(--shadow-color)}.MenuHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--space-m) var(--space-l);border-bottom:1px solid var(--border-subtle)}.MenuHeaderLeft{display:flex;align-items:center;gap:var(--space-s)}.MenuHeaderLeft .LogoIcon{width:32px;height:32px}.MenuTitle{font-weight:600;font-size:16px;color:var(--text-primary)}.CloseBtn{width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s ease}.CloseBtn:hover{background:var(--bg-muted);color:var(--text-primary)}.CloseBtn svg{width:20px;height:20px}.MenuActions{display:flex;flex-direction:column;gap:var(--space-s);padding:var(--space-l)}.MenuActions .Button_primary,.MenuActions .Button_secondary{width:100%;padding:12px;font-size:15px;border-radius:var(--radius)}.SearchBar{margin:0 var(--space-l) var(--space-l);position:relative}.SearchBar input{width:100%;padding:10px 12px 10px 36px;background:var(--bg-muted);border:1px solid transparent;border-radius:var(--radius);font-size:14px;color:var(--text-primary)}.SearchBar input:focus{border-color:var(--accent-primary);background:var(--bg-surface)}.SearchBar input::placeholder{color:var(--text-tertiary)}.SearchBar svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-tertiary);pointer-events:none}.SpacesSection{flex:1;display:flex;flex-direction:column;overflow:hidden}.SpacesSectionHeader{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-l) var(--space-s)}.SpacesSectionTitle{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.SpacesCount{font-size:12px;color:var(--text-tertiary);background:var(--bg-muted);padding:2px 8px;border-radius:var(--radius)}.SpacesList{flex:1;overflow-y:auto;padding:0 var(--space-s)}.SpaceItem{display:flex;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-s);margin:2px 0;border-radius:var(--radius);cursor:pointer;transition:background .15s ease;text-decoration:none;color:inherit}.SpaceItem:hover{background:var(--bg-muted);text-decoration:none}.SpaceItem_active,.SpaceItem_active:hover{background:var(--accent-light)}.SpaceItemIcon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.SpaceItemContent{flex:1;min-width:0}.SpaceItemTitle{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.SpaceItemMeta{font-size:12px;color:var(--text-tertiary);margin-top:2px}.Sidebar_pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-l);border-top:1px solid var(--border-subtle)}.Sidebar_pagination button{padding:6px 12px;font-size:13px}.Sidebar_pagination span{font-size:13px;color:var(--text-secondary)}.MenuFooter{border-top:1px solid var(--border-subtle);padding:var(--space-m) var(--space-l)}.UserSection{display:flex;align-items:center;gap:var(--space-s);margin-bottom:var(--space-s)}.UserAvatar{width:36px;height:36px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.UserInfo{flex:1;min-width:0}.UserName{font-size:14px;font-weight:500;color:var(--text-primary)}.UserEmail{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.SignOutBtn{width:100%;background:transparent;border:1px solid var(--border-subtle);padding:8px;font-size:13px;color:var(--text-secondary)}.SignOutBtn:hover{background:var(--bg-muted);color:var(--text-primary)}.Sidebar>input{display:none}button.Sidebar_toggle,.Sidebar_actions,.Sidebar h1,.Sidebar hr,.Sidebar_links,.Sidebar_scrollable,.Sidebar_empty,.Sidebar_footer,.Sidebar_logout,.Sidebar_signin,.ForkButton{display:none}.DraggableNode{position:absolute;z-index:3}.DraggableNode_selected .Card{outline:2px solid var(--accent-indigo);outline-offset:1px}.DraggableNode_remoteSelected .Card{outline:2px solid var(--remote-selection-color);outline-offset:1px}.Card{border:none;border-radius:var(--radius-lg);background-color:var(--card-color);box-shadow:0 4px 16px var(--shadow-color),0 1px 4px var(--shadow-color);transition:box-shadow .2s ease}.DraggableNode:hover .Card{box-shadow:0 8px 24px var(--shadow-strong),0 2px 8px var(--shadow-color)}.DraggableNode_content{transition:transform .2s ease}.DraggableNode_background{opacity:.6;z-index:2}.DraggableNode:not(.DraggableNode_background) .DraggableNode_content:hover{transform:scale(1.01)}@keyframes wobble{0%{transform:scale(1.01) rotate(0)}25%{transform:scale(1.01) rotate(-.3deg)}50%{transform:scale(1.01) rotate(0)}75%{transform:scale(1.01) rotate(.3deg)}}.DraggableNode:not(.DraggableNode_background) .DraggableNode_content:active{animation:wobble .4s .2s infinite}.Editable{min-width:70px;min-height:32px;border-radius:inherit;padding:8px;overflow:auto;outline:none;color:var(--card-text-color);font-family:var(--font-family-cards)}.Editable:focus{outline:none}.Editable h1,.Editable h2,.Editable h3,.Editable h4,.Editable h5{margin:.5em 0;font-optical-sizing:auto}.Editable h1+br,.Editable h2+br,.Editable h3+br,.Editable h4+br,.Editable h5+br{display:none}.Editable *:first-child{margin-top:0}.Editable *:last-child{margin-bottom:0}.Editable ol,.Editable ul{padding-left:1.2em}.Editable img{display:block;width:100%;height:auto;pointer-events:none;border-radius:inherit}.Editable a{color:var(--accent-primary);text-decoration:underline}.Edge path{stroke:var(--edge-color);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:all;cursor:pointer;transition:stroke .15s ease-out,stroke-width .15s ease-out}.Edge path:hover{stroke:var(--accent-primary);stroke-width:3}.Edge circle{fill:var(--accent-indigo);transition:fill .15s ease-out}.Connector{position:absolute;z-index:3;left:100%;top:50%;margin-top:-10px;margin-left:-10px;border-radius:50%;border:2px solid var(--accent-indigo);background-color:#fff!important;width:20px;height:20px;padding:0;cursor:pointer;transition:transform .2s,opacity .2s,background-color .15s;opacity:0;box-shadow:0 2px 6px var(--shadow-color)}.Connector:hover{transform:scale(1.2);background-color:var(--accent-indigo)!important}.DraggableNode:hover .Connector{opacity:1}.Resizer{position:absolute;z-index:1;bottom:0;right:0;-webkit-user-select:none;user-select:none;width:100%;height:4px;cursor:ns-resize}.Resizer:after{content:"";display:block;background:linear-gradient(135deg,transparent 0%,transparent 50%,var(--border-strong) 50%,var(--border-strong) 100%);width:10px;height:10px;position:absolute;z-index:1;bottom:2px;right:2px;cursor:nwse-resize;border-radius:0 0 4px}.SelectionBox{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1}.SelectionBox div{position:absolute;z-index:1;background-color:color-mix(in srgb,var(--accent-indigo) 10%,transparent);border:2px solid color-mix(in srgb,var(--accent-indigo) 40%,transparent);-webkit-user-select:none;user-select:none;border-radius:4px}.ColorPicker{cursor:pointer;width:24px;height:24px;padding:0;border:2px solid var(--bg-surface);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);transition:transform .15s ease,box-shadow .15s ease}.ColorPicker:hover{transform:scale(1.1);box-shadow:0 4px 12px var(--shadow-strong)}.DraggableNode .ColorPicker{position:absolute;top:-4px;right:8px;transform:translateY(-100%);opacity:0;transition:opacity .2s,transform .15s}.DraggableNode:hover .ColorPicker{opacity:1}.DraggableNode:hover .ColorPicker:hover{transform:translateY(-100%) scale(1.1)}.Board>.ColorPicker{z-index:10;position:fixed;inset:auto 16px 16px auto;width:32px;height:32px;border-radius:8px}.ZoomControls{position:fixed;bottom:12px;right:60px;z-index:50;display:flex;align-items:center;gap:2px;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:0 2px 12px var(--shadow-color),0 1px 3px var(--shadow-color);padding:4px}.ZoomBtn{width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.ZoomBtn:hover{background:var(--bg-muted)}.ZoomBtn svg{width:16px;height:16px;color:var(--text-primary)}.ZoomLevel{min-width:48px;height:32px;padding:0 8px;background:transparent;border:none;border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:background .15s ease}.ZoomLevel:hover{background:var(--bg-muted)}.RemoteCursor{position:absolute;z-index:4;width:24px;height:24px;pointer-events:none;background-color:var(--cursor-color);-webkit-mask-image:url(/cursor-arrow.svg);mask-image:url(/cursor-arrow.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:left .1s linear,top .1s linear}.Auth{margin:var(--space-xl) auto;display:flex;flex-direction:column;gap:var(--space-s);max-width:360px}.Auth input{padding:12px;width:100%;border-radius:var(--radius)}.Auth button{padding:12px var(--space-m);border-radius:var(--radius)}.Auth button[disabled]{cursor:not-allowed}.Auth button[type=submit]{margin:var(--space-s) 0;background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.Auth button[type=submit]:hover:not([disabled]){background:#2563eb;border-color:#2563eb}button.Auth_textButton{background:none!important;border:none;color:var(--accent-primary);padding:0;cursor:pointer;text-decoration:underline}.Auth_loader{text-align:center}.Auth_message{color:#059669}.Auth_error{color:#dc2626}.Spaces{padding:var(--space-xl)}.Spaces_grid{margin:0 auto;max-width:1200px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:180px;gap:var(--space-l)}.Spaces_pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-m);margin-top:var(--space-xl)}.Spaces_pagination button{padding:var(--space-s) var(--space-m)}.Spaces_pagination button:disabled{opacity:.5;cursor:default}.SpaceCard{display:flex;align-items:center;justify-content:center;text-align:center;color:inherit;text-decoration:none;padding:var(--space-m);transition:all .2s ease;background:var(--bg-surface);height:100%;font-weight:500}.SpaceCard:hover{text-decoration:none}.SpaceCardWrapper{position:relative;border:none;border-radius:var(--radius-lg);overflow:hidden;color:var(--card-text-color);box-shadow:0 4px 16px var(--shadow-color);transition:all .2s ease}.SpaceCardWrapper:hover{box-shadow:0 8px 24px var(--shadow-strong);transform:translateY(-2px)}.SpaceCardWrapper_new{font-size:18px;font-weight:600;border:2px dashed var(--border-strong);box-shadow:none;background:var(--bg-muted)}.SpaceCardWrapper_new:hover{border-color:var(--accent-primary);box-shadow:none}.SpaceCard_delete{position:absolute;top:8px;right:8px;border:none;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:6px;border-radius:6px;opacity:0;transition:all .15s ease}.SpaceCardWrapper:hover .SpaceCard_delete{opacity:1}.SpaceCard_delete:hover{color:#dc2626;background:#fee2e2}.Links{list-style:none;margin:0;padding:0}.Links_row{display:flex;flex-wrap:wrap;gap:var(--space-s);justify-content:center}.Modal_overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.Modal_content{background:var(--bg-surface);padding:var(--space-xl);border-radius:var(--radius-lg);position:relative;max-width:400px;width:90%;box-shadow:0 8px 32px var(--shadow-strong)}.Modal_content h2{margin:0 0 var(--space-m);text-align:center;font-size:20px}.Modal_close{position:absolute;top:var(--space-s);right:var(--space-s);background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:var(--space-s);border-radius:6px;transition:all .15s ease}.Modal_close:hover{background:var(--bg-muted);color:var(--text-primary)}.Modal_content .Auth{margin:0;width:100%}.Drop__dragover{background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}
