/* Live session layer: status bar, invite and join dialogs, vote marks. Uses the page's own tokens. */
.lv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.95rem;color:var(--linen-dim)}
.lv-bar .btn{padding:6px 14px;font-size:.95rem}
.lv-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #d9a44133;flex:none}
.lv-dot.off{background:var(--ie-red);box-shadow:0 0 0 4px #c8313a33}
.lv-name{font:inherit;font-weight:700;color:var(--linen);background:none;border:0;border-bottom:1px dashed #ffffff55;padding:2px 0;cursor:pointer}
.lv-name:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.lv-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0a1428e6;overflow:auto}
.lv-overlay[hidden]{display:none}
.lv-card{width:min(460px,100%);background:var(--panel);border:1px solid #ffffff22;border-radius:10px;padding:24px;display:grid;gap:12px}
.lv-card h2{font-family:var(--f-display);font-size:1.8rem;line-height:1.1;margin:0}
.lv-card .lead,.lv-card .eyebrow{margin:0}
.lv-label{font-weight:700;font-size:.95rem}
.lv-card input{font:inherit;font-size:1.2rem;color:var(--ink);background:var(--linen);border:0;border-radius:6px;padding:12px 14px;width:100%}
.lv-card input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lv-invite{text-align:center;width:min(560px,100%)}
.lv-invite .row{justify-content:center}
.lv-qr img{width:min(340px,80vw);height:auto;image-rendering:pixelated;border-radius:8px;background:#fff}
.lv-url{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,5vw,2.4rem);color:var(--gold);margin:0;word-break:break-all}
.lv-who{color:var(--linen-dim);margin:0}

.lv-line{margin:10px 0 0;color:var(--gold);font-weight:500}
.lv-line[hidden]{display:none}
.lv-sup{margin:4px 0 12px}
.lv-picks{gap:10px}
.opt .lv-count{margin-left:auto;flex:none;font-size:.85rem;font-weight:700;color:var(--gold);white-space:nowrap}
.opt.lv-mine{border-color:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}
.opt.lv-mine .ol{background:var(--gold)}

/* Guests and the TV follow the host: no navigation, no host-only lists that give the answers away */
.lv-follow nav [role=tab]{pointer-events:none}
.lv-follow nav [role=tab][aria-selected="false"]{opacity:.45}
.lv-follow .controls,
.lv-follow #spin,
.lv-follow .check,
.lv-follow .mini,
.lv-follow #candle,
.lv-follow #c-link,
.lv-follow #tl-reveal,
.lv-follow #h-prev,.lv-follow #h-next,
.lv-follow details{display:none!important}
.lv-follow #tale-list button,.lv-follow #h-years button{pointer-events:none}

/* TV: a standing join code in the header */
.lv-tvjoin{display:flex;align-items:center;gap:14px}
.lv-tvjoin .lv-qr img{width:120px;height:auto;image-rendering:pixelated;border-radius:6px;background:#fff;display:block}
.lv-tvjoin .eyebrow{margin:0}
.lv-tvjoin .lv-url{font-size:clamp(1.2rem,2.4vw,1.8rem)}
.lv-tv .opt:disabled{cursor:default}

/* Session code */
.lv-bigcode{font-family:var(--f-display);font-weight:700;font-size:clamp(3rem,12vw,5.5rem);letter-spacing:.18em;line-height:1;margin:4px 0 0;color:var(--gold)}
.lv-code{margin:0;color:var(--linen-dim)}
.lv-code b{font-family:var(--f-display);font-size:1.6em;letter-spacing:.14em;color:var(--gold)}
.lv-tvlink{margin:0;color:var(--linen-dim);font-size:.95rem;word-break:break-all}
.lv-tvlink a{color:var(--linen)}
.lv-codein{font-family:var(--f-display)!important;font-weight:700;font-size:2rem!important;letter-spacing:.3em;text-transform:uppercase;text-align:center}
.lv-err{margin:0;color:#ff8f95;font-weight:500}
.lv-err[hidden]{display:none}

/* Who picked what */
.opt{flex-wrap:wrap}
.opt .lv-voters{flex-basis:100%;padding-left:48px;font-size:.85rem;color:var(--linen-dim);line-height:1.35}
.lv-who-sup{display:grid;gap:4px;margin-top:8px}
.lv-pick{margin:0;color:var(--linen-dim);font-size:.95rem}
.lv-pick b{color:var(--linen)}
.lv-pick.ok b{color:var(--gold)}
.lv-pick.no{opacity:.75}

/* Summary */
body:not(.lv) #t-sum{display:none}
.lv-empty{color:var(--linen-dim);max-width:60ch}
.lv-winner{text-align:center;border:1px solid #d9a44166;background:#d9a44112;border-radius:10px;padding:20px 16px;margin-bottom:14px}
.lv-winner .eyebrow{margin:0}
.lv-winner-name{font-family:var(--f-display);font-weight:700;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;margin:6px 0 4px;color:var(--gold);text-wrap:balance}
.lv-winner-pts{margin:0;font-size:1.2rem}
.lv-board{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.lv-row{display:grid;grid-template-columns:2.2em 1fr auto;align-items:baseline;gap:2px 12px;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;padding:10px 14px}
.lv-row.first{border-color:var(--gold)}
.lv-row.me{box-shadow:inset 0 0 0 1.5px var(--linen)}
.lv-rk{font-family:var(--f-display);font-weight:700;font-size:1.3rem;color:var(--gold)}
.lv-nm{font-weight:700;font-size:1.1rem;overflow-wrap:anywhere}
.lv-pt{font-weight:700;font-size:1.1rem;white-space:nowrap}
.lv-dt{grid-column:2/4;color:var(--linen-dim);font-size:.85rem}
