:root{--paper:#efe6d3;--paper-strong:#fff6e7;--paper-soft:#f8efdc;--ink:#201f19;--muted:#675d4e;--line:#cdbd9d;--line-strong:#927f5e;--map-green:#173f35;--map-green-deep:#0f3029;--map-green-soft:#d9e7d5;--teal:#2d675f;--teal-dark:#1c4a42;--rust:#a94f32;--mustard:#c9912a;--sage:#6e875f;--danger:#9d2d2d;--paper-grain:#4a361b1b;--shadow:0 18px 48px #34281629;--route-shadow:0 12px 30px #173f351f;--workspace-left-rail:clamp(330px, 19.8vw, 405px);--workspace-right-rail:clamp(360px, 22vw, 450px);--font-ui:"Avenir Next", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display:ui-serif, Georgia, Cambria, "Times New Roman", "Noto Serif SC", serif;--font-reading:Georgia, Cambria, "Times New Roman", "Noto Serif SC", serif}*{box-sizing:border-box}html,body{min-height:100%}html{overflow-x:clip}body{color:var(--ink);background:radial-gradient(circle at 18px 22px, var(--paper-grain) 1px, transparent 1.4px), radial-gradient(circle at 74% 10%, #173f3529, transparent 26%), linear-gradient(118deg, #173f3529, transparent 35%), linear-gradient(90deg, #173f3518 1px, transparent 1px), linear-gradient(#173f3512 1px, transparent 1px), var(--paper);font-family:var(--font-ui);letter-spacing:0;background-size:36px 36px,auto,auto,44px 44px,44px 44px,auto;margin:0;line-height:1.5;overflow-x:clip}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#c9912a57}mark{color:inherit;background:#c9912a5c;padding:0 2px}button,a,input,select,textarea{transition:border-color .16s,background .16s,box-shadow .16s,color .16s,transform .16s}button:hover,.export-row a:hover,.attachment-list a:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.rich-editor-surface:focus-visible{outline-offset:2px;outline:2px solid #244f4573}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line-strong);width:min(440px,100%);box-shadow:var(--shadow);background:#fffaf1f0;padding:34px;position:relative}.login-panel:before{content:"";background:linear-gradient(var(--rust), var(--map-green));width:4px;position:absolute;inset:12px auto 12px 12px}.login-mark,.brand-mark{background:var(--map-green);width:44px;height:44px;color:var(--paper-strong);place-items:center;font-weight:800;display:grid;position:relative;box-shadow:4px 4px #a94f322e}.login-mark:after,.brand-mark:after{content:"";border:2px solid var(--paper-strong);background:var(--rust);border-radius:999px;width:10px;height:10px;position:absolute;bottom:-5px;right:-5px}.eyebrow{color:var(--rust);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.login-panel h1{font-family:var(--font-display);margin:0;font-size:46px;line-height:1}.login-copy{color:var(--muted);margin:18px 0 26px;line-height:1.8}.login-form{gap:12px;display:grid}.login-form label,.inspector label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}.password-field,.search-box,.new-project-form,.milestone-form{border:1px solid var(--line);background:#fffaf0e6;align-items:center;gap:10px;padding:0 12px;display:flex}.password-field input,.search-box input,.new-project-form input,.milestone-form input,.inspector input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:13px 0}.login-form button,.save-project{background:var(--map-green);color:#fff;border:0;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-weight:800;display:inline-flex;box-shadow:4px 4px #a94f3229}.login-form button:disabled{cursor:not-allowed;opacity:.58}.form-error,.error-banner{color:var(--danger);margin:0;font-weight:700}.workspace{grid-template-columns:var(--workspace-left-rail) minmax(0, 1fr) var(--workspace-right-rail);align-items:start;min-height:100dvh;display:grid}.workspace>*,.timeline-panel,.project-rail,.inspector,.entry-grid,.project-header,.entry-list,.editor-panel{min-width:0;max-width:100%}.workspace.focus-mode{grid-template-columns:minmax(0,1fr)}.workspace.focus-mode .project-rail,.workspace.focus-mode .project-header,.workspace.focus-mode .entry-list,.workspace.focus-mode .inspector{display:none}.workspace.focus-mode .timeline-panel{width:min(1120px,100%);margin:0 auto;padding:18px}.workspace.focus-mode .entry-grid{grid-template-columns:minmax(0,1fr);min-height:100dvh}.workspace.focus-mode .editor-panel{min-height:calc(100dvh - 36px)}.project-rail,.inspector{border-color:var(--line);background:linear-gradient(#fff6e7e6,#fff6e7e6),linear-gradient(90deg,#173f351a,#0000 34%),repeating-linear-gradient(0deg,#0000 0 21px,#173f3512 22px);min-height:100dvh;max-height:100dvh;padding:18px;position:sticky;top:0;overflow:auto}.project-rail{z-index:30;border-right:2px solid #173f352e}.inspector{border-left:2px solid #173f352e}.brand-row{grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:12px;margin-bottom:18px;display:grid}.brand-row p,.brand-row span{margin:0;display:block}.brand-row p{font-size:17px;font-weight:900}.brand-row span{color:var(--muted);font-size:12px}.icon-button{border:1px solid var(--ink);background:var(--ink);color:#fff;place-items:center;width:36px;height:36px;display:grid}.icon-button.ghost{border-color:var(--line);color:var(--muted);background:0 0}.search-box{margin-bottom:10px}.filter-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.new-project-form{margin-bottom:10px;padding-right:5px}.complete-export-button{background:linear-gradient(90deg, #173f351f, transparent 72%), var(--paper-strong);width:calc(100% - 5px);min-height:42px;color:var(--map-green);border:1px solid #173f357a;justify-content:center;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:4px 4px #173f3514}.complete-export-button:hover:not(:disabled),.complete-export-button:focus-visible{border-color:var(--map-green);background:linear-gradient(90deg, #173f352e, transparent 72%), var(--paper-strong)}.complete-export-button:disabled{cursor:wait;opacity:.62}.project-list{gap:8px;display:grid}.archive-load-more{border:1px dashed var(--line-strong);width:100%;color:var(--map-green);background:#fffaf1b8;justify-content:center;padding:8px 10px;font-size:12px;font-weight:800}.archive-load-more:disabled{cursor:wait;opacity:.62}.project-row{position:relative}.project-item,.entry-item{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000}.project-item{border-left:3px solid #0000;grid-template-columns:12px minmax(0,1fr);gap:11px;padding:12px 76px 12px 12px;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.project-row.selected .project-item{background:linear-gradient(90deg, #173f3514, transparent 54%), var(--paper-strong);border-color:var(--line-strong);border-left-color:var(--map-green);transform:translate(2px);box-shadow:7px 7px #173f351a}.project-action{opacity:.72;background:#fffaf1e6;place-items:center;width:29px;height:29px;transition:background .16s,border-color .16s,box-shadow .16s,opacity .16s,transform .16s;display:inline-grid;position:absolute;top:9px}.project-rename{color:var(--map-green);border:1px solid #26524847;right:43px}.project-delete{color:var(--danger);border:1px solid #9d2d2d47;right:8px}.project-rename:hover,.project-rename:focus-visible{opacity:1;background:#2652481a;border-color:#26524880;transform:translateY(-1px);box-shadow:3px 3px #2652481f}.project-delete:hover,.project-delete:focus-visible{opacity:1;background:#9d2d2d1a;border-color:#9d2d2d80;transform:translateY(-1px);box-shadow:3px 3px #9d2d2d1f}.project-color{border-radius:999px;width:12px;min-height:46px;box-shadow:inset 0 0 0 1px #201f191f}.project-item-text{min-width:0}.project-item strong,.entry-item strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-item small,.entry-item small{color:var(--muted);margin-top:5px;display:block}.tag-strip,.project-header-meta{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.tag-strip span,.project-header-meta span{border:1px solid var(--line);color:var(--muted);background:#fffaf1e0;align-items:center;gap:5px;padding:4px 7px;font-size:12px;font-weight:800;display:inline-flex;position:relative}.tag-strip span:before,.project-header-meta span:before{content:"";background:var(--map-green);border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #244f4517}.search-results{border-top:1px solid var(--line);gap:7px;margin-top:16px;padding-top:14px;display:grid}.search-results button,.trash-toggle,.tool-button,.version-row button,.trash-row button,.milestone-row button,.export-row button,.export-row a,.danger-action{border:1px solid var(--line-strong);background:var(--paper-strong);color:var(--ink);align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.search-results button{justify-content:flex-start;align-items:flex-start;width:100%}.search-results button>span{gap:3px;min-width:0;display:grid}.search-results strong,.search-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-results small{color:var(--muted);font-weight:700}.timeline-panel{justify-self:stretch;width:100%;min-width:0;padding:26px 22px;position:relative}.timeline-panel:before{content:"";top:0;bottom:0;left:calc(var(--workspace-left-rail) + 22px);pointer-events:none;background:linear-gradient(#0000,#244f454d 18%,#244f451f 72%,#0000);width:2px;position:fixed}.project-header{border:1px solid var(--line-strong);border-top:4px solid var(--map-green);min-height:232px;box-shadow:var(--route-shadow), inset 0 0 0 1px #ffffff80;background:radial-gradient(circle at 78% 24%,#c9912a2e,#0000 18%),radial-gradient(circle at 92% 78%,#173f352e,#0000 24%),linear-gradient(100deg,#fff6e7fc,#f6ecd6e0),repeating-linear-gradient(135deg,#173f3514 0 1px,#0000 1px 24px);grid-template-columns:minmax(560px,1fr) minmax(360px,.8fr);align-items:start;gap:18px;margin-bottom:16px;padding:20px 22px 22px;display:grid;position:relative;overflow:hidden}.project-header>*{z-index:1;position:relative}.project-title-block{align-self:start}.project-header:before{content:"";background:radial-gradient(circle at 0 50%, var(--rust) 0 7px, transparent 8px), radial-gradient(circle at 31% 50%, var(--mustard) 0 7px, transparent 8px), radial-gradient(circle at 63% 50%, var(--sage) 0 7px, transparent 8px), radial-gradient(circle at 100% 50%, var(--map-green) 0 7px, transparent 8px), linear-gradient(90deg, var(--rust), var(--map-green));opacity:.86;height:3px;position:absolute;bottom:14px;left:24px;right:24px}.project-header:after{content:"ROUTE D2";pointer-events:none;color:#173f351a;letter-spacing:0;font-size:clamp(44px,4.6vw,78px);font-weight:900;line-height:.85;position:absolute;top:22px;right:24px}.project-header h1{font-family:var(--font-display);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:clamp(42px,3vw,58px);line-height:.98}.project-header p:last-child{max-width:760px;color:var(--muted);margin:10px 0 0;line-height:1.62}.entry-actions{flex-wrap:wrap;justify-content:flex-end;align-self:start;gap:7px;display:flex}.entry-actions button{border:1px solid var(--line-strong);color:var(--ink);background:linear-gradient(#fff6e7fa,#eee2c8e6);justify-content:center;align-items:center;gap:7px;min-height:34px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:2px 2px #173f351a}.project-poster,.project-map{grid-column:1/-1}.project-poster{grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(128px,1fr)) auto;align-items:stretch;gap:8px;margin-top:2px;padding-top:10px;display:grid}.poster-card,.poster-review{background:#fffaf1d1;border:1px solid #927f5ec2;min-width:0;padding:9px 10px;box-shadow:2px 2px #173f3512}.poster-card{align-content:start;gap:4px;display:grid}.poster-card.primary{border-left:4px solid var(--map-green)}.poster-card.health.good{border-left:4px solid var(--sage)}.poster-card.health.watch{border-left:4px solid var(--mustard)}.poster-card.health.stale{border-left:4px solid var(--danger)}.poster-card span,.poster-review,.map-node span{color:var(--muted);font-size:11px;font-weight:900}.poster-card strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:13px;line-height:1.36;display:-webkit-box;overflow:hidden}.poster-card.compact strong{color:var(--map-green);font-size:17px}.poster-review{color:var(--map-green);justify-content:center;align-items:center;gap:7px;font-weight:900;display:inline-flex}.project-map{gap:7px;margin-top:0;display:grid}.map-node-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.map-node{border:1px solid var(--line);min-width:0;color:inherit;text-align:left;background:#fffaf1c2;gap:5px;padding:7px 9px 7px 15px;display:grid;position:relative}.map-node:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:10px;bottom:10px;left:8px}.map-node strong{color:var(--map-green);font-size:17px;line-height:1}.map-node.strong:before{background:var(--map-green)}.map-node.muted{opacity:.62}.map-node.selected{border-color:var(--map-green);background:#d9e7d5b8;box-shadow:2px 2px #173f351a}.entry-grid{grid-template-columns:248px minmax(0,1fr);gap:14px;min-height:calc(100vh - 174px);display:grid}.entry-list,.editor-panel,.inspector-block{border:1px solid var(--line);background:#fffaf1f0}.entry-list{background:linear-gradient(#fff6e7f0,#fff6e7f0),linear-gradient(90deg,#173f3530 1px,#0000 1px) 0 0/18px 100%;align-content:start;gap:7px;padding:10px;display:grid;position:relative;overflow:auto}.entry-list-controls{z-index:4;background:linear-gradient(#fff6e7fa,#fff6e7db);border-bottom:1px solid #927f5e38;gap:8px;padding-bottom:8px;display:grid;position:sticky;top:0}.entry-list-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.entry-list-heading{gap:1px;min-width:0;display:grid}.entry-list-heading span{color:var(--map-green);font-size:12px;font-weight:950}.entry-list-heading small{color:var(--muted);font-size:11px;font-weight:800}.entry-create-menu{flex:none;position:relative}.entry-create-trigger{border:1px solid var(--map-green);background:var(--map-green);min-height:32px;color:var(--paper-strong);justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:3px 3px #173f3521}.entry-create-trigger:hover,.entry-create-trigger:focus-visible,.entry-create-trigger[aria-expanded=true]{background:var(--map-green-deep)}.entry-create-options{z-index:8;border:1px solid var(--line-strong);background:var(--paper-strong);width:min(248px,100vw - 48px);box-shadow:8px 8px 0 #173f351a, var(--route-shadow);gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.entry-create-option{min-width:0;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.entry-create-option:hover,.entry-create-option:focus-visible,.entry-create-option.recommended{border-color:var(--line);background:#d9e7d59e}.entry-create-option-text{gap:1px;min-width:0;display:grid}.entry-create-option-text strong,.entry-create-option-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-create-option-text strong{font-size:12px}.entry-create-option-text small{color:var(--muted);font-size:10px;font-weight:750}.entry-create-badge{color:var(--map-green);background:#fff6e7d1;border:1px solid #173f3540;padding:1px 5px;font-size:10px;font-weight:950}.entry-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.entry-view-tabs button{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fffaf1d1;justify-content:space-between;align-items:center;gap:6px;min-height:30px;padding:6px 7px;font-size:11px;font-weight:900;display:flex}.entry-view-tabs button.selected{border-color:var(--map-green);color:var(--map-green);background:#d9e7d5bf}.entry-view-tabs strong{color:var(--map-green)}.document-export-panel{background:linear-gradient(90deg,#d9e7d585,#0000 78%),#fffaf1d6;border:1px solid #2d675f47;gap:7px;padding:8px;display:grid}.document-export-head,.document-export-actions,.document-export-submit,.document-export-format{gap:6px;display:grid}.document-export-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.document-export-head span{min-width:0;color:var(--map-green);align-items:center;gap:5px;font-size:11px;font-weight:950;display:inline-flex}.document-export-head small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:900}.document-export-format,.document-export-actions,.document-export-submit{grid-template-columns:repeat(2,minmax(0,1fr))}.document-export-panel button{border:1px solid var(--line);min-width:0;min-height:30px;color:var(--muted);background:#fffaf1d1;padding:6px 7px;font-size:11px;font-weight:900}.document-export-format button,.document-export-submit button:first-child{justify-content:center;align-items:center;gap:5px;display:inline-flex}.document-export-panel button.selected,.document-export-submit button:first-child{color:var(--map-green);background:#d9e7d5c2;border-color:#173f3573}.document-export-panel button:disabled{cursor:not-allowed;opacity:.48}.entry-list:before{content:"";background:linear-gradient(var(--rust), var(--map-green));pointer-events:none;width:2px;position:absolute;top:18px;bottom:18px;left:20px}.entry-list-row{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:6px;display:grid}.entry-list-row.export-selected .entry-item{background:linear-gradient(90deg,#2d675f14,#0000 58%),#fffaf1eb;border-color:#2d675f52}.entry-export-check{z-index:2;place-items:center;width:28px;min-height:39px;margin-top:8px;display:grid;position:relative}.entry-export-check input{opacity:0;pointer-events:none;position:absolute}.entry-export-check span{background:var(--paper-strong);width:20px;height:20px;color:var(--paper-strong);border:1px solid #2d675f6b;place-items:center;display:grid;box-shadow:2px 2px #173f3514}.entry-export-check input:checked+span{background:var(--map-green);color:var(--paper-strong)}.entry-export-check:focus-within span{outline-offset:2px;outline:2px solid #2d675f47}.entry-item{border-left:3px solid #0000;gap:5px;padding:10px 10px 10px 12px;display:grid;position:relative}.entry-item:before{content:"";border:2px solid var(--paper-strong);background:var(--line-strong);border-radius:999px;width:11px;height:11px;position:absolute;top:18px;left:-8px;box-shadow:0 0 0 1px #244f452e}.entry-item.selected{border-color:var(--line-strong);border-left-color:var(--rust);background:linear-gradient(90deg, #a94f3214, transparent 48%), var(--paper-strong);box-shadow:3px 3px #a94f321f}.entry-item.selected:before{background:var(--rust)}.entry-kind{color:#795510;background:#c9912a2e;width:fit-content;padding:2px 6px;font-size:11px;font-weight:900}.editor-panel{--editor-toolbar-sticky-top:132px;min-width:0;box-shadow:var(--route-shadow), inset 0 0 0 1px #ffffff73;border-top:4px solid #173f356b;padding:18px 18px 18px 20px;position:relative}.editor-panel:before{content:"";background:linear-gradient(var(--map-green), var(--mustard), transparent);opacity:.62;width:3px;position:absolute;inset:16px auto 16px 12px}.editor-command-deck{z-index:30;background:linear-gradient(90deg, #d9e7d5f0, #fff6e7fa), var(--paper-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #927f5e75;border-top:0;gap:8px;margin:-6px -6px 14px;padding:9px 10px 10px;display:grid;position:sticky;top:0;box-shadow:0 14px 26px #3e311f1c,inset 0 -1px #173f3514}.editor-meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;margin-bottom:12px;display:flex}.editor-command-deck .editor-meta{margin-bottom:0}.editor-typography-controls{background:linear-gradient(90deg,#d9e7d594,#fff6e7db);border:1px solid #927f5e9e;flex-wrap:wrap;align-items:center;gap:10px;margin:-2px 0 14px;padding:8px 10px;display:flex}.editor-command-deck .editor-typography-controls{margin:0}.typography-select,.font-size-control,.text-color-control{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.typography-select select{background:#fffaf1eb;width:auto;min-width:210px;max-width:260px;padding:7px 9px}.font-size-stepper{border:1px solid var(--line);background:#fffaf1eb;grid-template-columns:32px minmax(58px,auto) 32px;align-items:center;display:inline-grid}.font-size-stepper button{width:32px;height:32px;color:var(--map-green);background:0 0;border:0;place-items:center;display:grid}.font-size-stepper button:hover{background:#d9e7d5b3}.font-size-stepper output{border-inline:1px solid var(--line);min-width:58px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;font-weight:950}.text-color-options{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.text-color-options button{border:1px solid var(--line);min-height:32px;color:var(--ink);background:#fffaf1eb;align-items:center;gap:5px;padding:5px 7px;font-size:12px;font-weight:900;display:inline-flex}.text-color-options button:hover,.text-color-options button.active{border-color:var(--map-green);background:#d9e7d5c7;box-shadow:2px 2px #173f351a}.color-swatch{background:var(--swatch-color);border:1px solid #201f1938;border-radius:999px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #fffaf157}select,input,textarea,.entry-title-input{border:1px solid var(--line);background:var(--paper-soft);width:100%;color:var(--ink);outline:0}select{padding:8px 10px}.editor-meta select{max-width:150px}textarea{resize:vertical;padding:9px 10px;line-height:1.55}.entry-title-input{font-family:var(--font-display);background:0 0;border-width:0 0 2px;border-color:#173f356b;margin-bottom:12px;padding:6px 0 10px;font-size:30px;font-weight:900;line-height:1.12}.entry-context-panel{background:linear-gradient(90deg,#d9e7d58a,#fff6e7d6);border:1px solid #927f5eb8;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:10px;display:grid}.entry-context-panel.muted{grid-template-columns:1fr}.context-column{align-content:start;gap:7px;min-width:0;display:grid}.context-column.related{grid-column:span 1}.action-chip-list,.link-chip-list{flex-wrap:wrap;gap:6px;display:flex}.action-chip-list span,.link-chip-list span{border:1px solid var(--line);color:var(--map-green);background:#fffaf1e0;padding:4px 7px;font-size:11px;font-weight:800}.related-entry-list{gap:6px;display:grid}.related-entry-list button{border:1px solid var(--line);color:inherit;text-align:left;background:#fffaf1db;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 7px;padding:6px 7px;display:grid}.related-entry-list button span,.related-entry-list button small{color:var(--muted);font-size:11px;font-weight:900}.related-entry-list button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.related-entry-list button small{grid-column:2}.save-state{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.save-state.saving{color:var(--mustard)}.save-state.retrying{color:var(--danger);font-weight:900}.save-state.dirty{color:var(--rust);font-weight:900}.save-state.saved{color:var(--sage)}.save-state.conflict{color:var(--danger);font-weight:900}.autosave-conflict{border:1px solid #9d2d2d57;border-left:4px solid var(--danger);color:var(--ink);background:linear-gradient(90deg,#9d2d2d14,#0000 72%),#fff6e7eb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:grid}.autosave-conflict>svg{color:var(--danger)}.autosave-conflict span{gap:2px;min-width:0;display:grid}.autosave-conflict strong{font-size:13px;line-height:1.35}.autosave-conflict small{color:var(--muted);font-size:12px;line-height:1.45}.autosave-conflict button{min-height:34px;color:var(--danger);white-space:nowrap;background:#fffaf1eb;border:1px solid #9d2d2d61;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.project-settings-conflict{grid-template-columns:auto minmax(0,1fr)}.project-settings-conflict button{white-space:normal;grid-column:1/-1;width:100%}.preserved-conflict-draft{border:1px solid #927f5e80;border-left:4px solid var(--mustard);background:linear-gradient(90deg,#bf852f1a,#0000 76%),#fffaf1f0;gap:10px;margin:0 0 14px;padding:12px;display:grid}.preserved-draft-body{gap:6px;min-width:0;display:grid}.preserved-draft-body>span{color:var(--muted);font-size:12px;font-weight:800}.preserved-draft-body strong{color:var(--ink);font-size:14px}.preserved-draft-body pre{max-height:180px;color:var(--ink);font-family:var(--font-ui);white-space:pre-wrap;background:#efe6d366;border:1px solid #927f5e5c;margin:0;padding:10px;font-size:13px;line-height:1.65;overflow:auto}.preserved-draft-actions{flex-wrap:wrap;gap:8px;display:flex}.preserved-draft-actions button{min-height:34px;color:var(--map-green);background:#fffaf1eb;border:1px solid #927f5e85;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.inline-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.inline-toggle input{width:auto}.tool-button{margin-left:auto}.tool-button.manual-save{color:var(--map-green);background:#d9e7d5bd;border-color:#173f356b}.tool-button.focus-toggle.active{color:var(--paper-strong);border-color:var(--map-green);background:var(--map-green)}.tool-button.manual-save:disabled{cursor:not-allowed;opacity:.48;transform:none}.editor-meta .tool-button+.tool-button{margin-left:0}.tool-button.danger,.danger-action{color:var(--danger);border-color:#9d2d2d59}.version-panel,.attachment-panel{border:1px solid var(--line);background:#fbf6ead1;gap:10px;margin-bottom:14px;padding:12px;display:grid}.version-row,.attachment-row a,.trash-row,.milestone-row{align-items:center;gap:8px;display:grid}.version-row{border-top:1px solid var(--line);grid-template-columns:88px minmax(0,1fr) auto;padding-top:8px}.version-row strong,.trash-row span,.milestone-row span,.attachment-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.load-more-versions{border:1px solid var(--line-strong);min-height:32px;color:var(--teal-dark);background:#d9e7d56b;justify-self:start;padding:6px 10px;font-weight:900}.rich-editor{border:1px solid var(--line-strong);background:var(--paper-strong);box-shadow:inset 0 0 0 1px #ffffff73,0 12px 30px #3e311f0f}.editor-toolbar{top:var(--editor-toolbar-sticky-top);z-index:24;border-bottom:1px solid var(--line-strong);background:linear-gradient(90deg,#d9e7d5db,#fff6e7f5);flex-wrap:wrap;align-items:center;gap:3px;padding:7px;display:flex;position:sticky;box-shadow:0 10px 18px #3e311f14}.editor-toolbar button{width:32px;height:32px;color:var(--muted);background:0 0;border:1px solid #0000;place-items:center;display:grid}.editor-toolbar button.active,.editor-toolbar button:hover{border-color:var(--line-strong);background:var(--paper-strong);color:var(--teal-dark)}.toolbar-gap{flex:1 0 24px}.rich-editor-surface{max-width:980px;min-height:460px;font-family:var(--entry-font-family,var(--font-reading));font-size:var(--entry-font-size,18px);color:var(--entry-text-color,var(--ink));overflow-wrap:anywhere;background:linear-gradient(90deg,#a94f321f 1px,#0000 1px) 20px 0/100% 100% no-repeat,linear-gradient(0deg,#0000 calc(100% - 1px),#173f350a calc(100% - 1px)) 0 0/100% 1.82em;outline:0;margin:0 auto;padding:24px 24px 24px 28px;line-height:1.82}.rich-editor-surface h2{font-size:calc(var(--entry-font-size,18px) + 8px);color:var(--entry-text-color,var(--map-green));margin:1.2em 0 .35em}.rich-editor-surface p{margin:0 0 1em}.rich-editor-surface blockquote{border-left:4px solid var(--rust);color:var(--entry-text-color,var(--map-green));background:#e2ede06b;margin:18px 0;padding-left:16px}.rich-editor-surface a{color:var(--teal-dark);font-weight:800}.rich-editor-surface img{border:1px solid var(--line);max-width:100%;height:auto;margin:18px 0;display:block}.rich-editor-surface .is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#a29789;pointer-events:none;height:0}.editor-loading,.empty-state,.app-loading{color:var(--muted);text-align:center;place-items:center;gap:10px;display:grid}.app-loading{min-height:100vh}.empty-state{min-height:180px;padding:24px}.empty-state.full{min-height:calc(100vh - 48px)}.editor-empty{min-height:520px}.error-banner{background:#9d2d2d14;border:1px solid #9d2d2d4d;margin-bottom:14px;padding:10px 12px}.inspector{align-content:start;gap:12px;display:grid}.inspector-block{border-color:var(--line-strong);background:linear-gradient(#fff6e7fa,#f8efdcf5);gap:11px;padding:14px 14px 14px 16px;display:grid;position:relative;box-shadow:3px 3px #173f3514}.inspector-block:before{content:"";background:linear-gradient(var(--map-green), var(--mustard), transparent);opacity:.55;width:2px;position:absolute;top:15px;bottom:15px;left:0}.inspector-block h2{margin:0}.inspector.ai-inspector{grid-template-columns:minmax(0,1fr);align-content:stretch}.ai-panel{border:1px solid var(--line-strong);background:linear-gradient(#fff6e7fa,#f8efdcf5);grid-template-rows:auto auto auto auto auto minmax(260px,1fr) auto auto;gap:12px;min-height:calc(100dvh - 36px);padding:15px;display:grid;position:relative;box-shadow:3px 3px #173f3514}.ai-panel:before{content:"";background:linear-gradient(var(--map-green), var(--teal), transparent);opacity:.68;width:2px;position:absolute;top:15px;bottom:15px;left:0}.ai-panel-header,.ai-message-meta,.ai-message-actions,.ai-context-bar,.ai-quick-actions,.ai-header-button,.ai-context-capture,.ai-compose button{align-items:center;display:flex}.ai-panel-header{justify-content:space-between;gap:12px}.ai-panel-header h2{align-items:center;gap:7px;margin:0;font-size:20px;line-height:1.2;display:flex}.ai-header-button,.ai-context-capture,.ai-message-actions button,.ai-quick-actions button,.ai-compose button{border:1px solid var(--line-strong);color:var(--ink);background:#fffaf1d6;font-weight:900}.ai-header-button{white-space:nowrap;justify-content:center;gap:6px;min-height:34px;padding:7px 10px}.ai-header-button.ghost:disabled{opacity:.45;cursor:not-allowed}.ai-header-button.danger{color:var(--danger);border-color:#9d2d2d73}.ai-context-bar{flex-wrap:wrap;gap:8px}.ai-context-capture{min-width:0;color:var(--map-green);gap:6px;padding:7px 9px}.ai-panel .ai-context-toggle{border:1px solid var(--line);min-height:31px;color:var(--muted);background:#fffaf1a6;grid-template-columns:none;align-items:center;gap:5px;padding:5px 7px;font-size:12px;font-weight:900;display:inline-flex}.ai-panel input[type=checkbox]{width:auto;min-width:auto;accent-color:var(--map-green);padding:0}.ai-scope-panel{background:linear-gradient(90deg,#d9e7d570,#fffaf1c7);border:1px solid #927f5e6b;gap:8px;padding:9px;display:grid}.ai-scope-select{min-width:0;color:var(--map-green);align-items:center;gap:6px;display:flex}.ai-scope-select select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fffaf1e6;padding:7px 8px;font-weight:900}.ai-scope-panel p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:850}.ai-scope-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:142px;display:grid;overflow:auto}.ai-scope-projects label{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fffaf1b8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 7px;font-size:12px;font-weight:900;display:grid}.ai-scope-projects span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-scope-projects small{color:var(--map-green);font-size:11px;font-weight:950}.ai-filter-row{grid-template-columns:minmax(0,1.35fr) minmax(104px,.65fr);gap:8px;display:grid}.ai-filter-row label{border:1px solid var(--line);min-width:0;color:var(--map-green);background:#fffaf1c7;align-items:center;gap:6px;padding:0 8px;display:flex}.ai-filter-row input,.ai-filter-row select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:13px;font-weight:800}.ai-filter-row input{min-height:34px}.ai-filter-row select{min-height:33px}.ai-quick-actions{flex-wrap:wrap;gap:7px}.ai-quick-actions button{min-height:34px;color:var(--map-green);flex:92px;justify-content:center;padding:7px 8px;font-size:13px}.ai-message-actions button:disabled,.ai-quick-actions button:disabled,.ai-compose button:disabled{opacity:.5;cursor:not-allowed}.ai-messages{border:1px solid var(--line);background:linear-gradient(#fffaf19e,#fffaf19e),repeating-linear-gradient(0deg,#0000 0 25px,#927f5e1f 26px);flex-direction:column;gap:10px;min-height:280px;max-height:min(540px,100dvh - 408px);padding:11px;display:flex;overflow:auto}.ai-empty-state{min-height:220px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.ai-empty-state strong{color:var(--ink)}.ai-message{border:1px solid var(--line);background:#fff6e7e6;gap:6px;max-width:100%;padding:10px;display:grid}.ai-message.user{background:#d9e7d58c;border-color:#2d675f6b;margin-left:26px}.ai-message.assistant{margin-right:10px}.ai-message-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;font-weight:900}.ai-message-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.ai-message-actions button{min-height:27px;color:var(--map-green);white-space:nowrap;gap:4px;padding:4px 6px;font-size:12px}.markdown-text{color:var(--ink);gap:8px;line-height:1.68;display:grid}.markdown-text h3,.markdown-text h4,.markdown-text p,.markdown-text ul,.markdown-text ol,.markdown-text blockquote{margin:0}.markdown-text h3,.markdown-text h4{font-family:var(--font-serif);color:var(--teal-dark);padding-top:2px;line-height:1.32}.markdown-text h3{font-size:16px}.markdown-text h4{font-size:14px}.markdown-text p{white-space:pre-wrap;overflow-wrap:anywhere}.markdown-text ul,.markdown-text ol{gap:4px;padding-left:20px;display:grid}.markdown-text blockquote{color:var(--muted);background:#d9e7d561;border-left:3px solid #2d675f73;padding:6px 8px}.ai-compose{gap:8px;display:grid}.ai-compose-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.ai-compose select,.ai-compose textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fffaf1e0}.ai-compose select{padding:8px 9px;font-weight:800}.ai-save-latest{min-height:38px;color:var(--map-green);background:linear-gradient(90deg,#2d675f21,#0000 76%),#fffaf1e6;border:1px solid #2d675f73;justify-content:center;gap:7px;font-weight:950}.ai-save-latest:not(:disabled):hover,.ai-save-latest:not(:disabled):focus-visible{border-color:var(--map-green);box-shadow:4px 4px #173f351a}.ai-compose textarea{resize:vertical;min-height:94px;max-height:220px;padding:10px;line-height:1.55}.ai-compose button[type=submit]{background:var(--map-green);color:#fff;justify-content:center;gap:7px;min-height:40px}.ai-status{color:var(--muted);margin:0;font-size:12px;font-weight:800}.inspector-secondary{gap:10px;display:grid}.inspector-secondary>summary{cursor:pointer;border:1px solid var(--line-strong);color:var(--map-green);background:#fffaf1c7;padding:10px 11px;font-weight:900;list-style:none}.inspector-secondary>summary::-webkit-details-marker{display:none}.inspector-secondary .inspector-block{margin-top:10px}.metric-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.metric-row span{color:var(--muted)}.metric-row strong{color:var(--map-green);font-size:20px}.pulse-block.good{border-top:4px solid var(--sage)}.pulse-block.watch{border-top:4px solid var(--mustard)}.pulse-block.stale{border-top:4px solid var(--danger)}.health-score{background:#fffaf1b8;border:1px solid #927f5eb8;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 10px;display:flex}.health-score strong{color:var(--map-green);font-size:32px;line-height:1}.health-score span{color:var(--muted);font-weight:900}.review-nudge,.health-issue-list div,.summary-seed-list span{border:1px solid var(--line);background:#fffaf1c7}.review-nudge{color:var(--map-green);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;font-size:13px;font-weight:800;display:grid}.review-nudge button{border:1px solid var(--line-strong);background:var(--paper-strong);color:var(--ink);padding:6px 8px;font-size:12px;font-weight:900}.health-issue-list{gap:7px;display:grid}.health-issue-list div{grid-template-columns:18px minmax(0,1fr);gap:8px;padding:7px 8px;display:grid}.health-issue-list div.watch svg{color:var(--mustard)}.health-issue-list div.stale svg{color:var(--danger)}.health-issue-list strong,.health-issue-list small{display:block}.health-issue-list strong{color:var(--ink)}.health-issue-list small{color:var(--muted);line-height:1.5}.review-workbench .save-project{width:100%}.summary-seed-list{gap:7px;display:grid}.summary-seed-list span{color:var(--muted);gap:3px;padding:7px 8px;font-size:13px;line-height:1.45;display:grid}.summary-seed-list strong{color:var(--map-green);text-transform:uppercase;font-size:12px}.mini-heading{color:var(--map-green);text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:900;display:inline-flex}.muted-line{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.milestone-form{padding-right:5px}.milestone-form button{border:1px solid var(--ink);background:var(--ink);color:#fff;place-items:center;width:32px;height:32px;display:grid}.milestone-list,.trash-list,.attachment-list{gap:8px;display:grid}.milestone-row{grid-template-columns:28px minmax(0,1fr) 28px;position:relative}.milestone-row:before{content:"";z-index:0;background:#244f452e;width:1px;position:absolute;top:-8px;bottom:-8px;left:14px}.milestone-row>*{z-index:1;position:relative}.milestone-row button,.trash-row button{justify-content:center;padding:6px}.ghost-delete{opacity:.6}.export-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.export-row button,.export-row a{justify-content:center}.danger-action,.trash-toggle{justify-content:center;width:100%}.trash-row{grid-template-columns:18px minmax(0,1fr) 30px}.attachment-upload{border:1px solid var(--line-strong);background:var(--paper-strong);width:fit-content;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex;position:relative}.attachment-upload input,.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.attachment-row{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;display:grid}.attachment-row a{color:var(--ink);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;text-decoration:none;display:grid}.attachment-row button{justify-content:center;padding:6px}@media (max-width:1500px){.project-header{grid-template-columns:1fr;min-height:auto}.entry-actions{justify-content:flex-start}.project-poster{grid-template-columns:repeat(4,minmax(0,1fr))}.poster-review{min-height:58px}}@media (max-width:1600px){.workspace{grid-template-columns:var(--workspace-left-rail) minmax(0, 1fr)}.inspector{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));min-height:auto;max-height:none;position:static;overflow:visible}.timeline-panel:before{left:calc(var(--workspace-left-rail) + 22px)}.inspector.ai-inspector{grid-template-columns:minmax(0,1fr)}.ai-panel{min-height:560px}.ai-messages{max-height:460px}}@media (max-width:1320px){.workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.entry-grid{grid-template-columns:210px minmax(0,1fr)}.inspector{grid-template-columns:repeat(2,minmax(0,1fr))}.project-poster,.entry-context-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-panel:before{left:352px}}@media (max-width:960px){.workspace,.entry-grid,.project-header{grid-template-columns:1fr}.project-rail,.inspector{border:0;min-height:auto;max-height:none;position:static;overflow:visible}.project-rail{z-index:auto;border-bottom:1px solid var(--line);padding-bottom:10px}.timeline-panel{padding:16px}.editor-panel{--editor-toolbar-sticky-top:132px}.editor-command-deck{margin-inline:-4px}.editor-command-deck .editor-meta,.editor-command-deck .editor-typography-controls,.editor-toolbar{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.editor-command-deck .editor-meta select{flex:0 0 132px;max-width:160px}.editor-command-deck .typography-select,.editor-command-deck .font-size-control,.editor-command-deck .text-color-control{flex:none;justify-content:flex-start}.editor-command-deck .typography-select select{width:210px}.editor-command-deck .text-color-options{flex-wrap:nowrap;justify-content:flex-start}.timeline-panel:before,.entry-list:before{display:none}.entry-actions{justify-content:flex-start}.inspector{grid-template-columns:1fr}.ai-panel{min-height:520px}.project-poster{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-context-panel{grid-template-columns:1fr}.map-node-row{grid-template-columns:repeat(3,minmax(0,1fr))}.project-list{scroll-snap-type:x proximity;gap:10px;width:100%;min-width:0;max-width:100%;padding-bottom:8px;display:flex;overflow-x:auto}.project-row{scroll-snap-align:start;flex:0 0 min(238px,100vw - 28px);min-width:0}.project-item,.project-row.selected .project-item{transform:none}.entry-list{scroll-snap-type:none;gap:8px;min-height:0;padding:10px;display:grid;overflow:visible}.entry-item{scroll-snap-align:start;min-width:0}.entry-item:before{left:10px}.entry-title-input{font-size:27px}.project-header h1{font-size:36px}.rich-editor-surface{min-height:360px;padding:18px}}@media (max-width:640px){.login-shell{align-items:start;padding:14px}.login-panel{padding:24px}.login-panel h1{font-size:38px}.brand-row{grid-template-columns:40px minmax(0,1fr) 40px}.brand-mark{width:40px;height:40px}.project-rail,.timeline-panel,.inspector{padding:14px}.filter-row{grid-template-columns:1fr}.project-header{gap:14px;padding:18px}.project-poster,.project-map{display:none}.project-header h1{font-size:32px;line-height:1.05}.entry-actions{display:none}.entry-list-header{grid-template-columns:minmax(0,1fr);display:grid}.entry-create-menu{justify-self:stretch;width:100%}.entry-create-trigger{width:100%;display:flex}.entry-create-options{width:100%;left:0;right:auto}.map-node-row{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.document-export-head,.document-export-format,.document-export-actions,.document-export-submit{grid-template-columns:1fr}.document-export-head small{white-space:normal}.entry-actions button{min-height:42px;box-shadow:none;padding:8px 6px}.project-header:after{display:none}.editor-panel{--editor-toolbar-sticky-top:144px;padding:14px}.ai-panel{min-height:480px;padding:12px}.ai-filter-row,.ai-scope-projects,.ai-panel-header,.ai-compose-controls{grid-template-columns:1fr}.ai-panel-header{flex-direction:column;align-items:stretch}.ai-header-button{width:100%}.editor-command-deck{margin:-4px -4px 12px;padding:8px}.editor-panel:before{inset:14px auto 14px 8px}.editor-meta{gap:8px}.editor-meta select{flex:150px;max-width:none}.editor-typography-controls{align-items:stretch}.typography-select,.font-size-control,.text-color-control{flex:100%;justify-content:space-between}.typography-select select{width:min(100%,260px);min-width:0;max-width:none}.text-color-options{justify-content:flex-end}.editor-command-deck .editor-meta,.editor-command-deck .editor-typography-controls,.editor-toolbar{overscroll-behavior-inline:contain;flex-wrap:nowrap;overflow-x:auto}.editor-command-deck .editor-meta select{flex:0 0 122px;max-width:122px}.editor-command-deck .typography-select,.editor-command-deck .font-size-control,.editor-command-deck .text-color-control{flex:none;justify-content:flex-start}.editor-command-deck .typography-select select{width:196px}.editor-command-deck .text-color-options{flex-wrap:nowrap;justify-content:flex-start}.tool-button{margin-left:0}.autosave-conflict{grid-template-columns:auto minmax(0,1fr)}.autosave-conflict button{grid-column:1/-1;width:100%}.entry-title-input{font-size:24px}.editor-toolbar{top:var(--editor-toolbar-sticky-top);position:sticky}.editor-toolbar button{width:38px;height:38px}.toolbar-gap{flex:1 0 12px;height:auto}.rich-editor-surface{min-height:320px;padding:16px}.version-row{grid-template-columns:1fr}.attachment-upload,.save-project,.trash-toggle,.danger-action,.preserved-draft-actions button{width:100%}.export-row{grid-template-columns:1fr}}
