:root{--blue:#0877f9;--blue2:#eaf4ff;--ink:#132238;--muted:#68778d;--line:#dfe7f1;--surface:#fff;--bg:#f5f9fd;--danger:#d92d20;--shadow:0 14px 44px rgba(27,64,109,.13);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-size:16px}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.primary-button,.secondary-button{border:0;border-radius:10px;padding:11px 16px;font-weight:700}.primary-button{background:linear-gradient(135deg,#0a7cff,#0062d8);color:#fff;box-shadow:0 7px 18px rgba(8,119,249,.24)}.secondary-button{border:1px solid #cfe0f4;background:#fff;color:#0769dc}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue);color:#fff;font-size:24px;font-weight:900}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr minmax(380px,540px);gap:8vw;align-items:center;padding:8vw;background:radial-gradient(circle at 18% 28%,#dcefff,transparent 35%),#f8fbff}.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand strong{display:block;font-size:2rem}.auth-brand small,.app-brand small{display:block;color:var(--muted);margin-top:3px}.auth-card{padding:48px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.auth-card h1{margin:8px 0 14px;font-size:2rem}.auth-card>p{color:var(--muted);line-height:1.8}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.18em;color:var(--blue)!important}.setup-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e4f8ed;color:#168a4a;font-size:24px}.auth-form{display:grid;gap:18px;margin-top:28px}.auth-form label{display:grid;gap:8px;font-weight:700}.auth-form input{width:100%;padding:13px 14px;border:1px solid #cbd8e7;border-radius:10px}.form-message{min-height:24px;margin:0;color:var(--danger)}.app-shell{height:100vh;overflow:hidden;background:#f8fbfe}.topbar{height:68px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,430px) minmax(280px,1fr);align-items:center;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:relative;z-index:20}.brand-group,.app-brand,.top-actions{display:flex;align-items:center}.brand-group{gap:18px}.app-brand{gap:11px;color:inherit;text-decoration:none}.app-brand strong{display:block;font-size:1.12rem}.app-brand small{font-size:.7rem}.menu-button{background:#eaf4ff;color:#0768dc;border-color:#cce2ff}.search-box{height:43px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:#f4f7fa;color:var(--muted)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent}.search-box kbd{font-size:.72rem;font-weight:400}.view-switcher{justify-self:end;display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:#f7f9fc}.view-switcher button{border:0;border-radius:8px;padding:9px 17px;background:transparent;color:#5d6d83}.view-switcher button.active{background:var(--blue);color:#fff;box-shadow:0 3px 9px rgba(8,119,249,.2)}.top-actions{justify-self:end;gap:12px;margin-left:16px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#152337;color:#fff}.category-panel{position:fixed;z-index:50;left:10px;top:76px;width:310px;max-height:calc(100vh - 90px);display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);transform:translateX(-110%);opacity:0;transition:.2s}.category-panel.open{transform:none;opacity:1}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 12px}.category-list{list-style:none;padding:0;margin:0;overflow:auto}.category-item{display:flex;align-items:center;gap:8px;border-radius:10px;padding:4px}.category-item.active{background:var(--blue2)}.category-select{flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:10px;text-align:left;color:var(--ink)}.category-select span{color:var(--blue)}.category-actions{display:none}.category-item:hover .category-actions{display:flex}.category-actions button{border:0;background:transparent;color:var(--muted)}.add-category{margin-top:12px;padding:12px;border:1px solid #bed8fa;border-radius:10px;background:#fff;color:var(--blue);font-weight:700}.backdrop{display:none;position:fixed;z-index:40;inset:68px 0 0;background:rgba(19,34,56,.12)}.backdrop.open{display:block}.workspace{height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1fr) 390px}.map-pane{position:relative;min-width:0;border-right:1px solid var(--line);overflow:hidden}.map-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.74)}.map-toolbar strong{font-size:1.05rem}.map-toolbar span{margin-left:12px;color:var(--muted);font-size:.8rem}.map-viewport{height:calc(100% - 62px);overflow:auto;background-color:#f9fcff;background-image:radial-gradient(#cfdeef 1px,transparent 1px);background-size:24px 24px}.mindmap{min-width:900px;min-height:700px;padding:100px 90px;transform-origin:top left}.tree,.tree ul{display:flex;align-items:center;position:relative;list-style:none;margin:0;padding:0}.tree{justify-content:flex-start}.tree ul{flex-direction:column;align-items:flex-start;margin-left:62px;gap:16px}.tree li{position:relative;display:flex;align-items:center}.tree li:before{content:"";position:absolute;left:-42px;width:42px;border-top:2px solid var(--branch,#81aee7)}.tree>li:before{display:none}.tree ul:before{content:"";position:absolute;left:-42px;top:50%;width:2px;height:calc(100% - 44px);transform:translateY(-50%);background:var(--branch,#81aee7)}.node{position:relative;z-index:1;min-width:110px;max-width:210px;padding:11px 15px;border:1.5px solid #9dc6f7;border-radius:12px;background:#f5faff;color:#183250;box-shadow:0 4px 12px rgba(32,86,147,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650;transition:.15s}.node.root{padding:15px 21px;background:linear-gradient(135deg,#1384ff,#0566db);color:#fff;border:0;font-size:1.05rem;box-shadow:0 10px 25px rgba(8,119,249,.25)}.node.depth-1{background:#e7f8ef;border-color:#84d7ac}.node.depth-2{background:#fff0e6;border-color:#ffba8a}.node.depth-3{background:#f0eaff;border-color:#bda6fa}.node.selected{outline:3px solid rgba(8,119,249,.22);border-color:var(--blue);box-shadow:0 6px 18px rgba(8,119,249,.18)}.node.dragging{opacity:.35}.node.drop-child{outline:4px solid rgba(18,167,104,.28);border-color:#12a768}.node.drop-before:before,.node.drop-after:after{content:"";position:absolute;left:-6px;right:-6px;height:3px;background:var(--blue);border-radius:4px}.node.drop-before:before{top:-9px}.node.drop-after:after{bottom:-9px}.empty-state{position:absolute;inset:62px 0 0;display:grid;place-content:center;justify-items:center;text-align:center}.empty-state>span{font-size:54px;color:#8bbcf2}.empty-state h2{margin:12px 0 5px}.empty-state p{color:var(--muted)}.zoom-controls{position:absolute;bottom:18px;left:18px;display:flex;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(22,54,91,.1);overflow:hidden}.zoom-controls button,.zoom-controls output{display:grid;place-items:center;min-width:42px;height:40px;border:0;border-right:1px solid var(--line);background:#fff}.zoom-controls output{min-width:58px;font-size:.8rem}.note-panel{min-width:0;background:#fff;overflow:auto}.note-empty{height:100%;display:grid;place-content:center;text-align:center;color:#91a0b2}.note-empty span{font-size:42px}.note-content{min-height:100%;padding:24px}.note-header{display:flex;align-items:center;gap:10px}.note-header>div:nth-child(2){display:flex;align-items:center;gap:10px;min-width:0;flex:1}.note-header input{min-width:0;width:100%;border:0;outline:0;font-size:1.5rem;font-weight:800}.note-icon{color:var(--blue);font-size:1.5rem}.note-actions{display:flex;gap:6px}.back-button{display:none;border:0;background:#eaf4ff;color:#0769dc;border-radius:8px;padding:8px 10px;font-weight:700}.note-meta{margin:12px 0 18px;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.tabs button{padding:11px 4px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:.82rem}.tabs button.active{border-color:var(--blue);color:var(--blue);font-weight:700}.editor-panel{padding-top:14px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:3px;padding:7px;border:1px solid var(--line);border-radius:9px 9px 0 0;background:#f8fafc}.editor-toolbar button,.editor-toolbar select{height:31px;min-width:31px;border:0;border-radius:5px;background:transparent;color:#334860}.editor-toolbar button:hover{background:#e7f1fc}.rich-editor{min-height:360px;padding:18px;border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;outline:0;line-height:1.85;font-size:var(--note-size,16px)}.rich-editor:empty:before{content:attr(data-placeholder);color:#9aa8b8}.rich-editor h2{border-left:4px solid var(--blue);padding-left:10px}.rich-editor blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid #8ca3bd;background:#f5f7fa}.rich-editor pre{padding:14px;border-radius:8px;background:#142238;color:#eef6ff;overflow:auto}.rich-editor table{border-collapse:collapse;width:100%}.rich-editor td,.rich-editor th{padding:8px;border:1px solid #cbd8e7}.rich-editor img{max-width:100%;height:auto}.callout{padding:14px 16px;border:1px solid #ffe39a;border-radius:10px;background:#fff9e8}.empty-copy{color:var(--muted)}.save-status{display:block;margin-top:10px;color:#7b899a;font-size:.75rem;text-align:right}.context-menu{position:fixed;z-index:80;width:210px;margin:0;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.context-menu button{width:100%;padding:10px;border:0;border-radius:7px;background:transparent;text-align:left}.context-menu button:hover{background:#edf5ff}.context-menu hr{border:0;border-top:1px solid var(--line)}.context-menu .danger{color:var(--danger)}.settings-dialog{width:min(760px,calc(100% - 30px));padding:0;border:0;border-radius:18px;box-shadow:0 24px 80px rgba(13,40,76,.25)}.settings-dialog::backdrop{background:rgba(15,29,47,.35);backdrop-filter:blur(2px)}.settings-dialog header{display:flex;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.settings-dialog header p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.settings-body{display:grid;grid-template-columns:180px 1fr;min-height:390px}.settings-body nav{padding:14px;border-right:1px solid var(--line);background:#f7faff}.settings-body nav button{width:100%;padding:11px;border:0;border-radius:8px;background:transparent;text-align:left}.settings-body nav button.active{background:#e6f2ff;color:#086bdc;font-weight:700}.settings-body section{padding:24px}.setting-group{display:grid;gap:15px}.setting-group label{display:grid;gap:7px}.setting-group input,.setting-group select{padding:10px;border:1px solid #cbd8e7;border-radius:8px}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);padding:11px 16px;border-radius:9px;background:#17283d;color:#fff;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.note-panel.fullscreen{position:fixed;z-index:35;inset:68px 0 0;width:auto}.note-panel.fullscreen .note-content{max-width:1000px;margin:auto}.note-panel.fullscreen .back-button{display:block}
@media(min-width:2200px){.note-panel.fullscreen .note-content{width:min(50vw,1800px);max-width:none}}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto;padding:0 12px}.app-brand small,.search-box,.view-switcher{display:none}.workspace{grid-template-columns:1fr}.note-panel{position:fixed;z-index:30;inset:68px 0 0;transform:translateX(100%);transition:.24s}.note-panel.open{transform:none}.note-content{padding:14px}.note-header{align-items:flex-start}.back-button{display:block;flex:none}.note-header input{font-size:1.3rem}.note-actions #fullscreenNote{display:none}.map-toolbar{padding:0 12px}.map-toolbar span{display:none}.map-toolbar .secondary-button{padding:9px 10px}.mindmap{min-width:760px;padding:70px 45px}.tree ul{margin-left:44px}.category-panel{left:8px;top:74px;width:calc(100% - 16px);max-width:340px}.settings-body{grid-template-columns:1fr}.settings-body nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.settings-body nav button{white-space:nowrap}.auth-page{grid-template-columns:1fr;padding:24px}.auth-brand{justify-content:center}.auth-card{padding:28px}.auth-card h1{font-size:1.65rem}.tabs button{font-size:.75rem}.rich-editor{min-height:calc(100vh - 270px)}}
