:root{--color-paper: #f8fafc;--color-paper-2: #f1f5f9;--color-paper-3: #e2e8f0;--color-card: #ffffff;--color-card-hover: #f8fafc;--color-rule: #e2e8f0;--color-rule-2: #cbd5e1;--color-border-subtle: rgba(226, 232, 240, .8);--color-neutral: #64748b;--color-muted: #475569;--color-ink-2: #334155;--color-ink: #0f172a;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-subtle: #eff6ff;--color-accent-ink: #ffffff;--color-focus: #3b82f6;--color-graphite: #0f172a;--color-graphite-2: #1e293b;--color-graphite-ink: #f8fafc;--color-graphite-muted: #94a3b8;--color-ok: #10b981;--color-ok-subtle: #ecfdf5;--color-ok-ink: #047857;--color-warn: #f59e0b;--color-warn-subtle: #fffbeb;--color-warn-ink: #b45309;--color-danger: #ef4444;--color-danger-subtle: #fef2f2;--color-danger-ink: #b91c1c;--font-display: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-outlier: "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--text-display: clamp(1.6rem, 1.8vw + 1rem, 2.25rem);--text-display-s: clamp(1.25rem, 1.2vw + .8rem, 1.65rem);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .2s;--dur-long: .35s;--shadow-whisper: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, .04), 0 1px 2px -1px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -2px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .07), 0 4px 6px -4px rgba(15, 23, 42, .03);--shadow-hover: 0 12px 20px -3px rgba(15, 23, 42, .09), 0 6px 8px -4px rgba(15, 23, 42, .04);--rail-width: 15.5rem;--control-h: 2.625rem;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-sticky-nav: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}html,body{overflow-x:clip}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light}body{margin:0;min-height:100dvh;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:1.55;padding-inline:max(0px,env(safe-area-inset-left));padding-bottom:max(0px,env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;font-weight:600;color:var(--color-ink);letter-spacing:-.025em;line-height:1.25;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);margin:0;font-weight:700}h2{font-size:var(--text-lg);margin:0}h3{font-size:var(--text-md);margin:0}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.kbd{font-family:var(--font-outlier);font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:.15rem .45rem;color:var(--color-neutral);background:var(--color-paper-2);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:var(--control-h);padding-inline:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);font-weight:500;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;line-height:1;box-shadow:var(--shadow-whisper);transition:all var(--dur-short) var(--ease-out)}.btn-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);box-shadow:0 2px 4px #3b82f640}.btn-quiet{background:transparent;border-color:transparent;color:var(--color-muted);box-shadow:none}.btn-danger{background:var(--color-danger-subtle);color:var(--color-danger-ink);border-color:#ef444433;box-shadow:none}.btn-sm{height:2rem;padding-inline:var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-xs{height:1.625rem;padding-inline:var(--space-xs);font-size:var(--text-xs);border-radius:var(--radius-sm)}@media(hover:hover)and (pointer:fine){.btn:hover,.btn.is-hover{background:var(--color-paper-2);border-color:var(--color-rule-2);box-shadow:var(--shadow-sm)}.btn-primary:hover,.btn-primary.is-hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 4px 8px #2563eb4d;color:#fff}.btn-quiet:hover,.btn-quiet.is-hover{background:var(--color-paper-2);color:var(--color-ink);box-shadow:none}.btn-danger:hover,.btn-danger.is-hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}}.btn:active,.btn.is-active{transform:scale(.98)}.btn:focus-visible,.btn.is-focus{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true],.btn.is-disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn[aria-pressed=true]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.btn[data-state=loading] .btn-label,.btn.is-loading .btn-label{opacity:.7}.icon-btn{position:relative;width:var(--control-h);height:var(--control-h);padding:0;display:inline-grid;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink-2);cursor:pointer;box-shadow:var(--shadow-whisper);transition:all var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.icon-btn:hover{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule-2)}}.icon-btn:active{transform:scale(.96)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.field{display:grid;gap:var(--space-2xs);min-width:0}.field label,.lab{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2)}.input,.select,.textarea{width:100%;min-width:0;height:var(--control-h);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-card);padding-inline:var(--space-md);font-size:var(--text-base);color:var(--color-ink);box-shadow:var(--shadow-whisper);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.textarea{height:auto;min-height:6rem;padding-block:var(--space-sm);resize:vertical;line-height:1.5}@media(hover:hover)and (pointer:fine){.input:hover,.select:hover,.textarea:hover{border-color:var(--color-rule-2)}}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px #3b82f626}.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;background:var(--color-paper-2);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444426}.helper{min-height:1lh;font-size:var(--text-xs);color:var(--color-neutral)}.helper.is-error{color:var(--color-danger-ink);font-weight:500}.check{display:flex;align-items:center;gap:var(--space-xs);min-height:2.5rem;cursor:pointer}.check input{accent-color:var(--color-accent);width:1.15rem;height:1.15rem;border-radius:var(--radius-sm);cursor:pointer}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.kv{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--space-sm) var(--space-md);align-items:center;font-size:var(--text-sm)}.kv dt{color:var(--color-muted)}.kv dd{margin:0;color:var(--color-ink)}.num{font-variant-numeric:tabular-nums}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs)}.chip{display:inline-flex;align-items:center;gap:var(--space-2xs);height:1.5rem;padding-inline:var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2);background:var(--color-paper-2);border:1px solid var(--color-rule);white-space:nowrap;line-height:1;width:fit-content;flex-shrink:0}.chip-accent{background:var(--color-accent-subtle);color:var(--color-accent);border-color:#3b82f633}.chip-ok{background:var(--color-ok-subtle);color:var(--color-ok-ink);border-color:#10b98140}.chip-warn{background:var(--color-warn-subtle);color:var(--color-warn-ink);border-color:#f59e0b40}.chip-danger{background:var(--color-danger-subtle);color:var(--color-danger-ink);border-color:#ef444440}.chip-personal{background:#8b5cf61f;color:#7c3aed;border-color:#8b5cf64d}@media(prefers-color-scheme:dark){.chip-personal{background:#a78bfa2e;color:#c4b5fd;border-color:#a78bfa59}}.meter{display:grid;gap:var(--space-3xs);min-width:0}.meter-track{height:6px;background:var(--color-paper-3);border-radius:var(--radius-full);overflow:hidden}.meter-fill{height:100%;width:var(--w, 0%);background:var(--color-accent);border-radius:var(--radius-full);transition:width var(--dur-long) var(--ease-out)}.meter-fill.dev{background:#6366f1}.meter-lab{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-muted);font-weight:500;font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);min-height:100dvh;background:var(--color-paper);max-width:100vw}.rail{position:sticky;top:0;height:100dvh;border-inline-end:1px solid var(--color-rule);border-top:1px solid var(--color-rule-2);background:var(--color-card);display:flex;flex-direction:column;padding:var(--space-lg) var(--space-md);gap:var(--space-lg);z-index:var(--z-sticky-nav)}.brand{display:grid;gap:2px;padding-inline:var(--space-xs)}.brand-mark{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--color-ink);letter-spacing:-.03em;white-space:nowrap}.brand-sq{width:.75rem;height:.75rem;background:linear-gradient(135deg,var(--color-accent),#6366f1);border-radius:4px;flex:0 0 auto}.app-logo{filter:drop-shadow(0 2px 6px rgba(37,99,235,.3));transition:transform var(--dur-short) var(--ease-out),filter var(--dur-short) var(--ease-out)}.brand-mark:hover .app-logo{transform:scale(1.06);filter:drop-shadow(0 4px 10px rgba(79,70,229,.45))}.brand p{color:var(--color-neutral);font-size:var(--text-xs)}.rail-nav{display:flex;flex-direction:column;gap:4px;flex:1}.rail-link{display:flex;align-items:center;gap:var(--space-sm);height:2.5rem;padding-inline:var(--space-md);border-radius:var(--radius-md);color:var(--color-muted);font-size:var(--text-base);font-weight:500;white-space:nowrap;transition:all var(--dur-short) var(--ease-out)}.rail-link svg{flex:0 0 auto;opacity:.75;transition:opacity var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.rail-link:hover{background:var(--color-paper-2);color:var(--color-ink)}.rail-link:hover svg{opacity:1}}.rail-link.is-on{color:var(--color-accent);background:var(--color-accent-subtle);font-weight:600}.rail-link.is-on svg{opacity:1;color:var(--color-accent)}.rail-link .badge{margin-inline-start:auto;min-width:1.2rem;height:1.2rem;padding-inline:.35rem;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}.rail-foot{display:grid;gap:var(--space-sm);border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.rail-user{display:grid;gap:2px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-rule);color:inherit;transition:all var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.rail-user:hover{background:var(--color-paper-2);border-color:var(--color-rule-2)}}.rail-user.is-on{border-color:var(--color-accent);background:var(--color-accent-subtle)}.rail-user strong{color:var(--color-ink);font-weight:600;font-size:var(--text-sm)}.rail-user span{font-size:var(--text-xs);color:var(--color-neutral)}.foot-line{font-size:var(--text-xs);color:var(--color-neutral);padding-inline:var(--space-xs)}.work{min-width:0;max-width:100%;width:100%;overflow-x:clip;display:grid;grid-template-rows:auto 1fr}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-sm);height:3.75rem;padding-inline:var(--space-xl);border-top:1px solid var(--color-rule-2);border-bottom:1px solid var(--color-rule);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.topbar h1{font-size:var(--text-lg);font-weight:700;color:var(--color-ink);letter-spacing:-.02em;margin:0}.topbar-title-wrap{position:relative;display:flex;align-items:center;gap:var(--space-xs);min-width:0;flex:1 1 auto}.topbar-back-chip{display:inline-flex;align-items:center;gap:2px;padding:.25rem .6rem .25rem .4rem;font-size:.8125rem;font-weight:600;color:var(--color-ink-2);background:var(--color-surface-2, #f1f5f9);border:1px solid var(--color-rule, #e2e8f0);border-radius:var(--radius-full, 9999px);text-decoration:none;flex-shrink:0;transition:all .15s ease;-webkit-user-select:none;user-select:none;line-height:1}.topbar-back-chip:hover{background:var(--color-accent-subtle, #e0e7ff);color:var(--color-accent, #4f46e5);border-color:var(--color-accent-subtle, #c7d2fe)}.topbar-back-chip:active{transform:scale(.96)}.topbar-title-btn{background:transparent;border:none;padding:.3rem .5rem;margin:-.3rem -.2rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--radius-md, 8px);min-width:0;max-width:100%;flex-shrink:1;transition:background .15s ease;text-align:left}.topbar-title-btn:hover{background:#0000000a}.topbar-title-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.topbar-title-text{font-size:var(--text-lg);font-weight:700;color:var(--color-ink);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.2;min-width:0;flex-shrink:1}.topbar-chevron{color:var(--color-ink-muted, #94a3b8);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1),color .15s ease}.topbar-chevron.is-rotated{transform:rotate(180deg);color:var(--color-accent, #4f46e5)}.topbar-nav-drop{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;max-width:min(290px,calc(100vw - 2rem));background:var(--color-card, #ffffff);border:1px solid var(--color-rule, #e2e8f0);border-radius:12px;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #0000000f;padding:.375rem;z-index:var(--z-dropdown, 100);display:flex;flex-direction:column;gap:2px;animation:dropFadeIn .15s ease-out}@keyframes dropFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar-nav-group-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted, #94a3b8);padding:.4rem .6rem .2rem}.topbar-nav-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--color-ink-2, #334155);text-decoration:none;transition:all .12s ease;line-height:1.2}.topbar-nav-item:hover{background:var(--color-surface-hover, #f8fafc);color:var(--color-ink, #0f172a)}.topbar-nav-item.is-active{background:var(--color-accent-subtle, #eff6ff);color:var(--color-accent, #2563eb);font-weight:600}.topbar-nav-badge{margin-inline-start:auto;background:var(--color-accent, #ef4444);color:#fff;font-size:.6875rem;font-weight:700;padding:.1rem .4rem;border-radius:9999px;line-height:1.2}.topbar-nav-divider{height:1px;background:var(--color-rule, #e2e8f0);margin:.25rem 0}.hero-breadcrumb{margin-bottom:var(--space-xs)}.hero-back-link{display:inline-flex;align-items:center;gap:3px;font-size:.8125rem;font-weight:600;color:var(--color-ink-muted, #64748b);text-decoration:none;transition:color .15s ease}.hero-back-link:hover{color:var(--color-accent, #2563eb);text-decoration:underline}.top-actions{display:flex;align-items:center;gap:var(--space-sm);margin-inline-start:auto;flex-shrink:0}.bell-wrap{position:relative}.bell-dot{position:absolute;top:.4rem;right:.4rem;width:.5rem;height:.5rem;background:var(--color-accent);border-radius:var(--radius-full);box-shadow:0 0 0 2px #fff}.drop{position:absolute;right:0;top:calc(100% + 8px);width:22rem;background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-xs);display:flex;flex-direction:column;gap:2px}.drop-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm) var(--space-md);border:none;background:transparent;text-align:left;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}.drop-item:hover{background:var(--color-paper-2)}.drop-item.is-read{opacity:.65}.drop-item-wrap{display:flex;align-items:center;border-radius:var(--radius-md);transition:background var(--dur-micro) var(--ease-out)}.drop-item-wrap:hover{background:var(--color-paper-2)}.drop-item-wrap .drop-item{flex:1;min-width:0;background:transparent}.drop-item-wrap .drop-item:hover{background:transparent}.drop-mute-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;margin-right:var(--space-xs);flex-shrink:0;transition:all var(--dur-micro) var(--ease-out)}.drop-mute-btn:hover{background:var(--color-paper-3);color:var(--color-danger)}.drop-foot{padding-top:var(--space-xs);border-top:1px solid var(--color-rule);display:flex;justify-content:flex-end}.page{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl);max-width:86rem;width:100%;min-width:0;box-sizing:border-box}.page-lead{display:flex;flex-direction:column;gap:var(--space-2xs)}.page-lead p{color:var(--color-muted);font-size:var(--text-base)}.menu-btn{display:none}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.stat{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.stat b{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.stat span{font-size:var(--text-sm);font-weight:500;color:var(--color-muted)}.stat.is-alert{border-color:#ef44444d;background:var(--color-danger-subtle)}.stat.is-alert b{color:var(--color-danger-ink)}.graphite{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--shadow-md)}.graphite h2{color:#fff;font-size:var(--text-md)}.graphite p{color:var(--color-graphite-muted);font-size:var(--text-sm)}.graphite-list{display:flex;flex-direction:column;gap:var(--space-xs)}.graphite-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-md);align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#ffffff0d;transition:background var(--dur-short) var(--ease-out)}.graphite-row:hover{background:#ffffff1a}.graphite-row strong{color:#fff;font-weight:600}.graphite .chip{background:#ffffff26;border-color:transparent;color:#fff}.graphite .chip-danger{background:#ef44444d;color:#fca5a5}.dash-alert-list{display:flex;flex-direction:column;gap:var(--space-2xs)}.dash-alert{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-border-subtle);min-width:0;transition:all var(--dur-short) var(--ease-out)}.dash-alert-main{min-width:0;flex:1}.dash-alert strong{display:block;color:var(--color-ink);font-weight:600;overflow-wrap:anywhere}.dash-alert small{display:block;color:var(--color-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.dash-alert-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:3px;min-width:0;flex-shrink:0}.dash-alert-meta .chip{width:fit-content;align-self:flex-end;flex-shrink:0}.dash-alert-time{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}@media(hover:hover)and (pointer:fine){.dash-alert:hover{background:var(--color-paper-2);border-color:var(--color-rule-2)}}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);align-items:start}@media(max-width:1200px){.work-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.panel{background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--shadow-sm);min-width:0;max-width:100%;box-sizing:border-box}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule);min-width:0;max-width:100%}.panel-head h2,.panel-head h3{font-size:var(--text-md)}.panel-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);min-width:0;max-width:100%}.panel-head span{font-size:var(--text-xs);font-weight:600;color:var(--color-neutral);background:var(--color-paper-2);padding:.2rem .6rem;border-radius:var(--radius-full)}.stage-block{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-sm)}.stage-block+.stage-block{border-top:1px solid var(--color-rule)}.stage-block h3{font-size:var(--text-xs);font-weight:600;color:var(--color-neutral);text-transform:uppercase;letter-spacing:.05em;padding-top:var(--space-2xs)}.stage-items{display:flex;flex-direction:column;gap:var(--space-2xs)}.proj-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-border-subtle);transition:all var(--dur-short) var(--ease-out);min-width:0;max-width:100%;box-sizing:border-box}@media(hover:hover)and (pointer:fine){.proj-line:hover{background:var(--color-paper-2);border-color:var(--color-rule-2);transform:translate(2px)}}.proj-line-main{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%;flex:1}.proj-line-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;width:100%}.proj-line-title{color:var(--color-ink);font-weight:600;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.proj-line-stage-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;font-size:.7rem;font-weight:600;border-radius:var(--radius-full);background:var(--color-paper-2);border:1px solid var(--color-rule-2);color:var(--color-ink-2);white-space:nowrap;flex-shrink:0}.proj-line-prob{color:var(--color-accent);font-weight:700}.proj-line-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-xs);font-size:var(--text-xs);color:var(--color-neutral);min-width:0;max-width:100%}.proj-line-code-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.proj-line-finance{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.proj-line-amt{font-weight:700;color:var(--color-ink);font-size:var(--text-xs)}.proj-line-sep{color:var(--color-rule-2)}.proj-line-next-date{color:var(--color-muted);font-size:.72rem}.won-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-border-subtle);align-items:center;transition:all var(--dur-short) var(--ease-out);min-width:0;max-width:100%;box-sizing:border-box}.won-row:hover{background:var(--color-paper-2);border-color:var(--color-rule-2)}.won-row>*{min-width:0;max-width:100%}.won-row strong{display:block;overflow-wrap:anywhere;word-break:break-word;min-width:0;line-height:1.35}.won-row .meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);min-width:0;max-width:100%}.won-row .meta .muted{overflow-wrap:anywhere;word-break:break-word;min-width:0}.won-meters{display:grid;gap:var(--space-xs);min-width:0;max-width:100%}.feed{display:flex;flex-direction:column;gap:var(--space-xs)}.feed-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-border-subtle);transition:all var(--dur-short) var(--ease-out)}.feed-item:hover{background:var(--color-paper-2);border-color:var(--color-rule-2)}.feed-item strong{font-size:var(--text-sm);color:var(--color-ink)}.feed-item small{color:var(--color-neutral);font-size:var(--text-xs)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.search{min-width:min(100%,18rem);flex:1}.card-list{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;max-width:100%;width:100%}.list-item{border-radius:var(--radius-lg);background:var(--color-card);border:1px solid var(--color-rule);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--dur-short) var(--ease-out);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.list-item:hover{border-color:var(--color-rule-2);box-shadow:var(--shadow-md)}.list-item.is-open{background:var(--color-paper-2)}.row-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-md);align-items:center;padding:var(--space-md) var(--space-lg);min-width:0;max-width:100%;box-sizing:border-box}.row-card>*{min-width:0;max-width:100%}.row-card-title-col{min-width:0;max-width:100%}.row-card h3{font-size:var(--text-md);font-weight:600;margin:0;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.row-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;width:100%}.row-card-sub{overflow-wrap:anywhere;word-break:break-word;min-width:0}.row-card-mobile-amt,.row-card-mobile-health{display:none}.row-card-desktop-amt,.row-card-desktop-health{display:block}.edit-dock{display:flex;flex-direction:column;gap:var(--space-md);margin:0 var(--space-lg) var(--space-lg);padding:var(--space-lg);background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.edit-dock-head{display:flex;flex-direction:column;gap:var(--space-2xs);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule)}.edit-dock-head h3{font-size:var(--text-md);display:flex;align-items:center;gap:var(--space-xs)}.edit-dock-head p{color:var(--color-muted);font-size:var(--text-sm)}.muted{color:var(--color-neutral)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl) var(--space-lg);gap:var(--space-xs);background:var(--color-paper);border:1px dashed var(--color-rule-2);border-radius:var(--radius-lg)}.empty h3{font-size:var(--text-md);color:var(--color-ink)}.empty p{font-size:var(--text-sm);color:var(--color-muted)}.modal,.palette{border:1px solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-ink-2);box-shadow:var(--shadow-lg);padding:0}.modal:not([open]),.palette:not([open]){display:none}.modal[open],.palette[open]{display:flex;flex-direction:column;margin:auto}.modal[open]{width:min(36rem,calc(100% - 2rem));max-height:min(80vh,44rem);height:fit-content;padding:var(--space-xl);gap:var(--space-md);overflow:auto}.modal::backdrop,.palette::backdrop{background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal h2{font-size:var(--text-lg);margin:0}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-rule-2)}.modal-head h2{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-ink)}.modal-close-btn{font-weight:600;flex-shrink:0;margin-left:auto}.modal-grid{display:grid;gap:var(--space-md)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-xs)}.palette[open]{width:min(44rem,calc(100% - 2rem));max-height:min(85vh,42rem);overflow:hidden;display:flex;flex-direction:column}.palette-header{display:flex;align-items:center;gap:var(--space-sm);padding:.75rem 1rem;border-bottom:1px solid var(--color-rule-2);background:var(--color-card);position:relative}.palette-search-icon{color:var(--color-muted);flex-shrink:0}.palette-scope-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:var(--radius-full, 9999px);border:1px solid var(--color-accent-subtle);background:var(--color-accent-subtle);font-size:.78rem;font-weight:500;max-width:14rem;flex-shrink:0}.palette-scope-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.palette-scope-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}.palette-scope-remove{background:transparent;border:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;color:var(--color-muted);border-radius:50%;transition:color .15s ease}.palette-scope-remove:hover{color:var(--color-ink)}.palette-search-input{flex:1;border:none;background:transparent;color:var(--color-ink);font-size:1rem;padding:.25rem 0;outline:none;min-width:8rem}.palette-search-input::placeholder{color:var(--color-muted);font-size:.92rem}.palette-spinner{animation:spin 1s linear infinite;color:var(--color-accent);flex-shrink:0}.palette-clear-btn{background:transparent;border:none;color:var(--color-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:var(--radius-sm)}.palette-clear-btn:hover{color:var(--color-ink)}.palette-re-scope-btn{font-size:.75rem;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--color-bg-subtle, #f1f5f9);color:var(--color-ink-2);border:1px solid var(--color-rule);cursor:pointer;white-space:nowrap;flex-shrink:0}.palette-re-scope-btn:hover{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-accent-subtle)}.palette-tabs{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background:var(--color-bg-subtle, rgba(0, 0, 0, .02));border-bottom:1px solid var(--color-rule-2);overflow-x:auto}.palette-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--radius-md);border:none;background:transparent;font-size:.8rem;font-weight:500;color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.palette-tab:hover{color:var(--color-ink);background:var(--color-card)}.palette-tab.is-active{color:var(--color-accent);background:var(--color-card);font-weight:600;box-shadow:0 1px 2px #0000000d}.palette-tab-count{font-size:.72rem;padding:.05rem .35rem;border-radius:9999px;background:var(--color-rule-2);color:var(--color-ink-2)}.palette-tab.is-active .palette-tab-count{background:var(--color-accent-subtle);color:var(--color-accent)}.palette-list{flex:1;max-height:25rem;overflow-y:auto;padding:var(--space-xs);display:flex;flex-direction:column}.palette-section-title{padding:.4rem .75rem;font-size:.75rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.palette-empty{padding:var(--space-xl) var(--space-md);text-align:center}.palette-empty-title{font-size:.95rem;font-weight:600;color:var(--color-ink);margin-bottom:.25rem}.link-btn{background:transparent;border:none;color:var(--color-accent);cursor:pointer;padding:0;font-size:inherit;text-decoration:underline}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:.6rem .85rem;border-radius:var(--radius-md);cursor:pointer;border:none;background:transparent;text-align:left;width:100%;color:var(--color-ink);transition:background-color .1s ease}.palette-item.is-rich{align-items:flex-start;gap:.75rem;padding:.65rem .85rem}.palette-item:hover,.palette-item.is-on{background:var(--color-accent-subtle)}.palette-item small{color:var(--color-muted);font-size:var(--text-xs)}.palette-type-icon{width:2rem;height:2rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.palette-type-icon.is-post{background:#3b82f61f;color:#2563eb}.palette-type-icon.is-comment{background:#9333ea1f;color:#9333ea}.palette-type-icon.is-milestone{background:#10b9811f;color:#059669}.palette-type-icon.is-file{background:#f59e0b1f;color:#d97706}.palette-type-icon.is-project{background:#6366f11f;color:#4f46e5}.palette-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.palette-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.palette-item-title{font-size:.92rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-proj-badge{font-size:.72rem;padding:.1rem .45rem;border-radius:var(--radius-full, 9999px);border:1px solid var(--color-rule-2);white-space:nowrap;max-width:9rem;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.palette-snippet{font-size:.82rem;color:var(--color-ink-2);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-mark{background:#facc1566;color:inherit;font-weight:600;padding:.05rem .2rem;border-radius:2px}.palette-meta{display:flex;align-items:center;gap:.6rem;font-size:.75rem;color:var(--color-muted);margin-top:.1rem}.palette-footer{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--color-bg-subtle, rgba(0, 0, 0, .02));border-top:1px solid var(--color-rule-2);font-size:.75rem;color:var(--color-muted)}.palette-hint-item{display:inline-flex;align-items:center;gap:.3rem}.palette-hint-item kbd{background:var(--color-card);border:1px solid var(--color-rule);box-shadow:0 1px 1px #0000000d;padding:.1rem .35rem;border-radius:4px;font-family:inherit;font-size:.7rem;color:var(--color-ink)}.toast-stack{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-xs);max-width:26rem;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:.65rem .95rem;background:#0f172a;color:#f8fafc;border:1px solid #334155;border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000059,0 8px 10px -6px #0003;font-size:var(--text-sm);pointer-events:auto;animation:toastIn .2s cubic-bezier(.16,1,.3,1)}.toast.is-error{background:#dc2626;border-color:#ef4444;color:#fff}.toast-msg{flex:1;min-width:0;line-height:1.45;word-break:break-word;color:#fff}.toast-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .65rem;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:all var(--dur-micro) var(--ease-out)}.toast-btn-action{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent-hover)}.toast-btn-action:hover{background:var(--color-accent-hover)}.toast-btn-close{background:#ffffff2e;color:#fff!important;border:1px solid rgba(255,255,255,.3)}.toast-btn-close:hover{background:#ffffff4d;color:#fff!important}.toast.is-error .toast-btn-close{background:#00000040;color:#fff!important;border-color:#00000059}.toast.is-error .toast-btn-close:hover{background:#0006}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:var(--space-xl);align-items:stretch;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.hero-work header,.hero-work>.panel{background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--shadow-sm);min-height:0;min-width:0;max-width:100%;box-sizing:border-box;height:100%}.hero-work header h1{font-size:var(--text-2xl);line-height:1.2}.hero-work .actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:auto}.hero-work .kv{margin-top:auto}.stepper{display:flex;flex-wrap:wrap;gap:4px;background:var(--color-paper-2);padding:4px;border-radius:var(--radius-md)}.step{flex:1;min-width:fit-content;height:2.25rem;padding-inline:var(--space-xs);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-muted);cursor:pointer;transition:all var(--dur-short) var(--ease-out)}.step:hover{color:var(--color-ink);background:#fff9}.step.is-on{background:var(--color-card);color:var(--color-accent);font-weight:600;box-shadow:var(--shadow-whisper)}.miles,.mile-list{display:flex;flex-direction:column;gap:var(--space-xs)}.mile-block{display:grid;gap:var(--space-xs);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.mile-block.is-dragging{opacity:.4;border:1px dashed var(--color-accent);border-radius:var(--radius-md)}.mile-block.is-drag-over,.mile-block.is-drag-over-top,.mile-group-header.is-drag-over-top{position:relative}.mile-block.is-drag-over-top:before,.mile-group-header.is-drag-over-top:before{content:"";position:absolute;top:-4px;left:0;right:0;height:3px;background:var(--color-accent);border-radius:var(--radius-full);box-shadow:0 0 8px var(--color-accent);z-index:5}.mile-block.is-drag-over-bottom,.mile-group-header.is-drag-over-bottom{position:relative}.mile-block.is-drag-over-bottom:after,.mile-group-header.is-drag-over-bottom:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:3px;background:var(--color-accent);border-radius:var(--radius-full);box-shadow:0 0 8px var(--color-accent);z-index:5}.mile-block.is-drag-over-inside>.mile-group-header,.mile-block.is-drag-over-inside>.mile,.mile-group-header.is-drag-over-inside,.mile-tree-empty-group.is-drag-over-inside{outline:2px dashed var(--color-accent);outline-offset:1px;background:#3b82f614!important}.mile-root-dropzone{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper-2);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);color:var(--color-neutral);font-size:.85rem;font-weight:500;cursor:default;transition:all var(--dur-fast) ease;margin-bottom:var(--space-xs)}.mile-root-dropzone.is-drag-over-inside{border-color:var(--color-accent);background:#3b82f61f;color:var(--color-accent)}.mile-group-header{background:var(--color-paper-2)!important;border:1px solid var(--color-border-subtle);border-left:3px solid var(--color-accent)!important}.mile-group-collapse-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-neutral);cursor:pointer;padding:.2rem;border-radius:var(--radius-sm);transition:color var(--dur-fast),background var(--dur-fast)}.mile-group-collapse-btn:hover{color:var(--color-ink);background:var(--color-paper)}.mile-group-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:600;border-radius:var(--radius-sm);background:#3b82f61f;color:var(--color-accent)}.mile-group-meter-wrap{display:flex;align-items:center;gap:var(--space-xs)}.mile-group-meter{width:4.5rem;height:6px;background:var(--color-rule-2);border-radius:3px;overflow:hidden}.mile-group-meter-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.mile-tree-children{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xs);margin-left:1.25rem;padding-left:.75rem;border-left:2px solid var(--color-rule-2)}.mile-tree-empty-group{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);font-size:.8rem;color:var(--color-neutral);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper)}.mile-block.is-open .mile{background:var(--color-paper-2);border-color:var(--color-rule-2)}.mile-block .edit-dock{margin:0}.mile,.mile-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-paper);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);min-width:0}.mile-drag-handle{display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral);cursor:grab;padding:.25rem .35rem;margin-left:-.25rem;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;touch-action:none;transition:color var(--dur-fast),background var(--dur-fast);flex-shrink:0}.mile-drag-handle:hover{color:var(--color-ink);background:var(--color-paper-2)}.mile-drag-handle:active{cursor:grabbing}.mile-info{min-width:0;flex:1}.mile-controls{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.mile-controls .select{width:7.5rem}.mile-status-select{font-weight:600;transition:all var(--dur-short) var(--ease-out)}.mile-status-select.mile-status-todo{background-color:var(--color-card);color:var(--color-ink-2);border-color:var(--color-rule-2)}.mile-status-select.mile-status-doing{background-color:var(--color-accent-subtle);color:var(--color-accent);border-color:#3b82f673}.mile-status-select.mile-status-blocked{background-color:var(--color-danger-subtle);color:var(--color-danger-ink);border-color:#ef444473}.mile-status-select.mile-status-done{background-color:var(--color-ok-subtle);color:var(--color-ok-ink);border-color:#10b98173}.mile-status-select option{background-color:var(--color-card);color:var(--color-ink);font-weight:400}.mile-percent-control{position:relative;display:inline-flex;align-items:center;gap:3px;-webkit-user-select:none;user-select:none}.mile-percent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-rule-2);background:var(--color-card);color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;cursor:ns-resize;line-height:1.4;overflow:hidden;min-width:4rem;transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.mile-percent-btn:hover{border-color:var(--color-accent);box-shadow:0 0 0 1px #3b82f633}.mile-percent-btn.is-scrubbing{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent);cursor:ns-resize}.mile-percent-btn.is-saving{opacity:.7}.mile-percent-btn-bg{position:absolute;left:0;bottom:0;top:0;background:#3b82f61f;pointer-events:none;transition:width .12s ease-out}.mile-percent-arrows{font-size:.65rem;color:var(--color-muted);opacity:.7}.mile-percent-btn:hover .mile-percent-arrows{color:var(--color-accent);opacity:1}.mile-percent-val{position:relative;z-index:1}.mile-scrub-tooltip{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:#0f172a;color:#fff;font-family:var(--font-outlier);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);z-index:1000}.mile-slider-popover{background:var(--color-card);border:1px solid var(--color-rule-2);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm);width:220px;display:flex;flex-direction:column;gap:var(--space-xs);-webkit-user-select:none;user-select:none}.mile-slider-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-2xs)}.mile-slider-head strong{font-size:var(--text-xs);color:var(--color-ink)}.mile-slider-current-num{font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:700;color:var(--color-accent)}.mile-slider-body{display:flex;gap:var(--space-sm);align-items:stretch;padding:var(--space-xs) 0}.mile-vertical-track-wrap{position:relative;width:32px;height:150px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none}.mile-vertical-track{position:relative;width:14px;height:100%;background:var(--color-paper-3);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-rule)}.mile-vertical-track-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--color-accent),#60a5fa);border-radius:var(--radius-full);transition:height 60ms linear}.mile-vertical-thumb{position:absolute;left:50%;transform:translate(-50%,50%);width:22px;height:22px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--color-accent);box-shadow:0 1px 4px #00000040;pointer-events:none;transition:bottom 60ms linear}.mile-slider-tools{flex:1;display:flex;flex-direction:column;gap:var(--space-2xs);justify-content:space-between}.mile-presets-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.mile-preset-btn{padding:3px 6px;font-size:.7rem;font-weight:600;font-family:var(--font-outlier);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink-2);cursor:pointer;transition:all var(--dur-micro) var(--ease-out)}.mile-preset-btn:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.mile-preset-btn.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.mile-slider-input-wrap{display:flex;align-items:center;gap:4px;margin-top:2px}.mile-slider-input{width:100%;padding:2px 6px;font-size:var(--text-xs);font-family:var(--font-outlier);border:1px solid var(--color-rule-2);border-radius:var(--radius-sm);text-align:right;background:var(--color-card);color:var(--color-ink)}.mile.mile-status-doing{border-inline-start:3.5px solid var(--color-accent)}.mile.mile-status-blocked{border-inline-start:3.5px solid var(--color-danger);background-color:#fef2f266}.mile.mile-status-done{border-inline-start:3.5px solid var(--color-ok)}@media(prefers-color-scheme:dark){.mile-status-select.mile-status-doing{background-color:#3b82f62e;color:#93c5fd;border-color:#60a5fa73}.mile-status-select.mile-status-blocked{background-color:#ef44442e;color:#fca5a5;border-color:#f8717173}.mile-status-select.mile-status-done{background-color:#10b9812e;color:#6ee7b7;border-color:#34d39973}.mile.mile-status-blocked{background-color:#ef44441a}}.section-dev-progress{border:1px solid var(--color-rule-2);border-top:4px solid var(--color-accent);box-shadow:0 4px 16px -2px #3b82f614,0 2px 6px -1px #0000000a;position:relative;overflow:hidden}.section-post-feed{border:1px solid var(--color-rule-2);border-top:4px solid #6366f1;box-shadow:0 4px 16px -2px #6366f114,0 2px 6px -1px #0000000a;position:relative;overflow:hidden}.section-head-dev{background:linear-gradient(135deg,#eff6ffd9,#f8fafcf2);border-bottom:1px solid rgba(59,130,246,.2);margin:-var(--space-lg) -var(--space-lg) var(--space-xs) -var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0}.section-head-feed{background:linear-gradient(135deg,#eef2ffd9,#f8fafcf2);border-bottom:1px solid rgba(99,102,241,.2);margin:-var(--space-lg) -var(--space-lg) var(--space-xs) -var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0}.section-title-wrap{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.section-title-icon{width:2.35rem;height:2.35rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-title-icon.dev-icon{background:#3b82f61f;color:var(--color-accent);border:1px solid rgba(59,130,246,.25)}.section-title-icon.feed-icon{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.25)}.section-sub-desc{font-size:var(--text-2xs);color:var(--color-neutral);margin:2px 0 0;font-weight:500;line-height:1.3}.section-pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:var(--radius-full);line-height:1.2}.section-pill-blue{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.25)}.section-pill-indigo{background:#6366f11a;color:#4f46e5;border:1px solid rgba(99,102,241,.25)}.section-pill-subtle{background:var(--color-paper-2);color:var(--color-muted);border:1px solid var(--color-rule)}.dev-status-card{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.subpanel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--color-rule-2);margin-top:var(--space-2xs)}.subpanel-title{display:flex;align-items:center;gap:var(--space-xs)}.subpanel-title h3{font-size:var(--text-sm);font-weight:700;color:var(--color-ink);margin:0}.composer{display:grid;gap:var(--space-sm);padding:var(--space-md);background:var(--color-paper);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md)}.post-feed{display:flex;flex-direction:column;gap:var(--space-md);min-width:0;max-width:100%;width:100%}.post{background:var(--color-card, #ffffff);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-md);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);min-width:0;max-width:100%;width:100%;box-sizing:border-box;transition:padding var(--dur-short) ease,background var(--dur-short) ease,border-color var(--dur-short) ease,box-shadow var(--dur-short) ease}.post>*{min-width:0;max-width:100%}.post:not(.is-collapsed),.post.is-expanded{background:#fff;border:1px solid var(--color-rule);border-left:4px solid var(--color-accent);box-shadow:0 2px 8px -2px #3b82f614,0 1px 3px #0000000a}.post.is-open{background:var(--color-paper-2);border-color:var(--color-rule-2)}.post.is-collapsed{background:var(--color-paper-2, #f1f5f9);border:1px solid var(--color-rule-2, #cbd5e1);border-left:4px solid #94a3b8;padding:.625rem var(--space-md);gap:0;box-shadow:none}.post.is-collapsed:hover{background:var(--color-paper-3, #e2e8f0);border-color:#94a3b8;border-left-color:#64748b}.post.is-collapsed .post-title-click{color:var(--color-ink-2);font-weight:600}.post.is-collapsed:hover .post-title-click{color:var(--color-accent)}.post.is-collapsed .post-collapsed-summary .chip{background:#fff;border-color:var(--color-rule-2)}.post.is-pinned:not(.is-collapsed),.post.is-pinned.is-expanded{border-left-color:var(--color-warn, #f59e0b)}.post.is-pinned.is-collapsed{border-left-color:#f59e0b;background:#fefce8}.post.is-pinned.is-collapsed:hover{background:#fef9c3;border-left-color:#d97706}.post.is-archived{opacity:.85;border-left:4px solid var(--color-muted);background:var(--color-paper-2, #f1f5f9)}.post.is-archived .post-title-click{color:var(--color-muted)}.post.is-archived:hover{opacity:1}.chip-archived{background:var(--color-bg-alt);color:var(--color-muted);border:1px dashed var(--color-rule-2);font-weight:600}.chip-cancelled{background:var(--color-paper-2);color:var(--color-muted);border:1px solid var(--color-rule-2);font-weight:500}.post-head{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.post-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid rgba(59,130,246,.25);background:var(--color-accent-subtle, #eff6ff);border-radius:var(--radius-sm);color:var(--color-accent);font-size:.65rem;cursor:pointer;flex-shrink:0;transition:transform .15s ease,color .15s ease,background .15s ease,border-color .15s ease}.post-toggle-btn:hover{color:var(--color-accent-hover, #2563eb);background:#3b82f629;border-color:var(--color-accent)}.post-toggle-btn.is-collapsed{color:#64748b;background:var(--color-paper-3, #e2e8f0);border:1px solid var(--color-rule-2, #cbd5e1);transform:rotate(-90deg)}.post-toggle-btn.is-collapsed:hover{color:var(--color-ink);background:var(--color-rule-2, #cbd5e1);border-color:#94a3b8}.post-head-main{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-width:0;flex:1}.post-tags-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.post-title-row{display:inline-flex;align-items:center;min-width:0;flex:1}.post-title-click{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease;font-size:var(--text-md);font-weight:600;color:var(--color-ink);margin:0;line-height:1.4;overflow-wrap:anywhere}.post-title-click:hover{color:var(--color-accent)}.post-collapsed-summary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:2px}.post-body{font-size:var(--text-base);line-height:1.6;color:var(--color-ink-2);min-width:0;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.auto-link{color:var(--color-accent);text-decoration:underline;text-decoration-color:#0076ec66;text-decoration-color:oklch(58% .2 256 / .4);text-underline-offset:3px;word-break:break-all;font-weight:500;transition:color var(--dur-short) var(--ease-out),text-decoration-color var(--dur-short) var(--ease-out)}.auto-link:hover{color:var(--color-focus);text-decoration-color:var(--color-focus)}.auto-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.post-meta{color:var(--color-neutral);font-size:var(--text-xs)}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs)}.post .edit-dock{margin:0}.alert-line{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;font-size:var(--text-sm);color:#6366f1}.alert-line.is-sent{color:var(--color-muted)}.alert-text-sent{text-decoration:line-through;opacity:.75}.alert-text-cancelled{text-decoration:line-through;color:var(--color-muted);opacity:.75}.alert-project-name{color:var(--color-accent-hover, #6366f1)}.alert-text-sent .alert-project-name,.alert-text-cancelled .alert-project-name{color:inherit}.alert-line.is-cancelled{color:var(--color-muted)}.list-item.is-cancelled-item{opacity:.85}@keyframes target-glow{0%{box-shadow:0 0 #2e75f699,0 0 0 4px #2e75f659;background-color:var(--color-accent-soft)}30%{box-shadow:0 0 0 8px #2e75f640,0 0 0 14px #2e75f61a;background-color:var(--color-accent-soft)}to{box-shadow:0 0 #2e75f600}}@keyframes alert-target-glow{0%{box-shadow:0 0 #eab308b3,0 0 0 4px #eab30866;background-color:#eab30826}30%{box-shadow:0 0 0 6px #eab3084d,0 0 0 12px #eab3081a;background-color:#eab30826}to{box-shadow:0 0 #eab30800}}.post.post-target-highlight{animation:target-glow 3s cubic-bezier(.16,1,.3,1) forwards;border-color:var(--color-accent)!important;scroll-margin-top:5rem}.alert-line.alert-target-highlight{animation:alert-target-glow 3s cubic-bezier(.16,1,.3,1) forwards;border:1px solid var(--color-warn)!important;border-radius:var(--radius-sm);padding:4px 8px;scroll-margin-top:5rem}.dash-alert.schedule-target-highlight{animation:target-glow 3s cubic-bezier(.16,1,.3,1) forwards;border-color:var(--color-accent)!important;scroll-margin-top:5rem}.comment-item.comment-target-highlight{animation:target-glow 3s cubic-bezier(.16,1,.3,1) forwards;border:1px solid var(--color-accent)!important;border-radius:var(--radius-sm);scroll-margin-top:5rem}.mile-block.is-highlighted{animation:target-glow 3s cubic-bezier(.16,1,.3,1) forwards;border-color:var(--color-accent)!important;scroll-margin-top:5rem}.search-target-word-highlight{background:#fde047;color:#0f172a;font-weight:700;padding:.1rem .35rem;border-radius:4px;display:inline-block;vertical-align:baseline;box-shadow:0 0 0 3px #facc1599;animation:target-word-blink 3s cubic-bezier(.16,1,.3,1) forwards}@keyframes target-word-blink{0%{background:#facc15;box-shadow:0 0 0 5px #facc15d9;transform:scale(1.08)}15%{background:#fde047;box-shadow:0 0 0 3px #facc1599;transform:scale(1)}28%{background:transparent;box-shadow:none;color:inherit}42%{background:#fde047;box-shadow:0 0 0 4px #facc1599;color:#0f172a}56%{background:transparent;box-shadow:none;color:inherit}70%{background:#fef08a;box-shadow:0 0 0 2px #facc1566;color:#0f172a}85%{background:#fef08a4d;box-shadow:none;color:inherit}to{background:transparent;box-shadow:none;color:inherit}}.comment-section{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-paper, #f8fafc);border:1px solid rgba(59,130,246,.28);border-radius:var(--radius-md);box-shadow:0 1px 3px #3b82f60a;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.comment-section>*{min-width:0;max-width:100%}.comment-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding-bottom:var(--space-2xs);border-bottom:1px dashed rgba(59,130,246,.22);min-width:0;max-width:100%}.comment-section-title{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700;color:var(--color-ink);letter-spacing:.01em;min-width:0}.comment-section-icon{color:var(--color-accent);flex-shrink:0}.comment-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;line-height:1;flex-shrink:0}.comment-count-badge.is-zero{background:var(--color-paper-3, #e2e8f0);color:var(--color-neutral)}.comment-section-hint{font-size:var(--text-xs);color:var(--color-neutral);overflow-wrap:anywhere;min-width:0}.comment-list-wrapper{position:relative;width:100%;min-width:0;max-width:100%;box-sizing:border-box;background:#f1f5f9;border:1.5px solid rgba(59,130,246,.25);border-radius:var(--radius-md);padding:8px;box-shadow:inset 0 1px 2px #00000005}.comment-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:500px;overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:4px;padding-bottom:2px;scrollbar-width:thin;scrollbar-color:var(--color-rule-2, #cbd5e1) transparent;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.comment-list::-webkit-scrollbar{width:6px}.comment-list::-webkit-scrollbar-track{background:transparent}.comment-list::-webkit-scrollbar-thumb{background-color:var(--color-rule-2, #cbd5e1);border-radius:4px}.comment-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-ink-3, #94a3b8)}.comment-scroll-bottom-btn{position:absolute;right:16px;bottom:14px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;color:#fff;background:#1e293be0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);box-shadow:0 4px 12px #0003;cursor:pointer;z-index:5;transition:all var(--dur-micro) var(--ease-out);animation:commentFadeIn .2s ease-out}.comment-scroll-bottom-btn:hover{background:var(--color-accent, #3b82f6);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f659}@keyframes commentFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.comment-item{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);background:#fff;border:1px solid var(--color-rule);border-left:3px solid var(--color-rule-2, #cbd5e1);border-radius:var(--radius-sm);box-shadow:0 1px 2px #00000008;font-size:var(--text-sm);min-width:0;max-width:100%;width:100%;box-sizing:border-box;flex-shrink:0;min-height:fit-content;transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),border-left-color var(--dur-micro) var(--ease-out)}.comment-item>*{min-width:0;max-width:100%}.comment-item:hover{border-color:var(--color-rule-2);border-left-color:var(--color-accent);box-shadow:0 2px 5px #0000000d}.comment-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;max-width:100%}.comment-item-author{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);flex-wrap:wrap;min-width:0;max-width:100%}.comment-item-author strong{font-weight:600;color:var(--color-ink);overflow-wrap:anywhere}.comment-op-chip{display:inline-flex;align-items:center;padding:1px 6px;font-size:.65rem;font-weight:700;border-radius:var(--radius-full);background:#3b82f61a;color:var(--color-accent, #3b82f6);border:1px solid rgba(59,130,246,.2);line-height:1.2;flex-shrink:0}.comment-item-meta{color:var(--color-neutral);overflow-wrap:anywhere;min-width:0}.comment-item-edited{color:var(--color-neutral);font-size:var(--text-xs);overflow-wrap:anywhere}.comment-item-actions{display:flex;align-items:center;gap:2px;opacity:.8;flex-shrink:0;transition:opacity var(--dur-micro) var(--ease-out)}.comment-item:hover .comment-item-actions{opacity:1}.comment-body-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.comment-body{font-size:var(--text-sm);line-height:1.5;color:var(--color-ink-2);overflow-wrap:anywhere;word-break:break-word;margin:0;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.comment-body.is-collapsed{max-height:9em;overflow:hidden;position:relative}.comment-body.is-collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.5rem;background:linear-gradient(to bottom,transparent,var(--color-paper-2, #f1f5f9));pointer-events:none}.comment-expand-actions{display:flex;align-items:center;gap:var(--space-xs);margin-top:4px}.comment-expand-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:2px 6px;font-size:var(--text-xs);font-weight:500;color:var(--color-accent, #3b82f6);cursor:pointer;border-radius:var(--radius-sm);line-height:1.4;transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.comment-expand-btn:hover{color:var(--color-accent-hover, #2563eb);background:#3b82f614;text-decoration:none}.comment-expand-btn.is-popup{color:var(--color-accent, #3b82f6);background:var(--color-accent-subtle, #eff6ff);border:1px solid rgba(59,130,246,.25);padding:2px 8px;font-weight:600;border-radius:var(--radius-full)}.comment-expand-btn.is-popup:hover{background:#dbeafe;border-color:var(--color-accent, #3b82f6);color:var(--color-accent-hover, #2563eb)}.comment-expand-icon{flex-shrink:0;transition:transform var(--dur-short) var(--ease-out)}.comment-expand-icon.is-expanded{transform:rotate(180deg)}.comment-body .md-viewer{font-size:var(--text-sm);line-height:1.5}.comment-body .md-viewer p{margin:.2rem 0}.comment-body .md-viewer p:first-child{margin-top:0}.comment-body .md-viewer p:last-child{margin-bottom:0}.comment-body .md-viewer ul,.comment-body .md-viewer ol{margin:.25rem 0;padding-left:1.25rem}.comment-body .md-viewer li{margin:.1rem 0}.comment-edit-form{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-2xs)}.comment-edit-actions{display:flex;align-items:center;gap:var(--space-2xs)}.comment-form-wrap{margin-top:var(--space-xs);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.comment-form-box{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-rule-2);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;overflow:visible;position:relative;min-width:0;max-width:100%;width:100%;box-sizing:border-box;transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.comment-form-box:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f626,var(--shadow-sm)}.comment-input{width:100%;min-height:2.75rem;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);border:none;border-top-left-radius:calc(var(--radius-md) - 1px);border-top-right-radius:calc(var(--radius-md) - 1px);background:transparent;resize:vertical;line-height:1.5;color:var(--color-ink-2);min-width:0;max-width:100%;box-sizing:border-box}.comment-input:focus{outline:none}.comment-form-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);background:var(--color-paper-2);border-top:1px solid var(--color-rule);border-bottom-left-radius:calc(var(--radius-md) - 1px);border-bottom-right-radius:calc(var(--radius-md) - 1px);flex-wrap:wrap;min-width:0;max-width:100%;box-sizing:border-box}.comment-textarea{width:100%;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-sm);line-height:1.5}.file-pick-compact-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.file-pick-compact{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:var(--text-xs);font-weight:500;color:var(--color-muted);background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--dur-micro) var(--ease-out);-webkit-user-select:none;user-select:none}.file-pick-compact:hover{color:var(--color-ink);background:var(--color-paper);border-color:var(--color-rule-2)}.file-pick-compact input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-pick-compact.is-disabled{opacity:.5;cursor:not-allowed}.file-pick-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.file-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 4px;background:var(--color-card);border:1px solid var(--color-rule-2);border-radius:var(--radius-full);font-size:.75rem;color:var(--color-ink);max-width:16rem;min-width:0;overflow:hidden}.file-chip .attach-thumb-btn,.file-chip .attach-thumb,.file-chip .attach-ext{width:1.35rem;height:1.35rem;min-width:1.35rem;min-height:1.35rem;max-width:1.35rem;max-height:1.35rem;border-radius:var(--radius-full);flex-shrink:0;overflow:hidden}.file-chip-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-chip-size{flex-shrink:0;color:var(--color-muted);font-size:.7rem}.file-chip-del{flex-shrink:0;border:none;background:transparent;color:var(--color-muted);cursor:pointer;padding:0 2px;font-size:.9rem;line-height:1;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.file-chip-del:hover{color:var(--color-danger)}.file-pick-wrap{display:grid;gap:var(--space-2xs);min-width:0}.file-pick{position:relative;display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:var(--control-h);padding-inline:var(--space-sm);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);cursor:pointer;white-space:nowrap}.file-pick input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(hover:hover)and (pointer:fine){.file-pick:hover{background:var(--color-paper-2);border-color:var(--color-ink-2)}}.file-pick:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.file-pick.is-disabled,.file-pick:has(input:disabled){opacity:.55;cursor:not-allowed}.attach-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2xs);min-width:0}.attach-list.is-compact{gap:6px;margin-top:6px}.attach-row{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;padding:var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-card);min-width:0}.attach-list.is-compact .attach-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:var(--space-sm);padding:6px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);align-items:center}.attach-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap}.attach-ext,.attach-thumb{width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:var(--color-paper-2);box-sizing:border-box;display:block;object-fit:cover}.attach-ext.is-compact,.attach-thumb.is-compact,.attach-thumb-btn.is-compact,.attach-list.is-compact .attach-thumb,.attach-list.is-compact .attach-thumb-btn,.attach-list.is-compact .attach-ext{width:2rem;height:2rem;min-width:2rem;min-height:2rem;max-width:2rem;max-height:2rem}.attach-ext{display:grid;place-items:center;font-family:var(--font-outlier);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);overflow:hidden;padding-inline:2px}.attach-ext.is-text{background:var(--color-accent-subtle);color:var(--color-accent);border-color:#3b82f659;font-weight:700;cursor:pointer;transition:all var(--dur-micro) var(--ease-out)}.attach-thumb-btn:hover .attach-ext.is-text,.attach-ext.is-text:hover{background:#dbeafe;border-color:var(--color-accent);color:var(--color-accent-hover)}.attach-meta strong.is-clickable,.file-chip-name.is-clickable{cursor:pointer;transition:color var(--dur-micro) var(--ease-out)}.attach-meta strong.is-clickable:hover,.file-chip-name.is-clickable:hover{color:var(--color-accent);text-decoration:underline}.attach-thumb-btn{padding:0;border:0;background:transparent;cursor:pointer;width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-sm);flex-shrink:0}.attach-thumb{display:block;object-fit:cover;width:100%;height:100%}.attach-meta{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.attach-meta strong{font-weight:600;color:var(--color-ink);overflow-wrap:anywhere;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.attach-list.is-compact .attach-meta strong{font-size:var(--text-xs)}.attach-meta span{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.attach-list.is-compact .attach-meta span{font-size:.7rem}@media(max-width:900px){.hero-work,.two{grid-template-columns:minmax(0,1fr)}.dash-alert{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.dash-alert-meta{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;gap:var(--space-xs);width:100%}.dash-alert-meta .chip{align-self:auto}}@media(max-width:768px){.shell{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100vw}.rail{position:fixed;inset:0 auto 0 0;width:min(var(--rail-width),80vw);transform:translate(-100%);transition:transform var(--dur-short) var(--ease-out);box-shadow:var(--shadow-lg);z-index:var(--z-modal)}.rail.is-open{transform:translate(0)}.scrim{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:calc(var(--z-modal) - 1);border:none}.menu-btn{display:inline-grid}.topbar{padding-inline:var(--space-md);height:3.5rem;gap:var(--space-xs);width:100%;max-width:100%;box-sizing:border-box}.topbar h1{font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-title-wrap{min-width:0;flex:1 1 auto}.topbar-title-btn{padding:.2rem .3rem;min-width:0;max-width:100%;flex-shrink:1}.topbar-title-text{font-size:var(--text-base);min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-back-chip{padding:.2rem .45rem .2rem .35rem;font-size:.75rem;gap:1px;flex-shrink:0}.topbar-nav-drop{left:0;width:min(250px,calc(100vw - 1.5rem))}.top-actions{gap:var(--space-xs);flex-shrink:0}.top-search-text,.top-search-kbd{display:none}.top-search-btn{width:2.25rem;height:2.25rem;padding:0;justify-content:center;flex-shrink:0}.bell-wrap button{flex-shrink:0}.drop{width:min(22rem,calc(100vw - 1.5rem));right:-.5rem;max-height:80vh;overflow-y:auto}.page{padding:var(--space-md);gap:var(--space-lg);width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:clip}.stat-strip{grid-template-columns:1fr 1fr;gap:var(--space-xs)}.stat{padding:var(--space-sm) var(--space-md)}.stat b{font-size:clamp(1.6rem,5vw,2.25rem)}.work-grid{grid-template-columns:1fr;gap:var(--space-lg)}.stage-block{grid-template-columns:minmax(0,1fr);gap:var(--space-xs);padding-block:var(--space-xs);min-width:0;max-width:100%}.stage-block h3{padding:.2rem .55rem;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);width:fit-content;font-size:.7rem;letter-spacing:.03em;margin-bottom:2px}.stage-items{width:100%;min-width:0;max-width:100%}.proj-line{padding:var(--space-sm);gap:var(--space-xs);border-radius:var(--radius-md);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.proj-line-head{align-items:flex-start;min-width:0;width:100%}.proj-line-title{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;font-size:var(--text-sm)}.proj-line-meta{flex-direction:row;justify-content:space-between;align-items:center;width:100%;font-size:.72rem;min-width:0}.proj-line-code-client{flex:1;min-width:0}.proj-line-finance{margin-left:auto;flex-shrink:0;gap:4px}.won-row{grid-template-columns:minmax(0,1fr);gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.won-row>*{min-width:0;max-width:100%}.won-meters{width:100%;padding-top:var(--space-xs);border-top:1px dashed var(--color-rule);min-width:0;max-width:100%}.row-card{grid-template-columns:minmax(0,1fr);gap:var(--space-sm);padding:var(--space-md);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.row-card>*{min-width:0;max-width:100%}.row-card-title-col{min-width:0;max-width:100%;width:100%}.row-card-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs);min-width:0;width:100%}.row-card h3{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.row-card-mobile-amt,.row-card-mobile-health{display:inline-flex;font-size:var(--text-sm);flex-shrink:0;margin-top:2px}.row-card-desktop-amt,.row-card-desktop-health{display:none}.row-card-action-col{width:100%;text-align:left!important}.row-card .actions{width:100%;display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-2xs)}.row-card .actions .btn{flex:1;min-width:fit-content}.toolbar{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.toolbar .search,.toolbar .input,.toolbar .select,.toolbar .btn{width:100%;max-width:100%!important}.modal[open]{width:calc(100% - 1.5rem);max-height:calc(100dvh - 2rem);padding:var(--space-md)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.hero-work{grid-template-columns:minmax(0,1fr);gap:var(--space-md);min-width:0;max-width:100%;width:100%;box-sizing:border-box}.hero-work header,.hero-work>.panel{padding:var(--space-md);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.hero-work header h1{font-size:var(--text-xl);overflow-wrap:anywhere;word-break:break-word;min-width:0}.hero-work .actions{width:100%;max-width:100%;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.hero-work .actions .btn{flex:1 1 calc(50% - var(--space-xs));min-width:0;max-width:100%;box-sizing:border-box}.panel{padding:var(--space-md);min-width:0;max-width:100%;box-sizing:border-box}.panel-head{flex-wrap:wrap;gap:var(--space-xs);min-width:0;max-width:100%}.panel-head-actions{width:100%;gap:var(--space-2xs);min-width:0;max-width:100%}.two{grid-template-columns:1fr;gap:var(--space-sm)}.kv{grid-template-columns:5.5rem minmax(0,1fr);gap:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.mile,.mile-row{flex-direction:column;align-items:stretch;gap:var(--space-xs);padding:var(--space-sm)}.mile-info{width:100%}.mile-controls{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);border-top:1px dashed var(--color-rule);padding-top:var(--space-2xs)}.mile-controls .select{flex:1 1 auto;min-width:5rem;height:2rem;font-size:var(--text-xs);padding-inline:var(--space-xs)}.stepper{gap:4px;padding:3px}.step{padding-inline:var(--space-2xs);font-size:.72rem;height:2.25rem}.post{padding:var(--space-sm);min-width:0;max-width:100%;box-sizing:border-box}.post-head{align-items:flex-start;flex-wrap:wrap;gap:var(--space-xs);min-width:0;max-width:100%}.post-toggle-btn{margin-top:2px;flex-shrink:0}.post-head-main{flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;max-width:100%}.post-tags-row{display:flex;flex-wrap:wrap;gap:4px;width:100%;min-width:0;max-width:100%}.post-title-row{display:block;width:100%;min-width:0;max-width:100%}.post-title-click{display:block;width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.post-actions{width:100%;justify-content:flex-end;border-top:1px dashed var(--color-rule);padding-top:4px;margin-top:2px;min-width:0;max-width:100%;flex-wrap:wrap}.comment-section{padding:var(--space-xs) var(--space-sm);min-width:0;max-width:100%;box-sizing:border-box}.comment-list-wrapper{padding:6px;min-width:0;max-width:100%;box-sizing:border-box}.comment-list{max-height:none;overflow-y:visible;overscroll-behavior:auto;padding-right:0}.comment-item{padding:var(--space-xs);min-width:0;max-width:100%;box-sizing:border-box;flex-shrink:0;min-height:fit-content;touch-action:pan-y}.comment-item-head{align-items:flex-start}.comment-item-actions{flex-direction:column;align-items:flex-end;gap:3px;opacity:1;margin-top:1px}.comment-item-actions .btn{padding:2px 6px;font-size:.68rem;height:auto;min-height:1.35rem;line-height:1.2;white-space:nowrap}.comment-body{font-size:var(--text-xs);overflow-wrap:anywhere;word-break:break-word;touch-action:pan-y}.section-dev-progress,.section-post-feed{padding:var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-md);box-shadow:0 4px 16px -2px #0f172a1a,0 2px 5px -1px #0f172a0d}.section-head-dev,.section-head-feed{margin:-var(--space-md) -var(--space-md) var(--space-xs) -var(--space-md);padding:var(--space-sm) var(--space-md);flex-direction:column;align-items:stretch;gap:var(--space-xs);border-radius:calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px) 0 0}.section-head-dev .panel-head-actions,.section-head-feed .panel-head-actions{width:100%;justify-content:space-between;gap:var(--space-2xs);border-top:1px solid rgba(0,0,0,.06);padding-top:var(--space-xs)}.dev-status-card{padding:var(--space-sm)}.subpanel-head{flex-wrap:wrap;gap:var(--space-xs)}}@media(max-width:480px){.top-search-text{display:none}.top-search-btn{width:2.25rem;height:2.25rem;padding:0;justify-content:center}.proj-line-meta{flex-direction:column;align-items:flex-start;gap:2px}.proj-line-finance{margin-left:0;width:100%;justify-content:space-between;padding-top:2px;border-top:1px dashed var(--color-rule);margin-top:2px}}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--color-paper)}.login-form,.login-panel{min-width:0}.login-form{display:flex;flex-direction:column;justify-content:center;gap:var(--space-lg);padding:var(--space-xl);width:100%;max-width:28rem;margin-inline:auto;min-height:100dvh;background:var(--color-paper);color:var(--color-ink-2)}.login-form h1{font-size:var(--text-xl)}.login-panel{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:var(--space-3xl);display:flex;flex-direction:column;justify-content:center;gap:var(--space-xl);min-height:100dvh}.login-panel h2{color:#fff;font-size:var(--text-2xl)}.login-panel ol{margin:0;padding-left:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);color:var(--color-graphite-muted);font-size:var(--text-base);line-height:1.6}@media(max-width:768px){.login{grid-template-columns:1fr}.login-panel{display:none}.login-form{padding:var(--space-xl)}.attach-row{grid-template-columns:2.75rem minmax(0,1fr)}.attach-list.is-compact .attach-row{grid-template-columns:2rem minmax(0,1fr)}.attach-actions{grid-column:2;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;width:fit-content}.attach-actions .btn,.attach-row .btn{white-space:nowrap;flex-shrink:0}}.project-files-modal{max-width:min(64rem,95vw);width:100%;max-height:88vh;padding:0;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.project-files-container{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);overflow-y:auto;max-height:88vh}.project-files-modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule)}.project-files-head-title{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-width:0;flex:1}.project-files-modal-close{font-weight:600;flex-shrink:0;margin-left:auto}.project-files-section{display:grid;gap:var(--space-md)}.project-files-head-title h2{margin:0}.project-files-stats{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.project-files-view-toggles{display:flex;gap:4px}.project-files-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.project-files-search{position:relative;flex:1 1 16rem;max-width:24rem}.project-files-search input{width:100%;padding-right:1.75rem}.project-files-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:0 4px;font-size:1rem;line-height:1}.project-files-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.filter-group{display:flex;align-items:center;gap:4px;font-size:var(--text-xs)}.filter-group-label{color:var(--color-muted);font-weight:500;margin-right:2px}.filter-btn{border:1px solid var(--color-rule-2);background:var(--color-card);color:var(--color-ink-2);border-radius:var(--radius-full);padding:2px 8px;font-size:var(--text-xs);cursor:pointer;transition:all .15s ease}.filter-btn:hover{background:var(--color-paper);border-color:var(--color-ink-2)}.filter-btn.is-on{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);font-weight:600}.project-files-list{display:grid;gap:var(--space-2xs)}.project-file-row{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.project-file-row:hover{border-color:var(--color-rule-2);box-shadow:var(--shadow-sm)}.project-file-thumb{width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:var(--color-paper-2);overflow:hidden;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.project-file-thumb.is-large{width:100%;height:9rem;border-radius:0;border:none}.project-file-thumb.is-ext{font-family:var(--font-outlier);font-size:.65rem;font-weight:700;color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;background:var(--color-paper-2)}.project-file-thumb.is-large.is-ext{font-size:1.25rem}.project-file-thumb.is-ext.is-text{background:var(--color-accent-subtle);color:var(--color-accent);border-color:#3b82f659;cursor:pointer;transition:all var(--dur-micro) var(--ease-out)}.project-file-thumb.is-ext.is-text:hover{background:#dbeafe;border-color:var(--color-accent);color:var(--color-accent-hover)}.project-file-img{width:100%;height:100%;object-fit:cover;display:block}.project-file-info{display:grid;gap:2px;min-width:0}.project-file-name-wrap{display:flex;align-items:baseline;gap:var(--space-xs);min-width:0}.project-file-name{font-size:var(--text-sm);font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.project-file-name:hover{color:var(--color-primary);text-decoration:underline}.project-file-size{font-size:var(--text-xs);color:var(--color-muted);flex-shrink:0}.project-file-meta{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-source{color:var(--color-ink-2)}.project-file-source strong{font-weight:500;color:var(--color-ink)}.project-file-actions{display:flex;align-items:center;gap:4px}.project-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:var(--space-sm)}.project-file-card{background:var(--color-card);border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.project-file-card:hover{transform:translateY(-2px);border-color:var(--color-rule-2);box-shadow:var(--shadow-md)}.project-file-card-thumb-wrap{position:relative;width:100%;height:9rem;background:var(--color-paper-2);cursor:pointer;overflow:hidden}.project-file-card-overlay{position:absolute;inset:0;background:#00000073;color:#fff;display:grid;place-items:center;font-size:var(--text-xs);font-weight:600;opacity:0;transition:opacity .2s ease}.project-file-card-thumb-wrap:hover .project-file-card-overlay{opacity:1}.project-file-card-body{padding:var(--space-xs) var(--space-sm) var(--space-sm);display:grid;gap:4px;flex:1}.project-file-card-name{font-size:var(--text-xs);font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-card-sub{display:flex;justify-content:space-between;font-size:.7rem;color:var(--color-muted)}.project-file-card-post{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.project-file-card-post span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-card-actions{display:flex;gap:4px;margin-top:var(--space-xs)}.project-file-card-actions .btn{flex:1}.file-lightbox-backdrop{position:fixed;inset:0;background:#000000d1;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.file-lightbox-content{background:var(--color-card);border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--color-rule)}.file-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-rule);background:var(--color-paper);gap:var(--space-md)}.file-lightbox-title{display:grid;gap:2px;min-width:0}.file-lightbox-title strong{font-size:var(--text-sm);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-lightbox-title small{font-size:var(--text-xs);color:var(--color-muted)}.file-lightbox-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.file-lightbox-body{padding:var(--space-md);display:grid;place-items:center;overflow:auto;background:#0f1117;max-height:calc(90vh - 4.5rem)}.lightbox-img{max-width:100%;max-height:calc(90vh - 6rem);object-fit:contain;border-radius:var(--radius-sm)}.lightbox-loading{color:#fff;font-size:var(--text-sm);padding:var(--space-xl)}.file-lightbox-content.is-text{width:min(960px,94vw);height:min(780px,88vh)}.file-lightbox-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;font-family:var(--font-outlier);font-size:.7rem;font-weight:700;border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-accent);border:1px solid rgba(59,130,246,.3);text-transform:uppercase;flex-shrink:0}.file-lightbox-body.is-text{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;background:#0d1117;overflow:hidden;place-items:initial}.lightbox-text-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);flex:1;color:#8b949e;font-size:var(--text-sm);padding:var(--space-xl)}.lightbox-text-status.is-error{color:var(--color-danger)}.lightbox-text-notice{padding:var(--space-xs) var(--space-md);background:#f59e0b26;border-bottom:1px solid rgba(245,158,11,.3);color:#fbd38d;font-size:var(--text-xs);flex-shrink:0}.lightbox-text-scroll{flex:1;min-height:0;overflow:auto;padding:var(--space-md);margin:0;background:#0d1117;-webkit-user-select:text;user-select:text}.lightbox-text-content{margin:0;padding:0;font-family:var(--font-outlier);font-size:var(--text-sm);line-height:1.65;color:#e6edf3;tab-size:2;white-space:pre}.lightbox-text-content.is-wrapped{white-space:pre-wrap;word-break:break-all}.lightbox-text-content code{font-family:inherit;font-size:inherit;color:inherit;background:transparent;padding:0;border:0}.lightbox-text-footer{display:flex;align-items:center;justify-content:space-between;padding:.375rem var(--space-md);background:#161b22;border-top:1px solid #30363d;color:#8b949e;font-size:.75rem;font-family:var(--font-outlier);flex-shrink:0}.file-lightbox-content.is-comment{width:min(840px,94vw);max-height:min(800px,90vh);display:flex;flex-direction:column}.comment-lightbox-author-wrap{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.comment-lightbox-avatar{width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background:var(--color-paper-3);color:var(--color-ink);font-weight:700;font-size:var(--text-xs);display:grid;place-items:center;flex-shrink:0;overflow:hidden;border:1px solid var(--color-rule)}.comment-lightbox-avatar img{width:100%;height:100%;object-fit:cover}.comment-lightbox-body{padding:var(--space-lg);overflow-y:auto;flex:1;min-height:0;background:var(--color-card);color:var(--color-ink);display:flex;flex-direction:column;gap:var(--space-md)}.comment-lightbox-markdown{font-size:var(--text-base);line-height:1.65;color:var(--color-ink);overflow-wrap:anywhere;word-break:break-word}.comment-lightbox-markdown .md-viewer{font-size:var(--text-base);line-height:1.65}.comment-lightbox-attachments{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.comment-lightbox-attachments h4{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.comment-lightbox-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem var(--space-md);background:var(--color-paper);border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);flex-shrink:0}.thread-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-rule);flex-wrap:wrap;min-width:0;max-width:100%;width:100%}.thread-tabs{display:flex;align-items:center;gap:var(--space-2xs);overflow-x:auto;padding-bottom:2px;max-width:100%;min-width:0;flex:1 1 auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.thread-tab{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.35rem .65rem;font-size:var(--text-xs);font-weight:500;color:var(--color-ink-2);background:var(--color-bg-alt);border:1px solid var(--color-rule-2);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.thread-tab:hover{background:var(--color-card-hover);color:var(--color-ink);border-color:var(--color-rule)}.thread-tab.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.thread-tab.is-closed{opacity:.7}.thread-tab.is-closed.is-active{opacity:1}.thread-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:600;border-radius:var(--radius-pill);background:var(--color-rule-2);color:var(--color-ink-2)}.thread-tab.is-active .thread-count{background:var(--color-accent);color:#fff}.thread-new-btn{margin-left:auto;font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}.thread-tab-archived{border-style:dashed}.thread-tab-archived.is-active{background:var(--color-bg-alt);border-color:var(--color-accent);color:var(--color-accent)}.archive-filter-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-alt);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);margin-top:var(--space-xs);margin-bottom:var(--space-xs);flex-wrap:wrap}.archive-filter-label{font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2);white-space:nowrap}.archive-filter-chips{display:flex;align-items:center;gap:var(--space-2xs);flex-wrap:wrap}.chip-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.chip-clickable:hover{border-color:var(--color-accent);color:var(--color-accent)}.thread-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-card-alt);border:1px solid var(--color-rule-2);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);margin-bottom:var(--space-xs);flex-wrap:wrap}.thread-banner.is-closed{border-left-color:var(--color-muted);background:var(--color-bg-alt)}.thread-banner-main{display:grid;gap:.2rem;min-width:0;flex:1}.thread-banner-title-wrap{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.thread-banner-title{font-size:var(--text-sm);color:var(--color-ink)}.thread-banner-desc{margin:0;font-size:var(--text-xs);color:var(--color-muted);line-height:1.4}.thread-banner-actions{display:flex;align-items:center;gap:var(--space-2xs)}.chip-thread{background:var(--color-accent-dim);color:var(--color-accent);border:1px solid var(--color-accent-dim);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:3px}.chip-thread:hover{background:var(--color-accent);color:#fff}.chip-thread.is-closed{background:var(--color-bg-alt);color:var(--color-muted);border-color:var(--color-rule);font-weight:500}.chip-thread.is-closed:hover{background:var(--color-rule-2);color:var(--color-ink)}.chip-thread .chip-sub{display:inline-block;margin-left:2px;padding:0 4px;font-size:.65rem;background:var(--color-rule-2);color:var(--color-muted);border-radius:var(--radius-pill)}.thread-status-radios{display:flex;gap:var(--space-md);align-items:center;margin-top:var(--space-2xs)}.radio-label{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-ink);cursor:pointer}.filter-tabs{display:inline-flex;align-items:center;gap:var(--space-3xs);padding:3px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);flex-wrap:wrap}.filter-tab-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-tab-btn:hover{color:var(--color-ink)}.filter-tab-btn.is-active{color:var(--color-ink);background:var(--color-paper);font-weight:600;box-shadow:0 1px 2px #0000000f}.filter-tab-btn .tab-count{display:inline-block;padding:0 5px;font-size:.7rem;border-radius:var(--radius-pill);background:var(--color-paper-3);color:var(--color-muted)}.filter-tab-btn.is-active .tab-count{background:var(--color-accent-subtle);color:var(--color-accent)}.composer{position:relative}.composer.is-drag-over,.edit-dock .two.is-drag-over,.comment-form-wrap.is-drag-over,.comment-edit-form.is-drag-over,.file-pick-wrap.is-drag-over,.file-pick-compact-wrap.is-drag-over{border-color:var(--color-accent)!important;background:var(--color-accent-subtle)!important;outline:2px dashed var(--color-accent);outline-offset:-2px}.drag-drop-overlay{position:absolute;inset:0;background:var(--color-accent-subtle, rgba(59, 130, 246, .08));border:2px dashed var(--color-accent, #3b82f6);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none;animation:fadeIn .12s ease-out}.drag-drop-text{font-size:var(--text-sm);font-weight:600;color:#fff;padding:.55rem 1.25rem;background:var(--color-accent, #2563eb);border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 14px #2563eb59;display:flex;align-items:center;gap:var(--space-xs);pointer-events:none}.dash-drag-handle{display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);cursor:grab;border-radius:var(--radius-sm);opacity:.4;transition:all var(--dur-micro) var(--ease-out);flex-shrink:0;touch-action:none}.dash-drag-handle:hover,.dash-drag-handle:active{opacity:1;color:var(--color-accent);background:var(--color-paper-3);cursor:grabbing}.proj-line-wrap,.won-row-wrap{display:flex;align-items:center;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border-radius:var(--radius-md);transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}.proj-line-wrap .proj-line,.won-row-wrap .won-row{flex:1;min-width:0;max-width:100%}.proj-line-wrap.is-dragging,.won-row-wrap.is-dragging{opacity:.35;transform:scale(.98)}.proj-line-wrap.is-drag-over,.won-row-wrap.is-drag-over{border-radius:var(--radius-md);box-shadow:0 0 0 2px var(--color-accent);background:var(--color-accent-subtle)}.stage-items.is-drag-target{background:var(--color-accent-subtle);border-radius:var(--radius-md);outline:2px dashed var(--color-accent);outline-offset:-2px;min-height:3.5rem}.dash-reorder-list{display:flex;flex-direction:column;gap:var(--space-xs)}.md-viewer{font-size:.95rem;line-height:1.68;color:var(--color-ink);overflow-wrap:anywhere;word-break:break-word;white-space:normal;min-width:0;max-width:100%;box-sizing:border-box}.md-viewer *{min-width:0;max-width:100%}.md-viewer p{margin:.4rem 0;overflow-wrap:anywhere;word-break:break-word}.md-viewer p:first-child{margin-top:0}.md-viewer p:last-child{margin-bottom:0}.md-viewer h1,.md-viewer h2,.md-viewer h3,.md-viewer h4{font-weight:700;line-height:1.35;margin:1.1rem 0 .5rem;color:var(--color-ink);overflow-wrap:anywhere;word-break:break-word}.md-viewer h1{font-size:1.35rem}.md-viewer h2{font-size:1.2rem}.md-viewer h3{font-size:1.05rem}.md-viewer h4{font-size:.95rem}.md-viewer ul,.md-viewer ol{margin:.5rem 0;padding-left:1.4rem;overflow-wrap:anywhere;word-break:break-word}.md-viewer li{margin:.25rem 0;overflow-wrap:anywhere;word-break:break-word}.md-viewer blockquote{margin:.6rem 0;padding:.4rem .85rem;border-left:3px solid var(--color-accent);background:var(--color-paper-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-neutral);font-style:italic;overflow-wrap:anywhere;word-break:break-word}.md-viewer code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em;padding:.15rem .35rem;border-radius:var(--radius-sm);background:var(--color-paper-2);border:1px solid var(--color-border-subtle);overflow-wrap:anywhere;word-break:break-all}.md-viewer pre{margin:.6rem 0;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--color-paper-2);border:1px solid var(--color-border-subtle);overflow-x:auto;min-width:0;max-width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch}.md-viewer pre code{padding:0;border:none;background:transparent;overflow-wrap:normal;word-break:normal}.md-viewer .md-link{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;font-weight:500;transition:opacity var(--dur-fast);overflow-wrap:anywhere;word-break:break-all}.md-viewer .md-link:hover{opacity:.8}.md-table-wrap{width:100%;overflow-x:auto;margin:.75rem 0}.md-table{width:100%;border-collapse:collapse;font-size:.88rem}.md-table th,.md-table td{padding:.4rem .75rem;border:1px solid var(--color-border-subtle);text-align:left}.md-table th{background:var(--color-paper-2);font-weight:600}.md-inline-img-wrap{display:block;max-width:100%;margin:.6rem 0;clear:both}.md-inline-img{display:block;max-width:100%;max-height:480px;height:auto;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:var(--color-paper-2)}.md-inline-img:hover{transform:translateY(-2px);border-color:var(--color-accent);box-shadow:0 4px 12px #0000001f}.md-inline-img-caption{display:block;font-size:.75rem;color:var(--color-neutral);text-align:center;margin-top:.3rem}.md-editor-box{display:flex;flex-direction:column;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-paper);overflow:visible;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);position:relative}.md-editor-box:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.md-editor-box.is-drag-over{border-color:var(--color-accent);background:var(--color-accent-subtle)}.md-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.35rem .6rem;background:var(--color-paper-2);border-bottom:1px solid var(--color-border-subtle);border-top-left-radius:calc(var(--radius-md) - 1px);border-top-right-radius:calc(var(--radius-md) - 1px);gap:var(--space-xs);flex-wrap:wrap;position:relative;z-index:10}.md-toolbar-group{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.md-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:28px;min-width:28px;padding:0 6px;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);color:var(--color-neutral);cursor:pointer;font-size:.8rem;transition:all var(--dur-fast)}.md-tool-btn:hover:not(:disabled){color:var(--color-ink);background:var(--color-paper);border-color:var(--color-border-subtle)}.md-tool-btn:disabled{opacity:.4;cursor:not-allowed}.md-tool-btn.md-tool-btn-accent{color:var(--color-accent);font-weight:600;background:var(--color-accent-subtle)}.md-tool-btn.md-tool-btn-accent:hover:not(:disabled){background:var(--color-accent);color:#fff}.md-tool-label{font-size:.78rem}.md-tool-divider{display:inline-block;width:1px;height:16px;background:var(--color-border-subtle);margin:0 4px}.md-tabs{display:flex;gap:2px;background:var(--color-border-subtle);padding:2px;border-radius:var(--radius-sm)}.md-tab-btn{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:none;background:transparent;border-radius:calc(var(--radius-sm) - 2px);color:var(--color-neutral);cursor:pointer;font-size:.75rem;font-weight:500;transition:all var(--dur-fast)}.md-tab-btn:hover{color:var(--color-ink)}.md-tab-btn.is-active{background:var(--color-paper);color:var(--color-ink);font-weight:600;box-shadow:0 1px 3px #00000014}.md-textarea-wrap{position:relative;width:100%}.textarea.md-textarea{border:none!important;border-radius:0!important;box-shadow:none!important;resize:vertical;min-height:130px;padding:.75rem!important;background:transparent;font-size:.92rem;line-height:1.6}.textarea.md-textarea:focus{outline:none!important;box-shadow:none!important}.md-drag-overlay{position:absolute;inset:0;background:var(--color-accent-subtle);border:2px dashed var(--color-accent);display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--color-accent);font-weight:600;font-size:.88rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.md-preview-pane{padding:.75rem 1rem;min-height:130px;max-height:480px;overflow-y:auto;background:var(--color-paper)}.md-preview-empty{color:var(--color-neutral);font-size:.82rem;font-style:italic;margin:1rem 0}.md-editor-footer{display:flex;align-items:center;justify-content:space-between;padding:.25rem .75rem;background:var(--color-paper-2);border-top:1px solid var(--color-border-subtle);border-bottom-left-radius:calc(var(--radius-md) - 1px);border-bottom-right-radius:calc(var(--radius-md) - 1px);font-size:.75rem;color:var(--color-neutral)}.md-editor-tip{font-size:.75rem}.color-picker-wrap{position:relative;display:inline-flex;align-items:center}.color-popover-dropdown{position:absolute;top:calc(100% + 5px);left:0;z-index:250;min-width:190px;padding:8px;background:var(--color-paper, #ffffff);border:1px solid var(--color-rule, #cbd5e1);border-radius:8px;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;animation:colorPopoverFade .15s ease-out}.color-popover-dropdown.is-placement-top{top:auto;bottom:calc(100% + 6px);animation:colorPopoverFadeUp .15s ease-out}.color-popover-dropdown.is-align-right{left:auto;right:0}@keyframes colorPopoverFadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes colorPopoverFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.color-popover-title{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--color-muted, #64748b);margin-bottom:6px;letter-spacing:.04em;padding-left:2px}.color-popover-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.color-popover-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:.78rem;color:var(--color-ink, #1e293b);text-align:left;transition:background .15s,border-color .15s}.color-popover-item:hover{background:var(--color-paper-2, #f1f5f9);border-color:var(--color-rule, #cbd5e1)}.color-swatch-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.color-swatch-highlight{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.75rem;font-weight:500;border:1px solid rgba(0,0,0,.08)}.color-popover-divider{height:1px;background:var(--color-rule, #e2e8f0);margin:6px 0}.md-viewer mark{background-color:#fef08a;color:#1e293b;padding:.1em .35em;border-radius:3px}.dash-calendar{margin-top:var(--space-xs);display:flex;flex-direction:column;gap:var(--space-xs)}.dash-cal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-paper);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.dash-cal-title-wrap{display:flex;align-items:center;gap:var(--space-sm)}.dash-cal-title{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-md);font-weight:700;color:var(--color-ink);margin:0}.dash-cal-title-icon{color:var(--color-accent)}.dash-cal-badge{font-size:var(--text-xs);font-weight:500;color:var(--color-muted);background:var(--color-paper-2);padding:2px 8px;border-radius:9999px;border:1px solid var(--color-rule)}.dash-cal-nav{display:flex;align-items:center;gap:4px}.dash-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--color-muted);padding:var(--space-2xs) 0}.dash-cal-weekday{padding:4px 0}.dash-cal-weekday.is-sun{color:var(--color-danger)}.dash-cal-weekday.is-sat{color:var(--color-accent)}.dash-cal-grid{display:flex;flex-direction:column;gap:4px}.dash-cal-week{position:relative;min-height:96px}.dash-cal-week-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;z-index:1}.dash-cal-cell{height:100%;min-height:96px;padding:6px;background:var(--color-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;transition:all var(--dur-short) var(--ease-out);position:relative;cursor:pointer}.dash-cal-cell.is-other-month{background:var(--color-paper);opacity:.5}.dash-cal-cell.is-today{border-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:0 0 0 1px var(--color-accent)}@media(hover:hover)and (pointer:fine){.dash-cal-cell:hover{background:var(--color-paper-2);border-color:var(--color-rule-2)}.dash-cal-cell.is-today:hover{background:var(--color-accent-subtle);border-color:var(--color-accent-hover)}}.dash-cal-cell-header{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);min-height:18px}.dash-cal-day-num{font-weight:600;color:var(--color-ink-2);display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px}.dash-cal-day-num.is-sun{color:var(--color-danger)}.dash-cal-day-num.is-sat{color:var(--color-accent)}.dash-cal-cell.is-today .dash-cal-day-num{color:var(--color-accent);font-weight:700}.dash-cal-dots{display:none;gap:3px;align-items:center}.dash-cal-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dash-cal-dot.is-accent{background:var(--color-accent)}.dash-cal-dot.is-danger{background:var(--color-danger)}.dash-cal-dot.is-personal{background:#8b5cf6}.dash-cal-dot.is-ok{background:var(--color-ok)}.dash-cal-dot-more{font-size:.625rem;color:var(--color-muted);font-weight:600}.dash-cal-week-events-layer{position:relative;z-index:2;pointer-events:none;min-height:96px;padding:26px 0 6px}.dash-cal-tracks{position:absolute;top:26px;left:0;right:0;display:flex;flex-direction:column;gap:3px;pointer-events:none;z-index:2}.dash-cal-track-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-height:22px}.dash-cal-schedule-bar{display:flex;align-items:center;gap:4px;height:22px;padding:0 6px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm, 4px);background:#3b82f61c;border:1px solid rgba(59,130,246,.25);color:#1e40af;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;cursor:pointer;transition:all var(--dur-short) var(--ease-out);margin:0 2px}.dash-cal-schedule-bar.is-personal{background:#8b5cf61a;border-color:#8b5cf640;color:#6d28d9}.dash-cal-schedule-bar.is-cont-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-2px;padding-left:6px}.dash-cal-schedule-bar.is-cont-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-2px;padding-right:6px}@media(hover:hover)and (pointer:fine){.dash-cal-schedule-bar:hover{background:#3b82f633;border-color:#3b82f673;color:#172554}.dash-cal-schedule-bar.is-personal:hover{background:#8b5cf62e;border-color:#8b5cf673;color:#3b0764}}.dash-cal-bar-icon{flex-shrink:0;color:var(--color-accent);opacity:.85}.dash-cal-schedule-bar.is-personal .dash-cal-bar-icon{color:#8b5cf6}.dash-cal-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dash-cal-schedule-bar[draggable=true]{cursor:grab}.dash-cal-schedule-bar[draggable=true]:active{cursor:grabbing}.dash-calendar.is-dragging .dash-cal-schedule-bar,.dash-calendar.is-dragging .dash-cal-chip,.dash-calendar.is-dragging .dash-cal-more-btn{pointer-events:none}.dash-cal-schedule-bar.is-drag-source{opacity:.35;border-style:dashed}.dash-cal-schedule-bar.is-saving{opacity:.6;animation:dash-cal-saving-pulse 1s var(--ease-out) infinite alternate}@keyframes dash-cal-saving-pulse{to{opacity:.9}}.dash-cal-cell.is-drop-target{background:var(--color-accent-subtle);border-color:var(--color-accent);border-style:dashed;opacity:1}@media(prefers-reduced-motion:reduce){.dash-cal-schedule-bar.is-saving{animation:none}}.dash-cal-week-alerts-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:0}.dash-cal-day-alerts-col{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 2px}.dash-cal-schedule-spacer{pointer-events:none}.dash-cal-chip{display:flex;align-items:center;gap:4px;padding:2px 5px;font-size:.6875rem;border-radius:4px;background:var(--color-paper-2);border:1px solid var(--color-rule);text-decoration:none;color:var(--color-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;pointer-events:auto;transition:all var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.dash-cal-chip:hover{background:var(--color-paper-3);border-color:var(--color-rule-2);color:var(--color-ink)}}.dash-cal-chip-time{font-weight:600;font-size:.65rem;color:var(--color-muted);flex-shrink:0;font-family:var(--font-outlier)}.dash-cal-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dash-cal-chip.is-late{border-color:#ef444466;background:#ef444414;color:var(--color-danger-ink)}.dash-cal-chip.is-personal{border-color:#8b5cf64d;background:#8b5cf614;color:#7c3aed}.dash-cal-more-btn{font-size:.65rem;color:var(--color-muted);background:none;border:none;padding:1px 4px;text-align:left;cursor:pointer;border-radius:3px;font-weight:500;margin-top:1px;pointer-events:auto}@media(hover:hover)and (pointer:fine){.dash-cal-more-btn:hover{color:var(--color-ink);background:var(--color-paper-2)}}.dash-cal-modal-content{max-height:65vh;overflow-y:auto;padding:var(--space-xs) 0}@media(max-width:768px){.dash-cal-week{min-height:48px}.dash-cal-week-events-layer{display:none}.dash-cal-cell{min-height:48px;padding:4px}.dash-cal-dots{display:flex}.dash-cal-title{font-size:var(--text-base)}.dash-cal-badge{display:none}}.dash-cal-dot.is-schedule{background:var(--color-accent)}.dash-cal-schedule-chip{display:flex;align-items:center;gap:3px;padding:2px 6px;font-size:.6875rem;font-weight:600;border-radius:4px;background:var(--color-accent-subtle);border:1px solid rgba(59,130,246,.4);color:var(--color-ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:all var(--dur-short) var(--ease-out)}.dash-cal-schedule-chip.is-personal{background:#8b5cf61f;border-color:#8b5cf659;color:#6d28d9}.dash-cal-chip-icon{flex-shrink:0;color:var(--color-accent)}.dash-cal-schedule-chip.is-personal .dash-cal-chip-icon{color:#7c3aed}@media(hover:hover)and (pointer:fine){.dash-cal-schedule-chip:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.dash-cal-schedule-chip:hover .dash-cal-chip-icon{color:#fff}.dash-cal-schedule-chip.is-personal:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.dash-cal-schedule-chip.is-personal:hover .dash-cal-chip-icon{color:#fff}}.section-schedule{margin-top:0}.alert-tab-bar{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:4px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);margin-bottom:var(--space-md);max-width:100%;overflow-x:auto}.alert-tab-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.5rem .85rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--color-muted);background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:all var(--dur-short) var(--ease-out)}.alert-tab-btn:hover{color:var(--color-ink);background:#0000000a}@media(prefers-color-scheme:dark){.alert-tab-btn:hover{background:#ffffff0f}}.alert-tab-btn.is-active{color:var(--color-ink);background:var(--color-card);box-shadow:var(--shadow-sm)}.alert-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding-inline:.35rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;line-height:1}.alert-tab-badge.active-badge{background:var(--color-accent-subtle);color:var(--color-accent)}.alert-tab-badge.archived-badge{background:var(--color-paper-3);color:var(--color-muted)}.alert-tab-btn.is-active .alert-tab-badge.active-badge{background:var(--color-accent);color:#fff}.alert-tab-btn.is-active .alert-tab-badge.archived-badge{background:var(--color-ink-2);color:var(--color-paper)}.alert-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.alert-subfilters{display:flex;align-items:center;gap:var(--space-2xs);flex-wrap:wrap}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);flex-wrap:wrap}.pagination-info{font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums}.pagination-controls{display:flex;align-items:center;gap:4px}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .4rem;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;border:1px solid var(--color-rule);background:var(--color-card);color:var(--color-ink-2);cursor:pointer;transition:all var(--dur-short) var(--ease-out)}.page-btn:hover:not(:disabled){background:var(--color-paper-3);color:var(--color-ink);border-color:var(--color-rule-2)}.page-btn.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-whisper)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.chip-archived{background:var(--color-paper-3);color:var(--color-muted);border-color:var(--color-rule)}.alert-text-sent{color:var(--color-muted)}.list-item.is-sent{opacity:.88}.list-item.is-archived-item{opacity:.85}.project-color-picker-container{display:flex;flex-direction:column;gap:var(--space-xs);margin-block:var(--space-xs)}.project-color-picker-body{display:flex;flex-direction:column;gap:var(--space-xs)}.project-color-swatches{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.project-color-swatch-btn{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;padding:0;box-shadow:0 1px 3px #00000026;position:relative}.project-color-swatch-btn:hover{transform:scale(1.15);z-index:2}.project-color-swatch-btn.active{border-color:#fff;box-shadow:0 0 0 2px var(--color-ink),0 2px 6px #00000040;transform:scale(1.12)}.project-color-swatch-btn .swatch-check{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.project-color-custom-wrap{position:relative;display:inline-flex;align-items:center}.project-color-swatch-btn.custom-btn{background:conic-gradient(from 180deg at 50% 50%,#ef4444,#f59e0b,#10b981,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444);color:#fff}.project-color-swatch-btn.custom-btn .custom-palette-icon{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.project-color-hidden-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;pointer-events:none}.project-color-preview-bar{display:flex;align-items:center;gap:var(--space-sm);padding:6px 12px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);font-size:.82rem;width:fit-content}.project-color-preview-bar .preview-label{color:var(--color-muted);font-size:.76rem}.project-color-preview-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-full);border:1px solid transparent;font-size:.78rem;font-weight:600}.project-color-hex-tag{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--color-muted);letter-spacing:.5px}.project-color-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.project-code-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-sm);font-size:.76rem;font-weight:700;font-family:var(--font-mono, monospace);letter-spacing:.2px}
