:root{--ink:#3d3234;--muted:#8c7b7a;--line:rgba(86,61,63,.12);--paper:rgba(255,252,249,.82);--paper-solid:#fffaf7;--rose:#bb6c76;--rose-dark:#92515c;--rose-soft:#f3dde0;--sage:#6f8f83;--amber:#bd8a51;--shadow:0 24px 70px rgba(77,52,54,.12);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#f8f2ee}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#fbf6f2 0%,#f4ece8 54%,#f7f1ed 100%);overflow-x:hidden}.ambient{position:fixed;border-radius:999px;filter:blur(4px);pointer-events:none}.ambient-a{width:430px;height:430px;right:-130px;top:-160px;background:radial-gradient(circle,rgba(224,170,178,.28),transparent 66%)}.ambient-b{width:380px;height:380px;left:-190px;bottom:-160px;background:radial-gradient(circle,rgba(169,198,185,.22),transparent 68%)}
button,input,textarea,select{font:inherit;color:inherit}.topbar{height:78px;display:flex;align-items:center;gap:14px;padding:0 max(18px,calc((100vw - 1480px)/2));border-bottom:1px solid var(--line);background:rgba(250,246,242,.68);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.topbar h1{font-size:19px;margin:1px 0}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--rose);margin:0;font-weight:800}.back,.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.6);text-decoration:none;color:var(--ink);cursor:pointer}.topbar .icon-button{margin-left:auto}
.app-shell{position:relative;display:grid;grid-template-columns:350px minmax(0,1fr);max-width:1480px;margin:0 auto;min-height:calc(100vh - 78px)}.task-rail{border-right:1px solid var(--line);padding:24px 18px 60px}.rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.rail-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.rail-head small{grid-column:2;color:var(--muted);font-size:11px}.live-dot,.status-dot{width:9px;height:9px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 5px rgba(111,143,131,.12)}
.primary,.ghost,.filter,.tab{border:0;cursor:pointer}.primary{background:var(--rose-dark);color:white;padding:11px 16px;border-radius:13px;font-weight:700;box-shadow:0 8px 22px rgba(146,81,92,.18)}.compact{font-size:12px;padding:9px 12px}.ghost{background:transparent;border:1px solid var(--line);padding:9px 13px;border-radius:12px}.filter-row{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:13px;background:rgba(112,83,84,.06);margin-bottom:15px}.filter{padding:8px;background:transparent;border-radius:9px;color:var(--muted);font-size:12px}.filter.active{background:var(--paper-solid);color:var(--ink);box-shadow:0 3px 12px rgba(80,55,58,.08)}
.task-list{display:grid;gap:9px}.task-card{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:14px;border-radius:16px;cursor:pointer;display:grid;gap:8px}.task-card:hover,.task-card.active{background:var(--paper);border-color:var(--line);box-shadow:0 12px 28px rgba(70,48,50,.07)}.task-card-top{display:flex;justify-content:space-between;gap:10px}.task-card-id{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.task-card-state{font-size:10px;color:var(--rose-dark)}.task-card strong{font-size:13px;line-height:1.45}.task-card p{font-size:11px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-stage{padding:34px clamp(22px,4vw,62px) 100px;min-width:0}.empty-state{max-width:520px;margin:18vh auto 0;text-align:center}.empty-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--line);border-radius:24px;margin:0 auto 22px;background:var(--paper);font-size:34px;color:var(--rose)}.empty-state h2{font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:28px;margin:0 0 10px}.empty-state p{color:var(--muted);line-height:1.7;margin:0 0 24px}
.task-detail{max-width:980px;margin:0 auto}.detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-title-wrap{display:flex;align-items:flex-start;gap:14px}.detail-title-wrap .status-dot{margin-top:13px}.task-id{font-size:10px;letter-spacing:.14em;color:var(--muted);margin:0 0 5px}.detail-head h2{font-size:26px;margin:0;font-family:Georgia,"Songti SC",serif;font-weight:500}.detail-actions{display:flex;align-items:center;gap:8px}.status-pill{padding:7px 11px;border-radius:999px;background:var(--rose-soft);color:var(--rose-dark);font-size:11px;font-weight:700}.goal{max-width:760px;color:#6d5e5e;line-height:1.7;margin:18px 0}.fact-strip{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 25px}.fact{font-size:10px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.48)}
.tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tab{background:transparent;color:var(--muted);font-size:11px;padding:12px 13px;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--rose-dark);border-bottom-color:var(--rose)}.panel{display:none;padding:20px 0}.panel.active{display:block}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.surface{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 14px 34px rgba(73,51,52,.05)}.section-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);font-weight:800;margin:0 0 14px}.timeline-surface{margin-top:14px}.check-list,.state-list{display:grid;gap:10px}.check-row,.state-row{display:flex;gap:10px;font-size:12px;line-height:1.45}.check-row::before{content:"✓";color:var(--sage);font-weight:800}.state-row span:first-child{min-width:110px;color:var(--muted)}.timeline{display:grid}.cycle{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.cycle:first-child{border-top:0}.cycle-label{font-size:10px;color:var(--rose-dark);font-weight:800}.cycle-body strong{font-size:12px}.cycle-body p{font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0 0}.stream{display:grid;gap:0}.event-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.event-row:last-child{border:0}.event-time{color:var(--muted)}.event-main strong{display:block;margin-bottom:4px}.event-main code{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.terminal{background:#292527;color:#ebdfd9;border-radius:18px;padding:17px;min-height:320px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.terminal-line{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.terminal-line span{color:#c9959d}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th,.data-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{font-size:9px;letter-spacing:.12em;color:var(--muted)}.pass{color:var(--sage);font-weight:800}.fail{color:#b54e58;font-weight:800}.composer{position:sticky;bottom:18px;margin-top:22px;background:rgba(255,250,247,.92);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.composer label{display:block;font-size:10px;font-weight:800;margin-bottom:8px;color:var(--rose-dark)}.composer-row{display:flex;gap:10px}.composer textarea{flex:1;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.7);padding:11px;resize:vertical;min-height:48px}.composer p,#new-task-status{font-size:10px;color:var(--muted);margin:7px 0 0}
.terminal-artifact{display:grid;gap:7px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.terminal-artifact>span{color:#b7aaa6;font-size:9px}.terminal-artifact pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#ebdfd9}.json-view{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(75,55,57,.045);border:1px solid var(--line);border-radius:12px;padding:13px;font:10px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.evidence-block+.evidence-block{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}button:disabled{opacity:.55;cursor:wait}
dialog{border:0;background:transparent;padding:18px;width:min(620px,100%);max-height:100vh}dialog::backdrop{background:rgba(48,35,37,.34);backdrop-filter:blur(8px)}.dialog-card{background:var(--paper-solid);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);display:grid;gap:15px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:3px 0 0}.dialog-card label{display:grid;gap:6px;font-size:11px;color:var(--muted);font-weight:700}.dialog-card input,.dialog-card textarea,.dialog-card select{border:1px solid var(--line);border-radius:12px;background:white;padding:11px;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.loading,.empty-list{padding:25px 12px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:820px){.topbar{height:70px;padding:0 14px}.app-shell{display:block}.task-rail{border-right:0;border-bottom:1px solid var(--line);padding:16px 14px}.task-list{display:flex;overflow:auto;gap:8px;padding-bottom:4px}.task-card{min-width:245px;background:rgba(255,255,255,.35);border-color:var(--line)}.task-stage{padding:24px 14px 96px}.overview-grid{grid-template-columns:1fr}.detail-head{display:grid}.detail-actions{justify-content:space-between}.composer{bottom:calc(10px + env(safe-area-inset-bottom))}.composer-row{align-items:stretch}.composer-row .primary{padding:10px 13px}.cycle{grid-template-columns:68px 1fr}.event-row{grid-template-columns:78px 1fr}}
@media(max-width:460px){.filter-row{margin-bottom:12px}.task-rail{padding-bottom:13px}.rail-head{margin-bottom:12px}.detail-head h2{font-size:23px}.goal{font-size:13px}.tabs{margin-right:-14px}.tab{padding:11px 10px}.surface{padding:15px}.composer textarea{font-size:16px}.dialog-card{padding:18px;border-radius:20px}.dialog-card input,.dialog-card textarea,.dialog-card select{font-size:16px}}
