:root{color:#17211b;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}button:disabled{cursor:wait;opacity:.72}.loginShell{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f5f7f4}.loginPanel{display:grid;gap:22px;width:min(100%,420px);padding:28px;border:1px solid #d9e2dc;border-radius:8px;background:#fff;box-shadow:0 18px 42px #1c2b221a}.loginBrand{color:#17211b}.loginForm{display:grid;gap:14px}.loginForm label{display:grid;gap:7px;color:#4d5b53;font-size:13px;font-weight:760}.loginForm input{height:44px;padding:0 12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff}.loginStatus{margin:0;color:#5d6c63;font-size:14px;line-height:1.45}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .16s ease}.shell.sidebarCollapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{background:#18231d;color:#f7faf7;padding:24px 18px;overflow:hidden}.sidebarHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;min-height:44px;font-size:20px;font-weight:760}.sidebarToggle{position:relative;display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(247,250,247,.18);border-radius:8px;background:transparent;color:#c9d5cd;cursor:pointer}.sidebarToggle:hover{background:#294133;color:#fff}.sidebar.collapsed{padding:24px 12px}.sidebar.collapsed .sidebarHeader{justify-content:center}.sidebar.collapsed .brand{display:none}nav{display:grid;gap:8px;margin-top:34px}.navItem{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#c9d5cd;text-decoration:none;cursor:pointer}.navItem svg{flex:0 0 auto}.navBadge{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;border-radius:999px;background:#d94b3d;color:#fff;font-size:12px;font-weight:850}.navLabel{white-space:nowrap}.sidebar.collapsed .navItem{justify-content:center;padding:0}.sidebar.collapsed .navLabel{display:none}.navItem.active,.navItem:hover{background:#294133;color:#fff}.workspace{padding:28px;overflow:hidden}.topbar,.panelHeader,.topicHeader,.topicStats,.controls{display:flex;align-items:center}.topbar{justify-content:space-between;gap:18px}.eyebrow{margin:0 0 6px;color:#68756d;font-size:13px;font-weight:720;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:32px;line-height:1.1}h2{font-size:18px}.primaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:8px;background:#1d7a5c;color:#fff;font-weight:760;cursor:pointer}.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #cad7d0;border-radius:8px;background:#fff;color:#17211b;font-weight:760;cursor:pointer}.compactButton{min-height:38px;padding:0 12px}.controls{gap:10px;margin-top:26px}.backupAlert{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 16px;border:1px solid #e4aaa4;border-radius:8px;background:#fff1ef;color:#6c241f}.backupAlert strong,.backupAlert p{margin:0}.backupAlert strong{display:block;margin-bottom:4px;font-size:15px}.backupAlert p{font-size:13px;line-height:1.45}.backupAlertActions,.backupActions{display:flex;flex-wrap:wrap;gap:8px}.searchBox{display:flex;align-items:center;gap:10px;flex:1;min-width:220px;height:42px;padding:0 12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff}input,select{border:0;color:#17211b;background:transparent;outline:0}input{width:100%}select,.createTopic input,.topicCreateDialogForm input,.topicEditForm input,.createCategory input,.createSection input,.sectionCreateDialogForm input,.editCategoryForm input,.editSectionForm input{height:42px;padding:0 12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff}.editSectionForm textarea,.sectionEditor textarea{min-height:150px;width:100%;padding:12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#17211b;line-height:1.45;resize:vertical}.statusBadge{display:inline-flex;align-items:center;min-height:42px;max-width:320px;padding:0 12px;border:1px solid #d4ddd7;border-radius:8px;color:#4d5b53;background:#fff;font-size:13px;font-weight:700}.statusBadge.loading{color:#7b5a21;background:#fff8e8}.contentGrid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.35fr);gap:18px;margin-top:18px}.contentGrid.topicsOnly,.contentGrid.roadmapFocus{grid-template-columns:minmax(0,1fr)}.categoryControls{align-items:stretch}.topicsSection{display:grid;gap:16px;width:100%}.topicsToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topicList{display:grid;gap:12px}.topicList.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.topicList.list{grid-template-columns:minmax(0,1fr)}.createTopic,.createCategory{display:grid;gap:8px;padding:14px;border:1px dashed #b9c8c0;border-radius:8px;background:#fbfcfb}.createTopic{grid-template-columns:1fr}.topicCreateDialog,.sectionCreateDialog{position:fixed;z-index:45;top:50%;left:50%;display:grid;gap:14px;width:min(560px,calc(100vw - 32px));padding:18px;border:1px solid #d9e2dc;border-radius:8px;background:#fff;box-shadow:0 24px 70px #17211b3d;transform:translate(-50%,-50%)}.sectionCreateDialog{width:min(720px,calc(100vw - 32px))}.topicCreateDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.topicCreateDialogForm,.sectionCreateDialogForm{display:grid;gap:10px}.createCategory{grid-template-columns:minmax(220px,360px) auto;flex:1}.categoryChoices{display:flex;flex-wrap:wrap;gap:8px}.categoryChoices label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #d4ddd7;border-radius:999px;background:#fff;color:#4d5b53;font-size:13px;font-weight:700}.categoryChoices input{width:auto;height:auto;margin:0}.categoryChoices span{color:#68756d;font-size:13px}.topicCard,.roadmapPanel,.categoryCard{border:1px solid #d9e2dc;border-radius:8px;background:#fff}.topicCard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;align-content:space-between;gap:18px;width:100%;min-height:220px;padding:18px;color:inherit;text-align:left}.topicCard.selected{border-color:#1d7a5c;box-shadow:0 0 0 3px #d9eee6}.topicMain{display:grid;gap:18px;align-self:stretch;min-width:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.topicList.list .topicCard{min-height:0}.topicOrderControls{display:grid;gap:6px;justify-items:center}.topicOrderControls button{position:relative;display:grid;place-items:center;width:30px;height:28px;border:1px solid #cad7d0;border-radius:6px;background:#fff;color:#4d5b53;cursor:pointer}.topicOrderControls button:hover:not(:disabled){border-color:#1d7a5c;color:#1d7a5c}.topicEditForm{display:grid;grid-column:1 / -1;gap:10px;padding-top:14px;border-top:1px solid #edf2ef}.topicEditActions{display:flex;align-items:center;gap:8px}.topicHeader{gap:12px}.order{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#e7f1ec;color:#1d7a5c;font-weight:800}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tags span{padding:4px 8px;border-radius:999px;background:#f0f4f2;color:#4d5b53;font-size:12px;font-weight:700}.progressTrack{height:8px;overflow:hidden;border-radius:999px;background:#e7ece9}.progressTrack span{display:block;height:100%;border-radius:inherit;background:#1d7a5c}.topicStats{gap:14px;color:#5d6c63}.topicStats span{display:inline-flex;align-items:center;gap:5px}.roadmapPanel{min-height:calc(100vh - 150px);padding:22px}.roadmapFocus .roadmapPanel{width:100%}.textButton{width:fit-content;min-height:30px;padding:0;background:transparent;color:#4d5b53;cursor:pointer;font-size:13px;font-weight:760}.textButton:hover{color:#1d7a5c}.createSection{display:grid;gap:8px;margin-top:22px;padding:14px;border:1px dashed #b9c8c0;border-radius:8px;background:#fbfcfb}.sectionFormRow{display:grid;grid-template-columns:minmax(150px,1fr) 86px minmax(110px,140px) minmax(120px,150px) auto;gap:8px}.sectionCreateDialogForm .sectionFormRow{grid-template-columns:minmax(180px,1fr) 92px minmax(120px,150px) minmax(120px,150px)}.categoryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:18px}.aiRoadmap{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);gap:16px;margin-top:26px}.aiFormPanel,.aiPromptPanel,.aiJsonPanel{display:grid;gap:14px;padding:18px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.aiJsonPanel{grid-column:1 / -1}.aiFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aiFormGrid label{display:grid;gap:7px;color:#4d5b53;font-size:13px;font-weight:760}.fieldLabel{color:#17211b;font-size:13px;font-weight:850}.fieldHelp{max-width:760px;color:#68786f;font-size:12px;font-weight:650;line-height:1.4}.aiWideField{grid-column:1 / -1}.aiFormGrid input,.aiFormGrid textarea,.aiPromptPanel textarea,.aiJsonPanel textarea{width:100%;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#17211b;line-height:1.45}.aiFormGrid input{height:42px;padding:0 12px}.aiFormGrid textarea{min-height:92px;padding:12px;resize:vertical}.aiPromptPanel textarea,.aiJsonPanel textarea,.aiReadonlyPrompt,.aiJsonInput{min-height:360px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;resize:vertical}.aiJsonPanel textarea{min-height:260px}.sectionAiPanel{display:grid;gap:12px;padding-top:14px;border-top:1px solid #d9e2dc}.sectionAiPanel .panelHeader{align-items:flex-start}.sectionAiPanel h3{margin:0;font-size:16px}.aiReadonlyPrompt,.aiJsonInput{width:100%;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#17211b;resize:vertical}.aiReadonlyPrompt{min-height:220px;background:#fbfcfb}.aiJsonInput{min-height:160px}.aiValidationRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.statusBadge.success{color:#1d7a5c;background:#e9f6f1}.backupControls{justify-content:space-between;align-items:flex-start}.backupHint{margin:8px 0 0;color:#5d6c63;font-size:14px}.backupHint code{padding:2px 5px;border-radius:5px;background:#eef3f0}.backupSummary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:18px}.backupSummary article,.backupRecord{border:1px solid #d9e2dc;border-radius:8px;background:#fff}.backupSummary article{display:grid;gap:8px;padding:16px}.backupSummary span{color:#68756d;font-size:12px;font-weight:800;text-transform:uppercase}.backupSummary strong{font-size:18px}.backupSummary article.attention{border-color:#e4aaa4;background:#fff1ef;color:#6c241f}.backupList{display:grid;gap:12px;margin-top:18px}.imageCleanupGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:18px}.imageCleanupCard{display:grid;gap:12px;padding:14px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.imageCleanupCard img{width:100%;aspect-ratio:16 / 10;object-fit:contain;border:1px solid #d9e2dc;border-radius:8px;background:#f5f7f4}.imageCleanupCard h3,.imageCleanupCard p{margin:0}.imageCleanupCard h3{overflow-wrap:anywhere;font-size:15px}.imageCleanupCard p:not(.eyebrow){color:#5d6c63;font-size:13px;line-height:1.45}.imageCleanupSelect{display:inline-flex;align-items:center;gap:8px;color:#4d5b53;font-size:13px;font-weight:800}.imageCleanupSelect input{width:auto}.backupRecord{display:grid;padding:16px;border-left-width:5px}.backupRecord.success{border-left-color:#1d7a5c}.backupRecord.ignored{border-left-color:#b9822f}.backupRecord h3,.backupRecord p{margin:0}.backupRecord h3{font-size:16px}.backupRecord p:not(.eyebrow){margin-top:6px;color:#5d6c63;font-size:13px}.categoryCard{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:92px;padding:18px}.cardActions,.editCategoryForm{display:flex;align-items:center;gap:8px}.editCategoryForm{width:100%}.editCategoryForm input{flex:1;min-width:0}.iconButton{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #cad7d0;border-radius:8px;background:#fff;color:#17211b;cursor:pointer}.iconButton:hover{background:#f0f4f2}.visuallyHidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.iconButton.danger{color:#a73f35}.iconButton[aria-label]:after,.topicOrderControls button[aria-label]:after,.nodeOrderControls button[aria-label]:after,.markdownToolbar button[aria-label]:after,.sidebarToggle[aria-label]:after{position:absolute;z-index:120;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 9px;border-radius:7px;background:#17211b;color:#fff;content:attr(aria-label);font-size:12px;font-weight:760;line-height:1.25;opacity:0;pointer-events:none;text-align:center;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease;white-space:normal}.iconButton[aria-label]:before,.topicOrderControls button[aria-label]:before,.nodeOrderControls button[aria-label]:before,.markdownToolbar button[aria-label]:before,.sidebarToggle[aria-label]:before{position:absolute;z-index:121;bottom:calc(100% + 3px);left:50%;border:5px solid transparent;border-top-color:#17211b;content:"";opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}.iconButton[aria-label]:hover:after,.iconButton[aria-label]:focus-visible:after,.topicOrderControls button[aria-label]:hover:after,.topicOrderControls button[aria-label]:focus-visible:after,.nodeOrderControls button[aria-label]:hover:after,.nodeOrderControls button[aria-label]:focus-visible:after,.markdownToolbar button[aria-label]:hover:after,.markdownToolbar button[aria-label]:focus-visible:after,.sidebarToggle[aria-label]:hover:after,.sidebarToggle[aria-label]:focus-visible:after,.iconButton[aria-label]:hover:before,.iconButton[aria-label]:focus-visible:before,.topicOrderControls button[aria-label]:hover:before,.topicOrderControls button[aria-label]:focus-visible:before,.nodeOrderControls button[aria-label]:hover:before,.nodeOrderControls button[aria-label]:focus-visible:before,.markdownToolbar button[aria-label]:hover:before,.markdownToolbar button[aria-label]:focus-visible:before,.sidebarToggle[aria-label]:hover:before,.sidebarToggle[aria-label]:focus-visible:before{opacity:1;transform:translate(-50%)}.panelHeader,.panelTools,.viewToggle{justify-content:space-between}.panelTools,.roadmapTitleBar{display:flex;align-items:center;gap:12px}.panelTools>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e7f1ec;color:#1d7a5c;font-weight:800}.zoomControls{display:flex;align-items:center;gap:6px;min-height:42px;padding:0 6px;border:1px solid #cad7d0;border-radius:8px;background:#fff}.zoomControls .iconButton{width:30px;height:30px;min-height:30px;border-radius:6px;font-size:18px;font-weight:800}.zoomControls span{min-width:44px;color:#4d5b53;font-size:12px;font-weight:800;text-align:center}.viewToggle{display:inline-grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid #cad7d0;border-radius:8px;background:#fff}.viewToggle button{min-height:36px;padding:0 12px;background:transparent;color:#4d5b53;cursor:pointer;font-size:13px;font-weight:760}.viewToggle button.active{background:#1d7a5c;color:#fff}.roadmapViewport{position:relative;min-height:calc(100vh - 270px);height:calc(100vh - 270px);overflow:auto;border:1px solid #d9e2dc;border-radius:8px;background:linear-gradient(rgba(23,33,27,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,33,27,.04) 1px,transparent 1px),#fbfcfb;background-size:28px 28px}.roadmapCanvas{position:absolute;min-width:100%;min-height:100%}.roadmapCanvasContent{position:absolute;inset:0 auto auto 0;transform-origin:top left}.roadmapEdges{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.roadmapEdges path{fill:none;stroke:#9fb0a7;stroke-linecap:round;stroke-width:2.5}.roadmapTopicNode{position:absolute;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:220px;min-height:72px;padding:12px;border:2px solid #1d7a5c;border-radius:8px;background:#fff;color:#17211b;box-shadow:0 10px 22px #1c2b221f}.roadmapTopicNode svg{color:#1d7a5c}.roadmapTopicNode strong{overflow:hidden;font-size:15px;line-height:1.25;text-overflow:ellipsis}.roadmapNode,.roadmapListItem{position:absolute;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:220px;min-height:88px;padding:8px;border:1px solid #cad7d0;border-radius:8px;background:#fff;color:#17211b;font-weight:760;text-align:left;box-shadow:0 8px 18px #1c2b2214}.roadmapListItem{position:relative;width:auto;min-height:70px;box-shadow:none}.roadmapNode:hover,.roadmapNode.selected,.roadmapListItem:hover,.roadmapListItem.selected{transform:translateY(-1px);box-shadow:0 12px 26px #1c2b2224}.roadmapNode.selected,.roadmapListItem.selected{outline:3px solid #cce9df}.nodeMain{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:54px;padding:4px;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.nodeMain:hover{background:#f5f9f6}.nodeStatus{width:14px;height:14px;border-radius:999px;background:#b9822f}.nodeOrderControls{display:grid;gap:4px;justify-items:center}.nodeOrderControls span,.nodeOrderControls button{display:grid;place-items:center;width:26px;height:22px;border-radius:6px}.nodeOrderControls span{background:#e7f1ec;color:#1d7a5c;font-size:12px;font-weight:850}.nodeOrderControls button{position:relative;border:1px solid #cad7d0;background:#fff;color:#4d5b53;cursor:pointer}.nodeOrderControls button:hover:not(:disabled){border-color:#1d7a5c;color:#1d7a5c}.nodeText{display:grid;gap:5px;min-width:0}.nodeText strong{overflow:hidden;font-size:14px;line-height:1.25;text-overflow:ellipsis}.nodeText em,.typeBadge{width:fit-content;padding:3px 7px;border:1px solid #d4ddd7;border-radius:999px;background:#fff;color:#4d5b53;font-size:11px;font-style:normal;font-weight:800}.nodeText small{display:-webkit-box;overflow:hidden;color:#5d6c63;font-size:12px;font-weight:600;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sectionText{min-width:0}.sectionText h3{margin:0;font-size:15px;letter-spacing:0}.sectionText p{margin:5px 0 0;color:#5d6c63;font-size:13px;line-height:1.35}.markdownPreview{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #d4ddd7;color:#2d3931;font-weight:500}.markdownPreview h4,.markdownPreview h5,.markdownPreview p,.markdownPreview ul,.markdownPreview ol,.markdownPreview pre{margin:0}.markdownPreview h4{font-size:14px}.markdownPreview h5,.markdownPreview p,.markdownPreview li{font-size:13px;line-height:1.45}.markdownPreview ul,.markdownPreview ol{padding-left:18px}.markdownPreview pre{overflow-x:auto;padding:10px;border-radius:8px;background:#17211b;color:#f7faf7;font-size:12px;line-height:1.45}.markdownPreview a{color:#1d7a5c;font-weight:760}.markdownPreview code{padding:2px 5px;border-radius:5px;background:#eef3f0;color:#17211b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92em}.markdownPreview img{display:block;max-width:100%;max-height:520px;object-fit:contain;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.markdownPreview figure{margin:0}.markdownTableWrap{overflow-x:auto;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.markdownPreview table{width:100%;min-width:520px;border-collapse:collapse}.markdownPreview th,.markdownPreview td{padding:10px 12px;border-bottom:1px solid #edf2ef;border-left:1px solid #edf2ef;text-align:left;vertical-align:top;font-size:13px;line-height:1.45}.markdownPreview th:first-child,.markdownPreview td:first-child{border-left:0}.markdownPreview th{background:#f0f4f2;color:#17211b;font-weight:800}.markdownPreview tr:last-child td{border-bottom:0}.sectionActions,.editSectionForm{display:grid;grid-auto-flow:column;align-items:center;gap:8px}.sectionActions select{width:128px}.editSectionForm{grid-column:1 / -1;grid-auto-flow:row}.roadmapNode.studied,.roadmapListItem.studied{border-color:#1d7a5c;background:#e9f6f1}.roadmapNode.studied .nodeStatus,.roadmapListItem.studied .nodeStatus{background:#1d7a5c}.roadmapNode.active,.roadmapNode.pending,.roadmapListItem.pending{border-color:#b9822f;background:#fff8e8}.roadmapNode.pending .nodeStatus,.roadmapListItem.pending .nodeStatus{background:#b9822f}.roadmapNode.skipped,.roadmapListItem.skipped{border-color:#939f98;background:#f0f4f2}.roadmapNode.skipped .nodeStatus,.roadmapListItem.skipped .nodeStatus{background:#939f98}.roadmapList{display:grid;gap:10px;min-height:calc(100vh - 270px);padding:16px;overflow:auto;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.roadmapDetailGrid{display:block;margin-top:18px}.sectionDetail,.sectionEditor{display:grid;gap:14px;padding:16px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.sectionDetail{position:relative;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;min-height:420px;overflow:hidden}.sectionDrawer{position:fixed;z-index:40;inset:0 0 0 auto;width:min(1220px,94vw);min-height:100vh;max-height:100vh;overflow:auto;border-radius:0;border-top:0;border-right:0;border-bottom:0;box-shadow:-24px 0 60px #17211b2e}.sectionDrawer.editing{width:min(1480px,98vw)}.chatDrawer{position:fixed;z-index:50;inset:0 0 0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:14px;width:min(980px,92vw);min-height:100vh;max-height:100vh;overflow:auto;padding:16px;border-left:1px solid #d9e2dc;background:#fff;box-shadow:-24px 0 60px #17211b33}.topicStudyDrawer{position:fixed;z-index:50;inset:0 0 0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;width:min(1120px,94vw);min-height:100vh;max-height:100vh;overflow:auto;padding:16px;border-left:1px solid #d9e2dc;background:#fff;box-shadow:-24px 0 60px #17211b33}.chatDrawer .detailHeader,.topicStudyDrawer .detailHeader{margin:-16px -16px 0}.topicStudySetup,.topicStudySession{display:grid;gap:14px;align-content:start}.topicStudyActions,.topicStudyFooter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.topicStudySectionList,.topicStudyItems{display:grid;gap:10px}.topicStudySection{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:10px 12px;border:1px solid #d9e2dc;border-radius:8px;background:#fff;color:#17211b}.topicStudySection.disabled{color:#7b8780;background:#f0f4f2}.topicStudySection input{width:auto}.topicStudySection span{display:grid;gap:3px;min-width:0}.topicStudySection strong{overflow-wrap:anywhere;font-size:14px}.topicStudySection small,.topicStudySection em,.studySource{color:#68756d;font-size:12px;font-style:normal;font-weight:800}.topicStudySection em{white-space:nowrap}.topicStudyCard{margin:0}.studySource{margin:0 0 6px}.mobileRoadmaps,.mobileTopicList,.mobileSectionList,.mobileSectionStudy,.mobileTopicStudy,.mobileQuestions,.mobileFlashcards{display:grid;gap:12px}.mobileSearch{width:100%}.mobileTopicCard,.mobileSectionItem{display:grid;align-items:center;gap:10px;width:100%;min-width:0;padding:12px;border:1px solid #d9e2dc;border-radius:8px;background:#fff;color:#17211b;text-align:left;cursor:pointer}.mobileTopicCard,.mobileSectionItem{grid-template-columns:auto minmax(0,1fr) auto}.mobileTopicCard span:not(.order),.mobileSectionItem span:not(.nodeStatus),.mobileStudyHeader>div{display:grid;gap:4px;min-width:0}.mobileTopicCard strong,.mobileSectionItem strong,.mobileStudyHeader h2{overflow-wrap:anywhere}.mobileTopicCard small,.mobileSectionItem small,.mobileStudyHeader p:not(.eyebrow){color:#5d6c63;font-size:13px;line-height:1.4}.mobileTopicCard em,.mobileSectionItem em{color:#4d5b53;font-size:12px;font-style:normal;font-weight:800}.mobileSectionItem.studied{border-color:#1d7a5c;background:#e9f6f1}.mobileSectionItem.studied .nodeStatus{background:#1d7a5c}.mobileSectionItem.pending{border-color:#b9822f;background:#fff8e8}.mobileSectionItem.skipped{border-color:#939f98;background:#f0f4f2}.mobileStudyHeader{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px}.mobileStudyActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobileStudyHeader h2,.mobileStudyHeader p{margin:0}.mobileSectionTabs{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.mobileContent{padding-bottom:24px}.mobileContent .markdownPreview{gap:12px;margin-top:0;padding-top:0;border-top:0}.mobileContent .markdownPreview h4{font-size:20px;line-height:1.3}.mobileContent .markdownPreview h5{font-size:17px;line-height:1.35}.mobileContent .markdownPreview p,.mobileContent .markdownPreview li{font-size:16px;line-height:1.65}.chatPromptPanel,.chatLinksPanel{display:grid;gap:12px;align-content:start}.chatPromptPanel h3,.chatLinksPanel h3,.chatLinksPanel p{margin:0}.chatLinkForm{display:grid;gap:8px;padding:12px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.creationChatLinkFields{display:grid;gap:8px;padding:12px;border:1px dashed #b9c8c0;border-radius:8px;background:#fbfcfb}.creationChatLinkFields h3,.creationChatLinkFields p{margin:0}.chatLinkForm input,.chatLinkForm textarea,.creationChatLinkFields input,.creationChatLinkFields textarea{width:100%;border:1px solid #d4ddd7;border-radius:8px;background:#fff}.chatLinkForm input,.creationChatLinkFields input{height:42px;padding:0 12px}.chatLinkForm textarea,.creationChatLinkFields textarea{min-height:82px;padding:12px;resize:vertical}.chatLinkCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.chatLinkCard a{color:#1d7a5c;font-weight:800}.chatLinkCard p{margin-top:8px;color:#5d6c63;font-size:13px;line-height:1.45}.chatLinkActions{display:flex;align-items:center;gap:8px}.detailBackdrop{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;background:#17211b6b;cursor:pointer}.detailHeader:before{position:absolute;inset:0 auto 0 0;width:5px;content:""}.detailHeader{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:-16px -16px 0;padding:16px 16px 16px 21px;border-bottom:1px solid #d9e2dc;background:#fbfcfb}.drawerHeaderActions{display:flex;align-items:start;gap:8px}.detailHeader.pending:before{background:#b9822f}.detailHeader.studied:before{background:#1d7a5c}.detailHeader.skipped:before{background:#939f98}.detailHeader h3,.detailHeader p,.detailEmpty h3,.detailEmpty p{margin:0}.detailHeader h3,.detailEmpty h3{font-size:17px}.detailHeader>div,.detailEmpty{display:grid;gap:7px;min-width:0}.detailHeader p,.detailEmpty p{color:#5d6c63;font-size:14px;line-height:1.45}.sectionTabs{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;width:min(100%,620px);border:1px solid #cad7d0;border-radius:8px;background:#fff}.sectionTabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 12px;background:transparent;color:#4d5b53;cursor:pointer;font-size:13px;font-weight:800}.sectionTabs button.active{background:#1d7a5c;color:#fff}.sectionTabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#edf2ef;color:#4d5b53;font-size:12px}.sectionTabs button.active span{background:#fff3;color:#fff}.detailContent{display:block;min-height:0;overflow:visible}.detailContent .markdownPreview{gap:12px;margin-top:0;padding-top:0;border-top:0}.detailContent .markdownPreview h4{font-size:18px;line-height:1.35}.detailContent .markdownPreview h5{font-size:16px;line-height:1.4}.detailContent .markdownPreview p,.detailContent .markdownPreview li{font-size:15px;line-height:1.62}.detailContent .markdownPreview pre{font-size:14px;line-height:1.55}.detailActions,.detailEditorRow{display:flex;align-items:center;gap:8px}.questionPanel,.flashcardPanel{display:grid;gap:12px;padding-top:14px;border-top:1px solid #d9e2dc}.questionPanel h3,.flashcardPanel h3,.questionCard h4,.questionCard p{margin:0}.questionCard{display:grid;gap:12px;padding:14px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.questionCard header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.questionCard header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e7f1ec;color:#1d7a5c;font-size:13px;font-weight:800}.questionCard h4{font-size:14px;line-height:1.35}.questionCard p{color:#5d6c63;font-size:12px;line-height:1.4}.questionOptions{display:grid;gap:8px}.questionOptions label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#2d3931;font-size:13px;font-weight:650;line-height:1.35}.questionOptions label.correctOption{border-color:#1d7a5c;background:#e9f6f1;color:#1d7a5c}.questionOptions input{width:auto;margin-top:2px}.questionActions{display:flex;flex-wrap:wrap;gap:8px}.questionFooter{display:flex;align-items:center;justify-content:space-between;gap:10px}.answerFeedback{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.answerFeedback.correct{background:#e9f6f1;color:#1d7a5c}.answerFeedback.wrong{background:#fff1ef;color:#a73f35}.answerExplanation{padding-top:10px;border-top:1px solid #d9e2dc}.answerReveal{display:grid;gap:8px;padding:12px;border:1px solid #b8d8ca;border-radius:8px;background:#f2fbf7}.answerReveal strong,.answerReveal p,.answerReveal ul{margin:0}.answerReveal strong{color:#1d7a5c;font-size:13px}.answerReveal ul{padding-left:18px;color:#17211b;font-size:13px;font-weight:700}.answerReveal p{color:#4d5b53;font-size:13px;line-height:1.45}.flashcardCard{display:grid;gap:10px;padding:14px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.flashcardFace{display:grid;gap:10px;min-height:140px;padding:18px;border:1px solid #cad7d0;border-radius:8px;background:#fff;color:#17211b;cursor:pointer;text-align:left}.flashcardFace.flipped{border-color:#1d7a5c;background:#e9f6f1}.flashcardFace span{color:#68756d;font-size:12px;font-weight:800;text-transform:uppercase}.flashcardFace strong{font-size:16px;line-height:1.45}.flashcardStats,.flashcardActions{display:flex;flex-wrap:wrap;gap:8px}.flashcardStats span{padding:4px 8px;border-radius:999px;background:#f0f4f2;color:#4d5b53;font-size:12px;font-weight:760}.flashcardActions button{min-height:34px;padding:0 10px;border:1px solid #cad7d0;border-radius:8px;background:#fff;color:#17211b;cursor:pointer;font-size:12px;font-weight:760}.flashcardActions button:hover{background:#f0f4f2}.flashcardFeedback{margin:0;color:#1d7a5c;font-size:13px;font-weight:760}.detailActions{justify-content:flex-end;flex-wrap:wrap;padding-top:2px}.sectionEditor input{height:42px;padding:0 12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff}.sectionEditor{padding:0;border:0}.markdownEditor{display:grid;gap:12px;align-items:stretch}.markdownEditorPane{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0}.markdownEditorPane.preview{padding:12px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.markdownEditorHeader{display:flex;align-items:center;justify-content:flex-start;gap:12px}.markdownEditorTitle{min-width:140px}.markdownEditorHeader h3,.markdownEditorHeader p{margin:0}.markdownEditorHeader h3{font-size:14px}.markdownToolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.markdownToolbar button{position:relative;display:inline-grid;place-items:center;width:34px;height:32px;border:1px solid #cad7d0;border-radius:7px;background:#fff;color:#17211b;cursor:pointer}.markdownToolbar button:hover{border-color:#1d7a5c;color:#1d7a5c}.markdownUploadStatus{margin:-2px 0 0;color:#5d6c63;font-size:12px;font-weight:760}.sectionEditor textarea.sectionContentEditor{min-height:58vh;height:100%;resize:vertical}.markdownEditorPreview{min-height:58vh;overflow:auto;padding:12px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.markdownEditorPreview .markdownPreview{margin-top:0;padding-top:0;border-top:0}.markdownField{display:grid;gap:8px;min-width:0}.markdownFieldHeader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.markdownFieldHeader .markdownToolbar{flex:1 1 300px;padding:6px}.markdownFieldHeader .markdownToolbar button{width:32px;height:30px}.markdownField textarea{width:100%;min-height:92px;resize:vertical}.markdownFieldPreview{min-height:92px;padding:10px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.markdownFieldPreview .markdownPreview,.questionStatement .markdownPreview,.optionText .markdownPreview,.flashcardMarkdown .markdownPreview,.answerExplanation .markdownPreview{margin-top:0;padding-top:0;border-top:0}.questionStatement .markdownPreview,.flashcardMarkdown .markdownPreview{color:inherit}.optionText{display:block;min-width:0}.optionText .markdownPreview{gap:4px}.optionText .markdownPreview p,.optionText .markdownPreview li{font-size:inherit;line-height:inherit}.detailEditorRow{display:grid;grid-template-columns:86px minmax(120px,1fr) minmax(110px,1fr) auto auto}.materialEditor{display:grid;gap:12px;padding-top:16px;border-top:1px solid #d9e2dc}.materialEditorHeader h3,.materialEditorHeader p{margin:0}.materialEditorCard{display:grid;gap:10px;padding:12px;border:1px solid #d9e2dc;border-radius:8px;background:#fbfcfb}.materialEditorCard.newItem{border-style:dashed}.materialEditorCardHeader{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.materialEditorCardHeader h4,.materialEditorCardHeader p{margin:0}.materialEditorCardHeader h4{font-size:15px}.materialEditor textarea{min-height:76px;width:100%;padding:10px 12px;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#17211b}.optionEditorList{display:grid;gap:8px}.optionEditorRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.optionEditorRow label{display:flex;align-items:center;gap:6px;min-height:42px;padding:0 10px;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#4d5b53;font-size:13px;font-weight:760}.optionEditorRow input[type=checkbox]{width:auto}.materialEditorActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.emptyState{position:relative;z-index:1;margin:0;padding:18px;border:1px dashed #ccd8d0;border-radius:8px;background:#fff;color:#5d6c63}.themeDark{color:#e8f0ea;background:#101614}.themeDark .workspace,.themeDark .loginShell{background:#101614}.themeDark .sidebar{background:#0c1210;color:#f4faf6}.themeDark .navItem,.themeDark .sidebarToggle{color:#b9c8c0}.themeDark .navItem.active,.themeDark .navItem:hover,.themeDark .sidebarToggle:hover{background:#1e3228;color:#fff}.themeDark .loginPanel,.themeDark .topicCard,.themeDark .roadmapPanel,.themeDark .categoryCard,.themeDark .backupSummary article,.themeDark .backupRecord,.themeDark .imageCleanupCard,.themeDark .topicCreateDialog,.themeDark .sectionCreateDialog,.themeDark .sectionDetail,.themeDark .sectionEditor,.themeDark .chatDrawer,.themeDark .topicStudyDrawer,.themeDark .chatLinkCard,.themeDark .chatLinkForm,.themeDark .creationChatLinkFields,.themeDark .materialEditorCard,.themeDark .mobileTopicCard,.themeDark .mobileSectionItem,.themeDark .topicStudySection,.themeDark .questionCard,.themeDark .flashcardCard,.themeDark .emptyState,.themeDark .aiFormPanel,.themeDark .aiPromptPanel,.themeDark .aiJsonPanel{border-color:#314139;background:#18211d;color:#e8f0ea}.themeDark .detailHeader,.themeDark .roadmapViewport,.themeDark .roadmapList,.themeDark .roadmapTopicNode,.themeDark .roadmapNode,.themeDark .roadmapListItem,.themeDark .searchBox,.themeDark .statusBadge,.themeDark .sectionTabs,.themeDark .viewToggle,.themeDark .zoomControls,.themeDark .markdownEditorPreview,.themeDark .markdownFieldPreview,.themeDark .markdownTableWrap,.themeDark .answerReveal,.themeDark .imageCleanupCard img,.themeDark .mobileSectionItem.skipped,.themeDark .createTopic,.themeDark .createCategory,.themeDark .createSection,.themeDark .sectionAiPanel{border-color:#314139;background:#131b18;color:#e8f0ea}.themeDark .roadmapViewport{background:linear-gradient(rgba(232,240,234,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(232,240,234,.06) 1px,transparent 1px),#101614}.themeDark input,.themeDark select,.themeDark textarea,.themeDark .loginForm input,.themeDark .createTopic input,.themeDark .topicCreateDialogForm input,.themeDark .topicEditForm input,.themeDark .createCategory input,.themeDark .createSection input,.themeDark .sectionCreateDialogForm input,.themeDark .editCategoryForm input,.themeDark .editSectionForm input,.themeDark .chatLinkForm input,.themeDark .chatLinkForm textarea,.themeDark .creationChatLinkFields input,.themeDark .creationChatLinkFields textarea,.themeDark .materialEditor textarea,.themeDark .markdownField textarea,.themeDark .editSectionForm textarea,.themeDark .sectionEditor textarea,.themeDark .aiReadonlyPrompt,.themeDark .aiJsonInput{border-color:#3a4d43;background:#0f1714;color:#edf6f0}.themeDark input::placeholder,.themeDark textarea::placeholder{color:#7f9188}.themeDark .fieldLabel{color:#f1f8f3}.themeDark .fieldHelp{color:#9aac9f}.themeDark .primaryButton{background:#2aa879;color:#06110d}.themeDark .secondaryButton,.themeDark .iconButton,.themeDark .topicOrderControls button,.themeDark .nodeOrderControls button,.themeDark .flashcardActions button,.themeDark .markdownToolbar button{border-color:#3a4d43;background:#15201b;color:#e8f0ea}.themeDark .secondaryButton:hover,.themeDark .iconButton:hover,.themeDark .topicOrderControls button:hover:not(:disabled),.themeDark .nodeOrderControls button:hover:not(:disabled),.themeDark .markdownToolbar button:hover{border-color:#2aa879;background:#1e3228;color:#fff}.themeDark .eyebrow,.themeDark .loginStatus,.themeDark .topicStats,.themeDark .nodeText small,.themeDark .sectionText p,.themeDark .detailHeader p,.themeDark .detailEmpty p,.themeDark .backupHint,.themeDark .backupRecord p:not(.eyebrow),.themeDark .imageCleanupCard p:not(.eyebrow),.themeDark .imageCleanupSelect,.themeDark .chatLinkCard p,.themeDark .mobileTopicCard small,.themeDark .mobileSectionItem small,.themeDark .mobileStudyHeader p:not(.eyebrow),.themeDark .studySource,.themeDark .topicStudySection small,.themeDark .topicStudySection em{color:#aebdb5}.themeDark .order,.themeDark .nodeOrderControls span,.themeDark .panelTools>span,.themeDark .progressTrack{background:#22362c;color:#7de0b7}.themeDark .progressTrack span{background:#2aa879}.themeDark .tags span,.themeDark .typeBadge,.themeDark .nodeText em,.themeDark .sectionTabs span,.themeDark .markdownPreview code{border-color:#3a4d43;background:#223029;color:#dce8e1}.themeDark .sectionTabs button,.themeDark .viewToggle button{color:#c2d0c8}.themeDark .sectionTabs button.active,.themeDark .viewToggle button.active{background:#2aa879;color:#06110d}.themeDark .sectionTabs button.active span{background:#06110d2e;color:#06110d}.themeDark .markdownPreview,.themeDark .detailContent .markdownPreview{border-color:#314139;color:#dfe9e3}.themeDark .markdownPreview pre{background:#07100d;color:#e8f0ea}.themeDark .markdownPreview th{background:#223029;color:#edf6f0}.themeDark .markdownPreview td,.themeDark .markdownPreview th{border-color:#314139}.themeDark .markdownPreview img{border-color:#314139;background:#0f1714}.themeDark .roadmapEdges path{stroke:#5d7167}.themeDark .roadmapNode.studied,.themeDark .roadmapListItem.studied,.themeDark .mobileSectionItem.studied{border-color:#2aa879;background:#153326}.themeDark .roadmapNode.pending,.themeDark .roadmapListItem.pending,.themeDark .mobileSectionItem.pending{border-color:#c8953f;background:#352817}.themeDark .roadmapNode.skipped,.themeDark .roadmapListItem.skipped{border-color:#6d7d74;background:#202923}.themeDark .correctOption{border-color:#2aa879;background:#153326}.themeDark .answerFeedback.correct,.themeDark .statusBadge.success{color:#7de0b7;background:#153326}.themeDark .answerFeedback.wrong,.themeDark .backupAlert{color:#ffd3ce;background:#3b1d1b;border-color:#8f4942}.themeDark .detailBackdrop{background:#020705b8}@media (max-width: 980px){.shell{grid-template-columns:1fr}.sidebar{display:flex;align-items:center;justify-content:space-between;gap:16px}nav{display:flex;margin-top:0}.contentGrid{grid-template-columns:1fr}.topicList.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.backupSummary,.aiRoadmap{grid-template-columns:1fr}}@media (max-width: 680px){.workspace{padding:14px}.mobileStudyShell{display:block}.mobileStudyShell .sidebar{position:sticky;z-index:20;top:0;padding:10px 14px}.mobileStudyShell .sidebarToggle,.mobileStudyShell .brand{display:none}.mobileStudyShell nav{width:100%}.mobileStudyShell .navItem{justify-content:center}.mobileStudyShell .topbar{display:none}.topbar,.controls,.topicsToolbar,.sidebar{align-items:stretch;flex-direction:column}.topicList.cards{grid-template-columns:1fr}nav{overflow-x:auto}.primaryButton,.secondaryButton,select,.searchBox,.createCategory{width:100%}.createCategory,.sectionFormRow,.sectionCreateDialogForm .sectionFormRow,.aiFormGrid,.detailHeader,.detailEditorRow,.markdownEditor{grid-template-columns:1fr}.sectionDrawer{width:100vw}.sectionTabs{width:100%}.aiValidationRow,.panelTools,.drawerHeaderActions{align-items:stretch;flex-direction:column}.sectionActions{grid-auto-flow:row}.sectionActions select{width:100%}}
