:root{--canvas:#f7f8f6;--surface:#fff;--surface-subtle:#eef1ee;--ink:#252928;--muted:#5b6460;--divider:#dde2de;--control-border:#7c8580;--accent:#285cc4;--accent-soft:#eaf0fc;--success-ink:#276344;--success-fill:#eaf4ed;--warning-ink:#805414;--warning-fill:#fff3da;--danger-ink:#a32d36;--danger-fill:#fceef0;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Newsreader", Georgia, "Times New Roman", serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--canvas);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:26px}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1{margin:0 0 16px;font-size:28px;font-weight:600;line-height:36px}h2{margin:24px 0 12px;font-size:20px;font-weight:600;line-height:28px}.mono{font-family:var(--mono);font-size:14px}.muted{color:var(--muted);font-size:14px;line-height:20px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--surface);z-index:10;padding:8px;top:8px;left:8px}.shell{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--divider);flex-direction:column;gap:8px;height:100dvh;padding:16px 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.badge{background:var(--warning-fill);color:var(--warning-ink);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;line-height:18px;display:inline-block}.badge.ok{background:var(--success-fill);color:var(--success-ink)}.badge.bad{background:var(--danger-fill);color:var(--danger-ink)}.badge.info{background:var(--accent-soft);color:var(--accent)}.badge.neutral{background:var(--surface-subtle);color:var(--muted)}.nav a{min-height:44px;color:var(--ink);border-radius:8px;align-items:center;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--divider);margin-top:auto;padding-top:12px}.main{width:100%;max-width:1200px;padding:32px}.topbar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:24px;font-size:14px;display:flex}.two-col{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.panel{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px}.row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.row:last-child{border-bottom:0}.row a.title{color:var(--ink);font-weight:500;text-decoration:none}.btn{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;border-radius:10px;min-height:44px;padding:0 16px;font-weight:500}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--danger-ink);border-color:var(--danger-ink)}.btn:disabled{opacity:.55;cursor:not-allowed}input[type=text],input[type=search],select,textarea{border:1px solid var(--control-border);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:8px 12px}.mobile-tabs{display:none}.welcome{max-width:760px;margin:0 auto;padding-top:clamp(48px,10vh,112px)}.welcome h1{font-family:var(--serif);margin-bottom:8px;font-size:44px;font-weight:400;line-height:50px}.welcome .lede{color:var(--muted);margin-bottom:32px}.composer{background:var(--surface);border:1px solid var(--divider);border-radius:28px;padding:16px 16px 12px;box-shadow:0 12px 32px #2529280f}.composer textarea{resize:vertical;border:0;min-height:72px;padding:4px}.composer .bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.composer .bar select,.composer .bar input{width:auto;min-width:120px}.send{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;width:48px;height:48px;margin-left:auto;font-weight:600}.suggest{flex-direction:column;margin-top:24px;display:flex}.suggest button{text-align:left;border:0;border-top:1px solid var(--divider);cursor:pointer;background:0 0;min-height:56px;padding:12px 8px}.suggest button:hover{background:var(--surface-subtle)}.conversation{max-width:72ch}.msg{margin-bottom:24px}.msg.user{color:var(--muted)}.answer{white-space:pre-wrap}.source-card{border:1px solid var(--divider);background:var(--surface);color:var(--ink);border-radius:12px;margin-bottom:8px;padding:12px;text-decoration:none;display:block}.timeline li{border-bottom:1px solid var(--divider);grid-template-columns:76px 1fr;gap:8px;padding:8px 0;font-size:14px;line-height:20px;display:grid}.status-line{border-radius:12px;margin-bottom:16px;padding:12px}.status-line.partial{background:var(--warning-fill);color:var(--warning-ink)}.status-line.failed{background:var(--danger-fill);color:var(--danger-ink)}.status-line.completed{background:var(--success-fill);color:var(--success-ink)}.status-line.boundary{background:var(--danger-fill);color:var(--danger-ink);font-weight:600}.doc-section{background:var(--surface);border:1px solid var(--divider);border-radius:12px;margin:24px 0;padding:16px}.doc-section:target{outline:3px solid var(--accent)}pre.payload{background:var(--surface-subtle);white-space:pre-wrap;font-family:var(--mono);border-radius:10px;padding:12px;font-size:14px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--divider);vertical-align:top;padding:8px;font-size:14px}th{color:var(--muted);font-weight:500}@media (max-width:1279px){.two-col{grid-template-columns:1fr}.main{padding:24px}}@media (max-width:767px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--divider);flex-flow:wrap;align-items:center;height:auto;min-height:56px;position:static}.sidebar .nav{display:none}.sidebar-footer{border:0;margin:0 0 0 auto;padding:0}.main{padding:16px 16px calc(80px + env(safe-area-inset-bottom))}.welcome h1{font-size:32px;line-height:38px}.composer{border-radius:20px}.mobile-tabs{min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--divider);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabs a{color:var(--ink);justify-content:center;align-items:center;font-size:14px;text-decoration:none;display:flex}.mobile-tabs a[aria-current=page]{color:var(--accent);font-weight:600}}@media (prefers-reduced-motion:no-preference){.btn,.nav a{transition:background-color .12s}}
