:root{--bg:#f7faf6;--panel:#fff;--panel-soft:#eef6ef;--text:#173122;--muted:#627467;--border:#d9e5dc;--brand:#088c3f;--brand-strong:#067233;--danger:#a23030;--danger-soft:#fff1f1;--shadow:0 18px 45px #1731221a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:.78rem 1rem;font-weight:700}button:hover{background:var(--brand-strong)}button:disabled{cursor:not-allowed;opacity:.7}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;margin-top:.45rem;padding:.85rem .9rem}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid #088c3f29}h1,h2,p{margin:0}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1}h2{font-size:1.45rem;line-height:1.15}.auth-shell{justify-content:center;align-items:center;min-height:100svh;padding:2rem;display:flex}.login-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:1.5rem;width:100%;max-width:440px;padding:2rem;display:grid}.brand-mark{object-fit:contain;width:92px;height:92px}.eyebrow{color:var(--brand);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.muted,.empty-state{color:var(--muted)}.stack{gap:1rem;display:grid}.stack label{color:var(--text);font-weight:700}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #a2303040;border-radius:8px;padding:.8rem .9rem}.workspace-shell{gap:1.5rem;max-width:1180px;min-height:100svh;margin:0 auto;padding:1.5rem;display:grid}.topbar,.workspace-grid,.project-sidebar,.editor-placeholder{min-width:0}.topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-row{align-items:center;gap:.9rem;display:flex}.brand-row img{object-fit:contain;width:58px;height:58px}.account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.account-actions span{color:var(--muted)}.workspace-grid{grid-template-columns:minmax(280px,360px) 1fr;gap:1.25rem;display:grid}.project-sidebar,.editor-placeholder{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;padding:1.25rem}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-heading p{color:var(--muted);margin-top:.2rem}.project-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.project-list li{border:1px solid var(--border);border-radius:8px;gap:.55rem;padding:.65rem;display:grid}.project-import{border:1px solid var(--border);border-radius:8px;gap:.65rem;margin-bottom:1rem;padding:.75rem;display:grid}.project-import textarea{min-height:88px}.project-list li>button:first-child{color:var(--text);text-align:left;background:0 0;justify-items:start;gap:.25rem;padding:.35rem;display:grid}.project-list li>button:first-child:hover,.project-list li>button.active{background:var(--panel-soft)}.project-list span{color:var(--muted);font-size:.85rem;font-weight:500}.text-danger{background:var(--danger-soft);color:var(--danger);padding:.55rem .75rem}.text-danger:hover{background:#ffe4e4}.editor-placeholder{background:linear-gradient(135deg, #088c3f1a, transparent 42%), var(--panel);gap:.8rem;min-height:520px;display:grid}.editor-placeholder p{color:var(--muted);max-width:640px}.editor-placeholder dl{gap:.7rem;margin:1rem 0 0;display:grid}.editor-placeholder dt{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:800}.editor-placeholder dd{margin:.15rem 0 0}.roadmap-editor{align-self:start;gap:1rem;width:100%;display:grid}.editor-toolbar{justify-content:space-between;align-items:start;gap:1rem;display:flex}.project-title-input{color:var(--text);border:0;margin:.15rem 0 0;padding:0;font-size:1.45rem;font-weight:800;line-height:1.15}.project-title-input:focus{outline-offset:.35rem}.sync-state{border:1px solid var(--border);color:var(--muted);border-radius:8px;flex:none;gap:.25rem;padding:.55rem .7rem;font-size:.85rem;font-weight:800;display:grid}.sync-state.local{color:#767526;background:#f9fbec}.sync-state.syncing{color:#27618d;background:#eef6ff}.sync-state.synced{background:var(--panel-soft);color:var(--brand-strong)}.sync-state.error{background:var(--danger-soft);color:var(--danger)}.sync-state span{max-width:260px;font-weight:600}.tree-actions{flex-wrap:wrap;gap:.6rem;display:flex}.secondary-button{background:var(--panel-soft);color:var(--brand-strong);padding:.55rem .75rem}.secondary-button:hover{background:#dfeee1}.tree-layout{grid-template-columns:minmax(260px,.95fr) minmax(260px,1fr);gap:1rem;display:grid}.tree-panel,.node-form{border:1px solid var(--border);background:#ffffffb8;border-radius:8px;min-width:0;padding:1rem}.tree-filter{gap:.75rem;margin-bottom:.9rem;display:grid}.tree-filter>div{gap:.5rem;display:flex}.tree-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.root-list{max-height:560px;overflow:auto}.tree-node{padding:.35rem;padding-left:calc(.35rem + var(--depth,0) * 1rem);border:1px solid #0000;border-radius:8px;grid-template-columns:32px minmax(180px,1fr) auto auto;align-items:center;gap:.4rem;display:grid}.tree-node[draggable=true]{cursor:grab}.tree-node.selected{background:var(--panel-soft);border-color:#088c3f40}.icon-button{color:var(--brand-strong);background:#e5f0e7;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.icon-button:hover{background:#d7eadb}.tree-node-main{color:var(--text);text-align:left;background:0 0;justify-items:start;min-width:0;padding:.35rem;display:grid}.tree-node-main:hover{background:0 0}.tree-node-main strong,.tree-node-main span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tree-node-main span{color:var(--muted);font-size:.8rem;font-weight:600}.status-pill{white-space:nowrap;border-radius:999px;padding:.25rem .5rem;font-size:.72rem;font-weight:800}.status-pill.pending{color:#6d6654;background:#f2f0e8}.status-pill.in_progress{color:#315f91;background:#e8f1ff}.status-pill.done{color:#20713a;background:#e6f5e8}.status-pill.blocked{color:#a23030;background:#fff0f0}.copy-chip{color:var(--brand-strong);background:#edf5ef;padding:.35rem .5rem;font-size:.75rem}.copy-chip:hover{background:#dbeee0}.node-form{align-content:start;gap:.9rem;display:grid}.node-form label{color:var(--text);font-weight:800}.move-controls{grid-template-columns:1fr 120px;gap:.8rem;display:grid}.import-export-panel,.navigation-panel,.markdown-panel,.validation-box{border:1px solid var(--border);background:#ffffffb8;border-radius:8px;gap:.8rem;padding:1rem;display:grid}.import-export-panel textarea{min-height:120px}.filter-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.check-label{color:var(--muted);align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;display:inline-flex}.check-label input{width:auto;margin:0}.compact-label{color:var(--muted);align-items:center;gap:.45rem;font-size:.9rem;font-weight:800;display:inline-flex}.compact-label input,.compact-label select{max-width:140px;margin:0;padding:.5rem}.validation-box{color:var(--muted)}.validation-box strong{color:var(--text)}.error-list,.error-text{color:var(--danger)}.markdown-preview{border:1px solid var(--border);color:var(--text);white-space:pre-wrap;background:#f8fbf8;border-radius:8px;max-height:360px;padding:1rem;overflow:auto}@media (width<=760px){.auth-shell,.workspace-shell{padding:1rem}.topbar,.account-actions{flex-direction:column;align-items:flex-start}.workspace-grid,.editor-toolbar,.tree-layout{grid-template-columns:1fr}.editor-toolbar{display:grid}.move-controls{grid-template-columns:1fr}}@media print{body{background:#fff}.no-print,.topbar,.project-sidebar,.node-form,.tree-actions,.editor-toolbar,.sync-state,.markdown-panel,.navigation-panel,.import-export-panel{display:none!important}.workspace-shell,.workspace-grid,.editor-placeholder,.roadmap-editor{box-shadow:none;border:0;max-width:none;min-height:auto;padding:0;display:block}.tree-panel{display:none}.print-surface{color:#111;font-family:Georgia,Times New Roman,serif;display:block}.print-surface pre{font:inherit;white-space:pre-wrap}.print-surface.tree pre{border-left:2px solid #222;padding-left:1rem}h1,h2,h3,h4,h5,h6{break-after:avoid;page-break-after:avoid}p,li,pre{break-inside:avoid}}.projects-screen{gap:1.5rem;max-width:980px;min-height:100svh;margin:0 auto;padding:1.5rem;display:grid}.projects-screen .workspace-grid{display:block}.projects-screen .project-sidebar{min-height:0}.projects-screen .section-heading{flex-wrap:wrap;align-items:flex-start}.projects-screen .project-list li{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center}.roadmap-screen{background:var(--bg);grid-template-rows:auto 1fr;height:100svh;display:grid;overflow:hidden}.roadmap-bar{background:var(--panel);border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1fr) auto minmax(180px,260px) repeat(6,auto);align-items:center;gap:.65rem;padding:.7rem .9rem;display:grid}.roadmap-bar button,.roadmap-bar input{margin:0}.roadmap-title{align-items:center;gap:.65rem;min-width:0;display:flex}.roadmap-title img{width:34px;height:34px}.roadmap-title input{border:0;padding:.4rem;font-size:1.1rem;font-weight:800}.roadmap-body{grid-template-columns:35% 65%;min-height:0;display:grid}.file-tree{border-right:1px solid var(--border);background:#fbfdfb;grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.tree-mini-actions{border-bottom:1px solid var(--border);gap:.45rem;padding:.75rem;display:flex}.tree-mini-actions button,.copy-button,.menu-button,.tree-toggle,.node-menu button{border-radius:6px;padding:.45rem .6rem}.file-tree-list{margin:0;padding:0;list-style:none}.file-tree-list.root{padding:.5rem;overflow:auto}.file-tree-item{position:relative}.file-row{padding:.18rem .25rem .18rem calc(.25rem + var(--depth,0) * 1.1rem);border-radius:6px;grid-template-columns:12px 26px minmax(0,1fr) auto auto;align-items:center;gap:.35rem;display:grid}.file-row.selected{background:var(--panel-soft)}.tree-line{border-left:1px solid var(--border);height:100%;min-height:28px}.tree-toggle{color:var(--muted);background:0 0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.tree-toggle:hover{background:#edf5ef}.file-name{color:var(--text);text-align:left;background:0 0;grid-template-columns:10px auto minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;padding:.45rem .35rem;display:grid}.file-name:hover{background:0 0}.file-name strong,.file-name span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.state-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.state-dot.planned{background:#9ca3af}.state-dot.pending{background:#d3a72f}.state-dot.in_progress{background:#2d7dd2}.state-dot.blocked{background:#a23030}.state-dot.closed{background:#088c3f}.copy-button,.menu-button{color:var(--muted);background:0 0}.copy-button:hover,.menu-button:hover{color:var(--text);background:#edf5ef}.node-menu{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:5;border-radius:8px;gap:.35rem;max-width:320px;margin:.2rem 0 0 2rem;padding:.5rem;display:grid;position:absolute}.node-menu button,.node-menu label{color:var(--text);text-align:left;background:0 0}.node-menu button:hover{background:var(--panel-soft)}.node-menu select{margin-top:.25rem;padding:.45rem}.text-editor{grid-template-rows:auto 1fr;min-height:0;padding:1rem;display:grid;overflow:hidden}.editor-fields{grid-template-columns:minmax(140px,.8fr) minmax(220px,1.4fr) minmax(150px,.6fr);gap:.75rem;margin-bottom:.75rem;display:grid}.editor-fields label{color:var(--muted);font-size:.85rem;font-weight:800}.editor-fields input,.editor-fields select{margin-top:.25rem}.content-editor{resize:none;min-height:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.55;overflow:auto}.modal-backdrop{z-index:20;background:#0a140e5c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:1rem;width:min(100%,680px);max-width:680px;padding:1rem;display:grid}.modal.compact{max-width:320px}.modal textarea{min-height:280px}.modal-actions{justify-content:flex-end;gap:.6rem;display:flex}.print-surface{display:none}@media (width<=920px){.roadmap-bar{grid-template-columns:1fr}.roadmap-body{grid-template-rows:42% 58%;grid-template-columns:1fr}.file-tree{border-bottom:1px solid var(--border);border-right:0}.editor-fields,.projects-screen .project-list li{grid-template-columns:1fr}}@media print{.roadmap-screen{height:auto;display:block;overflow:visible}.roadmap-body,.text-editor{display:block}.print-surface{color:#111;padding:0;font-family:Georgia,Times New Roman,serif;display:block}.print-surface h1,.print-surface h2,.print-surface h3,.print-surface h4,.print-surface h5,.print-surface h6{break-after:avoid}}
