:root{color-scheme:light;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--lh: 1.5;--n-0: #ffffff;--n-1: #f7f7f5;--n-2: #eeeeeb;--n-3: #dcdcd7;--n-4: #b9b9b3;--n-6: #6b6b66;--n-8: #35352f;--n-9: #1c1c19;--accent: #2f5fa8;--accent-strong: #244b86;--accent-soft: #e8eef8;--ok-bg: #e6f2ea;--ok-fg: #1f5c35;--warn-bg: #fbf1d9;--warn-fg: #6f4d00;--danger-bg: #fbe7e7;--danger-fg: #8a1f1f;--info-bg: #e8eef8;--info-fg: #2b4a7a;--neutral-bg: #ececea;--neutral-fg: #4a4a45;--radius: 5px;--border: 1px solid var(--n-3);--shadow: 0 1px 2px rgba(0, 0, 0, .06);--control-h: 36px;--content-w: 1120px}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);color:var(--n-9);background:var(--n-1)}header{background:var(--n-0);border-bottom:var(--border)}.topbar,.projectbar{display:flex;align-items:center;gap:var(--sp-5);max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-5)}.topbar{min-height:52px}.projectbar{min-height:44px;gap:var(--sp-4);border-top:1px solid var(--n-2);overflow-x:auto}.brand{font-weight:650;font-size:var(--fs-lg);letter-spacing:.01em;color:var(--n-9);text-decoration:none}.topbar nav,.projectbar nav{display:flex;align-items:center;gap:var(--sp-2)}.topbar nav{margin-left:auto}.topbar nav a,.projectbar nav a{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius);color:var(--n-8);text-decoration:none;font-size:var(--fs-sm);white-space:nowrap}.topbar nav a:hover,.projectbar nav a:hover{background:var(--n-2)}.projectbar nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.project-name{font-weight:600;white-space:nowrap}.project-name .tag{margin-left:var(--sp-2)}main{max-width:var(--content-w);margin:0 auto;padding:var(--sp-5) var(--sp-5) var(--sp-7)}.narrow{max-width:440px}section>h1:first-child,section>p:first-child+h1{margin-top:0}h1{font-size:var(--fs-2xl);font-weight:650;line-height:1.2;margin:var(--sp-2) 0 var(--sp-4)}h2{font-size:var(--fs-xl);font-weight:600;line-height:1.25;margin:var(--sp-6) 0 var(--sp-3)}h3{font-size:var(--fs-lg);font-weight:600;margin:0 0 var(--sp-3)}h4{font-size:var(--fs-md);font-weight:600;margin:var(--sp-4) 0 var(--sp-2)}p{margin:0 0 var(--sp-3)}a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--accent-strong)}code{font-family:var(--mono);font-size:.9em;background:var(--n-2);padding:1px var(--sp-1);border-radius:3px}.muted{color:var(--n-6)}.small{font-size:var(--fs-sm)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}table{width:100%;border-collapse:collapse;background:var(--n-0);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 var(--sp-5);font-size:var(--fs-sm)}th,td{text-align:left;vertical-align:top;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--n-2)}th{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--n-6);background:var(--n-1);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfbfa}tr.failed td{background:var(--danger-bg)}tr.failed:hover td{background:#f6dcdc}tr.duplicate td{background:var(--warn-bg)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.raci-editor{width:auto;box-shadow:none}.raci-editor th,.raci-editor td{text-align:center}.raci-editor td:first-child,.raci-editor th:first-child{text-align:left}.raci-letter{display:inline-block;min-width:1.6rem;padding:0 var(--sp-1);border-radius:3px;background:var(--neutral-bg);color:var(--neutral-fg);font-weight:600;text-align:center}.badge{display:inline-block;padding:1px var(--sp-2);border-radius:999px;font-size:var(--fs-xs);font-weight:600;line-height:1.6;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral-fg)}.badge.status-open{background:var(--info-bg);color:var(--info-fg)}.badge.status-in_progress{background:var(--warn-bg);color:var(--warn-fg)}.badge.status-done{background:var(--ok-bg);color:var(--ok-fg)}.badge.status-blocked{background:var(--danger-bg);color:var(--danger-fg)}.badge.status-draft{background:var(--neutral-bg);color:var(--neutral-fg);border:1px dashed var(--n-4)}.badge.state-queued,.badge.state-running{background:var(--warn-bg);color:var(--warn-fg)}.badge.state-done,.badge.state-succeeded{background:var(--ok-bg);color:var(--ok-fg)}.badge.state-failed{background:var(--danger-bg);color:var(--danger-fg)}.tag{display:inline-block;padding:0 var(--sp-2);border-radius:var(--radius);border:1px solid var(--n-4);font-size:var(--fs-xs);font-weight:500;color:var(--n-6);vertical-align:middle}.flag{display:inline-block;margin-left:var(--sp-2);padding:0 var(--sp-2);border-radius:999px;background:var(--danger-bg);color:var(--danger-fg);font-size:var(--fs-xs);font-weight:600;vertical-align:middle}label{display:block;margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--n-8)}label input,label select,label textarea{display:block;width:100%;max-width:520px;margin-top:var(--sp-1);padding:0 var(--sp-3);min-height:var(--control-h);font:inherit;font-size:var(--fs-md);color:var(--n-9);background:var(--n-0);border:1px solid var(--n-4);border-radius:var(--radius)}label textarea{padding:var(--sp-2) var(--sp-3);min-height:0;resize:vertical}label input[type=file]{padding:var(--sp-1) var(--sp-2)}input:hover,select:hover,textarea:hover{border-color:var(--n-6)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled{background:var(--n-1);color:var(--n-6)}label.inline{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3)}label.inline input{width:auto;min-height:0;margin:0}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-3)}.row label{margin:0;flex:1 1 240px}.row>button,.row>a.button{margin-bottom:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-4)}.card{padding:var(--sp-4) var(--sp-5) var(--sp-5);margin:0 0 var(--sp-5);background:var(--n-0);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}button,a.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:var(--control-h);padding:0 var(--sp-4);font:inherit;font-size:var(--fs-sm);font-weight:500;color:var(--n-9);background:var(--n-0);border:1px solid var(--n-4);border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:background .1s ease,border-color .1s ease}button:hover,a.button:hover{background:var(--n-1);border-color:var(--n-6);color:var(--n-9)}button:active,a.button:active{background:var(--n-2)}button:disabled{opacity:.5;cursor:default}button.primary,a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--n-0)}button.primary:hover,a.button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--n-0)}button.danger{color:var(--danger-fg);border-color:#d9a3a3}button.danger:hover{background:var(--danger-bg);border-color:var(--danger-fg)}button.link{display:inline;min-height:0;padding:0;border:0;background:none;font-size:inherit;font-weight:400;color:var(--accent);text-decoration:underline;text-underline-offset:2px}button.link:hover{background:none;color:var(--accent-strong)}.notice,.error{padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);border-radius:var(--radius);font-size:var(--fs-sm)}.notice{background:var(--ok-bg);color:var(--ok-fg);border:1px solid #bfdcc9}.error{background:var(--danger-bg);color:var(--danger-fg);border:1px solid #e3b6b6}.notice p,.error p{margin:0 0 var(--sp-2)}ul.plain{list-style:none;margin:0 0 var(--sp-2);padding:0}ul.problems{margin:var(--sp-1) 0 0;padding-left:var(--sp-4);color:var(--danger-fg);font-size:var(--fs-sm)}ul.comments{list-style:none;padding:0;margin:0 0 var(--sp-4)}ul.comments li{padding:var(--sp-3) 0;border-bottom:1px solid var(--n-2)}.comment-body{white-space:pre-wrap}ol.transcript{padding:0;margin:0 0 var(--sp-5);list-style:none;background:var(--n-0);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}ol.transcript li{padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--n-2);font-size:var(--fs-sm)}ol.transcript li:last-child{border-bottom:0}ol.transcript li.highlight{background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn-fg)}.line-no{display:inline-block;min-width:2.6rem;color:var(--n-6);font-variant-numeric:tabular-nums}.speaker{font-weight:600}.unresolved{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1);padding:var(--sp-1) var(--sp-2);background:var(--warn-bg);border-radius:var(--radius)}.unresolved select{font:inherit;font-size:var(--fs-sm);min-height:28px}.side-by-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--sp-4)}.side-by-side button{margin-top:var(--sp-2)}pre{max-height:24rem;overflow:auto;padding:var(--sp-3);margin:0 0 var(--sp-3);background:var(--n-1);border:var(--border);border-radius:var(--radius);white-space:pre-wrap;font-family:var(--mono);font-size:var(--fs-xs)}.switch{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:2.4rem;height:1.35rem;border-radius:1rem;background:var(--n-4);transition:background .12s ease}.switch-track:after{content:"";position:absolute;top:.15rem;left:.15rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--n-0);box-shadow:var(--shadow);transition:transform .12s ease}.switch input:checked+.switch-track{background:var(--ok-fg)}.switch input:checked+.switch-track:after{transform:translate(1.05rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-text{min-width:2rem;font-size:var(--fs-sm)}@media (max-width: 720px){main{padding:var(--sp-4)}h1{font-size:var(--fs-xl)}table{display:block;overflow-x:auto}}
