:root{--bg-0: #f2f4f6;--bg-1: #ffffff;--ink: #1a2530;--muted: #5b6773;--line: #d5dbe2;--brand: #0f8a8f;--brand-strong: #0c6f73;--ok: #0d8f5b;--warn: #c27b07;--err: #b2352b;--radius: 14px;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--sans: "Manrope", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at 12% 12%,#dff6f2 0%,transparent 40%),radial-gradient(circle at 88% 0%,#e9f1ff 0%,transparent 42%),var(--bg-0)}a{color:inherit}.shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0}.brand{font-weight:800;text-decoration:none}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--muted);padding:6px 10px;border-radius:999px}.nav a.active{background:#e8f7f7;color:var(--brand-strong)}.session-info{display:flex;gap:8px;align-items:center;font-size:13px}.content{width:min(1100px,calc(100vw - 32px));margin:20px auto 60px;display:grid;gap:16px}.panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stack{display:grid;gap:16px}.page-header h1{margin:0;font-size:28px}.page-header p{margin:8px 0 0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.card{border:1px solid var(--line);border-radius:12px;padding:12px;background:linear-gradient(180deg,#fff,#fbfcfd)}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap{gap:10px}.inline-row{display:flex;gap:8px;align-items:center}.align-center{align-items:center}.top-gap{margin-top:12px}.button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 12px;text-decoration:none;cursor:pointer;font:inherit}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button:disabled{opacity:.6;cursor:not-allowed}.form-panel{max-width:700px}.form-grid{margin-top:10px;display:grid;gap:10px}label{display:grid;gap:6px;color:var(--muted);font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;color:var(--ink)}textarea,pre,code{font-family:var(--mono)}.list{display:grid;gap:8px}.list-row{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.error-banner{border:1px solid #f1b6b1;color:var(--err);background:#fff1f0;border-radius:10px;padding:10px;margin-top:10px}.success-banner{border:1px solid #97d7be;color:var(--ok);background:#f1fff8;border-radius:10px;padding:10px;margin-top:10px}.muted{color:var(--muted)}.coach-banner{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;background:#f8fbff}.coach-banner-ready{border-color:#8fd1be;background:#eefcf7}.coach-banner-pending{border-color:#f1c77b;background:#fff9ee}.coach-banner-failed{border-color:#f1b6b1;background:#fff1f0}.coach-card{border-left:4px solid var(--brand)}.coach-card-emphasis{border-left:4px solid var(--ok)}.coach-evidence-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.coach-notes-strip{border-color:#afd9c9;background:linear-gradient(180deg,#f5fff9,#fff)}.coach-shortcuts{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfdff}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;cursor:pointer;font:inherit}.chip-active{border-color:var(--brand);background:#e8f7f7}.tag{border-radius:999px;font-size:12px;padding:3px 8px;border:1px solid var(--line)}.tag-positive{color:var(--ok);border-color:#97d7be;background:#f1fff8}.tag-neutral{color:var(--warn);border-color:#f3d4a1;background:#fff9ee}pre{background:#0e1419;color:#d9f2ff;padding:10px;border-radius:10px;overflow:auto;line-height:1.5;white-space:pre-wrap;word-break:break-word}@media (max-width: 980px){.topbar{flex-wrap:wrap}.nav{order:3;width:100%}.content{width:min(100vw - 20px,1100px);margin-top:12px}}
