@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");:root{--color-bg:#f4f3fa;--color-surface:#fff;--color-text:#171626;--color-text-soft:#4a4860;--color-accent:#5b50e0;--color-accent-ink:#3a31a8;--color-accent-soft:#eeecfc;--color-accent-2:#7972a9;--color-warm:#e08a5a;--color-teal:#2fb6a8;--color-warm-ink:#a36441;--color-teal-ink:#218177;--color-divider:#ece8f2;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#4a4860;--color-neutral-900:#171626;--color-accent-100:#eeecfc;--color-accent-200:#e7e5fe;--color-accent-300:#5b50e0;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#3a31a8;--color-accent-900:#2b2741;--color-accent-2-100:#f5f4ff;--color-accent-2-200:#e7e5fe;--color-accent-2-300:#d2cefd;--color-accent-2-400:#b5afe8;--color-accent-2-500:#9690c9;--color-accent-2-600:#7972a9;--color-accent-2-700:#5c5783;--color-accent-2-800:#423e5d;--color-accent-2-900:#2b293a;--font-heading:"Pretendard",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-heading-weight:600;--font-body:"Pretendard",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--shadow-sm:0 2px 8px rgba(40,30,90,.06);--shadow-md:0 8px 30px rgba(40,30,90,.08);--shadow-lg:0 20px 60px rgba(40,30,90,.14)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.lighten{mix-blend-mode:lighten;background-color:transparent}*,:after,:before{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1)}.text-muted,figcaption{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn-primary:active{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1 1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-accent-2{background:var(--color-accent-2-800);color:var(--color-accent-2-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.table td,.table th{padding:var(--space-2);border-bottom:1px solid transparent}.table thead tr{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.table tbody tr:hover{background:linear-gradient(color-mix(in srgb,var(--color-text) 4%,transparent),color-mix(in srgb,var(--color-text) 4%,transparent)) no-repeat 0 0 /100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 8%,transparent) 48px,color-mix(in srgb,var(--color-text) 8%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.dialog,.pane-left,.pane-right,.tab-content{border:1px solid var(--color-divider);box-shadow:var(--shadow-sm)}body,html{height:100%}body{word-break:keep-all;overflow:hidden}.btn,.seg-opt,.tag,th{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.clamp-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shell{display:flex;flex-direction:column;height:100vh}.app-footer{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-surface) 40%,transparent);font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.app-footer a{color:color-mix(in srgb,var(--color-text) 60%,transparent)}.app-footer a:hover{color:var(--color-accent)}.app-footer-sep{opacity:.5}.topbar{height:48px;flex:none;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-divider)}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--space-2);min-width:0}.brand-logo{display:inline-flex;color:var(--color-accent)}.brand-text{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.brand-name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;letter-spacing:.06em}.brand-tagline{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.topbar-right{display:flex;align-items:center;gap:var(--space-2)}.avatar{width:24px;height:24px;border-radius:50%;background:var(--color-accent-800);color:var(--color-accent-100);display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:none}.user-name{font-size:13px}.login-status{position:relative;gap:var(--space-2)}.login-btn,.login-status{display:inline-flex;align-items:center}.login-btn{gap:6px}.login-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--color-text) 40%,transparent);flex:none}.login-note{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:20;width:260px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);font-size:12px;line-height:1.6;color:color-mix(in srgb,var(--color-text) 78%,transparent)}.workspace{flex:1 1;min-height:0;display:grid}.pane-left{min-width:0;display:flex;flex-direction:column;overflow:hidden}.split-handle{cursor:col-resize;position:relative;touch-action:none}.split-handle:before{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:var(--color-divider)}.split-handle.dragging,.split-handle:hover{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.split-handle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.pane-right{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--color-surface) 45%,transparent)}.overview-card{margin:var(--space-6) var(--space-6) 0;padding:var(--space-4) var(--space-6) var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-8);justify-content:space-between;flex:none}.overview-main{min-width:0;flex:1 1}.overview-name{font-size:20px;margin-bottom:var(--space-1)}.overview-code{font-size:14px;font-weight:400;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.overview-summary{font-size:13px;color:color-mix(in srgb,var(--color-text) 70%,transparent);margin:0}.overview-def-block{margin-top:var(--space-2)}.def-lead-row{display:flex;align-items:flex-start;gap:var(--space-2);justify-content:space-between}.def-lead{flex:1 1;min-width:0}.def-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--color-text) 45%,transparent);cursor:pointer}.def-toggle:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 7%,transparent)}.def-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.def-sections{margin:var(--space-2) 0 0;gap:var(--space-2)}.def-section,.def-sections{display:flex;flex-direction:column}.def-section{gap:2px}.def-section-label{font-size:11px;font-weight:var(--font-heading-weight);color:color-mix(in srgb,var(--color-accent) 78%,var(--color-text));letter-spacing:.02em}.def-section-body{font-size:12.5px;line-height:1.5;margin:0;color:color-mix(in srgb,var(--color-text) 78%,transparent)}.overview-reason{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent);margin:var(--space-1) 0 0}.overview-empty{flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-6)}.overview-empty-title{font-size:15px;font-weight:600;margin:0}.overview-empty-hint{font-size:13px;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin:0 0 var(--space-2)}.overview-last-project{font-size:12px;color:color-mix(in srgb,var(--color-text) 55%,transparent);margin:0}.overview-fade-rule{height:1px;margin:var(--space-3) 0;background:linear-gradient(to right,var(--color-divider),transparent 72%)}.stage-chips{display:flex;align-items:center;flex-wrap:wrap}.chip-connector{width:12px;height:1px;background:var(--color-divider);flex:none}.stage-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 10px;border-radius:calc(var(--radius-md) * .75);border:1px solid transparent;white-space:nowrap}.stage-chip .chip-dot{width:6px;height:6px;border-radius:50%;flex:none}.stage-chip.is-done{color:color-mix(in srgb,var(--color-text) 70%,transparent);background:color-mix(in srgb,var(--color-text) 7%,transparent)}.stage-chip.is-done .chip-dot{background:var(--color-accent-700)}.stage-chip.is-current{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 22%,transparent);color:var(--color-accent-300);font-weight:var(--font-heading-weight);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 40%,transparent)}.stage-chip.is-current .chip-dot{background:var(--color-accent)}.stage-chip.is-pending{color:color-mix(in srgb,var(--color-text) 32%,transparent);opacity:.75}.stage-chip.is-pending .chip-dot{background:var(--color-neutral-700)}.stage-chip.is-muted{color:color-mix(in srgb,var(--color-text) 22%,transparent);border:1px dashed var(--color-divider);background:transparent}.stage-chip.is-muted .chip-dot{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 22%,transparent)}.stage-chips-note{margin:6px 0 0;font-size:12px;color:var(--color-text-soft)}.stage-chip.is-current .chip-progress-badge{margin-left:2px;font-size:10px;line-height:1;font-weight:var(--font-heading-weight);letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:var(--color-accent);color:var(--color-bg);animation:maru-stage-progress-pulse 1.5s ease-in-out infinite}@keyframes maru-stage-progress-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.stage-chip.is-current .chip-progress-badge{animation:none;opacity:1}}.overview-metrics{display:flex;gap:var(--space-8);flex:none;align-items:flex-start}.metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--color-text) 45%,transparent);margin-bottom:var(--space-1)}.metric-value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:22px;line-height:1.15;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-value.is-cost{color:var(--color-accent-300)}.metric-sub{font-size:11px;color:color-mix(in srgb,var(--color-text) 40%,transparent);margin-top:var(--space-1)}.overview-badges{display:flex;flex-direction:column;gap:var(--space-2);flex:none;align-items:flex-end}.ov-badge{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:12px;padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-md) * .75);background:color-mix(in srgb,var(--color-text) 6%,transparent);white-space:nowrap}.ov-badge-label{font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.ov-badge-value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-badge.is-cost .ov-badge-value{color:var(--color-accent-300)}.ov-badge-sub{font-size:11px;color:color-mix(in srgb,var(--color-text) 40%,transparent)}.tabstrip{display:flex;margin:var(--space-8) var(--space-6) 0;border-top:2px solid color-mix(in srgb,var(--color-accent) 55%,transparent);border-bottom:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-accent) 5%,transparent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;flex:none}.tab{flex:1 1;min-width:0;background:transparent;border:0;padding:var(--space-2) var(--space-3) 0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab.is-active{background:color-mix(in srgb,var(--color-accent) 12%,transparent);box-shadow:inset 0 2px 0 0 var(--color-accent)}.tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tab-row{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);min-width:0}.step-badge{width:18px;height:18px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;border:1px solid var(--color-neutral-700);color:color-mix(in srgb,var(--color-text) 50%,transparent)}.step-badge.is-done{background:var(--color-accent-800);border-color:var(--color-accent);color:var(--color-accent-100)}.step-badge.is-current{border-color:var(--color-accent);color:var(--color-accent)}.tab.is-active .step-badge{background:var(--color-accent-800);border-color:var(--color-accent);color:var(--color-accent-100)}.tab-label{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;color:color-mix(in srgb,var(--color-text) 62%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab.is-active .tab-label{color:var(--color-text)}.tab-count{margin-left:auto;font-size:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent);white-space:nowrap}.tab-progress{height:4px;background:var(--color-neutral-800);overflow:hidden}.tab-progress-fill{height:100%;background:var(--color-accent)}.tab-progress-fill.is-done{background:var(--color-accent-700)}.tab-content{flex:1 1;min-height:0;overflow:auto;padding:var(--space-6)}.row-box{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 7%,transparent)}.rows{display:flex;flex-direction:column;gap:var(--space-3)}.empty-line{font-size:13px;color:color-mix(in srgb,var(--color-text) 55%,transparent);padding:var(--space-4)}.empty-reason{font-size:11px;color:color-mix(in srgb,var(--color-text) 40%,transparent);padding:0 var(--space-4) var(--space-2)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-6) 0 var(--space-3)}.section-head:first-child{margin-top:0}.section-title{font-size:16px;margin:0}.ctx-meta{display:flex;align-items:center;gap:var(--space-3);font-size:12px;color:color-mix(in srgb,var(--color-text) 55%,transparent);min-width:0}.ctx-box{height:208px;overflow-y:auto}.ctx-para{font-size:13.5px;line-height:1.65;color:color-mix(in srgb,var(--color-text) 82%,transparent);margin:0 0 var(--space-3)}.ctx-para-label{color:var(--color-accent-300)}.plan-row{display:grid;grid-template-columns:190px 1fr 118px 84px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.stage-code{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.stage-name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px}.stage-goal{font-size:13px;color:color-mix(in srgb,var(--color-text) 75%,transparent)}.stage-date{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row-end{justify-self:end}.sprint-row{display:grid;grid-template-columns:46px 1fr 128px 104px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.sprint-no{font-size:12.5px}.sprint-mid{display:flex;align-items:center;gap:var(--space-2);min-width:0}.status-icon{width:18px;height:18px;flex:none;border-radius:50%;border:1px solid var(--color-divider);display:inline-flex;align-items:center;justify-content:center}.status-icon.is-done,.status-icon.is-running{color:var(--color-accent);border-color:var(--color-accent-700)}.status-icon.is-waiting{color:color-mix(in srgb,var(--color-text) 45%,transparent)}.sprint-cycles{font-size:12.5px;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.cycle-table{margin-top:var(--space-3);display:flex;flex-direction:column;gap:4px}.cycle-head,.cycle-row{display:grid;grid-template-columns:62px 132px 1fr 108px 96px 72px;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3)}.cycle-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.cycle-row{background:color-mix(in srgb,var(--color-text) 4%,transparent);border-radius:var(--radius-sm);font-size:13px}.cycle-cost{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cycle-cost,.cycle-result{text-align:right}.res-done,.res-running{color:var(--color-accent)}.res-partial{color:color-mix(in srgb,var(--color-text) 70%,transparent)}.res-failed{color:var(--color-accent-300)}.collab-stage{display:flex;flex-direction:column;gap:var(--space-2)}.collab-stage-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.collab-stage-name{font-size:13.5px;font-weight:600}.collab-lifecycle{font-size:10.5px;padding:1px 7px;margin-left:var(--space-2,8px);border-radius:999px;white-space:nowrap;border:1px solid var(--color-divider);color:color-mix(in srgb,var(--color-text) 65%,transparent)}.collab-lifecycle.lc-composed{color:color-mix(in srgb,var(--color-accent,#4a9) 90%,var(--color-text));border-color:color-mix(in srgb,var(--color-accent,#4a9) 45%,var(--color-divider))}.collab-lifecycle.lc-candidate{color:color-mix(in srgb,var(--color-text) 55%,transparent)}.collab-lifecycle.lc-closed{opacity:.6}.collab-cycle-count{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent);white-space:nowrap}.collab-cycles{gap:var(--space-2)}.collab-cycle,.collab-cycles{display:flex;flex-direction:column}.collab-cycle{gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm,6px);background:color-mix(in srgb,var(--color-text) 3%,transparent)}.collab-cycle-top{display:flex;align-items:center;gap:var(--space-2)}.collab-cycle-rev{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.collab-cycle-date{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 50%,transparent);margin-left:auto}.collab-verdict{font-size:11.5px;font-weight:600;white-space:nowrap}.collab-roles{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.collab-role-step{display:inline-flex;align-items:center;gap:6px;min-width:0}.collab-role-chip{font-size:12px;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-text);max-width:180px}.collab-role-arrow{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.collab-empty-cycles,.collab-role-empty{font-size:12px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.collab-stage-head-right{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto}.collab-detail-btn{font-size:11.5px;padding:2px 8px;border:1px solid var(--color-divider);border-radius:var(--radius-sm,6px);background:transparent;color:var(--color-text);cursor:pointer;white-space:nowrap}.collab-detail-btn:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.collab-stage-summary{margin-top:var(--space-1,4px)}.collab-summary-toggle{display:inline-flex;align-items:center;gap:var(--space-1,4px);font-size:11.5px;padding:1px 4px;border:0;background:transparent;color:var(--color-text-muted,var(--color-text));cursor:pointer}.collab-summary-toggle:hover{color:var(--color-text)}.collab-summary-caret{font-size:9px;opacity:.7}.collab-summary-body{margin:var(--space-1,4px) 0 0;padding-left:var(--space-3,12px);font-size:12.5px;line-height:1.5;color:var(--color-text)}.card-modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,#000 44%,transparent)}.card-modal{width:min(560px,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--color-surface,var(--color-bg));border:1px solid var(--color-divider);border-radius:var(--radius-md,10px);box-shadow:0 12px 40px color-mix(in srgb,#000 32%,transparent);overflow:hidden}.card-modal-head{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-divider)}.card-modal-title{font-size:14px;font-weight:600;line-height:1.35;flex:1 1;min-width:0}.card-modal-close{flex:none;width:24px;height:24px;border:none;background:transparent;color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:14px;cursor:pointer;border-radius:var(--radius-sm,6px)}.card-modal-close:hover{background:color-mix(in srgb,var(--color-text) 8%,transparent)}.card-modal-body{padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.card-modal-line{font-size:12.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.card-modal-stage{align-self:flex-start;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.card-modal-sec{display:flex;flex-direction:column;gap:4px}.card-modal-sec h6{margin:0;font-size:11px;font-weight:600;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.card-modal-sec p{margin:0;font-size:13px;line-height:1.45}.card-modal-sec ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.card-modal-sec li{font-size:12.5px;line-height:1.4}.output-row{display:grid;grid-template-columns:1fr 120px 76px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;text-decoration:none;color:inherit}.output-head{padding:0 var(--space-3) var(--space-1);font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent);border-bottom:1px solid var(--color-divider)}.report-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px}.output-head .report-title{font-family:inherit;font-weight:600;font-size:11px}.report-date{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-action-head{font-size:11px;text-align:right}.report-action-link{font-size:12.5px;color:var(--color-accent);text-decoration:none;text-align:right;cursor:pointer}.report-action-link:hover{text-decoration:underline}.report-action-link.is-disabled{color:color-mix(in srgb,var(--color-text) 30%,transparent);cursor:default;pointer-events:none}.chat{flex:1 1;min-height:0;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);flex:none;min-width:0}.chat-logo{display:inline-flex;color:var(--color-accent)}.chat-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px}.chat-role{font-size:11px;color:var(--color-accent-300)}.chat-status{flex:1 1;min-width:0}.chat-avail,.chat-status{font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.chat-avail{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chat-avail.is-on{color:var(--color-accent-300)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:maruPulse 2.2s ease-in-out infinite}@keyframes maruPulse{0%,to{opacity:.3}50%{opacity:1}}.chat-messages{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.chat-empty{font-size:13px;color:color-mix(in srgb,var(--color-text) 55%,transparent);text-align:center;padding:var(--space-6)}.chat-ext-channel{display:flex;flex-direction:column;gap:var(--space-3);border-top:1px dashed var(--color-divider);padding-top:var(--space-3);margin-top:var(--space-1)}.chat-ext-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--color-text) 55%,transparent);font-size:12px;cursor:pointer}.chat-ext-toggle:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 6%,transparent)}.chat-ext-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chat-notice{max-width:340px;margin:0 auto;text-align:center;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.chat-notice-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;margin-bottom:var(--space-2)}.chat-notice-body{font-size:13px;color:color-mix(in srgb,var(--color-text) 70%,transparent);margin:0 0 var(--space-3)}.msg{display:flex;flex-direction:column;max-width:88%}.msg.is-maru{align-self:flex-start;align-items:flex-start}.msg.is-me{align-self:flex-end;align-items:flex-end}.msg-meta{font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent);margin-bottom:var(--space-1)}.msg-bubble{padding:10px var(--space-4);border-radius:var(--radius-lg);font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.msg.is-maru .msg-bubble{background:var(--color-surface);box-shadow:var(--shadow-sm)}.msg.is-me .msg-bubble{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.msg.is-external .msg-bubble{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));border-left:3px solid color-mix(in srgb,var(--color-accent) 55%,transparent)}.msg.is-external .msg-meta{color:color-mix(in srgb,var(--color-accent) 70%,var(--color-text))}.msg-bubble.is-failed{opacity:.55}.msg-bubble.is-thinking{gap:var(--space-2);color:color-mix(in srgb,var(--color-text) 65%,transparent)}.msg-bubble.is-thinking,.typing-dots{display:inline-flex;align-items:center}.typing-dots{gap:4px}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent);animation:maruTyping 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-label{font-size:12.5px}@keyframes maruTyping{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.typing-dot{animation:maruPulse 1.6s ease-in-out infinite}}.msg-system{align-self:center;max-width:92%;text-align:center;font-size:12px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.msg-files{display:flex;flex-wrap:wrap;gap:var(--space-1)}.msg-action,.msg-files{margin-top:var(--space-1)}.msg-action{font-size:12px}.file-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:3px 10px;border-radius:calc(var(--radius-md) * .75);border:1px solid var(--color-divider)}.file-chip.is-pending{background:color-mix(in srgb,var(--color-accent) 12%,transparent);border-color:transparent}.file-chip-note{font-size:10px;color:var(--color-accent-2-400)}.prep-upload-hint{font-size:12px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.vc-panel-line{padding:var(--space-2,8px);font-size:12.5px;color:var(--color-text-muted,var(--color-text))}.vc-panel-hint{margin:0 0 var(--space-2,8px);font-size:12px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.vc-axes{display:flex;flex-direction:column;gap:var(--space-2,8px)}.vc-axis{display:grid;grid-template-columns:1fr auto;grid-gap:2px var(--space-2,8px);gap:2px var(--space-2,8px);align-items:center}.vc-axis-labels{grid-column:1;display:flex;justify-content:space-between;font-size:11.5px;color:var(--color-text)}.vc-axis-left{color:color-mix(in srgb,var(--color-accent,#4a9) 90%,var(--color-text))}.vc-axis-right{color:color-mix(in srgb,var(--color-text) 70%,transparent)}.vc-slider{grid-column:1;width:100%;accent-color:var(--color-accent,#4a9);cursor:pointer}.vc-axis-value{grid-column:2;grid-row:1/span 2;min-width:28px;text-align:center;font-size:12px;color:var(--color-text)}.vc-panel-foot{display:inline-flex;align-items:center;gap:var(--space-2,8px);margin-top:var(--space-3,12px)}.vc-save-btn{font-size:12px;padding:3px 12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm,6px);background:var(--color-accent,#4a9);color:#fff;cursor:pointer}.vc-save-btn:disabled{opacity:.6;cursor:default}.vc-save-ok{font-size:11.5px;color:color-mix(in srgb,var(--color-accent,#4a9) 90%,var(--color-text))}.vc-save-err{font-size:11.5px;color:var(--color-danger,#c44)}.chip-remove{background:transparent;border:0;padding:0;margin-left:2px;cursor:pointer;font-size:11px;color:var(--color-accent)}.chip-remove:hover{text-decoration:underline}.chat-input-area{flex:none;border-top:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-surface) 60%,transparent);padding:var(--space-3) var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.quickmenu{justify-content:flex-start}.quickmenu,.quickmenu-right{display:flex;align-items:center;gap:var(--space-2)}.quickmenu-right{margin-left:auto}.quick-btn{font-size:12px;padding:var(--space-1) var(--space-3)}.notif-badge{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-accent);color:var(--color-bg);font-size:10px;line-height:16px;text-align:center}.notif-panel{max-height:148px;overflow-y:auto;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);flex-direction:column;gap:var(--space-1)}.notif-panel,.notif-panel-head{background:var(--color-surface);display:flex}.notif-panel-head{position:-webkit-sticky;position:sticky;top:calc(var(--space-2) * -1);align-items:center;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-1);margin:0 0 var(--space-1);border-bottom:1px solid var(--color-divider);z-index:1}.notif-panel-title{font-size:11.5px;font-weight:600}.notif-close,.notif-panel-title{color:color-mix(in srgb,var(--color-text) 55%,transparent)}.notif-close{border:none;background:transparent;font-size:16px;line-height:1;padding:0 var(--space-1);cursor:pointer;border-radius:var(--radius-sm,4px)}.notif-close:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 8%,transparent)}.notif-item{display:flex;align-items:center;gap:var(--space-2);font-size:12.5px;min-width:0}.notif-dot{width:6px;height:6px;border-radius:50%;flex:none}.notif-dot.is-critical{background:var(--color-accent-300)}.notif-dot.is-warn{background:var(--color-accent-2-400)}.notif-dot.is-info{background:var(--color-neutral-500)}.notif-text{flex:1 1;min-width:0}.notif-time{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 50%,transparent);white-space:nowrap}.notif-line{font-size:12.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent);padding:var(--space-1) 0}.notif-reason{font-size:11px;color:color-mix(in srgb,var(--color-text) 40%,transparent)}.notif-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-1);margin-top:var(--space-1);border-top:1px solid var(--color-divider)}.notif-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) 0}.notif-card-head{display:flex;align-items:center;gap:var(--space-2)}.notif-card-head .notif-time{margin-left:auto}.notif-tag{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;white-space:nowrap}.notif-tag.is-decision{color:var(--color-accent-300);background:color-mix(in srgb,var(--color-accent-300) 14%,transparent)}.notif-tag.is-acked{color:color-mix(in srgb,var(--color-text) 50%,transparent);background:color-mix(in srgb,var(--color-text) 8%,transparent)}.notif-card-subject{font-size:13px;font-weight:600;line-height:1.35}.notif-card-reason{color:color-mix(in srgb,var(--color-text) 72%,transparent)}.notif-card-action,.notif-card-reason{font-size:12px;line-height:1.4}.notif-card-hint{font-size:11px;color:color-mix(in srgb,var(--color-text) 48%,transparent)}.notif-card-ack{display:flex;justify-content:flex-start;padding-top:2px}.notif-nav{display:flex;gap:var(--space-2);padding-top:var(--space-1)}.notif-nav,.notif-nav-btn{align-items:center;justify-content:center}.notif-nav-btn{display:inline-flex;width:24px;height:24px;border:1px solid var(--color-divider);border-radius:var(--radius-sm,6px);background:transparent;color:var(--color-text);cursor:pointer}.notif-nav-btn:disabled{opacity:.35;cursor:default}.notif-pos{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 55%,transparent);min-width:44px;text-align:center}.attach-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chat-limit-warning{font-size:12px;color:var(--color-accent-300)}.chat-model-label{font-size:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.chat-model-select{width:auto;min-height:28px;padding:3px 8px;font-size:12px}.chat-input-row{display:flex;align-items:flex-end;gap:var(--space-2)}.chat-textarea{flex:1 1;resize:none;height:calc(5 * 1.55em + 14px);font-size:13.5px;line-height:1.55}.chat-char-count{align-self:flex-end;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 40%,transparent)}.stop-scope{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.dialog-error{font-size:12.5px;color:var(--color-accent-300);margin:var(--space-2) 0 0}.field-label{display:block;font-size:12px;margin-bottom:var(--space-1);color:color-mix(in srgb,var(--color-text) 65%,transparent)}.dialog-settings{width:min(620px,100%);max-height:86%;overflow-y:auto}.settings-section{color:var(--color-accent);margin:var(--space-4) 0 var(--space-2)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4)}.settings-display{display:flex;flex-direction:column;gap:var(--space-3)}.settings-field{min-width:0}.settings-label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.settings-value{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-note{font-size:12.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.settings-hint{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 50%,transparent);margin:calc(-1 * var(--space-1)) 0 var(--space-1)}.settings-edit-row{display:flex;align-items:center;gap:var(--space-2)}.settings-edit-row .input{flex:1 1 auto;min-width:0}.settings-edit-row .btn{flex:0 0 auto}.settings-edit-row .settings-value{flex:1 1 auto;min-width:0}.settings-save-status{font-size:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.settings-save-status.is-ok{color:var(--color-accent)}.settings-save-status.is-err{color:var(--color-accent-300)}.settings-gated-note,.settings-subhint{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent)}.settings-subhint{margin-top:var(--space-1)}.btn-sm{font-size:12px;padding:var(--space-1) var(--space-2);min-height:28px}.settings-reason{font-size:11px;color:color-mix(in srgb,var(--color-text) 40%,transparent)}.artifact-register{display:flex;align-items:center;gap:var(--space-3);min-width:0}.upload-status{font-size:12px;color:color-mix(in srgb,var(--color-text) 60%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-status.is-error{color:var(--color-accent-300)}.topbar-lastsync{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:11.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent);white-space:nowrap}.topbar-lastsync-label{color:color-mix(in srgb,var(--color-text) 40%,transparent)}.topbar-lastsync-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topbar-lastsync-rel{color:color-mix(in srgb,var(--color-text) 45%,transparent)}@media (max-width:720px){.topbar-lastsync{display:none}}.cost-panel{display:flex;flex-direction:column;gap:var(--space-4)}.cost-panel .overview-badges{flex-direction:row;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:var(--space-3)}.cost-section-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:13px;margin:var(--space-2) 0 0;color:color-mix(in srgb,var(--color-text) 80%,transparent)}.cost-row{display:grid;grid-template-columns:1fr 118px 92px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.cost-row.cost-head{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent);background:color-mix(in srgb,var(--color-text) 4%,transparent)}.cost-col-actor{font-size:13px}.cost-col-cache,.cost-col-cost{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.cost-view-note{font-size:11px;color:color-mix(in srgb,var(--color-text) 45%,transparent);margin:var(--space-2) 0 0}