:root{
  --bg:#f6f4ef;--panel:#fffefb;--ink:#22211d;--muted:#6d6a61;--line:#e2ded3;
  --accent:#1f5f4a;--accent-ink:#fff;--accent-soft:#e3efe9;
  --warn:#9a4a12;--warn-soft:#fbeadb;--danger:#a32d2d;--check:#2c5a9e;--check-soft:#e4ecf8;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#181815;--panel:#22221e;--ink:#ecebe4;--muted:#a3a096;--line:#38372f;
  --accent:#6fc2a3;--accent-ink:#10231c;--accent-soft:#223a31;
  --warn:#eda66f;--warn-soft:#3d2b1b;--danger:#ef8d8d;--check:#94b8ee;--check-soft:#22304a;
  color-scheme:dark;
}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.login{max-width:360px;margin:12vh auto;padding:0 16px;display:grid;gap:14px}
.login h1{font-size:26px}
.field{display:grid;gap:4px;font-size:14px;color:var(--muted)}
.field input,.field select,.field textarea{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);width:100%}
.error{color:var(--danger);font-size:14px}

.btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:14px;text-decoration:none;color:var(--ink);display:inline-block}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn.check{background:var(--check-soft);border-color:transparent;color:var(--check);font-weight:600}
.btn.quiet{border-color:transparent;background:none;color:var(--muted);padding:7px 8px}

.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.side{border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{font-weight:700;font-size:18px;padding:0 10px}
.nav{display:grid;gap:2px}
.nav-label{font-size:12px;color:var(--muted);padding:0 10px 4px;font-weight:600}
.nav button{background:none;border:0;border-radius:8px;padding:8px 10px;text-align:left;display:flex;justify-content:space-between;gap:8px;align-items:baseline;width:100%}
.nav button:hover{background:var(--line)}
.nav button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.count.hot{color:var(--warn);font-weight:700}
.side-foot{margin-top:auto;padding:0 10px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}

.main{padding:24px 32px 80px;max-width:860px;width:100%}
.capture{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;margin-bottom:12px}
.box-entries{margin-bottom:12px}
.project{margin-bottom:32px}
.project>h2{font-size:18px;margin-bottom:8px}
.project-link{background:none;border:0;padding:0;font-weight:700}
.project-link:hover{color:var(--accent)}
.sub{margin-top:14px}
.briefing{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:24px;display:grid;gap:8px}
.briefing-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.briefing-head h2{font-size:15px}
.briefing h3,.project-brief h3{font-size:14px;margin-top:8px;color:var(--muted);font-weight:600}
.briefing ul,.project-brief ul{margin:0;padding-left:20px;display:grid;gap:4px}
.briefing textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}
.empty-line{color:var(--muted)}
.project-brief{margin-bottom:10px;font-size:15px}
.project-brief p{margin-bottom:6px}
.tasks-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.tasks-head h2{font-size:18px}
.capture label{font-weight:600}
.capture textarea{border:0;background:none;resize:vertical;min-height:52px;width:100%;padding:2px;outline:none}
.capture-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.capture-row small{color:var(--muted);flex:1;min-width:200px}
.capture-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.capture select{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:14px;max-width:180px}
.notice{font-size:14px;color:var(--warn);background:var(--warn-soft);padding:8px 10px;border-radius:8px}
.saved{font-size:14px;color:var(--accent)}

.head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin:24px 0 18px}
.head h1{font-size:26px;line-height:1.2}
.head p{color:var(--muted);margin-top:4px}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:10px;width:220px;max-width:100%}
.bar i{display:block;height:100%;background:var(--accent)}
.filter{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--muted)}

.group{margin-bottom:26px}
.group>h2{font-size:15px;margin-bottom:8px;color:var(--muted);font-weight:600}
.group>h2.late{color:var(--warn)}
.empty{color:var(--muted);padding:24px 0}

.task{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:6px}
.task.done{background:none}
.task-row{display:flex;gap:10px;padding:10px 12px;align-items:flex-start}
.task-row input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.task-open{background:none;border:0;padding:0;text-align:left;flex:1;min-width:0}
.task-title{font-weight:500;display:block}
.task.done .task-title{text-decoration:line-through;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--muted);margin-top:2px}
.chip-late{color:var(--warn);font-weight:600}
.chip-verify{color:var(--warn)}
.chip-checked{color:var(--check);font-weight:600}
.task-body{padding:2px 12px 14px 42px;display:grid;gap:12px;font-size:15px}
.warn{color:var(--warn);background:var(--warn-soft);padding:7px 10px;border-radius:8px}
.label{font-size:13px;color:var(--muted);font-weight:600;display:block}
.actions{display:flex;flex-wrap:wrap;gap:6px}
pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);border-radius:8px;padding:8px 10px;margin:0 0 6px;font:13px/1.45 ui-monospace,Menlo,monospace}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.log{font-size:13px;color:var(--muted);display:grid;gap:2px}
.edit{display:grid;gap:10px}

.entry{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.entry.ask{border-color:var(--warn)}
.msg{white-space:pre-wrap;word-break:break-word}
.msg small{display:block;color:var(--muted);font-size:13px}
.msg.claude{background:var(--accent-soft);padding:8px 10px;border-radius:8px}
.reply{display:flex;gap:8px;align-items:flex-end}
.reply textarea{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:42px}
details>summary{cursor:pointer;color:var(--muted);font-size:14px;padding:6px 0}

@media (max-width:760px){
  .shell{display:block}
  .side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;gap:8px}
  .brand,.nav-label{display:none}
  .navs{display:flex;gap:4px;overflow-x:auto;margin:0 -16px;padding:0 16px}
  .nav{display:flex;gap:4px}
  .nav button{white-space:nowrap;width:auto;gap:6px}
  .side-foot{padding:0}
  .main{padding:16px 16px 60px}
  .task-body{padding-left:12px}
  .two{grid-template-columns:1fr}
}
@media (min-width:761px){.navs{display:grid;gap:18px}}
.task-body p{white-space:pre-wrap}
