:root{
  --canvas:#0b1519;--panel:#0f1d22;--panel-2:#132429;--line:#ffffff0d;--line-2:#ffffff17;
  --ink:#e4eae3;--muted:#92aaa7;--dim:#6f8886;
  --teal:#64efdd;--green:#a5ee83;--yellow:#ffce69;--red:#ff829e;--draft:#f6c77d;--claude:#d97757;--codex:#9cc7ff;
  --plan:#9cb8ff;--work:#64efdd;--done:#a5ee83;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--canvas);color:var(--ink)}
body{min-height:100vh;background:radial-gradient(1200px 600px at 70% -10%,#16333a55,transparent 60%),var(--canvas)}
svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:#cfe3da;background:#ffffff0a;padding:1px 5px;border-radius:5px}

.app{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 14px;border-right:1px solid var(--line);background:#0c181c}
.brand{display:flex;align-items:center;gap:8px;font-size:21px;padding:0 8px}.brand .palm{color:var(--teal)}.brand i{color:#7fd9ff;font-style:italic}
.rail nav{display:grid;gap:4px}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:14px}
.nav-item:hover{background:#ffffff06;color:var(--ink)}
.nav-item.active{background:#64efdd12;color:var(--ink);box-shadow:inset 0 0 0 1px #64efdd1f}
.nav-item em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;background:#64efdd26;color:var(--teal);padding:1px 7px;border-radius:99px}
.rail-foot{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);padding:10px;border:1px solid var(--line);border-radius:12px}

.avatar{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;flex:none}
.avatar.me{background:#2a3d44;color:#dfe9e5}
.avatar.claude{background:#d977571f;color:var(--claude)}
.avatar.codex{background:#9cc7ff1c;color:var(--codex)}

.board-page{min-width:0;padding:26px 30px 60px}
.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.title h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.01em}
.title p{margin:6px 0 0;color:var(--muted);font-size:13px}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:11px;background:var(--panel);border:1px solid var(--line);color:var(--dim);min-width:230px}
.search input{border:0;background:none;outline:none;width:100%;color:var(--ink)}
.search:focus-within{border-color:#64efdd40}
.segmented{display:flex;padding:3px;border-radius:11px;background:var(--panel);border:1px solid var(--line)}
.segmented button{border:0;background:none;padding:6px 12px;border-radius:8px;color:var(--muted);font-size:13px}
.segmented button.on{background:#ffffff0d;color:var(--ink)}
.primary{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 15px;border:0;border-radius:11px;background:#b0d2bd;color:#16302b;font-weight:650;font-size:13.5px;box-shadow:inset 0 1px #eff7d830}
.primary:hover{background:#c6e2cc}
.ghost{height:38px;padding:0 14px;border-radius:11px;border:1px solid var(--line-2);background:none;color:var(--muted)}
.icon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:0;background:#ffffff08;color:var(--muted)}
.icon-btn:hover{color:var(--ink);background:#ffffff10}

.filters{margin:22px 0 18px;display:grid;gap:12px}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font-size:13px}
.chip b{font-weight:600;color:var(--ink)}
.chip small{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.chip.on{border-color:#64efdd55;background:#64efdd12;color:var(--ink)}
.chip.on small{color:var(--teal)}
.chip .src{color:#e7c77f}.chip .src.folder{color:var(--muted)}
.filter-row{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center}
.pill-group{display:flex;align-items:center;gap:4px;font-size:12.5px}
.pill-group span{color:var(--dim);margin-right:4px}
.pill-group button{border:0;background:none;padding:5px 10px;border-radius:8px;color:var(--muted)}
.pill-group button.on{background:#ffffff0e;color:var(--ink)}
.toggle{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);cursor:pointer;user-select:none}
.toggle input{display:none}.toggle i{width:30px;height:18px;border-radius:99px;background:#ffffff14;position:relative;transition:background .2s}
.toggle i::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#9fb3b0;transition:transform .2s,background .2s}
.toggle input:checked+i{background:#64efdd40}.toggle input:checked+i::after{transform:translateX(12px);background:var(--teal)}

.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.column{min-width:0;border-radius:18px;background:#0e1b20b3;border:1px solid var(--line);padding:12px 10px 10px;transition:border-color .15s,background .15s}
.column.drop{border-color:#64efdd55;background:#64efdd08}
.column-head{display:flex;align-items:center;gap:8px;padding:2px 6px 12px}
.column-head .dot{width:8px;height:8px;border-radius:50%}
.column-head h2{margin:0;font-size:13.5px;font-weight:650;letter-spacing:.01em}
.column-head .count{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}
.column-head .add{margin-left:auto;width:28px;height:28px}
.cards{display:grid;gap:9px;min-height:60px}
.empty{padding:22px 10px;text-align:center;font-size:12.5px;color:var(--dim);border:1px dashed var(--line-2);border-radius:12px}

.card{position:relative;display:grid;gap:10px;padding:13px 13px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:0 10px 24px -18px #000c}
.card.dragging{opacity:.45}
.card.live{border-color:#64efdd33;box-shadow:inset 0 0 0 1px #64efdd12,0 0 28px -18px #64efdd}
.card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.proj{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#e7c77f}
.proj.folder{color:#b9c9c4}
.proj svg{width:12px;height:12px}
.prio{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:99px;background:#ff829e1c;color:var(--red)}
.from-ai{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:99px;background:#9cc7ff14;color:#b7d2ff}
.card h3{margin:0;font-size:14.5px;font-weight:560;line-height:1.35}
.card p.snippet{margin:-4px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.progress{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.progress .bar{flex:1;height:4px;border-radius:99px;background:#ffffff0d;overflow:hidden}
.progress .bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#64efdd,#a5ee83)}
.card-foot{display:flex;align-items:center;gap:8px;min-width:0}
.who{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--muted)}
.who .arrow{color:var(--dim);font-size:11px}
.who .thread-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
.age{margin-left:auto;font-size:11px;color:var(--dim);white-space:nowrap}
.status-pill{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 9px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}
.status-pill.thinking{background:var(--teal);color:#143f38}
.status-pill.thinking .dots i{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;margin:0 1px;animation:blink 1.2s infinite}
.status-pill.thinking .dots i:nth-child(2){animation-delay:.2s}.status-pill.thinking .dots i:nth-child(3){animation-delay:.4s}
.status-pill.done{background:var(--green);color:#284318}
.status-pill.waiting{background:var(--yellow);color:#50380d}
.status-pill.queued{background:#ffffff12;color:var(--muted);font-weight:700}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.card .result-line{font-size:12px;color:#c6d9c4;background:#a5ee830d;border:1px solid #a5ee8317;border-radius:10px;padding:7px 9px;line-height:1.4}

.list{display:grid;gap:6px}
.row{display:grid;grid-template-columns:110px minmax(0,1fr) 160px 170px 90px;align-items:center;gap:14px;padding:11px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);cursor:pointer;font-size:13px}
.row:hover{border-color:var(--line-2)}
.row .row-title{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .col-status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}
.row .col-status i{width:7px;height:7px;border-radius:50%}

.notes{margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
.notes h2{margin:0 0 16px;font-size:15px;font-weight:600}
.note-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.note-grid article{padding:14px;border-radius:14px;background:#0f1d2299;border:1px solid var(--line)}
.note-grid h3{margin:0 0 7px;font-size:13px;font-weight:620}
.note-grid p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted)}

.drawer{position:fixed;inset:0;display:flex;justify-content:flex-end;background:#0007;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{width:min(480px,100%);height:100%;overflow-y:auto;background:#0e1c21;border-left:1px solid var(--line-2);padding:18px 22px 110px;transform:translateX(24px);transition:transform .25s cubic-bezier(.16,1,.3,1);position:relative}
.drawer.open .drawer-panel{transform:none}
.drawer-panel header{display:flex;align-items:center;justify-content:space-between}
.drawer-panel h2{margin:14px 0 16px;font-size:20px;line-height:1.3;font-weight:600}
.drawer-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.drawer-status i{width:8px;height:8px;border-radius:50%}
.meta{display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px 12px;margin:0 0 18px;font-size:13px}
.meta dt{color:var(--dim)}.meta dd{margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.meta a{color:#b9e8dc;text-decoration:none;border-bottom:1px solid #b9e8dc33}
.desc{font-size:14px;line-height:1.6;color:#d3ddd8;white-space:pre-wrap;margin-bottom:16px}
.section-title{margin:22px 0 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-weight:650}
.checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.checklist li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45}
.checklist li .box{flex:none;width:16px;height:16px;border-radius:5px;border:1.5px solid #ffffff2b;margin-top:2px;display:grid;place-items:center}
.checklist li.done{color:var(--dim);text-decoration:line-through}
.checklist li.done .box{background:#a5ee83;border-color:#a5ee83;color:#284318}
.checklist li.done .box svg{width:11px;height:11px;stroke-width:3}
.checklist li.active .box{border-color:var(--teal);box-shadow:0 0 0 3px #64efdd1f}
.result .result-line{font-size:13px;line-height:1.5;color:#cfe2cc;background:#a5ee830d;border:1px solid #a5ee831c;border-radius:12px;padding:10px 12px}
.history{list-style:none;margin:0;padding:0 0 0 14px;border-left:1px solid var(--line-2);display:grid;gap:12px}
.history li{position:relative;font-size:12.5px;line-height:1.45;color:var(--muted)}
.history li::before{content:"";position:absolute;left:-18.5px;top:5px;width:8px;height:8px;border-radius:50%;background:#2c4046;box-shadow:0 0 0 3px #0e1c21}
.history li b{color:var(--ink);font-weight:560}
.history time{display:block;font-size:11px;color:var(--dim);margin-top:1px}
.drawer-actions{position:fixed;bottom:0;right:0;width:min(480px,100%);display:flex;gap:8px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0e1c21 30%);}
.drawer-actions .primary{flex:1;justify-content:center}

.modal{position:fixed;inset:0;display:grid;place-items:center;background:#000a;z-index:30;padding:16px}
.modal[hidden]{display:none}
.modal-panel{width:min(560px,100%);display:grid;gap:12px;padding:18px;border-radius:18px;background:#0f1e23;border:1px solid var(--line-2);box-shadow:0 30px 60px -30px #000}
.modal-panel header{display:flex;align-items:center;justify-content:space-between}
.modal-panel h2{margin:0;font-size:16px;font-weight:620}
.title-input,.modal-panel textarea,.modal-panel select{width:100%;border:1px solid var(--line-2);background:#0b171b;border-radius:11px;padding:11px 12px;outline:none}
.title-input{font-size:16px;font-weight:560}
.modal-panel textarea{min-height:92px;resize:vertical;font-size:14px;line-height:1.5}
.title-input:focus,.modal-panel textarea:focus,.modal-panel select:focus{border-color:#64efdd55}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-row label{display:grid;gap:6px;font-size:12px;color:var(--dim)}
.check-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.modal-panel footer{display:flex;justify-content:flex-end;gap:8px}

.mobile-tabs{display:none}

@media (max-width:1180px){.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .rail{display:none}
  .board-page{padding:18px 14px 50px}
  .title h1{font-size:24px}
  .top-actions{width:100%}
  .search{flex:1;min-width:0}
  .segmented{display:none}
  .filters{margin:16px 0 12px}
  .mobile-tabs{display:flex;gap:6px;position:sticky;top:0;z-index:5;padding:8px 0;background:linear-gradient(var(--canvas) 70%,transparent)}
  .mobile-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:13px}
  .mobile-tabs button i{width:7px;height:7px;border-radius:50%}
  .mobile-tabs button small{font-size:11px;color:var(--dim)}
  .mobile-tabs button.on{color:var(--ink);border-color:#64efdd44;background:#64efdd10}
  .board{grid-template-columns:repeat(3,100%);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .column{scroll-snap-align:start;border:0;background:none;padding:6px 2px}
  .column-head{display:none}
  .row{grid-template-columns:1fr auto;gap:6px 10px}
  .row .col-project,.row .col-who{display:none}
  .note-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
