:root{--bg-app: #ffffff;--bg-surface: #ffffff;--bg-sidebar: #f7f7f7;--bg-active: #efefef;--bg-sunken: #efefef;--bg-overlay: rgba(0, 0, 0, .32);--bg-hover: rgba(0, 0, 0, .03);--border-subtle: rgba(0, 0, 0, .11);--border-base: rgba(0, 0, 0, .17);--border-strong: rgba(0, 0, 0, .28);--text-primary: #0a0a0a;--text-secondary: #3d3d3d;--text-tertiary: #767676;--text-disabled: #b0b0b0;--text-inverse: #ffffff;--accent: #6366f1;--accent-hover: #818cf8;--accent-active: #4f46e5;--accent-soft: rgba(99, 102, 241, .1);--on-accent: #ffffff;--success: #1f9d55;--success-soft: rgba(31, 157, 85, .12);--warning: #b88300;--warning-soft: rgba(184, 131, 0, .12);--danger: #d93025;--danger-soft: rgba(217, 48, 37, .12);--info: #6366f1;--info-soft: rgba(99, 102, 241, .1);--tag-graphite: #111827;--tag-graphite-soft: rgba(17, 24, 39, .11);--tag-amber: #92400e;--tag-amber-soft: rgba(146, 64, 14, .16);--tag-green: #166534;--tag-green-soft: rgba(22, 101, 52, .18);--tag-blue: #1d4ed8;--tag-blue-soft: rgba(29, 78, 216, .16);--tag-purple: #7e22ce;--tag-purple-soft: rgba(126, 34, 206, .16);--tag-pink: #be185d;--tag-pink-soft: rgba(190, 24, 93, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--bg-elevated: var(--bg-surface);--bg-canvas: var(--bg-sidebar);--bg-highlight: #f0f0f0;--surface-2: var(--bg-sunken);--surface-3: var(--bg-sunken);--bg: var(--bg-app);--border: var(--border-base);--text-muted: var(--text-tertiary);--callout-bg: rgba(99, 102, 241, .05);--callout-border: rgba(99, 102, 241, .12);--callout-bg-risk: rgba(217, 48, 37, .045);--callout-border-risk: rgba(217, 48, 37, .12);--callout-bg-pos: rgba(31, 157, 85, .05);--callout-border-pos: rgba(31, 157, 85, .14);--callout-bg-neg: rgba(217, 48, 37, .045);--callout-border-neg: rgba(217, 48, 37, .14);color-scheme:light}[data-theme=dark]{--bg-app: #141414;--bg-surface: #1a1a1a;--bg-sidebar: #1a1a1a;--bg-active: #242424;--bg-hover: rgba(255, 255, 255, .04);--bg-sunken: #101010;--bg-overlay: rgba(0, 0, 0, .6);--border-subtle: rgba(255, 255, 255, .09);--border-base: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .24);--text-primary: #f5f5f5;--text-secondary: #b8b8b8;--text-tertiary: #7a7a7a;--text-disabled: #4a4a4a;--text-inverse: #0a0a0a;--accent: #6366f1;--accent-hover: #818cf8;--accent-active: #4f46e5;--accent-soft: rgba(99, 102, 241, .2);--on-accent: #ffffff;--success: #34c759;--success-soft: rgba(52, 199, 89, .16);--warning: #ffd60a;--warning-soft: rgba(255, 214, 10, .14);--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .16);--info: #6366f1;--info-soft: rgba(99, 102, 241, .18);--tag-graphite: #cbd5e1;--tag-graphite-soft: rgba(203, 213, 225, .16);--tag-amber: #fbbf24;--tag-amber-soft: rgba(251, 191, 36, .16);--tag-green: #4ade80;--tag-green-soft: rgba(74, 222, 128, .16);--tag-blue: #60a5fa;--tag-blue-soft: rgba(96, 165, 250, .16);--tag-purple: #c084fc;--tag-purple-soft: rgba(192, 132, 252, .18);--tag-pink: #f472b6;--tag-pink-soft: rgba(244, 114, 182, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--bg-elevated: var(--bg-surface);--bg-canvas: var(--bg-app);--bg-highlight: #232323;--surface-2: var(--bg-sunken);--surface-3: var(--bg-sunken);--bg: var(--bg-app);--border: var(--border-base);--text-muted: var(--text-tertiary);--callout-bg: rgba(129, 140, 248, .12);--callout-border: rgba(129, 140, 248, .22);--callout-bg-risk: rgba(248, 113, 113, .1);--callout-border-risk: rgba(248, 113, 113, .2);--callout-bg-pos: rgba(74, 222, 128, .09);--callout-border-pos: rgba(74, 222, 128, .2);--callout-bg-neg: rgba(248, 113, 113, .1);--callout-border-neg: rgba(248, 113, 113, .2);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}html{-webkit-text-size-adjust:100%}body{background:var(--bg-app);transition:background-color .2s ease,color .2s ease}body.is-ask-modal,body.is-modal-open,body.is-journal-open{overflow:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0;width:100%}::selection{background:var(--accent-soft);color:var(--text-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5;color:var(--text-primary);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;line-height:1.2;color:var(--text-primary);letter-spacing:0}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:.9375rem}h6{font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}p{margin:0}small{font-size:.875rem;color:var(--text-secondary)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:.9375rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.375rem}.text-muted{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.mono{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.up{color:var(--success)}.down{color:var(--danger)}.flat{color:var(--text-tertiary)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;height:32px;border-radius:10px;border:1px solid transparent;font-size:.875rem;font-weight:500;line-height:1;text-align:center;background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-base);transition:background-color .12s cubic-bezier(.16,1,.3,1),border-color .12s cubic-bezier(.16,1,.3,1),color .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none}.btn:hover,.btn:focus-visible{text-decoration:none}.btn>span{line-height:1}.btn>app-icon:first-child,.btn>svg:first-child{position:absolute;left:.75rem;top:50%;transform:translateY(-50%)}.btn:has(>app-icon:first-child+span),.btn:has(>svg:first-child+span){padding-left:calc(1.25rem + 16px);padding-right:calc(1.25rem + 16px)}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:active:not(:disabled){background:var(--accent-active)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn--danger{background:var(--danger);color:var(--on-accent);border-color:var(--danger)}.btn--danger:hover{background:var(--danger);border-color:var(--danger)}.btn--icon{width:32px;padding:0}.btn--icon>app-icon:first-child,.btn--icon>svg:first-child{position:static;transform:none}.btn--sm{height:28px;padding:0 .75rem;font-size:.75rem}.btn--sm:has(>app-icon:first-child+span),.btn--sm:has(>svg:first-child+span){padding-left:calc(1rem + 14px);padding-right:calc(1rem + 14px)}.overlay-close{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;position:absolute;top:1rem;right:1.5rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:var(--text-secondary);transition:background-color .12s cubic-bezier(.16,1,.3,1),color .12s cubic-bezier(.16,1,.3,1)}.overlay-close:hover{background:var(--bg-hover);color:var(--text-primary)}.overlay-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fld{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.fld__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.fld__hint{font-size:.75rem;color:var(--text-tertiary);margin:0}.fld__req{color:var(--danger)}.input,.textarea,.select{width:100%;font:inherit;font-size:.875rem;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-base);border-radius:10px;padding:.75rem;transition:border-color .12s cubic-bezier(.16,1,.3,1),box-shadow .12s cubic-bezier(.16,1,.3,1)}.input::placeholder,.textarea::placeholder,.select::placeholder{color:var(--text-tertiary)}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:140px;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--border-base) transparent}.textarea::-webkit-scrollbar{width:8px;height:8px}.textarea::-webkit-scrollbar-track{background:transparent}.textarea::-webkit-scrollbar-thumb{background:var(--border-base);border-radius:999px}.textarea::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.textarea--lg{min-height:240px}.select{appearance:none;cursor:pointer;padding-right:2rem}.select-bare{position:relative;display:inline-flex;align-items:center;color:var(--text-tertiary)}.select-bare select{appearance:none;-webkit-appearance:none;height:34px;padding:0 28px 0 .75rem;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;font-size:.875rem;cursor:pointer;transition:background-color .12s cubic-bezier(.16,1,.3,1),border-color .12s cubic-bezier(.16,1,.3,1)}.select-bare select:hover{background:var(--bg-hover);border-color:var(--border-base)}.select-bare select:focus{outline:none}.select-bare select:focus-visible{outline:none;background:var(--bg-active);border-color:var(--border-strong)}.select-bare app-icon,.select-bare>svg{position:absolute;right:.5rem;display:inline-flex;pointer-events:none}.fld-row{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:480px){.fld-row{grid-template-columns:1fr 1fr}}.card{background:var(--bg-surface);border:1px solid var(--border-base);border-radius:14px;padding:1.5rem}.card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.card__title{font-size:1.125rem;font-weight:600;margin:0}.card__subtitle{font-size:.875rem;color:var(--text-tertiary);margin:.25rem 0 0}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:2px .5rem;font-size:.75rem;font-weight:500;border-radius:999px;background:var(--bg-sunken);color:var(--text-secondary);border:1px solid var(--border-subtle);line-height:1.4}.badge--neutral{background:var(--bg-sunken);color:var(--text-secondary);border-color:var(--border-subtle)}.badge--accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.badge--success{background:var(--success-soft);color:var(--success);border-color:transparent}.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge--info{background:var(--info-soft);color:var(--info);border-color:transparent}.chip{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;height:34px;padding:0 .75rem;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--text-secondary);font-size:.875rem;transition:background-color .12s cubic-bezier(.16,1,.3,1),border-color .12s cubic-bezier(.16,1,.3,1)}.chip__count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--text-tertiary)}.chip:hover{background:var(--bg-hover)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.is-on{background:var(--bg-active);border-color:var(--border-base);color:var(--text-primary)}.chip.has-signal .chip__count{color:var(--accent);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-tertiary)}.dot--success{background:var(--success)}.dot--warning{background:var(--warning)}.dot--danger{background:var(--danger)}.dot--info{background:var(--info)}.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:.875rem}.tbl th,.tbl td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border-subtle)}.tbl thead th{font-weight:500;color:var(--text-tertiary);text-transform:uppercase;font-size:.75rem;letter-spacing:.04em;padding-top:0}.tbl tbody th{font-weight:400;color:var(--text-secondary)}.tbl td.num,.tbl th.num{text-align:right;font-feature-settings:"tnum"}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background-color .12s cubic-bezier(.16,1,.3,1)}.tbl tbody tr:hover{background:var(--bg-hover)}.seg-switch{display:inline-flex;padding:2px;background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:10px}.seg-switch.is-disabled{opacity:.45}.seg-switch__btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:.5rem .75rem;font-size:.75rem;line-height:1;color:var(--text-tertiary);border-radius:6px;white-space:nowrap;transition:background-color .12s cubic-bezier(.16,1,.3,1),color .12s cubic-bezier(.16,1,.3,1)}.seg-switch__btn:hover:not(:disabled){color:var(--text-primary)}.seg-switch__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg-switch__btn:disabled{cursor:default}.seg-switch__btn.is-active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.seg-switch__btn--accent{font-weight:500}.seg-switch__btn--accent.is-active{color:var(--accent);font-weight:600}.seg-switch__btn--lg{font-size:.875rem;font-weight:500;gap:.5rem}.seg-switch__dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.status-row{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid var(--border-subtle)}.status-row:last-child{border-bottom:none}.status-row__dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--border-base);align-self:center}.status-row__label{flex-shrink:0;color:var(--text-primary)}.status-row__note{min-width:0;flex:1;font-size:.75rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-row__note--mono{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}.status-row__note--danger{color:var(--danger)}.status-row--pending .status-row__label{color:var(--text-tertiary)}.status-row--running .status-row__dot{background:var(--accent)}.status-row--done .status-row__dot{background:var(--success)}.status-row--error .status-row__dot{background:var(--danger)}.metric{display:flex;flex-direction:column;gap:.5rem}.metric__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-weight:500}.metric__value{font-size:1.75rem;font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.metric__delta{font-size:.75rem;display:inline-flex;align-items:center;gap:.25rem}.section{margin-bottom:3rem}.section__title{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.section__title h2{font-size:1.375rem}.empty{text-align:center;padding:3rem 1rem;color:var(--text-tertiary);font-size:.875rem}.divider{height:1px;background:var(--border-base);margin:1.5rem 0;width:100%}mark.sb__pin-hl{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 -2px color-mix(in srgb,var(--accent) 55%,transparent);color:inherit;border-radius:2px;padding:0 1px;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}mark.sb__pin-hl:hover{background:color-mix(in srgb,var(--accent) 24%,transparent);box-shadow:inset 0 -2px 0 var(--accent)}
