:root{color-scheme:light dark;--bg: oklch(.975 .006 85);--surface: oklch(.995 .003 85);--sunken: oklch(.953 .008 85);--sidebar: oklch(.962 .008 85);--text: oklch(.22 .015 60);--muted: oklch(.47 .015 60);--border: oklch(.905 .009 80);--border-strong: oklch(.82 .012 75);--accent: oklch(.52 .16 40);--accent-hover: oklch(.46 .16 40);--accent-text: oklch(.99 .005 60);--accent-soft: oklch(.955 .03 55);--danger: oklch(.5 .19 27);--ok: oklch(.44 .12 150);--warn: oklch(.45 .1 70);--err-bg: oklch(.96 .028 25);--ok-bg: oklch(.96 .035 150);--warn-bg: oklch(.965 .05 90);--info-bg: oklch(.96 .014 240);--shadow: 0 1px 2px oklch(.3 .03 60 / .06), 0 8px 24px -12px oklch(.3 .03 60 / .18);--radius: 10px;--radius-lg: 14px;--sidebar-w: 15.5rem;--ease: cubic-bezier(.22, 1, .36, 1);font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Noto Sans,Noto Sans TC,sans-serif;font-size:15px;line-height:1.55;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root{--bg: oklch(.19 .01 60);--surface: oklch(.235 .012 60);--sunken: oklch(.215 .012 60);--sidebar: oklch(.165 .01 60);--text: oklch(.94 .008 80);--muted: oklch(.72 .012 70);--border: oklch(.31 .012 60);--border-strong: oklch(.42 .015 60);--accent: oklch(.74 .14 48);--accent-hover: oklch(.8 .13 50);--accent-text: oklch(.2 .03 45);--accent-soft: oklch(.29 .04 45);--danger: oklch(.76 .14 25);--ok: oklch(.78 .13 150);--warn: oklch(.82 .12 85);--err-bg: oklch(.28 .06 25);--ok-bg: oklch(.27 .05 150);--warn-bg: oklch(.29 .05 85);--info-bg: oklch(.27 .03 240);--shadow: 0 1px 2px oklch(0 0 0 / .3), 0 12px 28px -14px oklch(0 0 0 / .6)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-underline-offset:.18em}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.012em;text-wrap:balance}h1{font-size:1.75rem;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}h2{font-size:1rem;margin-bottom:.6rem}h3{font-size:.9rem;margin:.9rem 0 .3rem}h1:focus,h3:focus{outline:none}p{margin:0 0 .5rem;text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:.5rem;background:var(--surface);color:var(--text);padding:.5rem 1rem;border-radius:8px;box-shadow:var(--shadow);z-index:30}.skip:focus{left:.5rem}.muted{color:var(--muted)}section[hidden],.banner[hidden],.pager[hidden]{display:none}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:1.25rem;padding:1rem .75rem;background:var(--sidebar);border-right:1px solid var(--border);overflow-y:auto;z-index:20}.brand{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem;color:var(--text);text-decoration:none;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;border-radius:8px}.brand .icon{width:1.9rem;height:1.9rem}.nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.nav-label{margin:1rem .6rem .35rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-label:first-child{margin-top:0}.nav a{display:flex;align-items:center;gap:.65rem;min-height:38px;padding:.4rem .6rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500;overflow-wrap:anywhere;transition:background-color .12s var(--ease),color .12s var(--ease)}.nav a .icon{width:1.15rem;height:1.15rem;flex:none;color:var(--muted);transition:color .12s var(--ease)}.nav a:hover{background:color-mix(in oklch,var(--text) 6%,transparent)}.nav a.active{background:var(--surface);box-shadow:0 0 0 1px var(--border),0 1px 2px #392a1e0f;font-weight:600}.nav a.active .icon{color:var(--accent)}.account{display:flex;align-items:center;gap:.5rem;padding:.75rem .5rem 0;border-top:1px solid var(--border)}.whoami{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.content{min-width:0;display:flex;flex-direction:column}.main{width:100%;max-width:1480px;margin:0 auto;padding:2rem clamp(1rem,3vw,2.5rem) 3rem}#app-alert:empty{display:none}#app-alert{padding:.75rem clamp(1rem,3vw,2.5rem) 0}.view{animation:enter .2s var(--ease)}@keyframes enter{0%{opacity:0;transform:translateY(4px)}}.view>h1+*{margin-top:.35rem}.mobilebar,.scrim{display:none}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.menu-btn:hover{background:color-mix(in oklch,var(--text) 8%,transparent)}.menu-btn .icon{width:1.4rem;height:1.4rem}.icon{display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.icon.mark{color:var(--accent)}.icon.mark path{stroke:var(--accent-text);stroke-width:2.2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:550;text-decoration:none;padding:.45rem .95rem;min-height:38px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--sunken);border-color:color-mix(in oklch,var(--text) 40%,var(--border))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn[aria-disabled=true]{cursor:progress}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:color-mix(in oklch,var(--danger) 55%,var(--border))}.btn.danger:hover:not(:disabled){background:var(--err-bg);border-color:var(--danger)}.btn.small{min-height:32px;padding:.2rem .7rem;font-size:.875rem;border-radius:8px}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;min-width:0}.field.inline{flex-direction:row;align-items:center;gap:.6rem;margin:0}.field label{font-weight:600;font-size:.9rem}.field>p{margin:0;font-size:.85rem}input,select,textarea{font:inherit;padding:.5rem .7rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);width:100%;min-width:0;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}input:hover,select:hover,textarea:hover{border-color:color-mix(in oklch,var(--text) 40%,var(--border))}input::placeholder,textarea::placeholder{color:color-mix(in oklch,var(--muted) 75%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 22%,transparent)}input[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent)}textarea{resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.pager{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.pager .pager-error{color:var(--danger)}.pager .pager-error:empty{display:none}.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1.25rem 0}.toolbar .field.inline{flex:1 1 260px;max-width:460px}.toolbar .field.inline label{font-weight:500;color:var(--muted)}.banner{padding:.65rem .9rem;border-radius:var(--radius);margin:.6rem 0;display:flex;gap:.75rem;align-items:center;justify-content:space-between;background:var(--info-bg);border:1px solid color-mix(in oklch,currentColor 14%,transparent)}.banner.error,.form-error:not(:empty){background:var(--err-bg);color:var(--danger);padding:.65rem .9rem;border-radius:var(--radius);margin-bottom:.9rem;border:1px solid color-mix(in oklch,currentColor 20%,transparent)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.info{background:var(--info-bg);color:var(--text)}.field-error:not(:empty){color:var(--danger);margin:0;font-size:.85rem}.field-error:empty{display:none}.loading{display:flex;gap:.6rem;align-items:center;color:var(--muted)}.spinner{width:1rem;height:1rem;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:2.5rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted)}.empty-title{font-weight:600;margin:0 0 .2rem;color:var(--text)}.empty p{margin:0}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.1rem .55rem;border-radius:6px;font-size:.75rem;font-weight:550;line-height:1.5;background:var(--sunken);color:var(--text);border:1px solid var(--border);white-space:nowrap}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:transparent}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}.badge.bad{color:var(--danger);background:var(--err-bg);border-color:transparent}.badge.info{background:var(--info-bg);border-color:transparent}.badge.muted{color:var(--muted)}[class*=phase-]{--ph: oklch(.62 .02 80)}.phase-triage{--ph: oklch(.74 .15 80)}.phase-planning{--ph: oklch(.62 .16 300)}.phase-building{--ph: oklch(.62 .15 250)}.phase-review{--ph: oklch(.64 .12 190)}.phase-done{--ph: oklch(.64 .15 150)}.phase-canceled{--ph: oklch(.72 .01 80)}.badge[class*=phase-]:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--ph)}.meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.5rem 0}.columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:.9rem;overflow-x:auto;padding-bottom:.75rem;align-items:start;scroll-padding:1rem}.column{background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.6rem;min-width:0}.column h2{display:flex;align-items:center;gap:.5rem;margin:.2rem .35rem .65rem;font-size:.85rem;font-weight:650}.column h2:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--ph);flex:none}.count{margin-left:auto;min-width:1.5rem;padding:0 .4rem;text-align:center;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.col-empty{margin:.25rem .35rem .5rem;font-size:.85rem}.cards,.thread,.audit,.phase-list,.attention,.settings{list-style:none;margin:0;padding:0}.card{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .8rem;margin-bottom:.5rem;background:var(--surface);box-shadow:0 1px 1px #392a1e0a;transition:border-color .12s var(--ease),box-shadow .15s var(--ease)}.card:last-child{margin-bottom:0}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.card-link{color:var(--text);font-weight:600;text-decoration:none;overflow-wrap:anywhere;line-height:1.35}.card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.card-link:focus-visible{outline:none}.card:has(.card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.card .meta{margin:.5rem 0 0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;margin-bottom:1rem}.col-main,.col-side{min-width:0}.detail-head{padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.detail-head>p:first-child{margin-bottom:.75rem;font-size:.9rem}.detail-head>p:first-child a{color:var(--muted);text-decoration:none}.detail-head>p:first-child a:hover{color:var(--text);text-decoration:underline}.detail-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.25rem;align-items:start}.desc{white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch}.plan{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sunken);border:1px solid var(--border);padding:.8rem .9rem;border-radius:var(--radius);margin:0 0 .75rem;font:inherit}.gate-list{margin:0;display:grid;gap:.55rem}.gate{display:flex;gap:.3rem .6rem;flex-wrap:wrap;align-items:baseline}.gate:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--warn);align-self:center;flex:none}.gate.ok:before{background:var(--ok)}.gate dt{font-weight:600}.gate dd{margin:0;color:var(--muted)}.action-grid{display:flex;flex-wrap:wrap;gap:.5rem}.confirm{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;width:100%;padding:.75rem;border:1px solid color-mix(in oklch,var(--warn) 40%,var(--border));border-radius:var(--radius);background:var(--warn-bg)}.note,.audit li{border-bottom:1px solid var(--border);padding:.6rem 0}.note:last-child,.audit li:last-child{border-bottom:0}.note p,.ev-body{margin:.15rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.note.assistant{background:var(--accent-soft);border-radius:var(--radius);padding:.6rem .8rem;margin:.4rem 0;border-bottom:0}.note.pending{color:var(--muted)}.note.pending p{display:flex;gap:.5rem;align-items:center}.runs{list-style:none;margin:.5rem 0 0;padding:0}.run{border-bottom:1px solid var(--border);padding:.6rem 0}.run-head{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.run p{margin:.2rem 0;overflow-wrap:anywhere}.run-error{background:var(--err-bg);border-radius:var(--radius);padding:.5rem .7rem;margin-top:.4rem}.run-error p:first-child{color:var(--danger)}.command-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto;background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem;max-width:100%;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:.85em}.command-identity{overflow-wrap:anywhere;font-size:.85rem}#commands-panel,#command-evidence{min-width:0}.command-records{list-style:none;margin:.5rem 0 0;padding:0}.command-record{border-bottom:1px solid var(--border);padding:.6rem 0}.command-record p{margin:.2rem 0;overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;margin:0;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.stat{background:var(--surface);padding:.9rem 1rem}.stat dt{color:var(--muted);font-size:.85rem}.stat dd{margin:.1rem 0 0;font-size:1.6rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.view>div>section:not(.panel)+section{margin-top:2rem}.view>div>section:not(.panel)>h2{font-size:.75rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.phase-list{max-width:26rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.phase-list li{display:flex;justify-content:space-between;align-items:center;padding:.55rem .9rem;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.phase-list li:last-child{border-bottom:0}.attention li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;margin-bottom:.5rem}.attention p{margin:.25rem 0 0;text-transform:capitalize;font-size:.875rem}.setting{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:.75rem}.setting p{margin:.35rem 0 0 3.1rem;font-size:.9rem;max-width:62ch}.switch{display:flex;align-items:center;gap:.85rem;font-weight:600}.switch input[type=checkbox]{appearance:none;flex:none;width:2.25rem;height:1.3rem;padding:0;border-radius:999px;border:0;background:var(--border-strong);position:relative;cursor:pointer;transition:background-color .15s var(--ease)}.switch input[type=checkbox]:before{content:"";position:absolute;top:.15rem;left:.15rem;width:1rem;height:1rem;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0000004d;transition:transform .18s var(--ease)}.switch input[type=checkbox]:checked{background:var(--accent)}.switch input[type=checkbox]:checked:before{transform:translate(.95rem);background:var(--accent-text)}.switch input[type=checkbox]:disabled{opacity:.55;cursor:progress}@media(forced-colors:active){.switch input[type=checkbox]{appearance:auto;width:1.15rem;height:1.15rem}.switch input[type=checkbox]:before{display:none}}.login-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1rem;background:radial-gradient(60rem 30rem at 50% -10%,var(--accent-soft),transparent 70%),var(--bg)}.login{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:2rem;width:min(420px,100%);box-shadow:var(--shadow)}.login .icon{width:2.5rem;height:2.5rem;margin-bottom:1rem}.login h1{font-size:1.5rem;margin-bottom:.25rem}.login h2{font-size:1.05rem;margin:.5rem 0 0}.login .muted{margin-bottom:1rem}.login .btn.primary{width:100%;min-height:42px}.dialog{border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);width:min(560px,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);padding:1.25rem 1.5rem;box-shadow:var(--shadow)}.dialog[open]{animation:enter .18s var(--ease)}.dialog::backdrop{background:#0e0a0780}@media(max-width:860px){.shell{display:block}.mobilebar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--sidebar);border-bottom:1px solid var(--border)}.mobilebar .brand{flex:1}.sidebar{position:fixed;inset:0 auto 0 0;width:min(19rem,86vw);height:100%;transform:translate(-100%);visibility:hidden;transition:transform .22s var(--ease),visibility 0s linear .22s}.shell[data-nav=open] .sidebar{transform:none;visibility:visible;box-shadow:var(--shadow);transition:transform .22s var(--ease)}.shell[data-nav=open] .scrim{display:block;position:fixed;inset:0;z-index:15;background:#0e0a0773}.nav a{min-height:44px}.main{padding-top:1.25rem}h1{font-size:1.5rem}.detail-grid{grid-template-columns:1fr}.columns{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;overflow:visible}.row{grid-template-columns:1fr}.btn{min-height:44px}.btn.small{min-height:40px}.field.inline{flex-direction:column;align-items:stretch}.setting p{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.spinner{border-top-color:var(--border-strong)}}.clerk-login{width:min(100%,440px);min-width:0}.clerk-component{min-width:0;max-width:100%}.clerk-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.clerk-account{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}.clerk-login .cl-rootBox,.clerk-login .cl-cardBox{max-width:100%}
