:root{--ink:#111713;--muted:#68716a;--paper:#f4f1e9;--surface:#fffdf8;--line:#d9d8cf;--green:#1f6b50;--green-soft:#dfece4;--amber:#9b6116;--amber-soft:#faebcf;--red:#9f382f;--red-soft:#f7dfdb;--blue-soft:#dfe9ef;--shadow:0 18px 50px #1e262014}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 85% -10%, #89af953d, transparent 30rem), var(--paper);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(1120px,100% - 40px);padding:52px 0 max(48px, env(safe-area-inset-bottom));margin:0 auto}.app-header{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:34px;display:grid}.brand-mark{color:#f7f4ea;background:var(--ink);border-radius:16px;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:1.65rem;display:grid}.eyebrow{color:var(--green);letter-spacing:.16em;margin:0 0 5px;font-size:.69rem;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:2px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1}h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2rem);font-weight:500}.subtitle{color:var(--muted);margin:6px 0 0;font-size:.9rem}.phase-badge{color:var(--green);letter-spacing:.08em;background:#ffffff80;border:1px solid #b9c7bd;border-radius:999px;align-self:start;padding:8px 11px;font-size:.66rem;font-weight:800}.toolbar{grid-template-columns:minmax(0,1fr) 190px 170px auto;gap:12px;margin-bottom:18px;display:grid}.search-field,.filter-field,.blocked-filter{border:1px solid var(--line);background:#fffdf8e0;border-radius:14px;min-height:52px;box-shadow:0 4px 16px #1e262008}.search-field{align-items:center;gap:10px;padding:0 15px;display:flex}.search-field>span[aria-hidden]{color:var(--green);font-size:1.4rem}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-field button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;font-size:1.35rem}.filter-field{align-items:center;gap:8px;padding:0 12px 0 15px;display:flex}.filter-field>span{color:var(--muted);font-size:.78rem;font-weight:700}.filter-field select{background:0 0;border:0;outline:0;flex:1;min-width:0;font-weight:650}.blocked-filter{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 15px;font-size:.78rem;font-weight:750;display:flex}.blocked-filter input{width:17px;height:17px;accent-color:var(--red)}.blocked-filter.active{color:var(--red);background:var(--red-soft);border-color:#d8a8a2}.tree-card,.error-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;overflow:hidden}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:16px;padding:27px 30px 23px;display:flex}.record-count{color:var(--muted);margin:0;font-size:.78rem}.tree-root,.tree-group{margin:0;padding:0;list-style:none}.tree-item{--depth:0;border-bottom:1px solid #ebe9e1}.tree-item:last-child{border-bottom:0}.node-row{min-width:0}.toggle,.task-row{width:100%;min-height:58px;padding:10px 24px 10px calc(24px + (var(--depth) * 24px))}.toggle{color:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:8px;display:flex}.toggle:hover,.toggle:focus-visible{background:#f6f4ed}.toggle:focus-visible{outline-offset:-3px;outline:3px solid #1f6b5047}.kind-area>.node-row .toggle{min-height:68px;padding-top:14px;padding-bottom:14px}.kind-area>.node-row .node-title{font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.kind-subarea>.node-row .node-title{font-weight:750}.chevron{width:17px;color:var(--green);font-size:1rem;line-height:22px}.status-icon{width:22px;height:22px;color:var(--muted);border:1px solid #b7beb8;border-radius:50%;flex:0 0 22px;place-items:center;font-size:.76rem;font-weight:900;display:inline-grid}.status-icon.done{border-color:var(--green);color:#fff;background:var(--green)}.status-icon.progress{color:#3f647c;background:var(--blue-soft);border-color:#638199}.status-icon.blocked{border-color:var(--red);color:#fff;background:var(--red)}.node-main{flex:1;min-width:0;display:block}.node-heading{align-items:baseline;gap:9px;min-width:0;line-height:1.35;display:flex}.node-title{overflow-wrap:anywhere;min-width:0}.node-id{color:#879087;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.metadata{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.badge{color:#4e5951;background:#ecece6;border-radius:999px;align-items:center;min-height:20px;padding:2px 7px;font-size:.64rem;font-weight:750;display:inline-flex}.status-done{color:var(--green);background:var(--green-soft)}.status-progress{color:#3f647c;background:var(--blue-soft)}.status-open{color:var(--amber);background:var(--amber-soft)}.priority{background:0 0;border:1px solid #d7cfbb}.blocked-badge{color:var(--red);background:var(--red-soft)}.next-action{color:var(--muted);margin:7px 0 0;font-size:.75rem;line-height:1.45;display:block}.progress{width:min(220px,100%);color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:.66rem;font-weight:750;display:flex}.progress-track{background:#e4e5de;border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--green);height:100%;display:block}.node-details{margin:2px 24px 12px calc(71px + (var(--depth) * 24px));color:var(--muted);font-size:.74rem}.task-row .node-details{margin:8px 0 0}.node-details summary{width:max-content;color:var(--green);cursor:pointer;font-weight:750}.node-details dl{background:#f8f6ef;border:1px solid #e3e2da;border-radius:10px;gap:7px;margin:10px 0 0;padding:12px;display:grid}.node-details dl>div{grid-template-columns:minmax(110px,160px) 1fr;gap:10px;display:grid}.node-details dt{font-weight:800}.node-details dd{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.task-row{padding-left:calc(49px + (var(--depth) * 24px));align-items:flex-start;gap:8px;display:flex}.task-item{background:#fdfcf7}.task-item .node-title{font-size:.91rem}.empty-state{color:var(--muted);text-align:center;padding:70px 24px}.empty-state button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px}.data-note{color:var(--muted);background:#f5f3ec;justify-content:space-between;gap:16px;padding:13px 30px;font-size:.68rem;display:flex}.live-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.error-card{padding:38px}.error-card h2{margin-bottom:12px}.error-card p:last-child{color:var(--muted);margin-bottom:0}.loading-card{gap:18px;padding:38px;display:grid}.loading-line{background:linear-gradient(90deg,#e7e5dd,#f5f3ec,#e7e5dd);border-radius:999px;width:62%;height:18px}.loading-line.wide{width:88%;height:28px}.loading-line.short{width:42%}@media (max-width:700px){.app-shell{width:100%;padding:max(22px,env(safe-area-inset-top)) 14px max(30px,env(safe-area-inset-bottom))}.app-header{grid-template-columns:auto 1fr;gap:12px;margin:0 4px 24px}.brand-mark{border-radius:13px;width:44px;height:44px}h1{font-size:2rem}.subtitle{font-size:.78rem}.phase-badge{display:none}.toolbar{grid-template-columns:1fr}.search-field,.filter-field{min-height:50px}.tree-card{border-radius:17px}.section-heading{padding:21px 17px 17px}.record-count{text-align:right;max-width:95px}.toggle,.task-row{min-height:56px;padding-right:12px;padding-left:calc(12px + (var(--depth) * 14px))}.task-row{padding-left:calc(35px + (var(--depth) * 14px))}.node-heading{display:block}.node-id{white-space:normal;margin-top:2px;display:block}.kind-area>.node-row .node-title{font-size:1.04rem}.data-note{align-items:flex-start;padding:12px 17px}.node-details{margin-left:calc(49px + (var(--depth) * 14px));margin-right:12px}.node-details dl>div{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
