:root{--bg:#f7f5f0;--ink:#16302f;--muted:#52615f;--accent:#0b6b63;--accent-ink:#fff;--line:#d9d4c8;--card:#fff;--warn:#8a4b00;--warn-bg:#fff4e0;--err:#9b1c1c;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}.skip{position:absolute;left:-999px}.skip:focus{z-index:99;background:#fff;padding:.5rem;top:1rem;left:1rem}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;min-height:44px;padding:.55rem 1rem}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline-offset:2px;outline:3px solid #e0a100}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.secondary{background:#fff}.danger{color:var(--err);border-color:#c9a3a3}.big{padding:.9rem 2rem;font-size:1.25rem}.topbar{border-bottom:1px solid var(--line);background:#fffdf8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1.25rem;display:flex}.brand strong{letter-spacing:.06em;margin-right:.6rem;font-size:1.4rem}.brand span{color:var(--muted)}.tools{flex-wrap:wrap;gap:.4rem;display:flex}.tools button{min-height:38px;padding:.35rem .8rem;font-size:.9rem}.tools button[aria-pressed=true]{border-color:var(--accent);background:#e4f1ef}.layout{grid-template-columns:minmax(300px,42%) 1fr;min-height:calc(100vh - 62px);display:grid}.stage{border-right:1px solid var(--line);flex-direction:column;justify-content:flex-end;align-items:center;height:calc(100vh - 62px);padding:1rem;display:flex;position:sticky;top:0}#avatar{flex:1;width:100%;min-height:260px;display:block}#state{background:#e4f1ef;border-radius:999px;margin:.3rem 0 0;padding:.25rem .9rem;font-size:1.15rem;font-weight:700}.state-message{color:var(--muted);margin:.2rem 0 .5rem}.panel{outline:none;max-width:62rem;padding:1.25rem 1.75rem 2rem}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tabs [role=tab]{border-radius:.6rem}.tabs [aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}h1{margin:.3rem 0;font-size:2rem}h2{font-size:1.35rem}h3{font-size:1.1rem}.lead{color:var(--muted);max-width:52rem}.ask{flex-direction:column;gap:.45rem;margin:.75rem 0;display:flex}.ask label{font-weight:600}textarea,input,select{color:var(--ink);background:#fff;border:1px solid #b9b2a3;border-radius:.6rem;width:100%;padding:.6rem .75rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row input,.row select{flex:1;width:auto;min-width:12rem}.chips{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.25rem 0 1rem;display:flex}.chip{background:#fffdf8;min-height:38px;padding:.3rem .8rem;font-size:.95rem}.answer{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:.8rem;min-height:3rem;padding:1rem 1.15rem;font-size:1.1rem}.cite{color:var(--accent);padding:0 .1rem;font-weight:700;text-decoration:none}.sources{flex-direction:column;gap:.45rem;margin-top:.75rem;display:flex}.source{background:var(--card);border:1px solid var(--line);border-radius:.7rem;padding:.55rem .85rem}.source summary{cursor:pointer;font-weight:600}.source .num{color:var(--accent)}.source blockquote{border-left:3px solid var(--accent);color:#2e403f;white-space:pre-wrap;margin:.5rem 0;padding-left:.8rem}.source a,.links a{color:var(--accent);font-weight:600}.meta{color:var(--muted);font-size:.92rem}.followups{margin-top:.5rem}.empty{background:var(--warn-bg);border-radius:.7rem;padding:.6rem 1rem}.error{color:var(--err)}.warning{background:var(--warn-bg);color:var(--warn);border-radius:.6rem;padding:.5rem .8rem}.banner{color:#3b2a6b;background:#efe8ff;border-radius:.6rem;margin-top:1rem;padding:.45rem .8rem;font-size:.92rem}.pairing{border:1px dashed var(--line);background:#fffdf8;border-radius:.8rem;margin:.75rem 0;padding:.25rem 1rem;font-size:.95rem}.grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;margin:.75rem 0;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:.75rem}.metric{color:var(--accent);font-size:1.7rem;font-weight:800}progress{width:100%}.table-scroll{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{border:1px solid var(--line);text-align:left;padding:.35rem .55rem;font-size:.95rem}.catalog{margin-top:1.5rem}.catalog li{margin:.25rem 0}.notice{color:var(--muted);border-top:1px solid var(--line);margin-top:2rem;padding-top:.75rem;font-size:.88rem}.attract,.idle{z-index:50;cursor:pointer;background:linear-gradient(#f7f5f000 25%,#f7f5f0f7 65%);justify-content:center;align-items:flex-end;padding:4vh 1rem;display:flex;position:fixed;inset:0}.idle{cursor:default;background:#16302f73;align-items:center}.attract[hidden],.idle[hidden]{display:none}.attract-card{border:1px solid var(--line);text-align:center;cursor:default;background:#fffdf8;border-radius:1.2rem;max-width:36rem;padding:1.5rem 2rem;box-shadow:0 10px 40px #16302f1f}.attract-card h1{font-size:2.6rem}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0;font-weight:700}body.attract-on .panel,body.attract-on .tools button:not(#fullscreen):not(#presentation){visibility:hidden}body.attract-on .layout{grid-template-columns:1fr}body.attract-on .stage{border-right:0}body.large-text{font-size:21px}body.presentation .topbar .brand span,body.presentation .notice,body.presentation .lead{display:none}body.presentation .layout{grid-template-columns:minmax(320px,48%) 1fr}@media (aspect-ratio<=4/5),(width<=820px){.layout,body.presentation .layout{grid-template-columns:1fr}.stage{border-right:0;border-bottom:1px solid var(--line);height:42vh;position:relative}body.attract-on .stage{height:calc(100vh - 62px)}.panel{padding:1rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.memory{border:1px solid var(--line);background:#fffdf8;border-radius:.8rem;margin-top:1.5rem;padding:.5rem 1rem}.memory h2{flex:1;margin:.3rem 0;font-size:1.1rem}.memory ul{margin:.3rem 0}
