:root{--ink:#15202b;--ink-soft:#3d4a57;--muted:#6b7785;--paper:#eef2f5;--paper-2:#f7f9fb;--line:#c9d3dc;--line-strong:#9aabba;--accent:#0b6e4f;--accent-ink:#084c37;--accent-wash:#d7eee5;--warn:#9a6b12;--warn-wash:#f4e8c8;--bad:#a33b3b;--bad-wash:#f3d9d9;--good:#0b6e4f;--good-wash:#d7eee5;--btn-fg:#f7fbf9;--btn-bg:var(--accent);--btn-bg-hover:var(--accent-ink);--btn-border:var(--accent-ink);--btn-radius:10px;--surface:#ffffffb8;--surface-hover:#fff;--input-bg:#fffc;--hover-wash:#15202b0d;--code-bg:#f1f5f8;--flash-error-ink:#6e2424;--bg-top:#f4f7fa;--bg-bottom:#e7edf2;--glow:#0b6e4f1f;--glow-soft:#15202b0f;--grid:#15202b09;--focus-ring:#0b6e4f26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:"Manrope", sans-serif;--sans:"Geist", sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--shadow-soft:0 18px 40px #15202b14;--radius:14px;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;font-size:16px;line-height:1.45}:root[data-theme=dark]{--ink:#ececee;--ink-soft:#b4b6bc;--muted:#74777f;--paper:#0a0b0d;--paper-2:#101114;--line:#ffffff12;--line-strong:#ffffff26;--accent:#4ade9f;--accent-ink:#9af0c8;--accent-wash:#4ade9f17;--warn:#e4b45c;--warn-wash:#e4b45c1f;--bad:#f08a8a;--bad-wash:#f08a8a1f;--good:#4ade9f;--good-wash:#4ade9f1a;--btn-fg:#0a0b0d;--btn-bg:#ececee;--btn-bg-hover:#fff;--btn-border:transparent;--btn-radius:8px;--surface:#101114;--surface-hover:#16181c;--input-bg:#0c0d10;--hover-wash:#ffffff0b;--code-bg:#07080a;--flash-error-ink:#ffd4d4;--bg-top:#0a0b0d;--bg-bottom:#0a0b0d;--glow:transparent;--glow-soft:transparent;--grid:transparent;--focus-ring:#4ade9f4d;--shadow-soft:none;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background:var(--paper)}:root[data-theme=dark] body:before,:root[data-theme=dark] .auth-screen:before,:root[data-theme=dark] .auth-screen:after{display:none}:root[data-theme=dark] .app{animation-duration:.16s}:root[data-theme=dark] .panel{background:var(--paper-2)}:root[data-theme=dark] .brand,:root[data-theme=dark] .section-head h2,:root[data-theme=dark] .panel h2,:root[data-theme=dark] .panel h3,:root[data-theme=dark] .plan-header h2,:root[data-theme=dark] .plan-name,:root[data-theme=dark] .repo-title strong,:root[data-theme=dark] .btn-link.title,:root[data-theme=dark] button.linkish.title{font-family:var(--sans);letter-spacing:-.025em;font-weight:600}:root[data-theme=dark] .brand{font-weight:700}:root[data-theme=dark] .brand-kicker{font-family:var(--mono);letter-spacing:.22em;font-size:.66rem}:root[data-theme=dark] .topbar{border-bottom-color:var(--line)}:root[data-theme=dark] .btn-secondary{color:var(--ink);border-color:var(--line-strong);background:0 0}:root[data-theme=dark] .btn-secondary:hover{background:var(--hover-wash);border-color:var(--ink-soft)}:root[data-theme=dark] .btn-danger{color:var(--bad);background:0 0;border-color:#0000}:root[data-theme=dark] .btn-danger:hover{background:var(--bad-wash);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}:root[data-theme=dark] .btn-ghost,:root[data-theme=dark] .theme-toggle{color:var(--ink-soft);background:0 0;border-color:#0000}:root[data-theme=dark] .btn-ghost:hover{background:var(--hover-wash);color:var(--ink)}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] textarea,:root[data-theme=dark] select,:root[data-theme=dark] .input,:root[data-theme=dark] .textarea,:root[data-theme=dark] .select{background-color:#0e0f12;border-color:#ffffff1c;border-radius:8px}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:var(--muted)}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]):focus,:root[data-theme=dark] textarea:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] .input:focus,:root[data-theme=dark] .textarea:focus,:root[data-theme=dark] .select:focus{border-color:var(--line-strong);box-shadow:0 0 0 2px var(--focus-ring)}@media (width>=761px){:root[data-theme=dark] .repo-tabs button{border-left-width:2px;border-radius:6px;font-weight:500}:root[data-theme=dark] .repo-tabs button.active{background:var(--hover-wash);border-left-color:var(--accent)}}:root[data-theme=dark] .plans-list,:root[data-theme=dark] .file-table{background:var(--paper-2);border-radius:10px}:root[data-theme=dark] .file-row:hover{background:var(--hover-wash)}:root[data-theme=dark] .plan-progress-mini,:root[data-theme=dark] .plan-progress-bar{background:var(--line-strong);height:2px}:root[data-theme=dark] .badge{border-radius:6px}:root[data-theme=dark] .plan-source,:root[data-theme=dark] .plan-row .plan-source{color:var(--muted);border-radius:6px}:root[data-theme=dark] .markdown-body .md-code{background:var(--code-bg);border-radius:8px}:root[data-theme=dark] .markdown-body code{background:var(--hover-wash)}:root[data-theme=dark] .plan-body-card{padding:1.25rem 1.5rem}:root[data-theme=dark] .markdown-body{font-size:.94rem;line-height:1.65}:root[data-theme=dark] *{scrollbar-width:thin;scrollbar-color:#2a2c31 transparent}*{box-sizing:border-box}body{background:radial-gradient(900px 480px at 85% -10%, var(--glow), transparent 60%), radial-gradient(700px 420px at -5% 20%, var(--glow-soft), transparent 55%), linear-gradient(180deg, var(--bg-top) 0%, var(--paper) 45%, var(--bg-bottom) 100%);background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 35%,#0000 80%);mask-image:radial-gradient(#000 35%,#0000 80%)}button,input,textarea,select{font:inherit;color:inherit}button,.btn{cursor:pointer}a{color:var(--accent)}.app{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 3rem;animation:.42s ease-out both rise;position:relative}.shell-loading{min-height:100vh;font-family:var(--display);letter-spacing:.04em;color:var(--muted);place-items:center;display:grid}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.brand-mark{text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;gap:.15rem;padding:0;display:flex}.brand-mark:hover{background:0 0;transform:none}button.linkish{color:var(--accent);background:0 0;border:none;border-radius:0;padding:0;font-weight:600}button.linkish:hover{background:0 0;text-decoration:underline;transform:none}button.linkish.title{font-family:var(--display);color:var(--ink);font-size:1.05rem;font-weight:700}.brand-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.brand{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:800;line-height:1}.brand em{color:var(--accent);font-style:normal}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.user-chip{font-family:var(--mono);color:var(--ink-soft);border-bottom:1px solid var(--line);padding:.35rem .55rem;font-size:.82rem}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.stack{flex-direction:column;gap:.85rem;display:flex}.grid{gap:1.25rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.section-head{flex-direction:column;gap:.35rem;margin-bottom:.35rem;display:flex}.section-head h2,.panel h2,.panel h3,.column-title{font-family:var(--display);letter-spacing:-.02em;margin:0}.section-head h2,.panel h2{font-size:1.35rem}.panel h3,.column-title{font-size:.95rem}.lede{color:var(--muted);max-width:42rem;margin:0}.panel{background:color-mix(in srgb, var(--paper-2) 92%, var(--ink) 8%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.1rem 1.15rem}.panel.flat{box-shadow:none;background:0 0;border:none;padding:0}label.field{color:var(--ink-soft);flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}label.field.grow{flex:220px;min-width:180px}input:not([type=checkbox]):not([type=radio]),textarea,select,.input,.textarea,.select{background:var(--input-bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:.65rem .75rem;transition:border-color .16s,box-shadow .16s}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus,.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:2.2rem}textarea{resize:vertical;min-height:100px}input.card-title{font-family:var(--display);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}textarea.card-body{font-family:var(--mono);min-height:8rem;font-size:.85rem;line-height:1.5}button,.btn{background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-border);border-radius:var(--btn-radius);padding:.55rem .95rem;font-weight:600;transition:transform .14s,background .14s,border-color .14s}button:hover,.btn:hover{background:var(--btn-bg-hover);transform:translateY(-1px)}button:active,.btn:active{transform:translateY(0)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-secondary:hover{background:var(--hover-wash);border-color:var(--ink)}.btn-danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line));background:0 0}.btn-danger:hover{background:var(--bad-wash)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000;padding-inline:.55rem}.btn-ghost:hover{color:var(--ink);background:var(--hover-wash)}.btn-link{color:var(--accent);background:0 0;border:none;border-radius:0;padding:0;font-weight:600}.btn-link:hover{background:0 0;text-decoration:underline;transform:none}.btn-link.title{font-family:var(--display);color:var(--ink);font-size:1.05rem;font-weight:700}.btn-sm{padding:.3rem .7rem;font-size:.82rem}.nav,.repo-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:1.4rem;display:flex}.nav button,.repo-tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.45rem .55rem;font-weight:600}.nav button:hover,.repo-tabs button:hover{color:var(--ink);background:0 0;transform:none}.nav button.active,.repo-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.app.app-wide{max-width:1400px}.repo-page{grid-template-columns:13.5rem minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}.repo-sidebar{flex-direction:column;gap:1rem;display:flex;position:sticky;top:1rem}.repo-header{border-bottom:1px solid var(--line);flex-direction:column;gap:.35rem;padding-bottom:.9rem;display:flex}.repo-title{font-family:var(--display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.05rem}.repo-title strong{color:var(--ink);font-weight:700}.repo-title .btn-link{font-size:inherit}.repo-description{color:var(--muted);margin:0;font-size:.85rem}.repo-tabs{flex-direction:column;gap:.15rem;margin:0;display:flex}.repo-tabs button{text-align:left;border:1px solid #0000;border-left-width:3px;border-radius:8px;width:100%;padding:.5rem .75rem}.repo-tabs button:hover{background:var(--hover-wash);color:var(--ink)}.repo-tabs button.active{color:var(--ink);background:var(--accent-wash);border-left-color:var(--accent)}.repo-main{min-width:0}@media (width<=760px){.repo-page{grid-template-columns:minmax(0,1fr);gap:1rem}.repo-sidebar{position:static}.repo-tabs{flex-flow:wrap}.repo-tabs button{border-bottom:2px solid #0000;border-left:1px solid #0000;border-radius:6px;width:auto}.repo-tabs button.active{border-left-color:#0000;border-bottom-color:var(--accent)}}.badge{font-family:var(--mono);color:var(--accent-ink);background:var(--accent-wash);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.badge.good{color:var(--good);background:var(--good-wash);border-color:color-mix(in srgb, var(--good) 35%, transparent)}.badge.warn{color:var(--warn);background:var(--warn-wash);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.badge.bad{color:var(--bad);background:var(--bad-wash);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.badge.neutral{color:var(--muted);background:var(--hover-wash);border-color:var(--line)}.code-toolbar{flex-wrap:wrap;align-items:end;gap:.85rem;display:flex}.branch-picker{min-width:160px;max-width:220px}.branch-bar{gap:.5rem;padding:.55rem .8rem}.branch-bar .code-toolbar{align-items:center;gap:.6rem}.branch-bar .branch-picker{flex-direction:row;align-items:center;gap:.4rem;min-width:0;max-width:none;font-size:.78rem}.branch-bar .branch-picker select{width:auto;padding:.3rem .5rem;font-size:.85rem}.branch-bar .breadcrumb{padding-bottom:0;font-size:.85rem}.branch-bar .clone-toggle{margin-left:auto;padding:.3rem .7rem;font-size:.82rem}.branch-bar .clone-panel{align-items:center;gap:.5rem;display:flex}.branch-bar .clone-panel .clone-url{flex:auto;padding:.4rem .6rem;font-size:.78rem}.branch-bar .commit-line{padding-top:.3rem;font-size:.82rem}.breadcrumb{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:.15rem;padding-bottom:.35rem;font-size:.88rem;display:flex}.commit-line{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:.65rem;padding-top:.35rem;font-size:.9rem;display:flex}.sha{font-family:var(--mono);color:var(--muted);font-size:.8rem}.file-table{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.file-row{text-align:left;border:none;border-bottom:1px solid var(--line);width:100%;color:inherit;background:0 0;border-radius:0;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.65rem;padding:.65rem .85rem;display:grid}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--accent-wash);transform:none}.file-icon{font-family:var(--mono);text-transform:uppercase;color:var(--muted);font-size:.72rem}.file-name{font-family:var(--mono);font-size:.88rem}.clone-panel{align-items:flex-start}.clone-panel .clone-url{flex:320px}.markdown-body{color:var(--ink-soft);max-width:48rem;line-height:1.6}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;margin:1.2em 0 .4em}.markdown-body h1{font-size:1.7rem}.markdown-body h2{font-size:1.35rem}.markdown-body h3{font-size:1.1rem}.markdown-body code{font-family:var(--mono);background:var(--code-bg);border-radius:6px;padding:.1em .35em;font-size:.85em}.markdown-body .md-code{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:.8rem;font-size:.82rem;overflow:auto}.markdown-body .md-code code{background:0 0;padding:0}.markdown-body a{color:var(--accent)}.code-blob{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--line);border-radius:10px;max-height:70vh;margin:0;font-size:.8rem;overflow:auto}.code-line{grid-template-columns:3.2rem 1fr;gap:.75rem;min-width:max-content;display:grid}.code-line:hover{background:var(--accent-wash)}.line-no{text-align:right;color:var(--muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);padding:.05rem .5rem}.line-text{white-space:pre;color:var(--ink-soft);padding:.05rem .75rem .05rem 0}.branch-list{flex-direction:column;gap:.65rem;display:flex}.branch-item .title{color:var(--accent);text-align:left;font-size:1rem}.commits-toolbar{gap:.75rem;margin-bottom:1rem}.commits-search{flex:220px;max-width:360px}.commit-count{white-space:nowrap;font-size:.85rem}.commit-list{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.commit-day-head{z-index:2;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--paper-2) 94%, var(--ink) 6%);border-bottom:1px solid var(--line);margin:0;padding:.45rem .8rem;font-size:.76rem;font-weight:600;position:sticky;top:0}.commit-row{text-align:left;border:none;border-bottom:1px solid var(--line);width:100%;color:inherit;background:0 0;border-radius:0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.6rem .8rem;display:grid}.commit-row:last-child{border-bottom:none}.commit-row:hover{background:var(--hover-wash);transform:none}.commit-avatar{width:2rem;height:2rem;font-family:var(--mono);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;font-size:.72rem;font-weight:600;display:grid}.commit-main{flex-direction:column;gap:.15rem;min-width:0;font-weight:400;display:flex}.commit-subject{color:var(--ink);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.95rem;font-weight:500;display:flex}.commit-subject>span{overflow-wrap:anywhere;min-width:0}.commit-meta{color:var(--muted);align-items:center;gap:.45rem;font-size:.82rem;font-weight:400;display:flex}.commit-meta strong{color:var(--ink-soft);font-weight:600}.commit-stat{font-family:var(--mono);color:var(--muted);font-size:.78rem}.commit-stat .add{color:var(--good);font-weight:600}.commit-stat .del{color:var(--bad);font-weight:600}.commit-sha{font-family:var(--mono);color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.15rem .4rem;font-size:.8rem}.commit-sha:hover{color:var(--accent);border-color:var(--line);background:var(--hover-wash)}.commit-sha.copied{color:var(--accent);border-color:var(--accent)}.load-more{width:100%;margin-top:.6rem}.flash{border-radius:10px;margin-bottom:1rem;padding:.7rem .85rem;animation:.24s both fade-in}.flash.error{background:var(--bad-wash);border:1px solid color-mix(in srgb, var(--bad) 35%, transparent);color:var(--flash-error-ink)}.flash.ok{background:var(--good-wash);border:1px solid color-mix(in srgb, var(--good) 35%, transparent);color:var(--accent-ink)}.status{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-soft);text-transform:lowercase;align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.status:before{content:"";background:var(--line-strong);border-radius:50%;width:.45rem;height:.45rem}.status.good:before{background:var(--good)}.status.warn:before{background:var(--warn)}.status.bad:before{background:var(--bad)}.repo-list{flex-direction:column;gap:.55rem;display:flex}.repo-item,.task-item,.run-item{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;color:inherit;border-radius:12px;padding:.85rem .95rem;transition:border-color .16s,transform .16s,background .16s}.repo-item:hover,.task-item:hover{border-color:var(--accent);background:var(--surface-hover);transform:translateY(-2px)}.repo-item .title,.task-item .title{font-family:var(--display);letter-spacing:-.02em;margin-bottom:.2rem;font-weight:700}.repo-item .meta,.task-item .meta,.run-item .meta{color:var(--muted);font-size:.85rem}.event-timeline{gap:.45rem;margin-top:.5rem}.event-row .meta{font-family:var(--mono);font-size:.75rem}.event-payload{max-height:12rem;margin-top:.25rem;overflow:auto}.clone-url{font-family:var(--mono);word-break:break-all;color:var(--ink-soft);background:var(--input-bg);border:1px dashed var(--line);border-radius:10px;padding:.65rem .75rem;font-size:.82rem}.board-toolbar{flex-wrap:wrap;align-items:end;gap:.65rem;margin-top:.85rem;display:flex}.board-search{flex:220px;max-width:320px}.task-item .title,.task-item .meta{display:block}.board.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.task-item.movable{cursor:grab}.task-item.locked{cursor:default}.column.drop-target{background:var(--accent-wash);border-radius:12px}.column-empty{color:var(--muted);margin:.25rem .15rem;font-size:.8rem;font-style:italic}.board{cursor:grab;grid-auto-columns:240px;grid-auto-flow:column;gap:.75rem;padding-bottom:.6rem;display:grid;overflow-x:auto}.column{border-top:2px solid var(--line);min-width:0;min-height:240px;padding:.35rem .15rem .75rem}.column-title{color:var(--ink-soft);text-transform:capitalize;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;font-weight:700;display:flex}.column-title span,.column-count{font-family:var(--mono);color:var(--muted);font-weight:500}.column-count{align-items:center;gap:.35rem;display:inline-flex}.add-task{width:1.25rem;height:1.25rem;color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:999px;padding:0;font-size:.95rem;font-weight:500;line-height:1}.add-task:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash);transform:none}.composer{margin:0 0 .55rem}.composer input{background:var(--input-bg);padding:.45rem .55rem;font-size:.88rem}.column .task-item{margin-bottom:.55rem}.pre{font-family:var(--mono);white-space:pre-wrap;background:var(--code-bg);border:1px solid var(--line);max-height:360px;color:var(--ink-soft);border-radius:10px;padding:.8rem;font-size:.8rem;overflow:auto}.plan-text{max-height:none}.diff-view{font-family:var(--mono);flex-direction:column;gap:.75rem;font-size:.8rem;line-height:1.45;display:flex}.diff-summary{color:var(--muted);align-items:center;gap:.75rem;padding:0 .25rem;display:flex}.diff-file{border:1px solid var(--border,#7f7f7f40);background:var(--surface);border-radius:8px;overflow:hidden}.diff-file-head{cursor:pointer;background:var(--surface-hover);border-bottom:1px solid var(--border,#7f7f7f33);align-items:center;gap:.6rem;padding:.5rem .8rem;list-style:none;display:flex}.diff-file-head::-webkit-details-marker{display:none}.diff-file-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.diff-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid;border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.diff-badge-added{color:var(--good)}.diff-badge-deleted{color:var(--bad)}.diff-stats,.diff-summary .diff-stat-add,.diff-summary .diff-stat-del{gap:.4rem;font-weight:600;display:inline-flex}.diff-stat-add{color:var(--good)}.diff-stat-del{color:var(--bad)}.diff-body{overflow-x:auto}.diff-table{border-collapse:collapse;width:100%}.diff-row td{vertical-align:top;padding:0 .6rem}.diff-gutter{text-align:right;width:1%;min-width:3rem;color:var(--muted);-webkit-user-select:none;user-select:none;opacity:.7;white-space:nowrap}.diff-code{white-space:pre;width:100%}.diff-sign{-webkit-user-select:none;user-select:none;width:1ch;margin-right:.5ch;display:inline-block}.diff-row-add{background:var(--good-wash)}.diff-row-add .diff-sign{color:var(--good)}.diff-row-del{background:var(--bad-wash)}.diff-row-del .diff-sign{color:var(--bad)}.diff-row-hunk td{background:var(--accent-wash);color:var(--accent-ink);padding-top:.25rem;padding-bottom:.25rem}.diff-row-meta td{color:var(--muted);font-style:italic}.diff-empty{padding:.5rem .25rem}.event-note{white-space:pre-wrap;margin:.2rem 0 0}.theme-toggle{font-family:var(--mono);letter-spacing:.04em;font-size:.78rem}.auth-screen>.theme-toggle{z-index:1;position:absolute;top:1.1rem;right:1.15rem}.auth-screen{place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid;position:relative;overflow:hidden}.auth-screen:before{content:"";background:radial-gradient(circle, var(--glow), transparent 65%);border-radius:50%;width:min(70vw,640px);height:min(70vw,640px);animation:12s ease-in-out infinite alternate drift;position:absolute;inset:-20% -10% auto auto}.auth-screen:after{content:"";background:radial-gradient(circle, var(--glow-soft), transparent 70%);border-radius:40% 60% 55% 45%;width:min(55vw,480px);height:min(55vw,480px);animation:16s ease-in-out infinite alternate-reverse drift;position:absolute;inset:auto auto -15% -10%}.auth-compose{z-index:1;flex-direction:column;gap:1.4rem;width:min(100%,440px);animation:.52s cubic-bezier(.2,.8,.2,1) both rise;display:flex;position:relative}.auth-brand{flex-direction:column;gap:.55rem;display:flex}.auth-brand .brand{font-size:clamp(3rem,10vw,4.4rem)}.auth-brand p{color:var(--ink-soft);max-width:22rem;margin:0;font-size:1.05rem}.auth-form{flex-direction:column;gap:.85rem;display:flex}.auth-form .actions{flex-direction:column;gap:.55rem;margin-top:.25rem;display:flex}.auth-form .actions button{width:100%}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-18px,24px)scale(1.05)}}.plans-toolbar{gap:.75rem;margin-bottom:1rem}.plans-search{flex:220px;max-width:360px}.plans-status-select{min-width:150px}.plans-empty{box-shadow:none;background:0 0;border-style:dashed}.plans-list{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.plan-row{text-align:left;border:none;border-bottom:1px solid var(--line);width:100%;color:inherit;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem;font-weight:400;display:grid}.plan-row:last-child{border-bottom:none}.plan-row:hover{background:var(--hover-wash);transform:none}.plan-main{flex-direction:column;gap:.3rem;min-width:0;font-weight:400;display:flex}.plan-name{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-weight:700}.plan-row .plan-overview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:44rem;font-size:.88rem;display:-webkit-box;overflow:hidden}.plan-row .plan-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.8rem;font-weight:400;display:flex}.plan-row .plan-source{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:.12rem .45rem;font-size:.78rem}.plan-side{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.plan-row .plan-progress{font-family:var(--mono);align-items:center;gap:.5rem;font-size:.8rem;display:inline-flex}.plan-progress-mini{background:var(--line);border-radius:999px;width:4.5rem;height:6px;display:block;overflow:hidden}.plan-progress-mini>span{background:var(--good);height:100%;transition:width .2s;display:block}@media (width<=640px){.plan-row{grid-template-columns:1fr;gap:.6rem}.plan-side{flex-direction:row;justify-content:space-between;align-items:center}}.plan-page{max-width:62rem}.plan-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.plan-header{flex-direction:column;gap:.5rem;display:flex}.plan-header h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:1.8rem}.plan-header .lede{max-width:48rem}.plan-header .plan-meta{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:.2rem;display:flex}.plan-source{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:.2rem .5rem;font-size:.8rem}.plan-header .plan-progress{align-items:center;gap:.55rem;font-size:.85rem;display:flex}.plan-progress-bar{background:var(--line);border-radius:999px;width:9rem;height:6px;overflow:hidden}.plan-progress-bar>span{background:var(--good);height:100%;transition:width .2s;display:block}.plan-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1rem;display:grid}.plan-body-card{min-width:0;padding:1.4rem 1.6rem}.plan-todos-card{flex-direction:column;gap:.75rem;display:flex;position:sticky;top:1rem}.plan-todos{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.plan-todos li{border-bottom:1px solid var(--line);flex-direction:column;gap:.2rem;padding-bottom:.6rem;display:flex}.plan-todos li:last-child{border-bottom:none;padding-bottom:0}.plan-todo-text{font-size:.9rem;line-height:1.4}.plan-todos li.done .plan-todo-text{color:var(--muted)}@media (width<=860px){.plan-layout{grid-template-columns:1fr}.plan-todos-card{position:static}}.modal-backdrop{z-index:40;background:#00000073;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal{width:min(34rem,100%);max-height:min(90vh,40rem);overflow:auto}@media (width<=900px){.board{grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;overflow-x:visible}.column{min-width:0;min-height:0}}@media (width<=640px){.topbar{flex-direction:column;align-items:flex-start}.auth-brand .brand{font-size:3rem}}html,body,#root{min-height:100%}
