.task-engine{margin:28px 0;min-width:0}.task-node{border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0;background:white;min-width:0}.task-node.branch{background:#f0f5f6}.task-row{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;min-width:0}.task-row h3{font-size:17px;margin:0;flex:1 1 180px}.task-row>span{overflow-wrap:anywhere;min-width:0}.task-state{font-weight:650}.task-actions{display:flex;gap:6px;flex-wrap:wrap}.task-action{display:inline-block;margin:0;max-width:100%}.task-action p:empty{display:none}.task-action button{font-size:14px;padding:8px 10px}.task-node details{margin-top:4px}.task-engine summary{cursor:pointer;min-height:44px;padding:10px 0;overflow-wrap:anywhere}.task-children{border-left:2px solid var(--line);margin:6px 0 0 4px;padding-left:12px;min-width:0}.task-update{white-space:pre-wrap;overflow-wrap:anywhere}.task-editor{margin-top:12px}.task-bin{margin-top:20px}.task-bin article{border-bottom:1px solid var(--line);padding:12px 0}.task-engine .description{white-space:pre-wrap}.task-node details>button{margin:4px}.task-progress{font-weight:600}@media(max-width:480px){.task-children{margin-left:0;padding-left:5px}.task-node{padding:7px}.task-row h3{flex-basis:100%}.task-actions{width:100%}.task-row{gap:6px}.task-engine{margin-top:20px}}
.task-node.task-deep{padding-left:0;padding-right:0;border-left:0;border-right:0}.task-deep>.task-children{padding-left:0;margin-left:0;border-left:0}
.drop-zone{height:0;overflow:hidden;opacity:0}.dragging .drop-zone{height:auto;min-height:44px;padding:10px;border:1px dashed var(--blue);opacity:1;background:var(--paper);color:var(--navy)}.dragging .drop-zone.over{background:var(--lime)}.drag-handle{cursor:grab;min-width:44px}.materials{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.material-row{padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.material-row form{display:inline-block;margin:0}.material-row .task-update{font-size:14px;margin:4px 0}.material-row a{display:inline-block;padding:10px 0;color:var(--blue);min-height:44px}.task-engine>label{display:inline-block;margin:12px;max-width:100%}.task-engine>label select{display:inline-block;width:auto}h4{margin:8px 0}.task-node.task .task-row h3{flex-basis:160px}.task-node.task>.task-row{gap:6px 10px}
:root{--navy:#061321;--blue:#174b70;--lime:#d5ff3f;--paper:#faf8f1;--line:#c5d2d9;--muted:#476070}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.5 system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit;max-width:100%;min-width:0}button,input,select,textarea{border:1px solid #8b9faa;border-radius:9px;background:white;padding:9px 12px;min-height:44px}button{cursor:pointer;overflow-wrap:anywhere;color:var(--navy)}button:hover{background:#edf3f5}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--lime);border-color:#9abf17;font-weight:700}.primary:hover{background:#e2ff80}:focus-visible{outline:3px solid #117bb9;outline-offset:3px}header{background:var(--navy);color:white;padding:12px 4vw;display:flex;align-items:center;gap:16px;flex-wrap:wrap}header>span{font-size:11px;letter-spacing:1px}header>strong{margin-left:auto;overflow-wrap:anywhere;min-width:0}header nav{display:flex;gap:8px;flex-wrap:wrap}.brand{font-size:29px;font-weight:800;color:white;text-decoration:none;min-height:44px;display:flex;align-items:center}.brand span{color:var(--lime)}main{max-width:1100px;padding:24px;margin:auto}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.22}h1{font-size:clamp(25px,4vw,34px);margin:0 0 20px}h2{font-size:23px;margin:0 0 16px}h3{font-size:18px;margin:0 0 12px}.card{border:1px solid var(--line);border-radius:12px;padding:20px;background:white;min-width:0;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.grid>.card{margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}label{display:block;font-weight:600;margin-bottom:16px}label input,label select,label textarea{display:block;width:100%;margin-top:5px}label.check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400}label.check input{width:22px;height:22px;min-height:22px;margin:0;flex-shrink:0}textarea{min-height:110px;resize:vertical}.description{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:var(--muted)}.login{max-width:440px;margin:24px auto}.form-wide{max-width:640px}.error{color:#8e2222;font-weight:600;white-space:pre-line}.error:empty{display:none}#status:not(:empty){padding:12px;background:#eef5e3;border:1px solid #c4d3a9;border-radius:9px}dialog{border:1px solid var(--line);border-radius:16px;padding:24px;width:min(540px,calc(100vw - 28px));max-height:90dvh;overflow:auto;color:var(--navy);background:var(--paper)}dialog::backdrop{background:#06132199}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:white;z-index:10}.skip:focus{top:8px}a{color:var(--blue)}@media(max-width:650px){main{padding:16px 12px}header{padding:10px 14px;gap:10px}header>span{display:none}header nav{width:100%}.card{padding:16px}dialog{padding:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.project-heading{display:flex;align-items:flex-start;gap:12px}.project-heading h1{flex:1;min-width:0}.project-management{flex:0 0 44px}.project-management-trigger{width:44px;height:44px;padding:0;background:transparent;border-color:transparent;color:var(--muted);font-size:24px}.project-editor{max-width:720px}.removed-project-state{border-left:3px solid var(--muted);padding:8px 12px;background:white}.project-management form{margin:0}.project-management form p:empty{display:none}
/* Removal is secondary to progress; keep readable text and touch targets. */
button.danger{color:#8b2323;border-color:#8b2323;background:#fff;font-weight:400}button.danger:hover{color:#8b2323;background:#fff1ef;border-color:#8b2323}
/* Structural controls are independent of branch expansion and details. */
.node-management{flex:0 0 44px}.management-trigger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}
.management-options{position:fixed;inset:auto;margin:0;padding:6px;width:240px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;border:1px solid var(--line);border-radius:9px;background:white;color:var(--navy);box-shadow:0 5px 20px #06132126}
.management-options button{display:block;width:100%;text-align:left;min-height:44px;border-color:transparent}.management-options .task-action{display:block;width:100%}.management-options hr{border:0;border-top:1px solid var(--line);margin:6px 0}.management-options button.danger{border-color:#8b2323}
.task-node.task>.task-row>h3{flex:1 1 calc(100% - 54px)}.task-node.task>.task-row>.drag-handle{order:2;margin-left:auto}.task-node.task>.task-row>span,.task-node.task>.task-row>.task-actions{order:1}
.branch>.task-row>.node-management{grid-column:3;grid-row:1}.branch>.task-row>.drag-handle{grid-column:3;grid-row:2}.branch>.task-row>.muted{grid-column:2;grid-row:2}
.task-editor{width:100%;max-width:720px}.editor-target{font-weight:600;margin:8px 0}.editor-path{font-size:14px;margin:4px 0 16px}.editor-path:empty{display:none}
/* Compact hierarchy: intact text, stable feedback, 44px targets. */
.project-context{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:14px}.context-badge{font-weight:700;border:1px solid var(--line);border-radius:6px;padding:2px 8px}.task-engine{margin:14px 0 24px}.task-engine h2{font-size:20px;margin-bottom:4px}.tree-toolbar{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-bottom:8px}.tree-toolbar p{margin:0;font-size:14px}.tree-toolbar label{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.tree-toolbar select{width:auto;margin:0}.tree-toolbar button{font-size:14px}.branch-toggle{border-color:transparent;background:transparent;min-width:44px;padding:6px;font-size:20px}.task-node.branch{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:4px 0 0 6px}.branch>.task-row{display:grid;grid-template-columns:44px 1fr 44px;gap:4px}.branch>.task-row .branch-toggle{grid-column:1;grid-row:1}.branch>.task-row h3{grid-column:2;grid-row:1}.branch>.task-row .drag-handle{grid-column:3;grid-row:2}.branch>.task-row>.muted{grid-column:2;grid-row:2;font-size:14px}.branch>.task-row>.task-actions:empty{display:none}.task-children{margin-top:0;padding-left:8px;border-left:1px solid var(--line)}.task-node{border-radius:6px}.task-row h3{line-height:1.3}.drag-handle{border-color:transparent;background:transparent;color:var(--muted)}.membership{margin-top:20px}.membership>summary,main>section>details>summary{min-height:44px;padding:10px 0;cursor:pointer}#status:empty{display:none}#status.success:not(:empty){position:fixed;z-index:5;right:12px;bottom:12px;margin:0;padding:8px 12px;max-width:calc(100vw - 24px);pointer-events:none;font-size:14px}.task-update{border-bottom:1px solid var(--line);padding:6px 0;font-size:14px}.task-update time{color:var(--muted)}
@media(max-width:650px){header{padding:4px 12px;gap:4px 10px}.brand{font-size:24px}header nav{gap:6px}header nav button{padding:6px 10px;font-size:14px}main{padding-top:12px}h1{margin-bottom:12px}.project-context{gap:6px}.task-children{padding-left:4px;margin-left:0}.task-node.branch{padding-left:2px}.tree-toolbar{gap:6px}.tree-toolbar .task-progress{flex-basis:100%}.tree-toolbar label{margin-left:auto}.task-node.task .task-row h3{flex-basis:calc(100% - 54px)}.task-row{gap:4px 6px}.branch>.task-row h3{font-size:16px}.task-node.task{padding:6px}.task-engine{margin-top:10px}}
