:root{--bg:#0b0d10;--surface:#14171c;--surface-2:#191a1e;--line:#23272e;--brand-copper:#d9a06a;--brand-bronze:#b8733e;--brand-deep:#8a5330;--brand-gunmetal:#30343a;--brand-text:#e7e3dd;--grad-copper:linear-gradient(135deg, var(--brand-copper) 0%, var(--brand-bronze) 55%, var(--brand-deep) 100%);--grad-text:linear-gradient(180deg, var(--brand-copper) 0%, var(--brand-bronze) 100%);--gold:var(--brand-bronze);--gold-hover:var(--brand-copper);--gold-dim:#b8733e99;--text:#e7e3dd;--muted:#a9a39a;--faint:#65625b;--glow:#d9a06a3d;--ink-on-gold:#0b0d10;--danger:#c96a5a;--danger-soft:#c96a5a29;--ok:#7fb583;--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-brand:"Sora", "Manrope", "Inter", system-ui, sans-serif;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(60rem 28rem at 50% -8rem, var(--glow), transparent 70%), var(--bg);overscroll-behavior-y:none;background-attachment:fixed;min-width:320px;min-height:100dvh;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}em{font-style:normal}.progress-top{background:var(--line);z-index:50;height:3px;position:fixed;top:0;left:0;right:0}.progress-top i{background:var(--grad-copper);height:100%;box-shadow:0 0 10px var(--glow), 0 0 2px var(--gold);transition:width .3s;display:block}.shell{width:min(1440px,100% - 44px);padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);margin:0 auto}.topbar{align-items:center;gap:16px;margin-bottom:26px;display:flex}.brand{flex:auto;align-items:center;gap:14px;min-width:0;display:flex}.brand-copy{gap:3px;min-width:0;display:grid}.node-mark{width:clamp(40px,5vw,52px);height:auto;filter:drop-shadow(0 0 10px var(--glow));flex:none;display:block}.wordmark{font-family:var(--font-brand);letter-spacing:-.02em;color:var(--brand-bronze);background:var(--grad-text);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1}.brand-tagline{font-family:var(--font-brand);letter-spacing:.2em;text-transform:uppercase;color:var(--brand-text);opacity:.72;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(10px,1vw,11.5px);font-weight:500;line-height:1.1;overflow:hidden}.tabs{margin-bottom:16px;position:relative}.tabs-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabs-measure{visibility:hidden;pointer-events:none;flex-wrap:nowrap;width:max-content;position:absolute;top:0;left:-20000px}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:0 14px;font-size:13.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex;overflow:hidden}.chip:hover{border-color:var(--gold-dim);color:var(--text)}.chip.active{background:var(--gold);border-color:var(--gold);color:var(--ink-on-gold);font-weight:600}.chip.new{border-style:dashed}.chip.small{min-height:32px;padding:0 12px;font-size:12.5px}.chip.small em{opacity:.7;font-variant-numeric:tabular-nums;margin-left:2px;font-size:11px}.chip-form{align-items:center;gap:8px;display:inline-flex}.chip-form input{border-radius:999px;width:160px;min-height:36px;padding:0 14px;font-size:13.5px}.more{position:relative}.menu{z-index:20;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:2px;min-width:200px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000080}.menu button{text-align:left;color:var(--text);background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13.5px}.menu button:hover{background:var(--surface);color:var(--gold)}.sync{margin-left:auto;position:relative}.sync-btn{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.sync-btn:hover{border-color:var(--gold-dim);color:var(--text)}.sync-btn.synced{color:var(--gold);border-color:var(--gold-dim)}.sync-btn.error{color:var(--danger);border-color:#c96a5a66}.sync-btn.syncing svg{animation:1.2s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-menu{gap:10px;width:min(320px,100vw - 32px);padding:14px;left:auto;right:0}.sync-menu button{text-align:center}.sync-menu .primary,.sync-menu .ghost{justify-content:center;width:100%}.sync-hint{color:var(--muted);font-size:12.5px;line-height:1.45}.sync-qr{background:#fff;border-radius:12px;width:172px;height:172px;margin:2px auto 0;padding:8px}.sync-qr svg{width:100%;height:100%;display:block}.sync-code{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:6px 6px 6px 10px;display:flex}.sync-code code{letter-spacing:.04em;min-width:0;color:var(--text);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;font-size:13px}.sync-status{color:var(--faint);font-size:12px}.sync-status.error{color:var(--danger)}.sync-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sync-link{gap:8px;display:flex}.sync-link input{flex:1;min-width:0;min-height:36px;padding:0 10px;font-size:13px}.sync-link .ghost{width:auto}.sync-calendar{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.sync-calendar .sync-hint svg{vertical-align:-2px}.sync-calendar .sync-hint b{color:var(--text);font-weight:600}.sync-calendar .sync-code code{font-size:11.5px}.due-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}a.cal-link,.sync-calendar a.ghost{text-decoration:none}a.ghost.cal-link{align-items:center;gap:6px;width:auto;min-height:34px;font-size:12.5px;display:inline-flex}a.icon-btn.cal-link{width:28px;min-width:28px;height:28px}.overview-card,.board,.stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.overview{gap:14px;margin-bottom:18px;display:grid}@media (width>=960px){.overview{grid-template-columns:minmax(300px,5fr) minmax(0,7fr)}}.overview-card{padding:20px}.next-actions{align-self:start}.identity{background:linear-gradient(145deg, #d9a06a0e, transparent 38%), var(--surface);flex-direction:column;align-self:start;gap:18px;display:flex}.identity-head{align-items:flex-start;gap:10px;display:flex}.identity-fields{flex:auto;gap:2px;min-width:0;display:grid}.roadmap-name,.roadmap-subtitle,.tagline{background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;width:100%;padding:2px 0}.roadmap-name{font-family:var(--font-display);color:var(--text);font-size:clamp(26px,3.4vw,34px);font-weight:500;line-height:1.1}.roadmap-subtitle{color:var(--muted);font-size:14px}.tagline{color:var(--faint);letter-spacing:.02em;font-size:12px}.roadmap-name:hover,.roadmap-subtitle:hover,.tagline:hover{border-bottom-color:var(--line)}.roadmap-name:focus,.roadmap-subtitle:focus,.tagline:focus{box-shadow:none;border-bottom-color:var(--gold);outline:none}.identity-progress{gap:12px;padding:clamp(18px,4vw,30px) 0 4px;display:grid}.completion{align-items:flex-end;gap:14px;display:flex}.completion strong{font-family:var(--font-display);color:var(--gold);text-shadow:0 0 22px #d9a06a24;font-size:clamp(50px,6vw,68px);font-weight:500;line-height:.88}.completion span{color:var(--muted);padding-bottom:7px;font-size:13px}.bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:7px;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.bar i{background:var(--grad-copper);height:100%;transition:width .3s;display:block}.meta-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:12px 0 0;display:grid}.meta{gap:3px;min-width:0;display:grid}.meta dt{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.meta dd{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13.5px;overflow:hidden}.meta dd.faint{color:var(--muted)}.meta .due{height:26px;color:var(--muted);margin:-4px 0 0 -6px;font-size:13px}.meta .due.set{color:var(--text)}.meta .due.today{color:var(--gold)}.meta .due.overdue{color:var(--danger)}.identity-foot{justify-content:space-between;align-items:center;gap:10px;padding-top:2px;display:flex}.identity-foot .tagline{flex:auto;min-width:0}.identity-actions{flex:none;gap:4px;display:flex}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card-head h2{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:500}.collapsible-head{align-items:center;margin-bottom:12px}.collapsible.collapsed .collapsible-head{margin-bottom:0}.collapse-title{text-align:left;background:0 0;border:0;flex:auto;align-items:baseline;gap:9px;min-width:0;padding:0;display:inline-flex}.collapse-title h2{flex:0 auto;min-width:0}.collapse-title span{color:var(--faint);flex:none;font-size:12px;font-weight:600}.card-head-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.collapsible .icon-btn.chevron svg{transition:transform .2s}.collapsible.collapsed .icon-btn.chevron svg{transform:rotate(-90deg)}.collapsible-body{min-width:0}.link{color:var(--gold-dim);background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.link:hover{color:var(--gold)}.action-list{gap:6px;display:grid}.action-list li{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto auto auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.action-grip{width:14px;height:22px;color:var(--faint);opacity:.55;cursor:grab;touch-action:none;place-items:center;margin:0 -6px 0 -4px;display:grid}.action-list li:hover .action-grip,.action-grip:hover{opacity:1;color:var(--text)}.action-list li.dragging{opacity:.45}.action-list li.dragging .action-grip{cursor:grabbing}.action-list li.drop-before{box-shadow:0 -2px 0 0 var(--gold)}.rank{background:var(--surface);border:1px solid var(--line);width:22px;height:22px;color:var(--gold);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:13px;display:grid}.action-check{border:1.5px solid var(--gold-dim);background:0 0;border-radius:4px;width:16px;height:16px;padding:0}.action-check:hover{background:var(--gold);border-color:var(--gold)}.action-text{color:var(--text);white-space:nowrap;text-overflow:ellipsis;cursor:default;font-size:13.5px;overflow:hidden}.action-list li.expanded .action-text{white-space:normal}.overview-side{align-self:start;gap:14px;min-width:0;display:grid}.advisor{flex-direction:column;gap:10px;min-width:0;padding:16px 18px;display:flex}.advisor-head{align-items:center;margin-bottom:0}.advisor-head h2{align-items:center;gap:8px;min-width:0;display:inline-flex}.advisor-body{gap:10px;display:grid}.advisor-mark{object-fit:contain;border-radius:50%;flex:none;width:18px;height:18px}.advisor-status{letter-spacing:.02em;max-width:50%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.advisor-status i{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.advisor-status.ready i{background:var(--ok);box-shadow:0 0 6px #7fb58399}.advisor-status.busy i{background:var(--gold);animation:1s ease-in-out infinite advisor-pulse}.advisor-status.checking i{animation:1.2s ease-in-out infinite advisor-pulse}.advisor-status.unconfigured i,.advisor-status.unreachable i{background:var(--danger)}@keyframes advisor-pulse{50%{opacity:.3}}.advisor-scope{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.advisor-scope .chip.small,.advisor-quick .chip.small{min-height:30px;padding:0 11px;font-size:12px}.advisor-clear{margin-left:auto}.advisor-log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;align-content:start;gap:10px;min-height:96px;max-height:280px;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.advisor-empty{color:var(--muted);gap:8px;padding:6px 2px;font-size:13px;line-height:1.5;display:grid}.advisor-empty b{color:var(--text);font-weight:600}.advisor-note{color:var(--faint);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.advisor-note svg{color:var(--gold-dim);flex:none}.advisor-msg{overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:13.5px;line-height:1.5}.advisor-msg.user{max-width:88%;color:var(--text);background:#d9a06a1f;border:1px solid #b8733e59;border-radius:12px 12px 4px;justify-self:end;padding:8px 12px}.advisor-msg.user p{white-space:pre-wrap}.advisor-msg.assistant{background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:12px 12px 12px 4px;justify-self:stretch;padding:10px 12px}.advisor-msg.thinking{justify-self:start;padding:12px 14px}.advisor-dots{gap:4px;display:inline-flex}.advisor-dots i{background:var(--gold-dim);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite advisor-pulse}.advisor-dots i:nth-child(2){animation-delay:.15s}.advisor-dots i:nth-child(3){animation-delay:.3s}.advisor-md{gap:8px;display:grid}.advisor-md h4{letter-spacing:.05em;text-transform:uppercase;color:var(--gold-dim);margin:2px 0 0;font-size:11.5px;font-weight:600}.advisor-md ul,.advisor-md ol{gap:4px;padding-left:18px;display:grid}.advisor-md ul{list-style:outside}.advisor-md ol{list-style:decimal}.advisor-md li::marker{color:var(--gold-dim)}.advisor-md strong{color:var(--brand-copper);font-weight:600}.advisor-md code{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.advisor-md pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 10px;font-size:12px;overflow-x:auto}.advisor-suggestions{border-top:1px solid var(--line);gap:6px;margin-top:10px;padding-top:10px;display:grid}.advisor-suggestion{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:8px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:grid}.advisor-suggestion.armed{border-color:var(--gold-dim);box-shadow:0 0 0 3px var(--glow)}.advisor-suggestion.applied{border-color:#7fb58380}.advisor-suggestion.unavailable,.advisor-suggestion.failed,.advisor-suggestion.manual{opacity:.75}.advisor-suggestion-body{gap:2px;min-width:0;display:grid}.advisor-suggestion-body strong{color:var(--text);font-size:13px}.advisor-suggestion-body span{color:var(--muted);font-size:12.5px}.advisor-suggestion-body em{color:var(--faint);font-size:12px}.advisor-suggestion-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.advisor-suggestion-actions .compact{min-height:32px;padding:0 10px;font-size:12.5px}.advisor-suggestion-actions .icon-btn{min-width:30px;height:30px;margin-left:auto}.advisor-confirm-text{color:var(--text);font-size:12.5px}.advisor-confirm-text.faint{color:var(--faint)}.advisor-applied{color:var(--ok);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.advisor-error{background:var(--danger-soft);color:var(--text);border:1px solid #c96a5a66;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.advisor-error svg{color:var(--danger);flex:none}.advisor-error span{flex:auto;min-width:0}.advisor-error .link{flex:none;align-items:center;gap:4px;display:inline-flex}.advisor-quick{flex-wrap:wrap;gap:6px;display:flex}.advisor-quick .chip.small{font-weight:500}.advisor-quick .chip:disabled{opacity:.45;cursor:not-allowed}.advisor-input{align-items:flex-end;gap:8px;display:flex}.advisor-input textarea{resize:none;field-sizing:content;flex:auto;min-width:0;min-height:40px;max-height:120px;padding:9px 12px;font-size:13.5px;line-height:1.4}.advisor-send{flex:none;width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.board{padding:14px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.status-chips{flex-wrap:wrap;gap:6px;display:flex}.toolbar-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search,.control{border:1px solid var(--line);background:var(--surface-2);min-height:36px;color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.search{flex:180px;min-width:160px}.search input,.control select{width:auto;min-height:34px;color:var(--text);background:0 0;border:0;padding:0;font-size:13.5px}.search input{-webkit-appearance:none;flex:auto;min-width:0}.search input::-webkit-search-cancel-button{display:none}.search input:focus,.control select:focus{box-shadow:none}.control select{background-position:right 2px center;padding-right:22px;font-weight:500}.clear{width:22px;height:22px;color:var(--faint);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.clear:hover{color:var(--text);background:var(--surface)}.add-task-btn{border:1px solid var(--gold-dim);background:var(--surface-2);min-height:36px;color:var(--gold);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.add-task-btn:hover,.add-task-btn.active{background:var(--gold);border-color:var(--gold);color:var(--ink-on-gold)}.add-row{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(120px,200px) auto;gap:8px;margin-bottom:12px;padding:8px;display:grid}.add-row input{background:var(--surface);min-height:38px;padding:0 12px}.add-actions{align-items:center;gap:4px;display:inline-flex}.stage-picker{min-width:0;position:relative}.stage-picker .stage-pick{width:100%;padding-right:32px}.picker-toggle{width:32px;height:100%;color:var(--faint);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.picker-toggle:hover{color:var(--text)}.picker-menu{min-width:0;max-height:240px;left:0;right:0;overflow:auto}.picker-menu button{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;width:100%;display:flex;overflow:hidden}.picker-menu button.highlight{background:var(--surface);color:var(--gold)}.picker-menu button.create{color:var(--gold);font-weight:600}.picker-empty{color:var(--faint);padding:9px 12px;font-size:12.5px}.add-actions .icon-btn{min-width:38px;height:38px}.empty{text-align:center;color:var(--faint);padding:26px 8px;font-size:14px}.empty.small{text-align:left;padding:10px 4px;font-size:13px}input,textarea,select{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--glow);outline:none}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%23928e83' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}input[type=date]::-webkit-calendar-picker-indicator{opacity:0}.primary,.ghost{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.primary{border:1px solid var(--gold);background:var(--gold);color:var(--ink-on-gold)}.primary:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.primary:disabled{opacity:.4;cursor:not-allowed}.ghost{border:1px solid var(--line);background:var(--surface-2);color:var(--muted)}.ghost:hover:not(:disabled){border-color:var(--gold-dim);color:var(--text)}.ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.ghost.danger.armed{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.compact{width:auto;min-height:38px;padding:0 12px}.compact.icon{padding:0 10px}.icon-btn{min-width:32px;height:32px;color:var(--faint);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:12px;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.icon-btn:hover,.icon-btn.active{color:var(--text);background:var(--surface-2);border-color:var(--line)}.icon-btn.danger:hover{color:var(--danger)}.icon-btn.danger.armed{color:var(--danger);background:var(--danger-soft);border-color:var(--danger);padding:0 10px}.icon-btn.chevron svg{transition:transform .2s}.stage.collapsed .icon-btn.chevron svg{transform:rotate(-90deg)}button:focus-visible,.checkbox:focus-visible{box-shadow:0 0 0 3px var(--glow), 0 0 0 1px var(--gold-hover);outline:none}.stages{gap:10px;display:grid}.stage{background:var(--surface-2);min-width:0}.stage-head{gap:5px;padding:8px 10px 8px 12px;display:grid}.stage-row{align-items:center;gap:10px;min-width:0;display:flex}.stage-bar{background:var(--line);border-radius:999px;height:3px;overflow:hidden}.stage-bar i{background:var(--gold-dim);height:100%;transition:width .3s;display:block}.stage-bar[aria-valuenow="100"] i{background:var(--gold)}.stage-toggle{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:4px 0;display:inline-flex}.stage-num{background:var(--surface);border:1px solid var(--gold-dim);width:24px;height:24px;color:var(--gold);font-family:var(--font-display);border-radius:7px;flex:none;place-items:center;font-size:13px;display:grid}.stage-title{min-width:0}.stage-title h3{font-family:var(--font-display);color:var(--gold);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:500;overflow:hidden}.stage-subtitle{text-align:left;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;flex:1 1 0;padding:2px 4px;font-size:12.5px;overflow:hidden}.stage-subtitle.empty{color:#0000}.stage-head:hover .stage-subtitle.empty{color:var(--faint)}.stage-subtitle:hover{background:var(--surface);color:var(--text)}.stage-subtitle-input{border-radius:6px;flex:auto;min-height:28px;padding:0 8px;font-size:12.5px}.stage-count{font-variant-numeric:tabular-nums;color:var(--gold-dim);flex:none;margin-left:auto;font-size:12.5px}.stage-grip{width:20px;height:24px;color:var(--faint);cursor:grab;touch-action:none;flex:none;place-items:center;margin-left:-4px;display:grid}.stage-grip,.task-grip,.action-grip{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stage-grip:hover{color:var(--text)}.stage.dragging{opacity:.45}.stage.dragging .stage-grip{cursor:grabbing}.stage.drop-target{box-shadow:0 -2px 0 0 var(--gold), 0 0 0 1px var(--gold-dim)}.stage-move{flex:none;gap:2px;display:inline-flex}.stage-move .icon-btn{min-width:26px;height:26px;padding:0 3px}.stage-move .icon-btn:disabled{opacity:.3;cursor:default;color:var(--faint);background:0 0;border-color:#0000}.stage-body{border-top:1px solid var(--line);padding:4px 6px 6px}.task{border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task-row{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px;display:grid}.task-grip{width:16px;height:24px;color:var(--faint);opacity:.55;cursor:grab;touch-action:none;place-items:center;margin-right:-6px;display:grid}.task-row:hover .task-grip,.task-grip:hover{opacity:1;color:var(--text)}.task.dragging{opacity:.45}.task.dragging .task-grip{cursor:grabbing}.task.drop-before{box-shadow:0 -2px 0 0 var(--gold);z-index:1;position:relative}.task-row:hover{background:#ffffff04;border-radius:8px}.checkbox{border:1.5px solid var(--gold-dim);background:0 0;border-radius:5px;flex:none;place-items:center;width:19px;height:19px;padding:0;transition:background .15s,border-color .15s;display:inline-grid;position:relative}.checkbox:after{content:"";position:absolute;inset:-12px}.task.done .checkbox{background:var(--gold);border-color:var(--gold)}.task-title{align-items:center;gap:8px;min-width:0;display:flex}.task-text{min-width:0;color:var(--text);text-align:left;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:0 0;border:0;border-radius:6px;-webkit-box-orient:vertical;flex:auto;margin:0 -6px;padding:3px 6px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.task-text:hover{background:var(--surface)}.task.open .task-text{-webkit-line-clamp:unset}.task.done .task-text{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--gold-dim);text-decoration-color:var(--gold-dim)}.dep-link{height:20px;color:var(--faint);cursor:default;border:1px solid #0000;border-radius:5px;flex:none;align-items:center;gap:3px;padding:0 5px;font-size:11px;display:inline-flex;position:relative}.dep-link em{font-variant-numeric:tabular-nums}.dep-link.blocked{color:var(--danger);background:var(--danger-soft);border-color:#c96a5a59}.dep-link:hover,.dep-link:focus-visible{color:var(--text);border-color:var(--line);background:var(--surface)}.dep-link.blocked:hover,.dep-link.blocked:focus-visible{color:#e5978a;border-color:var(--danger)}.dep-tip{z-index:20;background:var(--surface-2);border:1px solid var(--line);min-width:200px;max-width:min(320px,80vw);color:var(--text);white-space:normal;text-align:left;border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.4;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000080}.dep-tip b{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.dep-link.blocked .dep-tip b{color:var(--danger)}.dep-tip>span{padding:2px 0;display:block}.dep-tip>span.done{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--gold-dim);text-decoration-color:var(--gold-dim)}.dep-link:hover .dep-tip,.dep-link:focus-visible .dep-tip,.dep-link:focus-within .dep-tip{display:block}.badge.status.derived{border-style:dashed}.task-meta{flex:none;align-items:center;gap:6px;display:flex}.badge{border:1px solid var(--line);letter-spacing:.01em;white-space:nowrap;background:var(--surface);height:24px;color:var(--muted);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex;position:relative}.badge.select{cursor:pointer}.badge.select select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.badge.select:hover{border-color:var(--gold-dim)}.badge.select:focus-within{box-shadow:0 0 0 3px var(--glow);border-color:var(--gold)}.badge.priority.high{background:var(--danger-soft);color:#e5978a;border-color:#c96a5a66}.badge.priority.medium{color:var(--gold-dim);background:#d9a06a1a;border-color:#b8733e80}.badge.priority.low{color:var(--faint)}.badge.status i{background:var(--faint);border-radius:50%;width:7px;height:7px}.badge.status.in-progress i{background:var(--gold)}.badge.status.in-progress{color:var(--text)}.badge.status.blocked i{background:var(--danger)}.badge.status.blocked{color:#e5978a;border-color:#c96a5a66}.badge.status.completed i{background:var(--ok)}.task.done .badge.priority{opacity:.5}.due{min-width:24px;height:24px;color:var(--faint);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:0 6px;font-size:11.5px;font-weight:500;display:inline-flex;position:relative}.due input[type=date]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.due:hover,.due.set{border-color:var(--line);background:var(--surface);color:var(--muted)}.due.today,.due-text.today{color:var(--gold)}.due.overdue,.due-text.overdue{color:var(--danger)}.due .clear{z-index:1;width:18px;height:18px;position:relative}.due-text{color:var(--muted);font-size:11.5px}.task-details{border-top:1px dashed var(--line);gap:10px;padding:8px 8px 12px 41px;display:grid}.field{gap:4px;display:grid}.field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.field input:not([type=checkbox]):not([type=date]){min-height:34px;padding:0 10px;font-size:13px}.field textarea{resize:vertical;padding:8px 10px;font-size:13.5px;line-height:1.4}.field-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.field .due{border-color:var(--line);background:var(--surface-2);height:34px;padding:0 10px}.dep-list{gap:2px;display:grid}.dep{color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:4px 6px 4px 8px;font-size:13px;display:flex}.dep>svg{color:var(--danger);flex:none}.dep.done>svg{color:var(--ok)}.dep span{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.dep.done span{color:var(--faint);text-decoration:line-through}.dep .clear{flex:none}.dep-add{min-height:34px;color:var(--muted);padding:0 10px;font-size:13px}.details-foot{justify-content:flex-end;display:flex}@media (width<=700px){.shell{width:min(1240px,100% - 24px);padding-top:calc(18px + env(safe-area-inset-top,0px))}.topbar{align-items:center;gap:8px;margin-bottom:22px}.brand{gap:6px}.brand-copy{gap:2px}.node-mark{width:clamp(34px,9vw,40px)}.wordmark{font-size:clamp(20px,5.6vw,26px)}.brand-tagline{letter-spacing:.16em;font-size:clamp(8.5px,2.3vw,10px);display:block}.sync-btn{justify-content:center;padding:0 8px}.overview-card{padding:16px}.board{padding:10px}.add-row{grid-template-columns:minmax(0,1fr) auto}.add-row .stage-pick{grid-column:1/-1}.add-task-btn{min-height:42px}.dep-tip{left:auto;right:0}.toolbar-controls{width:100%}.task-row{grid-template-columns:auto auto minmax(0,1fr);row-gap:4px}.task-meta{flex-wrap:wrap;grid-column:3}.task-details{padding-left:8px}.task-text{-webkit-line-clamp:unset}.field-row{grid-template-columns:1fr}.action-list li{grid-template-columns:auto auto auto minmax(0,1fr);row-gap:4px}.action-list li .badge,.action-list li .due-text{grid-column:4;justify-self:start}.action-text{white-space:normal}.primary,.ghost{min-height:42px}.chip{min-height:38px}.chip.small{min-height:34px}.badge,.due{height:28px}.icon-btn{min-width:36px;height:36px}.stage-grip,.task-grip,.action-grip{opacity:.8;width:22px}.advisor{padding:14px}.advisor-log{max-height:320px}.advisor-msg.user{max-width:100%}.advisor-status{max-width:42%}.advisor-scope .chip.small,.advisor-quick .chip.small{min-height:34px}.advisor-suggestion-actions .icon-btn{min-width:34px;height:34px}.stage-row{flex-wrap:wrap;gap:2px 6px}.stage-toggle{flex:1 1 0;gap:8px;min-width:0}.stage-title h3{white-space:normal;font-size:15px;line-height:1.2}.stage-move{gap:0}.stage-move .icon-btn,.stage-head .icon-btn.chevron{min-width:28px;height:30px;padding:0 2px}.stage-subtitle,.stage-subtitle-input{flex:100%;order:10;min-height:30px;margin-left:40px}.stage-subtitle.empty{color:var(--faint)}.checkbox:after{inset:-14px}}@media (hover:none){.stage-subtitle.empty{color:var(--faint)}.task-text:hover{border-color:#0000}}@media (display-mode:standalone){.progress-top{top:env(safe-area-inset-top,0px)}}.auth-shell{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));place-items:center;display:grid}.auth-card{text-align:center;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);justify-items:center;gap:14px;width:min(400px,100%);padding:32px 22px 26px;display:grid;box-shadow:0 24px 60px #00000073,inset 0 0 0 1px #d9a06a0f}.auth-card-quiet{padding:40px 22px}.auth-mark{width:56px;height:56px;filter:drop-shadow(0 0 14px var(--glow));display:block}.auth-title{font-family:var(--font-brand);letter-spacing:-.02em;background:var(--grad-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:700;line-height:1.1}.auth-muted{color:var(--muted);max-width:30ch;font-size:14px;line-height:1.45}.auth-google,.auth-guest{border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s,transform 80ms;display:inline-flex}.auth-google{border:1px solid var(--gold);background:var(--gold);color:var(--ink-on-gold);margin-top:6px}.auth-google:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.auth-google:active:not(:disabled){transform:translateY(1px)}.auth-google:disabled{opacity:.5;cursor:progress}.auth-google svg{box-sizing:content-box;background:#fff;border-radius:50%;flex:none;padding:3px}.auth-guest{border:1px solid var(--line);background:var(--surface-2);color:var(--muted)}.auth-guest:hover{border-color:var(--gold-dim);color:var(--text)}.auth-google:focus-visible,.auth-guest:focus-visible{box-shadow:0 0 0 3px var(--glow);outline:none}.auth-divider{width:100%;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:12px;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);height:1px}.auth-error{width:100%;color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:8px 12px;font-size:13px}.auth-fine{color:var(--faint);font-size:12px;line-height:1.4}.auth-control{flex:none;align-items:center;display:inline-flex}.auth-signin{color:var(--muted)}.auth-signin:hover{color:var(--gold-hover);border-color:var(--gold-dim)}.auth-avatar{box-shadow:0 0 0 1px var(--line), 0 0 10px var(--glow);width:32px!important;height:32px!important}@media (width<=700px){.auth-signin span{display:none}.auth-signin{min-width:34px;padding:0}}
