:root{--paper:oklch(96.7% .012 78);--paper-deep:oklch(94.5% .014 76);--surface:oklch(99.5% .005 80);--surface-sunk:oklch(97.5% .008 78);--ink:oklch(23.5% .018 60);--ink-soft:oklch(40% .018 60);--ink-muted:oklch(55% .015 60);--ink-faint:oklch(72% .012 70);--rule:oklch(89% .012 70);--rule-soft:oklch(93% .01 72);--accent:oklch(58% .13 38);--accent-ink:oklch(32% .1 35);--accent-soft:oklch(93% .045 42);--accent-pale:oklch(97% .02 50);--sage:oklch(58% .06 145);--sage-soft:oklch(93% .03 145);--plum:oklch(42% .08 320);--plum-soft:oklch(93% .03 320);--ochre:oklch(65% .12 78);--ochre-soft:oklch(95% .04 82);--text:var(--ink);--text-muted:var(--ink-muted);--bg:var(--paper);--bg-card:var(--surface);--border:var(--rule);--accent-bg:var(--accent-pale);--font-display:"Newsreader", "Source Serif 4", Georgia, serif;--font-body:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm:6px;--radius:10px;--radius-lg:16px;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-feature-settings:"ss01", "cv11";letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:var(--paper);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;font-weight:450}h1{margin:0 0 12px;font-size:38px;font-weight:420;line-height:1.08}h2{letter-spacing:-.015em;margin:0 0 10px;font-size:22px;line-height:1.1}h3{letter-spacing:-.015em;margin:0 0 8px;font-size:19px;font-weight:460;line-height:1.25}h4{margin:0 0 8px;font-size:16px;font-weight:460}p{margin:0 0 8px}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.serif-italic{font-family:var(--font-display);font-style:italic;font-weight:380}.btn{font-family:var(--font-body);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;letter-spacing:-.005em;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:500;transition:background .1s,border-color .1s,opacity .1s}.btn:hover{background:var(--surface-sunk)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:color-mix(in oklch, var(--accent) 90%, black)}.btn.ghost{color:var(--ink-muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-sunk);color:var(--ink)}.btn.lg{padding:11px 20px;font-size:14px}button{font-family:inherit}select,input[type=text]{font-family:inherit;font-size:inherit;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;padding:7px 10px}.topbar{border-bottom:1px solid var(--rule-soft);background:var(--paper);align-items:center;gap:18px;padding:18px 36px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:10px;font-size:22px;font-weight:450;display:flex}.brand .dot{background:var(--accent);border-radius:50%;align-self:center;width:8px;height:8px;transform:translateY(1px)}.brand small{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);border-left:1px solid var(--rule);align-self:center;margin-left:12px;padding-left:12px;font-size:11px;font-weight:500}.topbar .spacer{flex:1}.user-chip{align-items:center;gap:10px;font-size:13px;display:flex}.user-chip .avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:14px;font-weight:500;display:grid}.page-head{border-bottom:1px solid var(--rule-soft);background:var(--paper);padding:32px 36px 24px}.crumbs{color:var(--ink-muted);letter-spacing:.02em;gap:8px;margin-bottom:14px;font-size:12px;display:flex}.crumbs .sep{color:var(--ink-faint)}.crumbs .here{color:var(--ink)}.crumbs button{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--ink);text-decoration:underline}.subject-row{align-items:flex-start;gap:22px;display:flex}.subject-row .who{align-items:center;gap:18px;display:flex}.subject-row .avatar-lg{background:var(--accent-soft);width:64px;height:64px;color:var(--accent-ink);font-family:var(--font-display);border:1px solid color-mix(in oklch, var(--accent) 30%, transparent);border-radius:50%;place-items:center;font-size:28px;font-weight:500;display:grid}.subject-row h1{max-width:28ch;margin:0 0 12px;font-size:38px;font-weight:420;line-height:1.08}.subject-row h1 em{color:var(--accent-ink);font-style:italic;font-weight:380}.subject-meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.subject-meta .dotted:before{content:"·";color:var(--ink-faint);margin-right:14px}.subject-row .right{text-align:right;color:var(--ink-muted);margin-left:auto;font-size:12px;line-height:1.6}.subject-row .right b{font-family:var(--font-display);color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:480;display:block}.timeline{border-top:1px solid var(--rule-soft);grid-template-columns:repeat(5,1fr);gap:0;margin-top:28px;padding-top:18px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(to right, var(--rule) 0%, var(--rule) 50%, var(--rule-soft) 50%, var(--rule-soft) 100%);height:1px;position:absolute;top:41px;left:8%;right:8%}.tl-step{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:6px;display:flex;position:relative}.tl-step .pip{background:var(--surface);border:1.5px solid var(--rule);z-index:1;border-radius:50%;width:14px;height:14px;position:relative}.tl-step.done .pip{background:var(--accent);border-color:var(--accent)}.tl-step.done .pip:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:3px;transform:scale(.5)}.tl-step.active .pip{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-pale)}.tl-step.active .pip:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.tl-step .name{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:500}.tl-step.done .name{color:var(--ink)}.tl-step.active .name{color:var(--accent-ink)}.tl-step .when{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono)}.body-grid{scroll-behavior:smooth;grid-template-columns:220px 1fr;align-items:start;gap:36px;padding:32px 36px 64px;display:grid}@media (width<=960px){.body-grid{grid-template-columns:1fr}.side-nav{position:static}}.side-nav{color:var(--ink-soft);flex-direction:column;gap:2px;font-size:13px;display:flex;position:sticky;top:18px}.side-nav .group{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:18px 0 6px;font-size:10.5px;font-weight:500}.side-nav .group:first-child{margin-top:0}.side-nav a{color:var(--ink-soft);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 10px 5px 14px;text-decoration:none;display:flex;position:relative}.side-nav a .qn{font-family:var(--font-mono);color:var(--ink-faint);min-width:18px;font-size:10.5px}.side-nav a:hover{color:var(--ink);background:var(--surface-sunk);text-decoration:none}.side-nav a.cur{color:var(--ink);background:var(--accent-pale)}.side-nav a.cur:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:7px;bottom:7px;left:2px}.side-nav a.dim{color:var(--ink-faint)}.side-nav .legend{border-top:1px solid var(--rule-soft);color:var(--ink-muted);margin-top:24px;padding-top:16px;font-size:11.5px;line-height:1.55}.side-nav .legend strong{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:480;display:block}.side-nav .legend em{font-style:italic}.qsec{border-top:1px solid var(--rule-soft);grid-template-columns:56px 1fr;gap:18px;padding:28px 0 24px;scroll-margin-top:24px;display:grid}.qsec:first-child{border-top:0;padding-top:0}.qsec .qnum{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:22px;font-style:italic;font-weight:380;line-height:1.1}.qsec .qbody h3{letter-spacing:-.015em;margin:0 0 6px;font-size:19px;font-weight:460;line-height:1.25}.qsec .qbody .help{color:var(--ink-muted);font-size:13px;font-style:italic;font-family:var(--font-display);margin:0 0 14px;line-height:1.5}.qsec .qbody .state-tag{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-muted);background:var(--surface-sunk);border:1px solid var(--rule-soft);vertical-align:middle;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;display:inline-flex}.rt-display,.answer{color:var(--ink);font-size:15px;line-height:1.62}.rt-display p,.answer p{margin:0 0 10px}.rt-display p:last-child,.answer p:last-child{margin-bottom:0}.rt-display strong,.answer strong{font-weight:600}.rt-display em,.answer em{font-style:italic}.rt-display ul,.rt-display ol,.answer ul,.answer ol{margin:6px 0 10px;padding-left:22px}.rt-display li,.answer li{margin-bottom:4px}.rt-display h2,.answer h2{margin:12px 0 8px;font-size:19px}.rt-display h3,.answer h3{margin:10px 0 6px;font-size:17px}.rt-display a,.answer a{color:var(--accent-ink);text-decoration:underline}.prior-card{background:var(--surface-sunk);border:1px solid var(--rule-soft);border-radius:var(--radius);padding:18px 20px;position:relative}.prior-card .pin{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-muted);background:var(--paper);text-transform:uppercase;padding:1px 8px;font-size:10px;position:absolute;top:-8px;left:18px}.prior-card .meta{border-top:1px dashed var(--rule);color:var(--ink-muted);gap:12px;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.peer-grid{gap:10px;display:grid}.peer-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);gap:8px;padding:14px 16px 14px 18px;display:grid;position:relative}.peer-card.top{background:linear-gradient(to right, color-mix(in oklch, var(--sage-soft) 60%, var(--surface)), var(--surface) 70%)}.peer-card.under{background:linear-gradient(to right, color-mix(in oklch, var(--ochre-soft) 60%, var(--surface)), var(--surface) 70%)}.peer-card .recipient{align-items:center;gap:10px;font-size:13.5px;display:flex}.peer-card .recipient .av{background:color-mix(in oklch, var(--ink) 8%, var(--paper));width:26px;height:26px;color:var(--ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.peer-card .recipient b{font-weight:500}.peer-card .recipient .role{color:var(--ink-muted);margin-left:4px;font-size:11px}.peer-card .body{color:var(--ink);font-size:14px;line-height:1.55}.peer-card .corner{font-size:10.5px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase;position:absolute;top:12px;right:14px}.stage-comment{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:18px 20px;position:relative}.stage-comment+.stage-comment{margin-top:10px}.stage-comment .sc-head{border-bottom:1px solid var(--rule-soft);align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.stage-comment .sc-head .av{background:var(--surface-sunk);width:32px;height:32px;color:var(--ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:14px;font-weight:500;display:grid}.stage-comment .sc-head .who-stack{line-height:1.25}.stage-comment .sc-head .who-stack b{font-size:14px;font-weight:500}.stage-comment .sc-head .who-stack .sub{color:var(--ink-muted);font-size:11.5px;font-family:var(--font-mono)}.stage-comment .sc-head .badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--accent-pale);color:var(--accent-ink);border-radius:999px;margin-left:auto;padding:3px 8px;font-size:10px}.stage-comment .sc-body{font-size:14.5px;line-height:1.6}.composer{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:0 1px 0 var(--accent-pale) inset, 0 14px 36px -22px color-mix(in oklch, var(--accent) 50%, transparent);margin-top:30px;padding:22px 24px 18px}.composer .c-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.composer .c-head .role-pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-pale);border-radius:999px;padding:3px 8px;font-size:10px}.composer .c-head h3{margin:0;font-size:18px;font-weight:460}.composer .c-head .save{font-size:11.5px;font-family:var(--font-mono);color:var(--ink-muted);align-items:center;gap:6px;margin-left:auto;display:flex}.composer .c-head .save .dot{background:var(--sage);border-radius:50%;width:7px;height:7px}.composer .c-head .save.saving .dot{background:var(--ochre)}.composer .c-head .save.error .dot{background:var(--accent)}.composer .c-head .save.error{color:var(--accent-ink)}.composer .c-foot{border-top:1px solid var(--rule-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;padding-top:14px;display:flex}.composer .c-foot .note{color:var(--ink-muted);flex:1;min-width:220px;font-size:12.5px;line-height:1.45}.status{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);background:var(--surface-sunk);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;display:inline-flex}.status .blip{background:var(--ink-faint);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklch, var(--ink-faint) 30%, transparent);border-radius:50%}.status.active{background:var(--accent-pale);color:var(--accent-ink);border-color:color-mix(in oklch, var(--accent) 35%, transparent)}.status.active .blip{background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 30%, transparent)}.status.done{background:color-mix(in oklch, var(--sage-soft) 80%, white);color:oklch(36% .06 145);border-color:color-mix(in oklch, var(--sage) 35%, transparent)}.status.done .blip{background:var(--sage)}.hr{background:var(--rule-soft);border:0;height:1px;margin:24px 0}.anchor-rule{background:var(--rule-soft);height:1px;margin:30px 0 22px}.section-label{font-size:11px;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:12px;margin:18px 0 12px;display:flex}.section-label:after{content:"";background:linear-gradient(to right, var(--rule), transparent);flex:1;height:1px}.queue{grid-template-columns:1.5fr 1fr;align-items:start;gap:18px;padding:12px 36px 36px;display:grid}@media (width<=960px){.queue{grid-template-columns:1fr}}.queue .col-head{font-family:var(--font-display);letter-spacing:-.015em;white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:12px;margin:0 0 10px;font-size:22px;font-weight:450;display:flex}.queue .col-head .count{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:0;font-size:13px;font-weight:400}.queue .col-head .right-link{font-family:var(--font-body);color:var(--accent-ink);margin-left:auto;font-size:12.5px;font-weight:500}.queue .desc{color:var(--ink-muted);font-size:13.5px;font-style:italic;font-family:var(--font-display);max-width:60ch;margin:-4px 0 18px;line-height:1.55}.qcard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;transition:box-shadow .15s,border-color .15s;display:grid;position:relative}.qcard:hover{box-shadow:0 1px 2px #281e140f,0 6px 16px #281e140f}.qcard+.qcard{margin-top:10px}.qcard.urgent{border-color:color-mix(in oklch, var(--accent) 35%, var(--rule))}.qcard.urgent:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.qcard .av{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:18px;font-weight:500;display:grid}.qcard .av.neutral{background:color-mix(in oklch, var(--ink) 8%, var(--paper));color:var(--ink)}.qcard .name{font-family:var(--font-display);letter-spacing:-.012em;font-size:17px;font-weight:460}.qcard .name em{color:var(--accent-ink);margin-left:6px;font-size:14px;font-style:italic;font-weight:380}.qcard .meta-row{color:var(--ink-muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.qcard .meta-row .pip{background:var(--ink-faint);border-radius:50%;width:4px;height:4px;display:inline-block}.qcard .progress-mini{gap:3px;display:flex}.qcard .progress-mini i{background:var(--rule);border-radius:2px;width:18px;height:4px}.qcard .progress-mini i.done{background:var(--accent)}.qcard .progress-mini i.cur{background:var(--accent);opacity:.4}.queue-side .pane{background:var(--surface-sunk);border:1px solid var(--rule-soft);border-radius:var(--radius);padding:18px}.queue-side .pane+.pane{margin-top:14px}.queue-side h4{font-family:var(--font-display);margin:0 0 12px;font-size:16px;font-weight:460}.queue-side .summary{grid-template-columns:repeat(3,1fr);padding:4px 0 0;display:grid}.queue-side .summary .stat{border-right:1px dashed var(--rule);padding-right:12px}.queue-side .summary .stat:last-child{border-right:0;padding-left:12px;padding-right:0}.queue-side .summary .stat+.stat{padding-left:12px}.queue-side .summary .num{font-family:var(--font-display);font-size:28px;font-weight:420;line-height:1}.queue-side .summary .num small{color:var(--ink-muted);margin-left:2px;font-size:14px}.queue-side .summary .lbl{font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-top:4px}.queue-side .reminder{color:var(--ink-soft);font-size:13.5px;line-height:1.55;font-family:var(--font-display);font-style:italic}.queue-side .reminder b{font-style:normal;font-family:var(--font-body);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.done-card{background:linear-gradient(180deg, var(--accent-pale), var(--surface));border:1px solid color-mix(in oklch, var(--accent) 25%, var(--rule));border-radius:var(--radius-lg);text-align:center;margin-top:20px;padding:28px 32px}.done-card h3{margin:0 0 8px;font-size:24px;font-weight:440}.done-card p{color:var(--ink-soft);max-width:52ch;margin:0 auto 16px;font-size:14px;line-height:1.55}.rt-wrap{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:hidden}.rt-disabled{background:var(--surface-sunk)}.rt-toolbar{border-bottom:1px solid var(--rule-soft);background:var(--surface-sunk);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.rt-btn{cursor:pointer;min-width:28px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 8px;font-size:13px}.rt-btn:hover{background:var(--surface);color:var(--ink)}.rt-btn-active{background:var(--accent-pale);color:var(--accent-ink)}.rt-sep{background:var(--rule);width:1px;height:16px;margin:0 4px}.rt-content,.ProseMirror{min-height:110px;color:var(--ink);outline:none;padding:12px 14px;font-size:15px;line-height:1.6}.ProseMirror p{margin:0 0 8px}.ProseMirror p:last-child{margin-bottom:0}.ProseMirror ul,.ProseMirror ol{margin:4px 0 8px;padding-left:22px}.ProseMirror h2{margin:12px 0 6px;font-size:18px}.ProseMirror h3{margin:12px 0 6px;font-size:16px}.ProseMirror a{color:var(--accent-ink);text-decoration:underline}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-faint);font-style:italic;font-family:var(--font-display);pointer-events:none;float:left;height:0}.inactive-banner{border:1px solid color-mix(in oklch, var(--ochre) 35%, var(--rule));background:color-mix(in oklch, var(--ochre-soft) 60%, var(--surface));border-radius:var(--radius);color:var(--ink);padding:18px 20px;font-size:14px;line-height:1.55}.banner{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;font-size:14px;line-height:1.45;display:flex}.banner.warn{background:color-mix(in oklch, var(--ochre-soft) 60%, var(--surface));border:1px solid color-mix(in oklch, var(--ochre) 30%, var(--rule));color:var(--ink)}.banner.info{background:color-mix(in oklch, var(--accent-pale) 90%, var(--surface));border:1px solid color-mix(in oklch, var(--accent) 25%, var(--rule));color:var(--ink)}.banner .spacer{flex:1}.err{color:oklch(48% .16 25);font-size:13px}
