.live-board { margin: 8px 0 30px; padding: 20px; background: var(--card); border: 1px solid var(--accent-line); border-radius: 14px; }
.lb-heading, .lb-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.lb-heading h2 { font-size:34px; margin:0; }
.lb-heading .kicker { margin-bottom:3px; }
.lb-heading button { font-size:14px; padding:9px 12px; }
.lb-heading button:disabled { opacity:.6; cursor:wait; }
.lb-explain { color:var(--ink-2); font-size:14px; line-height:1.5; margin:12px 0; max-width:800px; }
.lb-tools { margin:14px 0; }
.lb-tools .modes { flex-wrap:wrap; }
.lb-status { font-size:12px; color:var(--muted); }
.lb-status.lb-stale { color:var(--loss); }
.lb-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.lb-game { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.lb-game-head { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:9px 12px; border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.lb-state { color:var(--accent); font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.lb-state.live { color:var(--loss); }
.lb-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:14px 18px; }
.lb-score > div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.lb-score b, .lb-score strong { font-family:var(--f-display); font-size:28px; font-weight:400; }
.lb-score > span { color:var(--muted); }
.lb-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.lb-quotes > div { min-width:0; padding:9px 12px; border-bottom:1px solid var(--line); }
.lb-quotes > div:first-child { border-right:1px solid var(--line); }
.lb-quotes > div:last-child { grid-column:1/-1; }
.lb-quotes span { display:block; color:var(--muted); font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.04em; }
.lb-quotes b { display:block; margin-top:3px; font-size:15px; overflow-wrap:anywhere; }
.lb-quotes small { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.lb-progress { display:flex; gap:8px 16px; flex-wrap:wrap; padding:10px 12px; font-size:13px; color:var(--ink-2); background:var(--accent-soft); }
.lb-progress small { flex-basis:100%; color:var(--muted); font-size:11px; }
.lb-analysis { display:block; width:100%; padding:11px 12px; color:var(--accent); background:transparent; border:0; text-align:left; font:800 12px var(--f-body); cursor:pointer; }
.lb-analysis:hover { background:var(--accent-soft); }
.lb-analysis:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.lb-empty { color:var(--muted); grid-column:1/-1; padding:18px 0; margin:0; }
@media(max-width:700px) { .lb-grid { grid-template-columns:1fr; } .live-board { padding:14px; } .lb-heading h2 { font-size:29px; } }

/* Sam's analysis treatment: black base, green model leans, red cautions. */
.lb-modal { --ink:#f5f5f5; --ink-2:#d4d4d4; --muted:#aaa; --card:#101010; --card-2:#1c1c1c; --line:#303030; --line-2:#444; --accent:#4ade80; --accent-soft:rgba(74,222,128,.09); --accent-line:rgba(74,222,128,.32); --win:#4ade80; --win-soft:rgba(74,222,128,.12); --loss:#ff6b76; --loss-soft:rgba(255,107,118,.12); color-scheme:dark; color:var(--ink); background:#080808; border:1px solid #383838; border-radius:18px; box-shadow:0 28px 110px #000b; padding:0; width: min(740px, calc(100% - 32px)); max-width:740px; max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.lb-modal::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(3px); }
.lb-modal-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 24px 16px; border-bottom:1px solid #2b2b2b; }
.lb-modal-kicker { color:#4ade80; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.14em; margin-bottom:8px; }
.lb-modal h2 { font:400 38px/1.1 var(--f-display); text-transform:uppercase; margin:0; color:#fff; }
.lb-modal h2 span { color:#737373; }
.lb-modal-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid #454545; border-radius:10px; background:#171717; color:#fff; cursor:pointer; font-size:19px; }
.lb-modal-close:hover { color:#ff6b76; border-color:#ff6b76; }
.lb-modal :focus-visible { outline:2px solid #4ade80; outline-offset:3px; }
.lb-modal-score { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:14px 24px; color:#aaa; font-size:12px; }
.lb-modal-score b { color:#fff; font:400 25px var(--f-display); }
.lb-modal-score i { font-style:normal; color:#737373; padding:0 8px; }
.lb-modal-key { display:flex; gap:16px; padding:0 24px; font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.07em; }
.lb-key-lean { color:#4ade80; }
.lb-key-caution { color:#ff6b76; }
.lb-modal-note { font-size:12px; line-height:1.5; color:#a3a3a3; margin:10px 24px 18px; }
.lb-modal-content { padding:0 24px 24px; }
.lb-modal .gm { background:#101010; border-color:#303030; }
.lb-modal .gm-proj { padding:16px 14px; color:#d4d4d4; }
.lb-modal .mk th { background:#171717; color:#aaa; }
.lb-modal .mk .lean, .lb-modal .mk .lean.weak { color:#4ade80; background:rgba(74,222,128,.09); border-color:rgba(74,222,128,.35); }
.lb-modal .mk .ln small { color:#4ade80; }
.lb-modal .mk .chance { color:#b8c9bd; }
.lb-modal .conf i.on { background:#4ade80; }
.lb-modal .gm-props summary small { color:#ff6b76; }
.lb-modal .gm-why .warn { color:#ff6b76; background:rgba(255,107,118,.08); padding:10px; border-left:3px solid #ff6b76; border-radius:4px; }
.lb-modal .res.hit { color:#4ade80; background:rgba(74,222,128,.12); }
.lb-modal .res.miss { color:#ff6b76; background:rgba(255,107,118,.12); }
.lb-analysis-pending { color:#d4d4d4; line-height:1.5; }
@media(max-width:560px) { .lb-modal { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:14px; } .lb-modal-top { padding:18px 16px 14px; } .lb-modal h2 { font-size:32px; } .lb-modal-score { padding:12px 16px; } .lb-modal-key { padding:0 16px; } .lb-modal-note { margin:10px 16px 16px; } .lb-modal-content { padding:0 12px 18px; } }
