:root{--bg: #0b0d12;--panel: #121521;--panel-2: #171b29;--border: #242a3d;--border-strong: #37405c;--text: #e7eaf3;--dim: #9aa3b8;--faint: #626b80;--amber: #e8b44c;--violet: #8b7cf6;--teal: #3fb8a0;--danger: #e2574b;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button{font:inherit}.shell{display:flex;min-height:100%}.sidebar{width:224px;flex:0 0 224px;border-right:1px solid var(--border);padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.wordmark{font-family:Georgia,Times New Roman,serif;font-size:26px;letter-spacing:.5px;margin:0 6px 2px}.tagline{font-size:11.5px;color:var(--faint);margin:0 6px 10px;font-style:italic}.thread-line{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--amber),var(--violet),var(--teal));margin:0 6px 14px}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--dim);font-size:14px}.nav-link:hover{background:var(--panel);color:var(--text)}.nav-link.active{background:var(--panel-2);color:var(--text)}.nav-section{margin:14px 6px 6px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--faint)}.proj-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.nav-count{margin-left:auto;font-size:12px;color:var(--faint)}.main{flex:1;min-width:0;padding:22px 26px 60px}.topbar{display:none}@media (max-width: 900px){.sidebar{display:none}.main{padding:14px 14px calc(80px + env(safe-area-inset-bottom,0px))}.topbar{display:flex;align-items:center;gap:14px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:30;overflow-x:auto}.topbar .wordmark{font-size:20px;margin:0}.topbar a{color:var(--dim);font-size:14px;white-space:nowrap}.topbar a.active{color:var(--text)}}.page-head{display:flex;align-items:baseline;gap:14px;margin:0 0 18px;flex-wrap:wrap}.page-head h1{font-size:21px;font-weight:600;margin:0}.page-sub{color:var(--faint);font-size:13px}.spacer{flex:1}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 14px;cursor:pointer;font-size:13.5px}.btn:hover{border-color:var(--border-strong)}.btn-primary{background:var(--amber);border-color:var(--amber);color:#1b1405;font-weight:600}.btn-primary:hover{filter:brightness(1.06)}.btn-danger{color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--dim)}.btn-ghost:hover{color:var(--text);border-color:var(--border)}.btn-sm{padding:4px 10px;font-size:12.5px;border-radius:7px}input,select,textarea{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-strong)}input[type=checkbox]{width:15px;height:15px;padding:0}label.field{display:block;font-size:12px;color:var(--faint);margin-bottom:10px}label.field>span{display:block;margin-bottom:4px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--dim);background:var(--panel-2);border:1px solid var(--border);border-radius:99px;padding:1.5px 8px;white-space:nowrap}.chip-warn{color:#f0c169;border-color:#5a4718;background:#2a2210}.chip-danger{color:#f08d84;border-color:#5c261f;background:#2a1512}.chip-ok{color:#6fd4bf;border-color:#1d4a40;background:#10231f}.chip-plain{background:transparent;border-color:transparent;padding:1.5px 2px}.stat-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;min-width:110px}.stat b{display:block;font-size:20px;font-weight:600}.stat span{font-size:12px;color:var(--faint)}.stat.alert{border-color:#5a4718}.stat.alert b{color:var(--amber)}.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.lanes{grid-template-columns:1fr}}.lane-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin:0 2px 10px}.lane-head .n{color:var(--faint);font-weight:400}.lane-you .lane-head{color:var(--amber)}.lane-claude .lane-head{color:var(--violet)}.lane-ext .lane-head{color:var(--dim)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;cursor:pointer;border-left-width:3px}.card:hover{border-color:var(--border-strong)}.board .card{touch-action:manipulation}.dragging{opacity:.88}.dragging .card{border-color:var(--border-strong);box-shadow:0 10px 28px #00000080;cursor:grabbing}.card-title{font-size:13.5px;font-weight:500;line-height:1.35}.card-id{font-size:11px;color:var(--faint);font-family:Consolas,monospace;flex:0 0 auto}.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.card-meta .proj{font-size:11.5px;color:var(--dim);display:inline-flex;align-items:center;gap:5px}.prio{font-size:11px;color:var(--faint)}.prio-0{color:var(--danger);font-weight:700}.prio-1{color:var(--amber);font-weight:600}.board{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:20px}.col{flex:0 0 264px;width:264px;background:#ffffff04;border:1px solid var(--border);border-radius:12px;padding:10px;min-height:120px}.col.drop-over{border-color:var(--border-strong);background:#ffffff0a}.col-head{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--dim);margin:2px 4px 10px}.col-head .n{color:var(--faint);font-weight:400;margin-left:auto}.quick-add{display:flex;gap:6px;margin-bottom:8px}.quick-add input{font-size:13px;padding:6px 9px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060a99;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--panel);border-left:1px solid var(--border);z-index:41;overflow-y:auto;padding:20px 22px 40px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.drawer h2{font-size:16px;margin:0 0 14px}.drawer .row{display:flex;gap:10px}.drawer .row>*{flex:1}.seg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{flex:1;background:transparent;border:none;color:var(--dim);padding:7px 4px;cursor:pointer;font-size:12.5px}.seg button.on{background:var(--panel-2);color:var(--text);font-weight:600}.check-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13.5px}.check-row input[type=text]{flex:1}.check-row .done{text-decoration:line-through;color:var(--faint)}.q-block{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px}.q-block .q{font-size:13px;font-weight:500;margin-bottom:6px}.subtle{color:var(--faint);font-size:12px}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.proj-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.proj-card:hover{border-color:var(--border-strong)}.proj-band{height:56px;position:relative}.proj-band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent 0 9px,rgba(0,0,0,.18) 9px 18px)}.proj-body{padding:12px 14px 14px}.proj-body h3{margin:0 0 2px;font-size:16px}.proj-body .tag{color:var(--dim);font-size:12.5px;min-height:34px}.proj-counts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.home-band{border-radius:14px;padding:22px 24px 18px;position:relative;overflow:hidden;margin-bottom:18px}.home-band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent 0 12px,rgba(0,0,0,.22) 12px 24px)}.home-band>*{position:relative}.home-band h1{margin:0;font-size:26px;font-family:Georgia,serif}.home-band .tag{opacity:.95;font-size:14px}.link-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.link-row a{font-size:12.5px;background:#00000059;padding:3px 10px;border-radius:99px}.link-row a:hover{background:#0000008c}.cols-2{display:grid;grid-template-columns:3fr 2fr;gap:22px;align-items:start}@media (max-width: 1000px){.cols-2{grid-template-columns:1fr}}.section{margin-bottom:26px}.section>h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--faint);margin:0 0 10px;font-weight:600}.timeline{border-left:2px solid var(--border);padding-left:16px}.tl-item{position:relative;margin-bottom:14px}.tl-item:before{content:"";position:absolute;left:-21.5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.tl-date{font-size:11.5px;color:var(--faint)}.tl-title{font-size:13.5px;font-weight:500}.tl-body{font-size:13px;color:var(--dim)}.md{font-size:13.5px;color:var(--dim)}.md h1,.md h2,.md h3{color:var(--text);font-size:14.5px;margin:14px 0 6px}.md p{margin:0 0 8px}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md li{margin-bottom:3px}.md code{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12.5px}.md a{color:var(--amber)}.md strong{color:var(--text)}.dump-box textarea{min-height:170px;font-size:15px}.mic{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:19px;cursor:pointer;flex:0 0 46px}.mic.rec{background:var(--danger);border-color:var(--danger);animation:pulse 1.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #e2574b26}}.dump-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.dump-item p{margin:0 0 6px;font-size:13.5px;white-space:pre-wrap}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;text-align:center}.login-card .wordmark{font-size:34px}.err{color:var(--danger);font-size:13px;margin-top:10px}.empty{color:var(--faint);font-size:13px;padding:14px 4px}
