.md-render[data-v-ed33cf20]{line-height:1.7;word-break:break-word}.md-render[data-v-ed33cf20] h1,.md-render[data-v-ed33cf20] h2,.md-render[data-v-ed33cf20] h3{font-size:1.05em;font-weight:700;margin:.8em 0 .3em}.md-render[data-v-ed33cf20] p{margin:.3em 0}.md-render[data-v-ed33cf20] ul,.md-render[data-v-ed33cf20] ol{padding-left:1.4em;margin:.3em 0}.md-render[data-v-ed33cf20] li{margin:.15em 0}.md-render[data-v-ed33cf20] code{background:#7f7f7f1f;border-radius:4px;padding:.1em .35em;font-size:.92em}.md-render[data-v-ed33cf20] pre{background:#7f7f7f14;border-radius:6px;padding:.6em .8em;overflow-x:auto;margin:.4em 0}.md-render[data-v-ed33cf20] pre code{background:none;padding:0}.md-render[data-v-ed33cf20] blockquote{border-left:3px solid var(--color-rule, #e5e7eb);margin:.4em 0;padding-left:.8em;color:var(--color-muted, #888)}.md-render[data-v-ed33cf20] img{max-width:100%;border-radius:6px}.md-render[data-v-ed33cf20] table{border-collapse:collapse;margin:.4em 0}.md-render[data-v-ed33cf20] th,.md-render[data-v-ed33cf20] td{border:1px solid var(--color-rule, #e5e7eb);padding:.3em .6em;font-size:.95em}.md-render[data-v-ed33cf20] a{color:var(--color-brand, #2f6bff)}:root{color-scheme:light;--color-paper: oklch(96.5% .012 250);--color-paper-hi: oklch(97.8% .01 250);--color-glass-hi: oklch(99% .004 250 / .5);--color-paper-2: oklch(93.5% .018 250);--color-paper-3: oklch(90% .022 250);--color-rule: oklch(86% .022 252);--color-rule-2: oklch(78% .03 253);--color-neutral: oklch(52% .03 255);--color-muted: oklch(42% .035 258);--color-ink: oklch(18.5% .048 265);--color-ink-2: oklch(30% .04 262);--color-accent: oklch(55% .23 262);--color-accent-deep: oklch(46% .22 262);--color-accent-hi: oklch(60% .215 262);--color-accent-ink: oklch(98% .01 250);--color-accent-soft: oklch(93% .045 255);--color-focus: oklch(46% .22 262);--color-accent-ring: oklch(55% .23 262 / .14);--grad-brand: linear-gradient(120deg, oklch(55% .23 262), oklch(53% .25 280) 50%, oklch(66% .14 230));--grad-brand-bright: linear-gradient(120deg, oklch(74% .15 262), oklch(72% .16 280) 50%, oklch(82% .11 230));--color-accent-cyan: oklch(68% .13 235);--color-graphite: oklch(17% .035 265);--color-graphite-2: oklch(23% .045 265);--color-on-graphite: oklch(94% .015 250);--color-on-graphite-dim: oklch(78% .025 250);--color-rule-dark: oklch(30% .04 265);--color-ok: oklch(50% .12 165);--color-warn: oklch(50% .12 55);--color-error: oklch(52% .18 350);--color-ok-soft: oklch(95% .035 165);--color-warn-soft: oklch(95% .045 70);--color-error-soft: oklch(95% .03 350);--shadow-whisper: 0 1px 2px oklch(26% .05 262 / .05), 0 14px 44px oklch(26% .06 262 / .13);--shadow-hairline: 0 0 0 1px oklch(30% .05 255 / .06), 0 1px 2px oklch(30% .05 255 / .04);--shadow-lift: 0 1px 2px oklch(26% .05 262 / .08), 0 18px 48px oklch(26% .06 262 / .17);--grad-main-bloom: radial-gradient(56rem 20rem at 16% -12%, oklch(98.4% .022 252 / .9), transparent 68%);--color-scrim: oklch(11% .03 265 / .4);--logo-h: 30px;--logo-on-dark: brightness(0) invert(1);--font-display: "Noto Serif SC", "Songti SC", "SimSun", serif;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, "PingFang SC", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 2.078rem;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--radius-s: 12px;--radius-m: 18px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--z-tour: 700;--color-brand: var(--color-accent);--color-card: var(--color-paper-hi);--color-bg: var(--color-paper);--color-bg-elev: var(--color-paper-hi);--color-text: var(--color-ink);--color-danger: var(--color-error);--radius-l: var(--radius-m);--dur-fast: var(--dur-micro);--space-4xs: 2px;--rail-w: 13.5rem;--shell-max: 90rem}[data-theme=dark]{color-scheme:dark;--color-paper: oklch(18% .038 264);--color-paper-hi: oklch(20.5% .04 264);--color-glass-hi: oklch(100% 0 0 / .05);--color-paper-2: oklch(23% .042 264);--color-paper-3: oklch(27% .044 264);--color-rule: oklch(31% .04 264);--color-rule-2: oklch(39% .045 264);--color-neutral: oklch(60% .025 258);--color-muted: oklch(70% .025 256);--color-ink: oklch(93% .012 250);--color-ink-2: oklch(80% .018 252);--color-accent: oklch(66% .2 262);--color-accent-deep: oklch(74% .16 262);--color-accent-hi: oklch(73% .16 262);--color-accent-ink: oklch(15% .04 264);--color-accent-soft: oklch(66% .2 262 / .16);--color-focus: oklch(80% .12 262);--color-accent-ring: oklch(66% .2 262 / .24);--color-accent-cyan: oklch(78% .11 230);--grad-brand: linear-gradient(120deg, oklch(74% .15 262), oklch(72% .16 280) 50%, oklch(82% .11 230));--grad-main-bloom: radial-gradient(56rem 20rem at 16% -12%, oklch(27% .06 262 / .5), transparent 68%);--color-graphite: oklch(15% .033 265);--color-graphite-2: oklch(20% .038 265);--color-on-graphite: oklch(94% .015 250);--color-on-graphite-dim: oklch(72% .025 250);--color-rule-dark: oklch(28% .04 265);--color-ok: oklch(72% .14 165);--color-warn: oklch(75% .14 70);--color-error: oklch(68% .17 350);--color-ok-soft: oklch(72% .14 165 / .16);--color-warn-soft: oklch(75% .14 70 / .16);--color-error-soft: oklch(68% .17 350 / .16);--shadow-whisper: 0 1px 2px oklch(0% 0 0 / .35), 0 14px 44px oklch(0% 0 0 / .38);--shadow-hairline: 0 0 0 1px oklch(100% 0 0 / .04), 0 1px 2px oklch(0% 0 0 / .28);--shadow-lift: 0 1px 2px oklch(0% 0 0 / .4), 0 18px 48px oklch(0% 0 0 / .45);--color-scrim: oklch(0% 0 0 / .62)}html,body{overflow-x:clip}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--color-accent-deep);text-decoration:none}a:not(.btn):not(.rail__item){position:relative}a:not(.btn):not(.rail__item):after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}@media(hover:hover){a:not(.btn):not(.rail__item):hover{text-decoration:none}a:not(.btn):not(.rail__item):hover:after{transform:scaleX(1)}}a:not(.btn):not(.rail__item):focus-visible:after{transform:scaleX(1)}::selection{background:var(--color-accent-soft)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-s)}.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.tnum{font-variant-numeric:tabular-nums}:root{--ctl-h: 44px;--ctl-h-s: 34px;--ctl-px: .75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);height:var(--ctl-h);padding-inline:var(--space-md);border:1px solid var(--color-rule-2);border-radius:var(--radius-s);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.btn:active{transform:translateY(1px)}@media(hover:hover){.btn:hover{background:var(--color-paper-2);border-color:var(--color-neutral)}}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn--primary{background:linear-gradient(180deg,var(--color-accent-hi),var(--color-accent));border-color:var(--color-accent-deep);color:var(--color-accent-ink);box-shadow:inset 0 1px #a4c5ff52,0 1px 2px #1323412e}@media(hover:hover){.btn--primary:hover{background:var(--color-accent-deep);border-color:var(--color-accent-deep);color:var(--color-accent-ink);transform:translateY(-1px)}}.btn--primary:active{transform:translateY(0)}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-muted)}@media(hover:hover){.btn--ghost:hover{background:var(--color-paper-2);border-color:var(--color-paper-2);color:var(--color-ink)}}.btn--danger{color:var(--color-error);border-color:var(--color-rule-2)}@media(hover:hover){.btn--danger:hover{background:var(--color-error-soft);border-color:var(--color-error)}}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn--sm{height:34px;padding-inline:var(--space-sm);font-size:var(--text-xs)}.btn__spin{width:14px;height:14px;border:2px solid color-mix(in oklab,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(180deg)}}.field{display:grid;gap:var(--space-2xs);min-width:0}.field__label{font-size:var(--text-sm);font-weight:500;color:var(--color-ink)}.field__label .req{color:var(--color-error);margin-inline-start:2px}.field__help{font-size:var(--text-xs);color:var(--color-muted);min-height:1lh}.field__help--error{color:var(--color-error);font-weight:500}.input,.select,.textarea{width:100%;border:1px solid var(--color-rule-2);border-radius:var(--radius-s);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);padding:0 var(--space-sm);height:var(--ctl-h);outline:2px solid transparent;outline-offset:1px;transition:background-color var(--dur-short) var(--ease-out)}.textarea{height:auto;min-height:6rem;padding-block:var(--space-sm);line-height:1.6;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%),linear-gradient(135deg,var(--color-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.input::placeholder,.textarea::placeholder{color:var(--color-muted);opacity:.75}@media(hover:hover){.input:hover,.select:hover,.textarea:hover{background:var(--color-paper-2)}}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid transparent;outline-offset:1px;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);background:var(--color-paper)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--color-paper-2)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-error)}.input--mono{font-family:var(--font-mono)}.filterbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.filterbar .input,.filterbar .select,.filterbar .s-select{width:auto;min-width:9rem}.filterbar .input--search{min-width:16rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.form-grid .field--full{grid-column:1 / -1}.form-grid .field--wide{grid-column:span 2}@media(max-width:40rem){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .field--wide{grid-column:auto}}.form-section-title{grid-column:1 / -1;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);padding-top:var(--space-2xs)}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px .58rem;letter-spacing:.02em;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;line-height:1.6;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--planning{color:var(--color-warn);background:var(--color-warn-soft)}.badge--doing{color:var(--color-accent-deep);background:var(--color-accent-soft)}.badge--closed{color:var(--color-muted);background:var(--color-paper-3)}.badge--done{color:var(--color-ok);background:var(--color-ok-soft)}.badge--direct{color:var(--color-ink);background:var(--color-paper-3)}.badge--channel{color:var(--color-accent-deep);background:var(--color-accent-soft)}.badge--merged{color:var(--color-ink-2);background:var(--color-paper-3)}.badge--danger{color:var(--color-error);background:var(--color-error-soft)}.badge--active{color:var(--color-ok);background:var(--color-ok-soft)}.badge--inactive{color:var(--color-muted);background:var(--color-paper-3)}.badge--plain{color:var(--color-ink-2);background:var(--color-paper-3)}.badge--plain:before{display:none}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-reset{display:grid;gap:var(--space-2xs);list-style:none;margin:0;padding:0}.row--split{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);min-width:0}.section-divider{border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.accent-check{accent-color:var(--color-accent)}.loading-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-lg) 0;color:var(--color-muted);font-size:var(--text-sm)}.loading-row:before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:2px solid var(--color-rule-2);border-top-color:var(--color-accent);animation:loading-rot .8s linear infinite}@keyframes loading-rot{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-row:before{animation-duration:2.4s}}.link-like{background:none;border:0;padding:0;color:var(--color-accent-deep);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--color-accent) 35%,transparent);text-underline-offset:3px}.link-like:hover{text-decoration-color:var(--color-accent)}.link-like:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.shell{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100dvh}.rail{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;border-right:1px solid var(--color-rule);background:linear-gradient(180deg,var(--color-paper-hi) 0,var(--color-paper) 16rem);padding:var(--space-lg) var(--space-sm);overflow-y:auto}.rail__brand{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-sm) var(--space-lg)}.brand-logo{height:var(--logo-h);width:auto;align-self:flex-start;display:block;margin-bottom:var(--space-2xs)}.brand-logo--dark,[data-theme=dark] .brand-logo{filter:var(--logo-on-dark)}.rail__wordmark{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:var(--color-ink);letter-spacing:.01em;white-space:nowrap}.rail__wordmark b{color:var(--color-accent);font-weight:700}.rail__tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail__group{margin-bottom:var(--space-2xs)}.rail__group-toggle{display:flex;align-items:center;gap:var(--space-2xs);width:100%;height:40px;padding:0 var(--space-sm);border:none;border-radius:var(--radius-s);background:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);cursor:pointer;text-align:left;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}@media(hover:hover){.rail__group-toggle:hover{color:var(--color-ink);background:var(--color-paper-2)}}.rail__group-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.rail__group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail__group-toggle.has-active{color:var(--color-accent-deep)}.rail__chevron{flex:none;color:var(--color-muted);transition:transform var(--dur-short) var(--ease-out)}.rail__group:not(.is-open) .rail__chevron{transform:rotate(-90deg)}.rail__group.is-open .rail__group-toggle.has-active .rail__chevron{color:var(--color-accent-deep)}.rail__submenu{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-short) var(--ease-out)}.rail__group:not(.is-open) .rail__submenu{grid-template-rows:0fr;pointer-events:none}.rail__submenu-inner{overflow:hidden;min-height:0;display:grid}.rail .rail__item--top{height:40px;font-weight:600}.rail .rail__item--sub{height:36px;padding-left:calc(var(--space-md) + var(--space-xs));color:var(--color-muted);font-weight:400}.rail .rail__item--sub.is-active{font-weight:500}@media(prefers-reduced-motion:reduce){.rail__submenu,.rail__chevron{transition:none}}.rail__item{display:flex;align-items:center;gap:var(--space-2xs);height:40px;padding:0 var(--space-sm);border-radius:var(--radius-s);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.rail__item:hover{background:var(--color-paper-2);text-decoration:none;color:var(--color-ink)}.rail__item.is-active{background:var(--color-accent-soft);color:var(--color-accent-deep);font-weight:600;box-shadow:inset 0 0 0 1px var(--color-accent-ring),inset 0 1px 0 var(--color-glass-hi)}.rail__icon{display:inline-flex;flex:none;width:16px;height:16px;color:var(--color-muted);transition:color var(--dur-short) var(--ease-out)}.rail .rail__item--sub .rail__icon{width:15px;height:15px;color:var(--color-muted)}.rail__item.is-active .rail__icon,.rail__group-toggle.has-active .rail__icon{color:var(--color-accent-deep)}@media(hover:hover){.rail__item:hover .rail__icon,.rail__group-toggle:hover .rail__icon{color:var(--color-ink-2)}.rail__item.is-active:hover .rail__icon{color:var(--color-accent-deep)}}.rail__spacer{flex:1}.topbar{position:sticky;top:calc(-1 * var(--space-lg));z-index:var(--z-sticky);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-md);margin:calc(-1 * var(--space-lg)) calc(-1*clamp(var(--space-lg),4vw,var(--space-2xl))) var(--space-md);padding:var(--space-2xs) clamp(var(--space-lg),4vw,var(--space-2xl));background:color-mix(in oklab,var(--color-paper) 78%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in oklab,var(--color-rule) 55%,transparent)}.topbar__search{grid-column:2;display:flex;align-items:center;gap:var(--space-2xs);height:36px;width:min(30rem,40vw);padding:0 var(--space-2xs) 0 var(--space-sm);border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.topbar__search-label{flex:1;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__search svg{flex:none}@media(hover:hover){.topbar__search:hover{border-color:var(--color-rule-2);background:var(--color-paper-3);color:var(--color-ink-2);box-shadow:var(--shadow-hairline)}}.topbar__search:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.topbar__search:active{transform:translateY(1px)}.topbar__user{grid-column:3;justify-self:end;position:relative;min-width:0}.topbar__who{display:flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs);border:1px solid transparent;border-radius:999px;background:none;cursor:pointer;color:var(--color-muted);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.topbar__who:hover,.topbar__who.is-open{background:var(--color-paper-2);border-color:var(--color-rule)}.topbar__who:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.topbar .avatar{width:28px;height:28px}.topbar__who-chev{transition:transform var(--dur-short) var(--ease-out)}.topbar__who.is-open .topbar__who-chev{transform:rotate(180deg)}.topbar__user-role{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__menu{position:absolute;top:calc(100% + var(--space-2xs));right:0;min-width:11.5rem;padding:var(--space-3xs);background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-s);box-shadow:var(--shadow-lift);z-index:var(--z-dropdown)}.topbar__menu-head{display:grid;gap:1px;padding:var(--space-2xs) var(--space-sm) var(--space-xs);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-3xs)}.topbar__menu-name{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.topbar__menu-item{display:flex;align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-sm);border:none;border-radius:calc(var(--radius-s) / 1.5);background:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);text-align:left;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.topbar__menu-item:hover{background:var(--color-paper-2)}}.topbar__menu-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.topbar__menu-item--danger:hover{background:var(--color-error-soft);color:var(--color-error)}.menu-pop-enter-active,.menu-pop-leave-active{transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.menu-pop-enter-from,.menu-pop-leave-to{opacity:0;transform:translateY(-4px) scale(.97)}.rail__ver{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted);padding:var(--space-2xs) var(--space-sm) 0}.kbd{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;padding:.32em .5em;border:1px solid var(--color-rule-2);border-bottom-width:2px;border-radius:calc(var(--radius-s) / 2);background:var(--color-paper);color:var(--color-muted);white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;overflow:hidden;flex:none;background:var(--color-accent-soft)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar__fallback{font-weight:600;color:var(--color-accent-deep);font-size:var(--text-sm)}.avatar--lg{width:64px;height:64px}.avatar--lg .avatar__fallback{font-size:var(--text-md)}.main{padding:var(--space-lg) clamp(var(--space-lg),4vw,var(--space-2xl));max-width:var(--shell-max);min-width:0;width:100%;margin-inline:auto;background:var(--grad-main-bloom) no-repeat top left}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.page-head__sub{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-2xs)}.page-head__actions{display:flex;gap:var(--space-2xs);align-items:center;flex-wrap:wrap}.page-head__actions .input{width:clamp(8.25rem,24vw,9.5rem);height:var(--ctl-h-s);padding:0 var(--space-xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.page-head__actions .muted{font-size:var(--text-sm)}.rail__burger{display:none}@media(max-width:60rem){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:sticky;top:0;height:auto;z-index:var(--z-sticky);flex-direction:row;align-items:center;flex-wrap:wrap;padding:var(--space-sm) var(--space-md);gap:var(--space-sm);border-bottom:1px solid var(--color-rule)}.rail__brand{padding:0;margin-right:auto}.rail__burger{display:inline-flex}.rail__nav{display:none;width:100%;flex-direction:column}.rail.is-open .rail__nav{display:flex}.rail.is-open .rail__nav{max-height:calc(100dvh - 7rem);overflow-y:auto}.rail__group{margin-bottom:var(--space-2xs)}.rail__ver{display:none}.main{padding:var(--space-md)}.topbar{top:calc(-1 * var(--space-md));margin:calc(-1 * var(--space-md)) calc(-1 * var(--space-md)) var(--space-sm);padding:var(--space-3xs) var(--space-xs);gap:var(--space-2xs)}.topbar__search{width:2.4rem;padding:0;justify-content:center}.topbar__search-label,.topbar__search .kbd{display:none}}.table-wrap{border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--color-muted);text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-rule);white-space:nowrap}.table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-rule);vertical-align:middle;color:var(--color-ink-2);min-width:0}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:nth-child(2n){background:color-mix(in oklab,var(--color-ink) 3%,transparent)}.table tbody tr{transition:background-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.table tbody tr:hover{background:var(--color-paper-2)}}.table-wrap .table th{position:sticky;top:0;z-index:1;background:var(--color-paper);border-bottom:none;box-shadow:inset 0 -1px 0 var(--color-rule)}.table tr.is-selected{background:var(--color-accent-soft)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cell-title{color:var(--color-ink);font-weight:500}.cell-sub{display:block;font-size:var(--text-xs);color:var(--color-muted)}.table .cell-actions{display:flex;gap:var(--space-2xs);justify-content:flex-end}.table a.cell-title,a.cell-title{color:var(--color-accent-deep)}.search-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 5);display:flex;justify-content:center;align-items:flex-start;padding:11vh 1rem 0;background:var(--color-scrim);-webkit-backdrop-filter:blur(4px) saturate(.92);backdrop-filter:blur(4px) saturate(.92);animation:search-fade var(--dur-short) var(--ease-out)}.search-panel{width:min(38rem,100%);display:flex;flex-direction:column;max-height:min(30rem,72vh);background:var(--color-paper);border-radius:var(--radius-m);box-shadow:var(--shadow-hairline),var(--shadow-lift);overflow:hidden;animation:search-pop .18s var(--ease-out)}@keyframes search-fade{0%{opacity:0}}@keyframes search-pop{0%{opacity:0;transform:translateY(-8px) scale(.985)}}@keyframes search-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.search-scrim,.search-panel{animation:none}}.search-head{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-rule)}.search-head__icon{flex:none;color:var(--color-muted);display:inline-flex}.search-head__input{flex:1;min-width:0;border:none;background:none;padding:var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-2xs);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-ink)}.search-head__input::placeholder{font-size:var(--text-sm);font-weight:400;color:var(--color-muted);opacity:.9}.search-body{overflow-y:auto;padding:var(--space-2xs) 0 var(--space-xs);flex:1}.search-group{display:flex;align-items:baseline;justify-content:space-between;margin:var(--space-xs) 0 var(--space-3xs);padding:0 var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.search-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-2xs) var(--space-md);border:none;background:none;cursor:pointer;text-align:left}.search-item__text{flex:1;min-width:0}.search-item__title{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item__sub{display:block;margin-top:1px;font-size:var(--text-xs);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item .badge{flex:none}.search-item__go{flex:none;color:var(--color-accent-deep);opacity:0;transition:opacity var(--dur-micro) var(--ease-out)}.search-item:hover,.search-item.is-sel{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-ring),inset 0 1px 0 var(--color-glass-hi)}.search-item.is-sel .search-item__title{color:var(--color-accent-deep)}.search-item:hover .search-item__go,.search-item.is-sel .search-item__go{opacity:1}.search-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);padding:var(--space-xl) var(--space-md);font-size:var(--text-sm);color:var(--color-muted);text-align:center}.search-state--error{color:var(--color-error)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-rule-2);border-top-color:var(--color-accent);animation:search-spin .7s linear infinite}.search-foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);padding:var(--space-2xs) var(--space-md);border-top:1px solid var(--color-rule);background:var(--color-paper-2);font-size:var(--text-xs);color:var(--color-muted)}.search-foot__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.search-foot__hint{display:inline-flex;align-items:center;gap:var(--space-3xs)}@media(max-width:30rem){.search-foot__label{display:none}}.attach-chip{position:relative;display:inline-flex;width:4.5rem;height:4.5rem;border-radius:var(--radius-s);overflow:hidden;border:1px solid var(--color-rule);background:var(--color-paper-2)}.attach-chip img{width:100%;height:100%;object-fit:cover;display:block}.attach-chip button{position:absolute;top:0;right:0;border:none;background:#0000008c;color:#fff;width:1.25rem;height:1.25rem;line-height:1;cursor:pointer;border-radius:0 0 0 var(--radius-s)}.attach-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.record-list{display:flex;flex-direction:column}.record-list__item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-rule)}.record-list__item:last-child{border-bottom:none}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);margin-bottom:var(--space-lg)}.stat-strip>div{padding:var(--space-md) var(--space-lg);border-inline-start:1px solid var(--color-rule)}.stat-strip>div:first-child{border-inline-start:none}.stat-strip b{display:block;font-family:var(--font-display);font-weight:900;font-size:2.1rem;color:var(--color-ink);font-variant-numeric:tabular-nums;line-height:1.3}.stat-strip b.is-accent{color:var(--color-accent-deep)}.stat-strip span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:var(--space-md)}.cell{border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);padding:var(--space-md);min-width:0;box-shadow:var(--shadow-hairline)}.cell__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.cell__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-base);color:var(--color-ink)}.span-2x2,.span-2x1{grid-column:span 2}@media(max-width:60rem){.bento,.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip>div:nth-child(odd){border-inline-start:none}.stat-strip>div:nth-child(n+3){border-top:1px solid var(--color-rule)}}@media(max-width:40rem){.bento{grid-template-columns:minmax(0,1fr)}.span-2x2,.span-2x1{grid-column:auto}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.cell--graphite{background:var(--color-paper-hi);border-color:color-mix(in oklab,var(--color-accent) 22%,var(--color-rule));color:var(--color-ink)}.cell--graphite .cell__title{color:var(--color-accent-deep)}.cell--graphite .mono{color:var(--color-muted)}.cell--graphite .badge{border-color:color-mix(in oklab,currentColor 25%,transparent)}.bars{display:grid;gap:var(--space-2xs)}.bars__row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:var(--space-sm);font-size:var(--text-sm)}.bars__track{height:10px;border-radius:var(--radius-s);background:var(--color-paper-3);overflow:hidden}.bars__fill{height:100%;background:var(--color-accent);border-radius:var(--radius-s)}.bars__row:nth-child(2) .bars__fill{background:var(--color-accent-deep);opacity:.85}.bars__row:nth-child(3) .bars__fill{opacity:.7}.bars__row:nth-child(4) .bars__fill{opacity:.55}.bars__row .num{font-variant-numeric:tabular-nums;color:var(--color-muted);text-align:right}.trend{display:flex;align-items:flex-end;gap:4px;height:96px}.trend__col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-width:0}.trend__bar{background:var(--color-accent);border-radius:2px;min-height:2px;opacity:.85}.trend__bar--closed{background:var(--color-neutral);opacity:.45}.trend__label{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);text-align:center;letter-spacing:0}.dialog{border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);color:var(--color-ink-2);padding:0;width:min(44rem,calc(100vw - 2rem));max-height:min(85dvh,46rem);box-shadow:var(--shadow-lift);overflow:hidden;display:flex;flex-direction:column}.dialog:not([open]){display:none}.dialog--wide{width:min(60rem,calc(100vw - 2rem))}.dialog::backdrop{background:var(--color-scrim);backdrop-filter:blur(4px) saturate(.92);-webkit-backdrop-filter:blur(4px) saturate(.92)}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex:none;border-bottom:1px solid var(--color-rule)}.dialog__body{padding:var(--space-lg);overflow-y:auto;flex:1;min-height:0}.dialog__foot{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-rule);flex:none}.dialog[open]{animation:dialog-in var(--dur-long) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.x-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-s);background:transparent;color:var(--color-muted);font-size:1.1rem;cursor:pointer}.x-btn:hover{background:var(--color-paper-2);color:var(--color-ink)}.period-editor{display:flex;flex-direction:column;gap:var(--space-2xs);align-items:flex-start}.period-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2xs) var(--space-xs);width:100%;padding:var(--space-3xs) var(--space-3xs) var(--space-3xs) var(--space-2xs);border-left:3px solid transparent;border-radius:var(--radius-s)}.period-row--err{border-left-color:var(--color-error);background:color-mix(in oklab,var(--color-error) 5%,transparent)}.period-row__no{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;height:1.4em;border-radius:99px;background:var(--color-paper-2);color:var(--color-muted);font-size:.72rem;font-weight:600}.period-row__sep{color:var(--color-muted);font-size:.85rem}.period-row__err{grid-column:2 / -1;color:var(--color-error);font-size:.78rem;margin:0}@media(max-width:40rem){.period-row{grid-template-columns:auto minmax(9rem,1fr) auto minmax(9rem,1fr) auto;gap:var(--space-3xs)}.period-row__err{grid-column:1 / -1}}.drawer-scrim{backdrop-filter:blur(4px) saturate(.92);-webkit-backdrop-filter:blur(4px) saturate(.92);position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);z-index:var(--z-modal);animation:fade-in var(--dur-short) var(--ease-out)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(34rem,100vw);background:var(--color-paper);border-left:1px solid var(--color-rule);z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column;animation:drawer-in var(--dur-long) var(--ease-out);box-shadow:var(--shadow-lift)}.drawer__head{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-rule);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.drawer__body{padding:var(--space-lg);overflow-y:auto;flex:1}@keyframes drawer-in{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.timeline{display:grid;gap:var(--space-md)}.timeline__item{display:grid;grid-template-columns:.6rem minmax(0,1fr);gap:var(--space-sm)}.timeline__dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);margin-top:6px}.timeline__item--muted .timeline__dot{background:var(--color-rule-2)}.timeline__meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted);margin-bottom:2px}.timeline__content{font-size:var(--text-sm);color:var(--color-ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.tabs{display:flex;gap:var(--space-2xs);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-lg)}.tabs__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-muted);cursor:pointer;white-space:nowrap;margin-bottom:-1px}.tabs__btn:hover{color:var(--color-ink)}.tabs__btn.is-active{color:var(--color-accent-deep);border-bottom-color:var(--color-accent);font-weight:600}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap}.pager__info{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.pager__btns{display:flex;gap:var(--space-2xs)}.empty{display:grid;place-items:center;gap:var(--space-2xs);padding:var(--space-2xl) var(--space-md);text-align:center}.empty__title{font-weight:600;color:var(--color-ink);font-size:var(--text-base)}.empty__hint{color:var(--color-muted);font-size:var(--text-sm);max-width:40ch}.empty__mark{width:40px;height:40px;border:1px solid var(--color-rule-2);border-radius:var(--radius-s);display:grid;place-items:center;font-family:var(--font-mono);color:var(--color-muted);margin-bottom:var(--space-2xs)}.toasts{position:fixed;top:var(--space-md);right:var(--space-md);display:flex;flex-direction:column;gap:var(--space-2xs);z-index:var(--z-toast);max-width:min(24rem,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:var(--space-2xs);border:1px solid var(--color-rule-2);border-radius:var(--radius-s);background:var(--color-paper);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);box-shadow:var(--shadow-lift);animation:toast-in var(--dur-long) var(--ease-out)}.toast--error{border-color:var(--color-error)}.toast__msg{flex:1;min-width:0;overflow-wrap:anywhere}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dl{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:var(--space-2xs) var(--space-md);font-size:var(--text-sm)}.dl dt{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;padding-top:3px}.dl dd{margin:0;color:var(--color-ink-2);overflow-wrap:anywhere;min-width:0}@media(max-width:40rem){.dl{grid-template-columns:minmax(0,1fr);gap:var(--space-3xs) var(--space-md)}}.wizard-steps{display:flex;gap:var(--space-2xs);margin-bottom:var(--space-lg)}.wizard-steps span{flex:1;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border-bottom:2px solid var(--color-rule);padding-bottom:var(--space-2xs)}.wizard-steps span.is-active{color:var(--color-accent-deep);border-bottom-color:var(--color-accent);font-weight:600}.wizard-steps span.is-done{color:var(--color-ink);border-bottom-color:var(--color-ink)}.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}@media(max-width:40rem){.compare{grid-template-columns:minmax(0,1fr)}}.compare__side{border:1px solid var(--color-rule);border-radius:var(--radius-m);padding:var(--space-md);min-width:0}.compare__side--target{border-color:var(--color-accent)}.profile{display:grid;gap:var(--space-lg)}.profile__section{display:grid;gap:var(--space-sm)}.profile__section+.profile__section{border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.profile__avatar-row{display:flex;align-items:center;gap:var(--space-md)}.profile__avatar-ops{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.profile__hint{font-size:var(--text-xs);color:var(--color-muted);margin:0}.profile__save-cell{align-self:end}.pool-capture{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-md);background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-m);box-shadow:var(--shadow-hairline);margin-bottom:var(--space-md);color:var(--color-muted);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.pool-capture:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft),var(--shadow-hairline)}.pool-capture__input{flex:1;min-width:12rem;height:44px;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);outline:none;padding:0}.pool-capture__input::placeholder{color:var(--color-muted);opacity:.75;font-size:var(--text-sm)}.pool-capture__sep{width:1px;align-self:stretch;margin-block:var(--space-sm);background:var(--color-rule)}.pool-capture__source{width:10.5rem;height:36px;border:1px dashed var(--color-rule-2);border-radius:var(--radius-s);background:transparent;padding-inline:var(--space-sm);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink);outline:none}.pool-capture__source:focus{border-color:var(--color-accent);border-style:solid}.pool-capture .btn{flex:none}@media(max-width:40rem){.pool-capture__sep{display:none}.pool-capture__source{flex:1;width:auto}.pool-capture .btn{flex:1}}.eng-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-md)}.eng-card{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);text-align:left;cursor:pointer;font-family:var(--font-body);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}@media(hover:hover){.eng-card:hover{border-color:var(--color-rule-2);box-shadow:var(--shadow-whisper);transform:translateY(-1px)}}.eng-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.eng-card:active{transform:translateY(0)}.eng-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:calc(var(--radius-s) / 1.2);flex:none}.eng-card__icon--issue{background:var(--color-warn-soft);color:var(--color-warn)}.eng-card__icon--product{background:var(--color-accent-soft);color:var(--color-accent-deep)}.eng-card__icon--custom{background:var(--color-ok-soft);color:var(--color-ok)}.eng-card__body{display:grid;gap:var(--space-3xs);min-width:0}.eng-card__body b{font-size:var(--text-base);font-weight:600;color:var(--color-ink)}.eng-card__body span{font-size:var(--text-sm);color:var(--color-muted);line-height:1.5}.eng-stats{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);font-size:var(--text-sm);color:var(--color-muted)}.eng-stats b{font-size:var(--text-md);font-weight:700;color:var(--color-ink);margin-right:var(--space-2xs)}.note-list{display:grid;gap:var(--space-md)}.note-card{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);min-width:0}.note-card__title{font-size:var(--text-base);font-weight:600;color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.note-card__meta{margin:var(--space-3xs) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-muted)}.note-card__content{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.note-card__like{display:inline-flex;align-items:center;gap:var(--space-3xs);flex:none;padding:.28em .7em;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}@media(hover:hover){.note-card__like:hover{border-color:var(--color-rule-2);color:var(--color-error)}}.note-card__like:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.note-card__like:active{transform:scale(.94)}.note-card__like.is-liked{background:var(--color-accent-soft);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);color:var(--color-accent-deep)}.note-card__like.is-liked svg path{fill:currentColor}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.login__hero{background:radial-gradient(56rem 38rem at 88% -12%,color-mix(in oklab,var(--color-accent) 32%,transparent),transparent 62%),radial-gradient(48rem 34rem at -12% 112%,color-mix(in oklab,var(--color-accent-cyan) 26%,transparent),transparent 64%),var(--color-graphite);color:var(--color-on-graphite);padding:clamp(var(--space-xl),6vw,var(--space-2xl));display:flex;flex-direction:column;gap:var(--space-xl);min-width:0;position:relative;overflow:hidden}.login__hero>*{position:relative}.login__hero-main{display:grid;gap:var(--space-xl);margin:auto 0}.login__hero .rail__wordmark{color:var(--color-on-graphite)}.login__hero-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.75rem,3.5vw,2.6rem);letter-spacing:.01em;line-height:1.25;color:var(--color-on-graphite);max-width:16ch;margin:0}.login__hero-sub{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-on-graphite-dim)}.grad-text{background:var(--grad-brand-bright);-webkit-background-clip:text;background-clip:text;color:transparent}.login__hero-foot{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-on-graphite-dim);letter-spacing:.02em}.login__readout{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-graphite-dim);display:grid;gap:var(--space-3xs);line-height:1.9;border-inline-start:2px solid color-mix(in oklab,var(--color-accent-cyan) 55%,transparent);padding-inline-start:var(--space-md)}.login__readout b{color:var(--color-accent-cyan);font-weight:500}.login__form-wrap{display:grid;place-items:center;padding:var(--space-lg)}.login__form{width:min(22rem,100%);display:grid;gap:var(--space-md)}.login__foot{border-top:1px solid var(--color-rule);padding-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);display:flex;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.login__net{position:absolute;top:calc(-1 * var(--space-sm));right:0;width:min(44rem,76%);height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.net-line{stroke:var(--color-accent);stroke-opacity:.22;stroke-width:1.2}.net-line--alt{stroke:var(--color-accent-cyan)}.net-node{fill:var(--color-accent-cyan);opacity:.8}.net-node--a{fill:var(--color-accent)}.net-hub{fill:var(--color-accent-cyan)}.net-halo{fill:none;stroke:var(--color-accent);stroke-opacity:.28;stroke-width:1}@keyframes netBreath{0%{opacity:.4}to{opacity:1}}.net-breathe{animation:netBreath 7s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.net-breathe{animation:none;opacity:.75}}.login__form-head{display:grid;gap:var(--space-2xs);margin-bottom:var(--space-2xs)}.login__form-head h2{margin:0;font-family:var(--font-display);font-weight:900;font-size:1.45rem;letter-spacing:.01em;color:var(--color-ink)}.login__form-sub{margin:0;font-size:var(--text-sm);color:var(--color-muted)}@media(max-width:60rem){.login{grid-template-columns:minmax(0,1fr)}.login__hero{min-height:auto;gap:var(--space-lg)}.login__net{width:min(30rem,92%);opacity:.7;top:calc(-1 * var(--space-md))}}.reveal{opacity:0;transform:translateY(8px);animation:reveal var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 60ms)}@keyframes reveal{to{opacity:1;transform:none}}.row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.row--end{justify-content:flex-end}.grow{flex:1;min-width:0}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.right{text-align:right}.nowrap{white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}.reveal{opacity:1;transform:none;animation:none}.dialog[open],.drawer,.toast,.drawer-scrim{animation:none}}.cell .table-wrap{border:none;border-radius:0}*{scrollbar-width:thin;scrollbar-color:var(--color-rule-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-rule-2);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--color-neutral)}.rail{scrollbar-color:transparent transparent}.rail:hover{scrollbar-color:var(--color-rule-2) transparent}.rail::-webkit-scrollbar-thumb{background:transparent}.rail:hover::-webkit-scrollbar-thumb{background-color:var(--color-rule-2)}.role-grid{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.role-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:calc(var(--space-2xs) + 1px) var(--space-xs);border:1px solid var(--color-rule);border-radius:999px;font-size:var(--text-sm);color:var(--color-ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.role-chip:hover{border-color:var(--color-rule-2)}.role-chip:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.role-chip.is-on{border-color:var(--color-accent);color:var(--color-accent-deep);background:var(--color-accent-soft)}.role-chip input{accent-color:var(--color-accent);margin:0}.perm-box{margin-top:var(--space-xs);border-left:2px solid var(--color-accent);background:color-mix(in oklab,var(--color-accent-soft) 55%,var(--color-paper));border-radius:0 var(--radius-s) var(--radius-s) 0;padding:var(--space-xs) var(--space-sm);animation:fade-in var(--dur-short) var(--ease-out)}.perm-box__title{margin:0 0 var(--space-2xs);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted)}.perm-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2xs) var(--space-xs);cursor:pointer;font-size:var(--text-sm);color:var(--color-ink)}.perm-item input{accent-color:var(--color-accent);margin:0;translate:0 2px}.perm-item__name{font-weight:600}.perm-item__desc{font-size:var(--text-xs);color:var(--color-muted)}.perm-box__hint{margin:var(--space-2xs) 0 0;font-size:var(--text-xs);color:var(--color-muted)}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--space-2xs)}.group-card{position:relative;display:grid;gap:var(--space-3xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-s);background:var(--color-paper);text-align:left;cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.group-card b{font-size:var(--text-sm);color:var(--color-ink);font-weight:600}.group-card span{font-size:var(--text-xs);color:var(--color-muted);line-height:1.5}.group-card:hover{border-color:var(--color-rule-2)}.group-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.group-card.is-on{border-color:var(--color-accent);background:var(--color-accent-soft)}.group-card.is-on b{color:var(--color-accent-deep)}.group-card__dirty{position:absolute;top:calc(var(--space-2xs) * -1);right:var(--space-2xs);padding:0 var(--space-3xs);border-radius:999px;font-size:var(--text-xs);color:var(--color-accent-deep);background:var(--color-paper);border:1px solid var(--color-accent)}@media(max-width:640px){.group-grid{grid-template-columns:1fr 1fr}}.s-select{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);height:var(--ctl-h);padding:0 var(--space-xs) 0 var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius-s);background:var(--color-paper);font-size:var(--text-sm);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:border-color var(--dur-micro) var(--ease-out)}.s-select:hover{border-color:var(--color-neutral)}.s-select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.s-select.is-open{border-color:var(--color-accent)}.s-select.is-disabled{color:var(--color-muted);background:var(--color-paper-3);cursor:not-allowed}.s-select__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-select__ph{color:var(--color-muted)}.s-select__ops{display:inline-flex;align-items:center;gap:var(--space-3xs);color:var(--color-muted);flex:none}.s-select.is-open .s-select__caret{rotate:180deg}.s-select__caret{transition:rotate var(--dur-micro) var(--ease-out)}.s-select__clear{border:none;background:none;padding:0 var(--space-3xs);font-size:var(--text-md);line-height:1;color:var(--color-muted);cursor:pointer}.s-select__clear:hover{color:var(--color-ink)}.s-select__panel{width:max-content;z-index:250;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-s);box-shadow:0 8px 24px #0e162424;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:18rem;overflow:hidden;animation:s-select-in var(--dur-short) var(--ease-out)}@keyframes s-select-in{0%{opacity:0;transform:translateY(-4px)}}.s-select__search{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--color-rule);color:var(--color-muted)}.s-select__search input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:var(--text-sm);color:var(--color-ink);padding:var(--space-3xs) 0}.s-select__search input::placeholder{color:var(--color-muted)}.s-select__list{overflow-y:auto;padding:var(--space-3xs)}.s-select__opt{display:grid;gap:var(--space-4xs, 1px);width:100%;padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-s);background:none;text-align:left;cursor:pointer}.s-select__opt-label{font-size:var(--text-sm);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-select__opt-sub{font-size:var(--text-xs);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-select__opt.is-hi{background:var(--color-accent-soft)}.s-select__opt.is-on .s-select__opt-label{color:var(--color-accent-deep);font-weight:600}.s-select__empty{margin:0;padding:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted)}.s-select__action{border-top:1px solid var(--color-rule);padding:var(--space-3xs)}.s-select__action .btn{width:100%;justify-content:center;margin-top:var(--space-3xs)}.drag-cell{white-space:nowrap;width:1%}.drag-handle{display:inline-block;padding:0 var(--space-3xs);color:var(--color-rule-2);cursor:grab;letter-spacing:-2px;font-size:var(--text-sm);line-height:1}.drag-handle:hover{color:var(--color-ink-2)}.drag-handle:active{cursor:grabbing}.sortable-ghost{opacity:.4}@media(hover:hover)and (pointer:fine){.drag-fallback{display:none}}@media not all and (hover:hover)and (pointer:fine){.drag-handle{display:none}}.badge__x{border:none;background:none;padding:0 var(--space-3xs);color:inherit;font-size:var(--text-xs);cursor:pointer;line-height:1}.badge__x:hover{color:var(--color-error)}.rail__badge{flex:none;margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--color-accent);color:var(--color-on-accent, #fff);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:18px;text-align:center}.rail__item.is-active .rail__badge{background:var(--color-accent-deep)}.topbar__right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.topbar__bell{position:relative}.topbar__icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-rule);border-radius:var(--radius-s);background:var(--color-paper);color:var(--color-ink-2);cursor:pointer;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}@media(hover:hover){.topbar__icon-btn:hover{color:var(--color-accent-deep);border-color:color-mix(in oklab,var(--color-accent) 35%,var(--color-rule))}}.topbar__icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.topbar__icon-btn.is-open{color:var(--color-accent-deep);border-color:color-mix(in oklab,var(--color-accent) 45%,var(--color-rule))}.topbar__icon-link{text-decoration:none;color:inherit}.topbar__tip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:3px 8px;border-radius:var(--radius-s);background:var(--color-ink);color:var(--color-paper);font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-short) var(--ease-out);z-index:40}.topbar__icon-btn:hover .topbar__tip,.topbar__icon-btn:focus-visible .topbar__tip{opacity:1}.bell-badge{position:absolute;top:-5px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-accent);color:var(--color-on-accent, #fff);font-family:var(--font-mono);font-size:11px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--color-paper)}.topbar__pop{position:absolute;top:calc(100% + var(--space-2xs));right:0;width:min(21rem,calc(100vw - 2rem));border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-pop, var(--shadow-hairline));overflow:hidden;z-index:calc(var(--z-sticky) + 10)}.topbar__pop-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xs) var(--space-sm);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm)}.bell-list{max-height:20rem;overflow-y:auto}.bell-item{display:flex;align-items:flex-start;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-sm);border:none;border-bottom:1px solid color-mix(in oklab,var(--color-rule) 55%,transparent);background:none;text-align:left;cursor:pointer}.bell-item:hover{background:var(--color-paper-2)}.bell-item__dot{flex:none;width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--color-rule-2)}.bell-item.is-unread .bell-item__dot{background:var(--color-accent)}.bell-item__body{display:grid;gap:1px;min-width:0}.bell-item__title{font-size:var(--text-sm);color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-item.is-unread .bell-item__title{color:var(--color-ink);font-weight:600}.bell-item__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.bell-empty{padding:var(--space-lg) var(--space-sm);text-align:center;color:var(--color-muted);font-size:var(--text-sm)}.bell-foot{display:block;padding:var(--space-2xs) var(--space-sm);text-align:center;font-size:var(--text-sm);color:var(--color-accent-deep)}.bell-foot:hover{background:var(--color-paper-2);text-decoration:none}.msg-list{display:grid;gap:var(--space-2xs)}.msg-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.msg-item:hover{border-color:color-mix(in oklab,var(--color-accent) 30%,var(--color-rule));background:var(--color-paper-hi)}.msg-item.is-unread{border-inline-start:3px solid var(--color-accent)}.msg-item__body{flex:1;min-width:0;display:grid;gap:2px}.msg-item__title{font-size:var(--text-base);font-weight:600;color:var(--color-ink);overflow-wrap:anywhere}.msg-item.is-read .msg-item__title{font-weight:400;color:var(--color-ink-2)}.msg-item__content{font-size:var(--text-sm);color:var(--color-muted);overflow-wrap:anywhere}.msg-item__meta{display:flex;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.flow-steps{display:grid;gap:var(--space-sm)}.flow-step{display:grid;grid-template-columns:2rem minmax(0,1fr) auto auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper)}.flow-step__no{width:28px;height:28px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-deep);font-family:var(--font-mono);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.share-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-lg) var(--space-md);background:var(--grad-main-bloom) no-repeat top left,var(--color-paper)}.share-card{width:min(34rem,100%);border:1px solid var(--color-rule);border-radius:var(--radius-l);background:var(--color-paper);box-shadow:var(--shadow-hairline);padding:var(--space-lg);display:grid;gap:var(--space-md)}.share-brand{display:flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.share-files{display:grid;gap:var(--space-2xs)}.share-file{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-s);background:var(--color-paper-hi)}.share-file__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-file__size{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);flex:none}.flow-canvas-outer{min-width:0}.flow-canvas{display:flex;align-items:flex-start;gap:0;overflow-x:auto;overflow-y:visible;padding:var(--space-2xs) var(--space-2xs) var(--space-2xl)}.flow-node-wrap{position:relative;flex:none;width:11.5rem;min-width:0}.flow-node{position:relative;display:flex;align-items:flex-start;gap:var(--space-2xs);min-height:4.5rem;padding:var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);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)}.flow-node__no{position:absolute;top:calc(-1 * var(--space-2xs) - 2px);left:calc(-1 * var(--space-2xs) - 2px);width:1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;background:var(--color-paper-3);color:var(--color-ink-2);border:2px solid var(--color-paper)}.flow-node__body{display:grid;gap:1px;min-width:0;padding-top:var(--space-2xs)}.flow-node__name{font-size:var(--text-sm);font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.flow-node.is-done{border-color:color-mix(in oklab,var(--color-accent) 40%,var(--color-rule));background:var(--color-accent-soft)}.flow-node.is-done .flow-node__no{background:var(--color-accent);color:var(--color-on-accent, #fff)}.flow-node.is-rejected{border-color:color-mix(in oklab,var(--color-danger, #c0392b) 45%,var(--color-rule));background:color-mix(in oklab,var(--color-danger, #c0392b) 7%,var(--color-paper))}.flow-node.is-rejected .flow-node__no{background:var(--color-danger, #c0392b);color:#fff}.flow-node.is-current{border-color:color-mix(in oklab,var(--color-accent) 55%,var(--color-rule));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-accent) 16%,transparent),var(--shadow-hairline)}.flow-node.is-current .flow-node__no{background:var(--color-paper-hi);color:var(--color-accent-deep);border-color:var(--color-accent)}.flow-node.is-pending .flow-node__name{color:var(--color-ink-2)}.flow-node__people{position:absolute;top:calc(100% + var(--space-2xs));left:0;width:100%;display:flex;flex-wrap:wrap;gap:2px}.flow-person{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:0 var(--space-2xs);height:1.35rem;border-radius:999px;border:1px solid var(--color-rule-2);background:var(--color-paper);font-size:var(--text-xs);color:var(--color-ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flow-person .flow-person__mark{font-size:10px;line-height:1}.flow-person.v-yes{border-color:color-mix(in oklab,var(--color-accent) 40%,var(--color-rule));color:var(--color-accent-deep);background:var(--color-accent-soft)}.flow-person.v-no{border-color:color-mix(in oklab,var(--color-danger, #c0392b) 40%,var(--color-rule));color:var(--color-danger, #c0392b)}.flow-person.v-wait{color:var(--color-muted)}.flow-link{flex:none;display:flex;align-items:center;justify-content:center;width:3.25rem;min-height:4.5rem;position:relative}.flow-link__line{display:block;width:100%;height:2px;background:var(--color-rule-2);position:relative;border-radius:1px}.flow-link__line:before{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--color-rule-2);border-top:5px solid transparent;border-bottom:5px solid transparent}.flow-link.is-done .flow-link__line{background:var(--color-accent)}.flow-link.is-done .flow-link__line:before{border-left-color:var(--color-accent)}.flow-link__insert{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:1.4rem;height:1.4rem;border-radius:50%;border:1px dashed var(--color-rule-2);background:var(--color-paper);color:var(--color-muted);font-size:var(--text-xs);line-height:1;cursor:pointer;opacity:0;transition:opacity var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}@media(hover:hover){.flow-link:hover .flow-link__insert{opacity:1}}@media(hover:none){.flow-link__insert{opacity:1}}.flow-link__insert:hover{color:var(--color-accent-deep);border-color:var(--color-accent);border-style:solid;transform:translate(-50%,-50%) scale(1.1)}.flow-link__insert:focus-visible{opacity:1;outline:2px solid var(--color-focus);outline-offset:2px}.flow-canvas--edit .flow-node{cursor:pointer}@media(hover:hover){.flow-canvas--edit .flow-node:hover{border-color:color-mix(in oklab,var(--color-accent) 35%,var(--color-rule))}}.flow-canvas--edit .flow-node:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.flow-canvas--edit .flow-node:active{transform:translateY(1px)}.flow-canvas--edit .flow-node.is-editing{cursor:default;border-color:color-mix(in oklab,var(--color-accent) 50%,var(--color-rule));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-accent) 14%,transparent)}.flow-node.has-error{border-color:color-mix(in oklab,var(--color-danger, #c0392b) 55%,var(--color-rule))}.flow-node__err{font-size:var(--text-xs);color:var(--color-danger, #c0392b)}.flow-node__form{display:grid;gap:var(--space-2xs);width:100%;min-width:0;padding-top:var(--space-2xs)}.flow-node__form .input,.flow-node__form .select{height:1.9rem;padding:0 var(--space-2xs);font-size:var(--text-xs);min-width:0}.flow-node__op{padding-inline:var(--space-2xs)}.flow-add{flex:none;align-self:center;margin-left:var(--space-2xs);height:4.5rem;padding:0 var(--space-sm);border:1px dashed var(--color-rule-2);border-radius:var(--radius-m);background:none;color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.flow-add:hover{color:var(--color-accent-deep);border-color:var(--color-accent);background:var(--color-accent-soft)}.flow-add:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.flow-add:active{transform:translateY(1px)}.wf-design{display:flex;flex-direction:column;gap:var(--space-md)}.wf-design__bar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule)}.wf-design__title{min-width:0}.wf-design__body{display:grid;grid-template-columns:minmax(0,1fr) 20.5rem;gap:var(--space-md);align-items:stretch}.wf-design__canvas{border:1px solid var(--color-rule);border-radius:var(--radius-m);background:color-mix(in oklab,var(--color-paper-hi) 60%,var(--color-paper));padding:var(--space-md);min-height:16rem;overflow-x:auto}.wf-props{display:flex;flex-direction:column;border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);position:sticky;top:4.5rem;max-height:calc(100dvh - 7rem)}.wf-props__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xs) var(--space-md);border-bottom:1px solid var(--color-rule)}.wf-props__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.wf-props__empty{padding:var(--space-xl) var(--space-md);text-align:center}@media(max-width:60rem){.wf-design__body{grid-template-columns:minmax(0,1fr)}.wf-props{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);max-height:72dvh;border-radius:var(--radius-m) var(--radius-m) 0 0;box-shadow:0 -10px 32px color-mix(in oklab,var(--color-ink) 22%,transparent);transform:translateY(105%);transition:transform var(--dur-short) var(--ease-out)}.wf-props.is-open{transform:translateY(0)}}.flow-node.is-cc{border-style:dashed;background:var(--color-paper-hi)}.flow-node__type{position:absolute;top:calc(-1 * var(--space-2xs) - 1px);right:var(--space-2xs);padding:0 var(--space-2xs);border-radius:999px;background:var(--color-paper-3);color:var(--color-ink-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;line-height:1.4rem}.flow-node__state-hint{font-size:var(--text-xs);color:var(--color-muted)}.flow-node__state-hint.is-auto{color:var(--color-accent-deep)}.flow-node.is-skipped{border-style:dashed;opacity:.68}.flow-node.is-autopass{border-color:color-mix(in oklab,var(--color-accent) 30%,var(--color-rule))}.flow-node__no.no--skipped{background:var(--color-paper-3)}.flow-node__no.no--autopass{background:var(--color-accent-soft);color:var(--color-accent-deep)}.flow-node.is-selected{border-color:color-mix(in oklab,var(--color-accent) 55%,var(--color-rule));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-accent) 16%,transparent)}.flow-add-group{flex:none;display:flex;flex-direction:column;gap:var(--space-2xs);justify-content:center;margin-left:var(--space-2xs)}.flow-add--cc{border-style:dashed;height:2.2rem;font-size:var(--text-xs)}.seg{display:inline-flex;align-items:stretch;height:var(--ctl-h);border:1px solid var(--color-rule-2);border-radius:var(--radius-s);background:var(--color-paper);overflow:hidden}.seg button{border:0;background:transparent;padding-inline:var(--space-md);font-size:var(--text-sm);color:var(--color-muted);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.seg button+button{border-left:1px solid var(--color-rule-2)}.seg button:hover{color:var(--color-ink);background:var(--color-paper-2)}.seg button.is-on{background:var(--color-paper-2);color:var(--color-accent-deep);font-weight:600}.seg button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.board{display:grid;grid-template-columns:repeat(4,minmax(13.5rem,1fr));gap:var(--space-sm);align-items:start;overflow-x:auto;padding-bottom:var(--space-2xs)}@media(min-width:1100px){.board{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}}.board__col{--col: var(--color-neutral);position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid color-mix(in oklab,var(--col) 22%,var(--color-rule));border-radius:var(--radius-s);background:linear-gradient(180deg,color-mix(in oklab,var(--col) 6%,var(--color-paper-2)),color-mix(in oklab,var(--col) 2%,var(--color-paper-2)));overflow:hidden}.board__col[data-col=planning]{--col: var(--color-warn)}.board__col[data-col=doing]{--col: var(--color-accent)}.board__col[data-col=done]{--col: var(--color-ok)}.board__col:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--col),color-mix(in oklab,var(--col) 25%,transparent));pointer-events:none}.board__col-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border-bottom:1px solid color-mix(in oklab,var(--col) 16%,var(--color-rule));background:color-mix(in oklab,var(--color-paper-2) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board__col-name{font-size:var(--text-sm);font-weight:600;color:color-mix(in oklab,var(--col) 58%,var(--color-ink));flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board__count{flex:none;font-size:var(--text-xs);color:color-mix(in oklab,var(--col) 62%,var(--color-ink));background:color-mix(in oklab,var(--col) 12%,var(--color-paper));border-radius:99px;padding:0 .5rem;line-height:1.5;font-weight:600}.board__col-body{display:grid;gap:var(--space-2xs);padding:var(--space-2xs);min-height:6rem;max-height:calc(100vh - 24rem);overflow-y:auto}.board-card{display:grid;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule-2);border-left:3px solid color-mix(in oklab,var(--col) 75%,var(--color-rule-2));border-radius:var(--radius-s);background:var(--color-paper);cursor:grab;transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.board-card:hover{border-color:color-mix(in oklab,var(--col) 55%,var(--color-rule-2));border-left-color:var(--col);transform:translateY(-1px);box-shadow:0 4px 14px #1a20291a}.board-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.board-card:active{cursor:grabbing}.board-card--locked{cursor:default}.board-card--locked:hover{border-color:var(--color-rule-2);border-left-color:color-mix(in oklab,var(--col) 45%,var(--color-rule-2));transform:none;box-shadow:none}.board-card--locked .board-card__no{color:var(--color-muted)}.board-card__tags{gap:var(--space-2xs);flex-wrap:wrap}.board-card__no{font-size:var(--text-xs);color:var(--color-muted);letter-spacing:0}.board-card__title{margin:0;font-size:var(--text-sm);font-weight:500;color:var(--color-ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-card__meta{display:flex;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-muted)}.board-card__meta .is-over{color:var(--color-error);font-weight:600}.board__empty{margin:0;padding:var(--space-md) var(--space-sm);text-align:center;font-size:var(--text-xs);color:var(--color-muted);border:1px dashed color-mix(in oklab,var(--col) 30%,var(--color-rule));border-radius:var(--radius-s)}.board .sortable-ghost{opacity:.35}.board__col-body:has(.sortable-ghost){background:color-mix(in oklab,var(--col) 6%,transparent);outline:2px dashed color-mix(in oklab,var(--col) 55%,transparent);outline-offset:-4px;border-radius:var(--radius-s)}.board .sortable-drag,.board .sortable-fallback{box-shadow:0 10px 28px #1a202933;cursor:grabbing}@media(prefers-reduced-motion:reduce){.board-card,.seg button{transition:none}.board-card:hover{transform:none}}.cockpit-kpis{display:grid;gap:var(--space-sm)}.kpi{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-m);padding:var(--space-sm) var(--space-md)}.kpi__label{margin:0;color:var(--color-muted);font-size:var(--text-xs)}.kpi__value{margin:var(--space-3xs) 0 0;font-size:1.5rem;font-weight:700}.kpi__sub{margin:var(--space-3xs) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.kpi__sub.is-over{color:var(--color-error);font-weight:600}.bar-mini{display:inline-block;height:.6rem;border-radius:99px;background:linear-gradient(90deg,var(--color-accent),color-mix(in oklab,var(--color-accent) 55%,transparent));vertical-align:middle;min-width:2px}.col-bars{display:flex;align-items:flex-end;gap:var(--space-2xs);padding:var(--space-2xs) 0 var(--space-2xs);overflow-x:auto}.col-bar{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:2.4rem}.col-bar__v{font-size:.72rem;color:var(--color-muted)}.col-bar__b{width:1.1rem;border-radius:3px 3px 0 0;background:var(--color-accent)}.col-bar__l{font-size:.72rem;color:var(--color-muted);white-space:nowrap}.table--matrix th,.table--matrix td{padding:var(--space-3xs) var(--space-2xs);font-size:var(--text-xs)}.matrix-head{writing-mode:vertical-rl;max-height:7rem;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matrix-cell{text-align:center;font-weight:600;border-radius:3px}.batchbar{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-sm);margin-bottom:var(--space-sm);background:color-mix(in oklab,var(--color-accent) 7%,var(--color-paper));border:1px solid color-mix(in oklab,var(--color-accent) 25%,var(--color-rule));border-radius:var(--radius-m)}.batchbar>span:first-child{font-weight:600;margin-right:var(--space-2xs)}@media print{body.is-printing .rail,body.is-printing .topbar,body.is-printing main>header,body.is-printing .filterbar,body.is-printing .table-wrap,body.is-printing .drawer__head .x-btn,body.is-printing .drawer section,body.is-printing .toast,body.is-printing .page-head__actions{display:none!important}body.is-printing .drawer{position:static;width:100%!important;max-width:100%!important;box-shadow:none;border:none}body.is-printing .drawer__body{overflow:visible;max-height:none}body.is-printing .drawer-scrim{display:none!important}}.ai-ref{display:flex;flex-direction:column;gap:1px;text-align:left;padding:var(--space-2xs) var(--space-xs);border:1px dashed var(--color-rule-2);border-radius:var(--radius-s);background:transparent;cursor:pointer}.ai-ref:hover{border-style:solid;border-color:var(--color-accent)}.ai-chat__input{display:flex;gap:var(--space-2xs);align-items:flex-end;padding-top:var(--space-2xs)}.ai-chat__input .textarea{flex:1;resize:none}.ai-cursor{display:inline-block;width:2px;height:1em;vertical-align:-.15em;background:var(--color-accent);margin-left:2px;animation:ai-blink 1s steps(1) infinite}:root{--ai-grad-from: oklch(55% .23 262);--ai-grad-to: oklch(53% .25 280);--ai-grad: linear-gradient(135deg, var(--ai-grad-from), var(--ai-grad-to));--ai-panel-bg: oklch(17% .035 265 / .96);--ai-panel-ink: var(--color-on-graphite);--ai-panel-dim: color-mix(in oklab, var(--color-on-graphite) 55%, transparent);--ai-bubble: rgba(255, 255, 255, .07);--ai-line: rgba(255, 255, 255, .12)}.ai-fab-wrap{position:fixed;right:1.75rem;bottom:1.75rem;z-index:calc(var(--z-modal, 100) - 2);display:flex;align-items:center}.ai-fab{position:relative;width:3.75rem;height:3.75rem;border-radius:50%;border:none;background-image:var(--ai-grad);color:#fff;box-shadow:0 8px 28px color-mix(in oklab,var(--color-accent) 50%,transparent),0 0 0 2px color-mix(in oklab,var(--ai-grad-to) 35%,transparent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--dur-fast, .15s) var(--ease-out, ease-out),box-shadow var(--dur-fast, .15s) var(--ease-out, ease-out)}.ai-fab:hover{transform:scale(1.08) rotate(-6deg);box-shadow:0 12px 36px color-mix(in oklab,var(--color-accent) 65%,transparent)}.ai-fab:active{transform:scale(.95)}.ai-fab:focus-visible{outline:2px solid var(--ai-grad-to);outline-offset:3px}.ai-fab{animation:ai-pulse 2.4s var(--ease-in-out, ease-in-out) infinite}.ai-fab__icon{width:1.65rem;height:1.65rem;display:block;position:relative;z-index:1}@keyframes ai-pulse{0%,to{box-shadow:color-mix(in oklab,var(--color-accent) 50%,transparent) 0 8px 28px,color-mix(in oklab,var(--ai-grad-to) 40%,transparent) 0 0}50%{box-shadow:color-mix(in oklab,var(--color-accent) 50%,transparent) 0 8px 28px,transparent 0 0 0 16px}}.ai-fab-hint{position:absolute;right:calc(100% + var(--space-sm));bottom:.55rem;max-width:15rem;padding:var(--space-2xs) var(--space-xs);background:var(--ai-panel-bg);color:var(--ai-panel-ink);border:1px solid var(--ai-line);border-radius:12px;font-size:.78rem;line-height:1.5;display:flex;align-items:center;gap:var(--space-2xs);white-space:nowrap;box-shadow:0 8px 24px #00000059}.ai-fab-hint:after{content:"";position:absolute;right:-5px;bottom:.9rem;width:10px;height:10px;background:var(--ai-panel-bg);border-right:1px solid var(--ai-line);border-top:1px solid var(--ai-line);transform:rotate(45deg)}.ai-fab-hint .x-btn{color:var(--ai-panel-ink);flex:none}.ai-hint-pop-enter-active,.ai-hint-pop-leave-active{transition:opacity .25s var(--ease-out, ease-out),transform .25s var(--ease-out, ease-out)}.ai-hint-pop-enter-from,.ai-hint-pop-leave-to{opacity:0;transform:translate(6px)}.ai-window-anchor[data-beam]{position:fixed;right:1.75rem;bottom:5.5rem;z-index:calc(var(--z-modal, 100) - 1);width:30rem;height:38rem;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 7rem)}.ai-window{display:flex;flex-direction:column;height:100%;background:var(--ai-panel-bg);color:var(--ai-panel-ink);border:1px solid var(--ai-line);border-radius:20px;box-shadow:0 18px 48px #02040f73,0 0 0 1px color-mix(in oklab,var(--ai-grad-to) 12%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.ai-window-anchor[data-beam][data-paused],.ai-window-anchor[data-beam][data-paused]:after,.ai-window-anchor[data-beam][data-paused]:before,.ai-window-anchor[data-beam][data-paused] [data-beam-bloom]{animation-play-state:running!important}.ai-window__head{position:relative;display:flex;align-items:center;gap:var(--space-xs);padding:.9rem 1rem .7rem;flex:none}.ai-window__head:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,92,255,.5),rgba(56,214,255,.5),transparent)}.ai-window__avatar{width:2.3rem;height:2.3rem;border-radius:50%;background-image:var(--ai-grad);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none;box-shadow:0 4px 14px #2f7bff66}.ai-window__avatar svg{width:1.3rem;height:1.3rem}.ai-window__title{min-width:0;flex:1}.ai-window__title b{display:block;font-size:.95rem;line-height:1.3}.ai-window__status{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--ai-panel-dim)}.ai-window__status i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399cc}.ai-window__tabs{display:inline-flex;border:1px solid var(--ai-line);border-radius:999px;overflow:hidden;flex:none}.ai-window__tabs button{border:none;background:transparent;color:var(--ai-panel-dim);font-size:.76rem;padding:.3rem .7rem;cursor:pointer;transition:color .15s,background .15s}.ai-window__tabs button.is-on{background-image:var(--ai-grad);color:#fff}.ai-window .x-btn{color:var(--ai-panel-dim)}.ai-window .x-btn:hover{color:var(--ai-panel-ink)}.ai-window__body{flex:1;min-height:0;display:flex;flex-direction:column}.ai-window .input,.ai-window .select,.ai-window .textarea{background:#ffffff0f;border-color:var(--ai-line);color:var(--ai-panel-ink)}.ai-window .select option{background:var(--color-graphite);color:var(--ai-panel-ink)}.ai-window .field__label,.ai-window .field__help{color:var(--ai-panel-dim)}.ai-window .cell{background:#ffffff0a;border-color:var(--ai-line)}.ai-window dl dt{color:var(--ai-panel-dim)}.ai-win-enter-active,.ai-win-leave-active{transition:opacity .22s var(--ease-out, ease-out),transform .22s var(--ease-out, ease-out)}.ai-win-enter-from,.ai-win-leave-to{opacity:0;transform:translateY(10px) scale(.97)}.ai-chat{display:flex;flex-direction:column;min-height:0;flex:1}.ai-chat__list{flex:1;min-height:9rem;overflow-y:auto;padding:var(--space-sm) 0;display:flex;flex-direction:column;gap:var(--space-sm)}.ai-msg{display:flex}.ai-msg--user{justify-content:flex-end}.ai-msg__body{max-width:92%;min-width:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.ai-bubble{padding:.55rem .8rem;border:none;border-radius:14px 14px 14px 4px;background:var(--ai-bubble);color:var(--ai-panel-ink);font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}.ai-msg--user .ai-bubble{border-radius:14px 14px 4px;background-image:var(--ai-grad);color:#fff}.ai-bubble :is(p,ul,ol){margin:0 0 .3em}.ai-bubble :is(code,pre){background:#00000059}.ai-refs{display:flex;flex-direction:column;gap:var(--space-2xs)}.ai-ref{display:flex;flex-direction:column;gap:1px;text-align:left;padding:var(--space-2xs) var(--space-xs);border:1px dashed var(--ai-line);border-radius:10px;background:#ffffff0a;color:var(--ai-panel-ink);cursor:pointer}.ai-ref:hover{border-style:solid;border-color:var(--ai-grad-to)}.ai-ref b{font-size:.8rem}.ai-ref .small,.ai-window .small{color:var(--ai-panel-dim)}.ai-chips{display:flex;gap:var(--space-2xs);padding:0 0 var(--space-2xs);overflow-x:auto;scrollbar-width:none;flex:none}.ai-chips::-webkit-scrollbar{display:none}.ai-chip{flex:none;border:1px solid var(--ai-line);background:#7c5cff14;color:var(--ai-panel-ink);border-radius:999px;font-size:.76rem;padding:.32rem .75rem;cursor:pointer;transition:background .15s,border-color .15s}.ai-chip:hover{background:#7c5cff33;border-color:var(--ai-grad-to)}.ai-chat__input{display:flex;gap:var(--space-2xs);align-items:flex-end;padding:var(--space-2xs) 0 var(--space-xs)}.ai-chat__input .textarea{flex:1;resize:none;background:#7c5cff0f;border-color:var(--ai-line);border-radius:14px;color:var(--ai-panel-ink)}.ai-chat__send{width:2.6rem;height:2.6rem;border-radius:50%;border:none;background-image:var(--ai-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #2f7bff59;transition:transform .15s var(--ease-out, ease-out);flex:none}.ai-chat__send:hover:not(:disabled){transform:scale(1.06)}.ai-chat__send:active{transform:scale(.94)}.ai-chat__send:disabled{opacity:.45;cursor:not-allowed}.ai-chat__send:focus-visible{outline:2px solid var(--ai-grad-to);outline-offset:2px}.ai-cursor{display:inline-block;width:2px;height:1em;vertical-align:-.15em;background:var(--ai-grad-to);margin-left:2px;animation:ai-blink 1s steps(1) infinite}@keyframes ai-blink{50%{opacity:0}}@media(max-width:640px){.ai-fab-wrap{right:1rem;bottom:1rem}.ai-window-anchor[data-beam]{right:.75rem;bottom:4.5rem}}@media(prefers-reduced-motion:reduce){.ai-fab{animation:none}.ai-fab:hover{transform:none}.ai-win-enter-active,.ai-win-leave-active,.ai-hint-pop-enter-active,.ai-hint-pop-leave-active{transition-duration:.01ms}.ai-cursor{animation:none}}.quick-live{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-2xs) 0}.quick-live__bar{display:flex;align-items:center;gap:var(--space-2xs);padding:6px 12px;border-radius:999px;background:var(--color-ok-soft);font-size:var(--text-sm, .85rem)}.quick-live__status{font-weight:600;color:var(--color-ok)}.quick-live__phase{margin-left:auto;flex:none;padding:2px 10px;border-radius:999px;border:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs, .72rem)}.quick-dot{width:8px;height:8px;border-radius:50%;background:var(--color-ok);flex:none;position:relative}.quick-dot--on:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--color-ok);opacity:0;animation:quick-ping 1.8s var(--ease-out, ease-out) infinite}@keyframes quick-ping{0%{transform:scale(.5);opacity:.8}70%,to{transform:scale(1.7);opacity:0}}.quick-live__text{min-height:7.5rem;max-height:15rem;overflow-y:auto;padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:10px;background:var(--color-card, var(--color-bg, #fff));font-size:.85rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.quick-live__text.is-empty{color:var(--color-muted);font-style:normal}.quick-live__foot{display:flex;align-items:center;gap:var(--space-sm);text-align:left}.quick-fields{display:flex;flex-direction:column;gap:var(--space-xs)}.quick-fields__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs) var(--space-sm)}.quick-fields .field{min-width:0;margin:0}.quick-fields .input,.quick-fields .textarea{width:100%;box-sizing:border-box;padding:6px 10px;font-size:.82rem}.quick-fields .field__label{font-size:.72rem;margin-bottom:2px}.quick-fields .textarea{resize:vertical;min-height:3.2rem}.quick-fields .input[readonly]{background:var(--color-paper-2);cursor:not-allowed}@media(max-width:480px){.quick-fields__grid{grid-template-columns:1fr}}.quick-live__qr{width:84px;height:84px;border:1px solid var(--color-rule);border-radius:8px;flex:none}.quick-dropped{margin:0 0 var(--space-sm);padding:6px 12px;border-radius:8px;background:var(--color-warn-soft);color:var(--color-warn);font-size:var(--text-sm, .85rem)}.quick-sock{margin:var(--space-2xs) 0 0}@media(prefers-reduced-motion:reduce){.quick-dot--on:after{animation:none;opacity:.35}}.weekly__toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-sm)}.weekly__tabs,.weekly__weeks{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-rule);border-radius:10px;background:var(--color-paper-hi, #fff)}.weekly__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;padding:5px 14px;border-radius:8px;font-size:var(--text-sm, .85rem);color:var(--color-ink-2, #666)}.weekly__tab:hover{color:var(--color-ink, #111)}.weekly__tab.is-active{background:var(--color-brand, #2f6bff);color:#fff;font-weight:600}.weekly__meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-sm)}.weekly__md{max-height:52vh;overflow-y:auto;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:12px;background:var(--color-paper-hi, #fff)}.weekly__md{height:55vh;max-height:none}.weekly-skeleton{height:55vh;overflow:hidden;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:12px;background:var(--color-paper-hi, #fff)}.weekly-skeleton__line{height:14px;border-radius:6px;background:linear-gradient(90deg,#7f7f7f1a 25%,#7f7f7f33,#7f7f7f1a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;margin:0 0 var(--space-sm)}.weekly-skeleton__line--title{width:45%;height:20px}.weekly-skeleton__line--sub{width:60%}.weekly-skeleton__group{margin:var(--space-md) 0 0}.weekly-skeleton__line--head{width:32%;height:16px;margin-bottom:var(--space-sm)}.weekly-skeleton__line--short{width:70%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.weekly-skeleton__line{animation:none;background:#7f7f7f1a}}.weekly__stream-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:6px 12px;border:1px solid color-mix(in oklab,var(--color-brand, #2f6bff) 40%,var(--color-rule));border-radius:10px;background:color-mix(in oklab,var(--color-brand, #2f6bff) 8%,var(--color-paper-hi, #fff))}.weekly__stream-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--color-brand, #2f6bff);animation:weekly-pulse 1.2s ease-in-out infinite}@keyframes weekly-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.weekly__md--polish{margin-top:var(--space-sm);max-height:26vh;overflow-y:auto;border-style:dashed}@media(prefers-reduced-motion:reduce){.weekly__stream-dot{animation:none}}.drawer-leave-active{pointer-events:none;opacity:0;transition:opacity .18s ease}.drawer-leave-active .drawer{transform:translate(24px)}.dialog--closing{animation:dialog-out .17s ease-in forwards}.dialog--closing::backdrop{animation:scrim-out .17s ease-in forwards}@keyframes dialog-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes scrim-out{to{opacity:0}}.toast-leave-active{transition:opacity .15s ease,transform .15s ease;pointer-events:none}.toast-leave-to{opacity:0;transform:translateY(4px)}.toast-move{transition:transform .22s var(--ease-out)}.page-shell{min-height:100%}.page-enter-active{transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-active{transition:opacity 90ms ease;pointer-events:none}.page-leave-to{opacity:0}.empty--compact{padding:var(--space-lg) var(--space-md)}.empty--compact .empty__mark{width:32px;height:32px}.rank-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3xs)}.rank-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);transition:background-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.rank-row:hover{background:var(--color-paper-2)}}.rank-row__no{flex:none;width:1.4rem;text-align:center;font-size:var(--text-xs);color:var(--color-muted)}.rank-row:first-child .rank-row__no{color:var(--color-ink);font-weight:700}.rank-row__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-accent-deep);font-size:var(--text-sm)}.rank-row__bar{flex:none;width:4.5rem;height:4px;border-radius:999px;background:color-mix(in oklab,var(--color-ink) 8%,transparent);overflow:hidden}.rank-row__bar>span{display:block;height:100%;border-radius:inherit;background:var(--bar-c, var(--color-muted))}.rank-row.is-good{--bar-c: var(--color-ok)}.rank-row.is-warn{--bar-c: var(--color-warn)}.rank-row.is-risk{--bar-c: var(--color-error)}.rank-row__score{flex:none;min-width:2ch;text-align:right;font-size:var(--text-sm);font-weight:600;color:var(--bar-c, var(--color-ink))}.page-head__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted);margin-bottom:var(--space-2xs)}.bento--flow{grid-auto-flow:row dense}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.kpi{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xs);padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-m);background:var(--color-paper);box-shadow:var(--shadow-hairline);cursor:pointer;text-align:left;min-width:0;transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.kpi:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--color-accent) 35%,var(--color-rule))}}.kpi:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:2px}.kpi:active{transform:translateY(0)}.kpi__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.kpi__num{display:block;font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1.25;color:var(--color-ink);font-variant-numeric:tabular-nums}.kpi.is-hero{background:var(--color-paper-hi);border-color:color-mix(in oklab,var(--color-accent) 22%,var(--color-rule))}.kpi.is-hero .kpi__num{font-size:2.6rem;color:var(--color-accent-deep)}.kpi.is-zero{opacity:.55}.kpi.is-zero .kpi__num{color:var(--color-muted);font-size:1.7rem}.kpi__delta{position:absolute;top:var(--space-md);right:var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.kpi__spark{align-self:stretch;width:100%;height:20px;margin-top:var(--space-2xs)}.kpi__spark polyline{fill:none;stroke:var(--color-accent);stroke-width:1.5;opacity:.7}.dash-okline{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);background:color-mix(in oklab,var(--color-ok) 8%,var(--color-paper));border:1px solid color-mix(in oklab,var(--color-ok) 30%,var(--color-rule));border-radius:var(--radius-m);font-size:var(--text-sm);color:var(--color-ink)}.dash-okline__mark{flex:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--color-ok);color:var(--color-paper);display:grid;place-items:center;font-size:.7rem}.dash-area{position:relative;cursor:crosshair}.dash-area svg{display:block;width:100%;height:110px}.area-stop-a{stop-color:var(--color-accent);stop-opacity:.26}.area-stop-b{stop-color:var(--color-accent);stop-opacity:0}.dash-area__line{fill:none;stroke:var(--color-accent);stroke-width:2}.dash-area__line--closed{stroke:var(--color-neutral);stroke-width:1.5;stroke-dasharray:4 3;opacity:.75}.dash-area__tip{position:absolute;top:0;transform:translate(-50%,-40%);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-mono);font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-s);white-space:nowrap;pointer-events:none}.dash-area__x{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--color-muted);margin-top:var(--space-2xs)}.dash-area__legend{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.dash-area__legend .lg{width:.65rem;height:.65rem;border-radius:2px;display:inline-block;margin-left:var(--space-2xs)}.lg--new{background:var(--color-accent)}.lg--closed{background:var(--color-neutral)}.dash-donut{display:grid;grid-template-columns:116px minmax(0,1fr);gap:var(--space-md);align-items:center}.dash-donut__fig{position:relative;width:116px;aspect-ratio:1 / 1}.dash-donut__fig svg{display:block;width:100%;height:100%}.dash-donut__total{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.dash-donut__total b{display:block;font-family:var(--font-display);font-weight:900;font-size:1.45rem;line-height:1.2;color:var(--color-ink);font-variant-numeric:tabular-nums}.dash-donut__total span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.dash-donut__legend{display:grid;gap:var(--space-2xs)}.dash-donut__row{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm)}.dash-donut__dot{flex:none;width:.6rem;height:.6rem;border-radius:2px}.dash-donut__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink)}.dash-donut__val{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.dash-msg__dot{flex:none;width:.45rem;height:.45rem;border-radius:50%;background:var(--color-accent)}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.quick-tile{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-m);transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.quick-tile:hover{border-color:color-mix(in oklab,var(--color-accent) 35%,var(--color-rule));background:var(--color-paper-hi)}}.quick-tile:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:2px}.quick-tile b{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.quick-tile span{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}@media(max-width:60rem){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi.is-hero .kpi__num{font-size:2.1rem}.dash-donut{grid-template-columns:minmax(0,1fr);justify-items:start}}.input-ico{position:relative;display:block}.input-ico .ico{position:absolute;left:.75rem;top:50%;translate:0 -50%;width:1rem;height:1rem;color:var(--color-muted);pointer-events:none}.input-ico .input{width:100%;height:2.75rem;padding-left:2.35rem;border-radius:var(--radius-m)}.input-ico .input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-accent) 20%,transparent)}.input-eye{position:absolute;right:.4rem;top:50%;translate:0 -50%;width:2rem;height:2rem;display:grid;place-items:center;border:none;background:none;border-radius:var(--radius-s);color:var(--color-muted);cursor:pointer;transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}@media(hover:hover){.input-eye:hover{color:var(--color-ink);background:var(--color-paper-2)}}.input-eye:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:1px}.login__caps{margin:var(--space-2xs) 0 0;font-size:var(--text-xs);color:var(--color-warn)}.login__form .btn--primary{height:2.75rem;letter-spacing:.12em;transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}@media(hover:hover){.login__form .btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in oklab,var(--color-accent-hi) 38%,transparent)}}.login__form .btn--primary:not(:disabled):active{transform:translateY(0);box-shadow:none}.captcha{display:grid;gap:var(--space-2xs);margin-top:var(--space-2xs)}.captcha__stage{position:relative;aspect-ratio:3 / 1;border-radius:var(--radius-s);overflow:hidden;border:1px solid color-mix(in oklab,var(--color-ink) 16%,var(--color-rule));background:var(--color-paper-3);box-shadow:var(--shadow-hairline),inset 0 1px color-mix(in oklab,var(--color-paper) 16%,transparent)}.captcha.is-ok .captcha__stage{border-color:color-mix(in oklab,var(--color-ok) 45%,var(--color-rule))}.captcha__bg,.captcha__piece{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.captcha__bg{width:100%;height:auto}.captcha__piece{position:absolute;left:0;width:10%;height:auto;filter:drop-shadow(0 1px 2px rgb(0 0 0 / .45)) drop-shadow(0 0 8px rgb(0 0 0 / .14));will-change:transform}.captcha.is-ok .captcha__piece{transition:transform .18s var(--ease-out)}.captcha__flag{position:absolute;right:.5rem;bottom:.5rem;padding:2px 8px;border-radius:999px;background:var(--color-ok);color:var(--color-paper);font-family:var(--font-mono);font-size:var(--text-xs);animation:captchaFlagPop .22s var(--ease-out)}@keyframes captchaFlagPop{0%{opacity:0;transform:translateY(4px) scale(.85)}}.captcha__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}@keyframes captchaShake{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.captcha.is-shake .captcha__stage{animation:captchaShake .28s ease-in-out 2}.captcha__track{position:relative;height:2.75rem;border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--color-rule);background:var(--color-paper-2)}.captcha.is-ok .captcha__track{border-color:color-mix(in oklab,var(--color-ok) 45%,var(--color-rule))}.captcha__track-fill{position:absolute;inset-block:0;left:0;width:calc(var(--dx, 0px) + 2.75rem);background:color-mix(in oklab,var(--color-accent) 14%,transparent)}.captcha.is-ok .captcha__track-fill{width:100%;background:color-mix(in oklab,var(--color-ok) 16%,transparent)}.captcha__hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-muted);pointer-events:none}.captcha.is-ok .captcha__hint{color:var(--color-ok)}.captcha__handle{position:absolute;top:0;bottom:0;left:0;width:2.75rem;display:grid;place-items:center;transform:translate(var(--dx, 0px));background:var(--color-paper);border:none;border-right:1px solid var(--color-rule);border-radius:var(--radius-m);box-shadow:var(--shadow-hairline);color:var(--color-muted);cursor:grab;touch-action:none;transition:color var(--dur-micro) var(--ease-out)}.captcha.is-drag .captcha__handle{transform:translate(var(--dx, 0px)) scale(1.04);box-shadow:var(--shadow-lift);color:var(--color-accent-deep)}.captcha__hint{transition:opacity var(--dur-micro) var(--ease-out)}.captcha.is-ok .captcha__handle{transition:color var(--dur-micro) var(--ease-out),transform .18s var(--ease-out)}.captcha.is-drag .captcha__hint{opacity:.3}.captcha__handle:active{cursor:grabbing;color:var(--color-accent-deep)}.captcha__handle:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:-2px}.captcha.is-ok .captcha__handle{color:var(--color-ok)}.captcha__err{margin:0;font-size:var(--text-xs);color:var(--color-error)}.captcha__meta{margin:0;display:flex;justify-content:flex-end;font-size:var(--text-xs)}
