/* Olympus · Usage and lounge pages. Builds on tokens.css and olympus.css; every class here starts with lg-. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.lg-error{color:var(--st-error);font-size:var(--fs-13);min-height:1em;margin:6px 0}
.lg-danger{color:var(--st-error)!important}
.lg-avatar{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 var(--fs-12)/1 var(--font-latin);color:#fff;background:var(--p-mid);box-shadow:0 0 0 2px #fff}
.lg-avatar.hue-0{background:#125190}.lg-avatar.hue-1{background:#2f6b4c}.lg-avatar.hue-2{background:#8a5a0b}
.lg-avatar.hue-3{background:#6a3f8f}.lg-avatar.hue-4{background:#a6512b}.lg-avatar.hue-5{background:#4f6f8f}
.lg-avatar.online{position:relative}
.lg-avatar.online::after{content:'';position:absolute;bottom:-1px;left:-1px;width:9px;height:9px;border-radius:50%;background:var(--st-done-dot);box-shadow:0 0 0 2px #fff}
.lg-banner{position:sticky;top:8px;z-index:5;margin:0 auto 12px;width:max-content;max-width:100%;padding:8px 16px;border-radius:var(--r-pill);background:var(--st-waiting-bg);color:var(--st-waiting);font-size:var(--fs-13);font-weight:600;box-shadow:var(--shadow-soft)}
.lg-off{max-width:560px;margin:40px auto}
.lg-off .empty p{margin:8px 0 14px}

/* ---------- header: presence and voice ---------- */
.lg-presence{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.lg-person{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:var(--r-pill);background:var(--glass-strong);border:1px solid var(--glass-border);font-size:var(--fs-13);font-weight:600;white-space:nowrap}
.lg-running{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--st-running-bg);color:var(--st-running);font:700 var(--fs-11)/18px var(--font-latin);text-align:center}
.lg-voice{display:flex;align-items:center;gap:8px}
.lg-voice-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:var(--r-sm);font-size:var(--fs-13);font-weight:600;white-space:nowrap;text-decoration:none!important}
a.lg-voice-btn.primary{color:#fff}
.lg-voice-web{font-size:var(--fs-12);font-weight:600;color:var(--ink-muted)}
.lg-voice-who{font-size:var(--fs-12);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- layout ---------- */
.lg-layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto 1fr;grid-template-areas:'tabs chat' 'main chat';align-items:start}
.lg-tabs{grid-area:tabs;justify-self:start}
.lg-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--p);font-weight:700;box-shadow:var(--shadow-soft)}
.lg-tab-chat{display:none}
.lg-board,.lg-tablepanel{grid-area:main;min-width:0}
.lg-count{display:inline-block;min-width:18px;margin-inline-start:6px;padding:0 5px;border-radius:var(--r-pill);background:var(--st-error-dot);color:#fff;font:700 var(--fs-11)/18px var(--font-latin)}

/* ---------- chat ---------- */
.lg-chat{grid-area:chat;position:sticky;top:12px;display:flex;flex-direction:column;height:calc(100vh - 110px);min-height:420px;border-radius:var(--r-lg);overflow:hidden}
.lg-chat-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:14px 18px 10px;border-bottom:1px solid var(--line)}
.lg-chat-head h2{font-size:var(--fs-15);font-weight:800}
.lg-chat-head .muted{font-size:var(--fs-12)}
.lg-chat-list{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain;scrollbar-width:thin}
.lg-chat-list:focus-visible{outline:none;box-shadow:inset var(--focus)}
.lg-older{align-self:center;padding:4px 8px 10px}
.lg-day{display:flex;align-items:center;gap:10px;margin:12px 0 6px;color:var(--ink-faint);font-size:var(--fs-11);font-weight:600}
.lg-day::before,.lg-day::after{content:'';flex:1;height:1px;background:var(--line)}
.lg-empty-chat{margin:auto;text-align:center;color:var(--ink-muted)}
.lg-empty-chat span{font-size:32px}
.lg-msg{position:relative;display:flex;align-items:flex-end;gap:8px;margin-top:8px;max-width:92%}
.lg-msg.grouped{margin-top:2px}
.lg-msg.mine{align-self:flex-end;flex-direction:row-reverse}
.lg-avatar-gap{flex:none;width:28px}
.lg-bubble{min-width:0;padding:7px 12px 8px;border-radius:16px 16px 16px 6px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 6px -4px rgb(var(--p-shadow)/.3)}
.lg-msg.mine .lg-bubble{border-radius:16px 16px 6px 16px;background:var(--p);border-color:var(--p);color:#fff}
.lg-msg.mine .lg-bubble a{color:#fff}
.lg-msg.unread .lg-bubble{background:#f1f6fc;border-color:rgb(var(--p-rgb)/.25)}
.lg-msg.sending .lg-bubble{opacity:.55}
.lg-msg.failed .lg-bubble{background:var(--st-error-bg);border-color:rgb(168 38 28/.3);color:var(--st-error)}
.lg-msg-head{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-12)}
.lg-msg-head time{color:var(--ink-faint);font:500 var(--fs-11) var(--font-latin)}
.lg-msg-text{font-size:var(--fs-14);line-height:1.5;overflow-wrap:anywhere}
.lg-msg-text mark{background:rgb(var(--p-rgb)/.12);color:inherit;border-radius:4px;padding:0 3px;font-weight:600}
.lg-msg.mine .lg-msg-text mark{background:rgb(255 255 255/.22)}
.lg-msg-text mark.lg-me{background:#fbf1dc;color:var(--st-waiting)}
.lg-msg-fail{font-size:var(--fs-12)}
.lg-msg-del{opacity:0;align-self:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--ink-faint);font-size:16px;border-radius:50%}
.lg-msg:hover .lg-msg-del,.lg-msg-del:focus-visible{opacity:1}
.lg-composer{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--line);background:rgb(255 255 255/.5)}
.lg-composer textarea{resize:none;min-height:42px;max-height:140px;padding:10px 12px;line-height:1.4}
.lg-composer .primary{flex:none;height:42px}

/* ---------- task board ---------- */
.lg-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px}
.lg-board-head p{margin:0;font-size:var(--fs-13)}
.lg-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.lg-column{border-radius:var(--r-lg);padding:12px;min-height:200px}
.lg-column header{display:flex;align-items:center;gap:8px;padding:4px 6px 10px}
.lg-column h2{font-size:var(--fs-14);font-weight:800}
.lg-count-pill{padding:1px 8px;border-radius:var(--r-pill);background:var(--tint-2);color:var(--p);font:700 var(--fs-11)/18px var(--font-latin)}
.lg-add{margin-inline-start:auto;width:30px;height:30px;padding:0;font-size:18px}
.lg-cards{display:flex;flex-direction:column;gap:10px;min-height:60px;border-radius:var(--r-md);transition:background var(--t-fast)}
.lg-cards.drop-over{background:rgb(var(--p-rgb)/.07);outline:2px dashed rgb(var(--p-rgb)/.3);outline-offset:4px}
.lg-col-empty{margin:0;padding:18px 10px;text-align:center;color:var(--ink-faint);font-size:var(--fs-12);border:1.5px dashed var(--line-2);border-radius:var(--r-md)}
.lg-card{position:relative;padding:12px 14px;border-radius:var(--r-md);background:var(--glass-solid);cursor:grab;transition:box-shadow var(--t-fast),transform var(--t-fast)}
.lg-card:hover{box-shadow:var(--shadow-soft)}
.lg-card:focus-visible{outline:none;box-shadow:var(--focus)}
.lg-card.dragging{opacity:.45;transform:rotate(1.5deg)}
.lg-card.flagged{border-color:rgb(208 69 58/.45)}
.lg-card-top{display:flex;align-items:flex-start;gap:6px}
.lg-card h3{flex:1;font-size:var(--fs-14);font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.lg-card-desc{margin:6px 0 0;font-size:var(--fs-12);color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.lg-flag{margin:8px 0 0;padding:4px 8px;border-radius:var(--r-xs);background:var(--st-error-bg);color:var(--st-error);font-size:var(--fs-12);font-weight:600}
.lg-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:var(--fs-12)}
.lg-assignee{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.lg-assignee .lg-avatar{width:22px;height:22px;font-size:10px}
.lg-due{padding:1px 8px;border-radius:var(--r-pill);background:var(--tint);color:var(--ink-2);font-weight:600}
.lg-due.late{background:var(--st-error-bg);color:var(--st-error)}
.lg-agent{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 8px;border-radius:var(--r-sm);background:var(--tint);font-size:var(--fs-12);font-weight:600;color:var(--ink-2);text-decoration:none!important}
.lg-agent-status{margin-inline-start:auto;font-weight:700}
.lg-agent.status-running .lg-agent-status{color:var(--st-running)}
.lg-agent.status-completed .lg-agent-status{color:var(--st-done)}
.lg-agent.status-error .lg-agent-status{color:var(--st-error)}
.lg-agent.status-awaiting_user .lg-agent-status{color:var(--st-waiting)}
.lg-face{position:relative;flex:none;width:26px;height:26px;border-radius:50%;overflow:hidden;background:linear-gradient(#fff,#e9eef6);box-shadow:0 0 0 1.5px #fff}
.lg-face img{position:absolute;left:-37%;top:-24%;width:167%;height:auto}
.lg-menu{position:relative}
.lg-menu>.icon-only{width:28px;height:28px;padding:0;font-size:18px;line-height:1}
.lg-menu-list{position:absolute;top:30px;left:0;z-index:10;display:flex;flex-direction:column;min-width:170px;padding:6px;border-radius:var(--r-sm);background:rgb(255 255 255/.97);box-shadow:var(--shadow-lift)}
.lg-menu-list button{border:0;background:transparent;text-align:start;padding:8px 10px;border-radius:var(--r-xs)}
.lg-menu-list button:hover,.lg-menu-list button:focus-visible{background:var(--tint);outline:none}
.lg-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.lg-dialog-actions .primary{padding:10px 22px}

/* ---------- blackjack ---------- */
.lg-table-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:start}
.lg-felt{grid-column:1;grid-row:1}.lg-controls{grid-column:1;grid-row:2}.lg-side{grid-column:2;grid-row:1/3}
/* narrower screens: the table gets the full width; chips and leaders go under the controls */
@media(max-width:1500px){
 .lg-table-wrap{grid-template-columns:minmax(0,1fr)}
 .lg-side{grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:0 24px;align-items:start}
 .lg-side .lg-chips{grid-column:1;grid-row:1/4}
 .lg-side>h3,.lg-side .lg-leaders,.lg-side .lg-rules{grid-column:2}
 .lg-side>h3{margin-top:0}
}
@media(max-width:560px){.lg-side{grid-template-columns:1fr}.lg-side .lg-chips{grid-row:auto}.lg-side>h3,.lg-side .lg-leaders,.lg-side .lg-rules{grid-column:1}.lg-side>h3{margin-top:14px}}
.lg-felt{position:relative;min-height:470px;padding:18px 22px 56px;border-radius:28px 28px 46% 46%/28px 28px 16% 16%;color:#fff;overflow:hidden;
 background:radial-gradient(120% 90% at 50% 0%,#2a6cb0 0%,#165899 38%,#0f447a 75%,#0b3763 100%);
 box-shadow:inset 0 0 0 10px rgb(255 255 255/.14),inset 0 0 0 12px rgb(255 255 255/.35),inset 0 30px 80px -40px rgb(0 0 0/.5),var(--shadow-glass)}
.lg-felt::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:6px 6px}
.lg-felt-text{position:relative;z-index:1;margin:6px auto 4px;width:max-content;max-width:90%;padding:3px 14px;border-radius:var(--r-pill);border:1px solid rgb(255 255 255/.35);font-size:var(--fs-12);letter-spacing:.02em;color:rgb(255 255 255/.85)}
.lg-dealer{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.lg-dealer>div:not(.lg-cardrow){display:flex;align-items:baseline;gap:6px}
.lg-dealer .muted{color:rgb(255 255 255/.7);font-size:var(--fs-12)}
.lg-dealer-face{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(#f4f7fc,#cfdcec);box-shadow:0 0 0 3px rgb(255 255 255/.75),0 10px 24px -8px rgb(0 0 0/.5)}
.lg-dealer-face img{position:absolute;left:-37%;top:-24%;width:167%;height:auto}
.lg-cardrow{display:flex;justify-content:center;min-height:70px;padding-inline-start:28px}
.lg-total{display:inline-block;padding:1px 10px;border-radius:var(--r-pill);background:rgb(0 0 0/.28);font:700 var(--fs-13) var(--font-latin)}
.lg-seats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px;margin-top:10px}
.lg-seat{--lift:0px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-height:170px;padding:8px 4px;border-radius:var(--r-md);transform:translateY(var(--lift));transition:background var(--t-fast)}
.lg-seat.seat-1,.lg-seat.seat-3{--lift:14px}.lg-seat.seat-2{--lift:22px}
.lg-seat.turn{background:rgb(255 255 255/.12);box-shadow:0 0 0 2px rgb(255 255 255/.7)}
.lg-seat.me .lg-seat-name{background:#fff;color:var(--p)}
.lg-seat.left{opacity:.5}
.lg-seat.vacant{align-self:end;justify-content:center;min-height:96px;border:1.5px dashed rgb(255 255 255/.3)}
.lg-sit{background:rgb(255 255 255/.14);border-color:rgb(255 255 255/.45);color:#fff;font-weight:700}
.lg-sit:hover:not(:disabled){background:#fff;color:var(--p)}
.lg-seat.vacant .muted{color:rgb(255 255 255/.55);font-size:var(--fs-12)}
.lg-seat-name{display:flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px 3px 4px;border-radius:var(--r-pill);background:rgb(0 0 0/.25);font-size:var(--fs-12);font-weight:700}
.lg-seat-name span:not(.lg-avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-seat-name .lg-avatar{width:22px;height:22px;font-size:10px;box-shadow:none}
.lg-seat-chips{font:600 var(--fs-11) var(--font-latin);opacity:.8}
.lg-hand{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border-radius:var(--r-sm)}
.lg-hand.active{background:rgb(255 255 255/.14)}
.lg-hand .lg-cardrow{min-height:58px;padding-inline-start:20px}
.lg-hand .pc{width:40px;height:58px;margin-inline-start:-20px;font-size:var(--fs-12)}
.lg-hand-info{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;font-size:var(--fs-11)}
.lg-bet,.lg-bet-chip{padding:1px 8px;border-radius:var(--r-pill);background:rgb(255 255 255/.18);font-weight:700}
.lg-waiting{font-size:var(--fs-11);color:rgb(255 255 255/.7)}
.lg-result{padding:1px 8px;border-radius:var(--r-pill);font-weight:800;background:#fff;color:var(--ink)}
.r-win .lg-result,.r-blackjack .lg-result{background:#dff3e8;color:var(--st-done)}
.r-lose .lg-result,.r-bust .lg-result{background:var(--st-error-bg);color:var(--st-error)}
.r-blackjack .lg-result{background:#fff4d6;color:#7a5200}
/* playing cards */
.pc{position:relative;display:inline-block;width:48px;height:68px;margin-inline-start:-28px;border-radius:7px;background:#fff;color:#111827;box-shadow:0 6px 14px -6px rgb(0 0 0/.55),0 0 0 1px rgb(0 0 0/.08);font:700 var(--fs-13)/1 var(--font-latin)}
.pc b{position:absolute;top:5px;right:6px;font-weight:800}
.pc i{position:absolute;top:19px;right:6px;font-style:normal;font-size:11px}
.pc em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:24px;padding-top:10px}
.pc.red{color:#b3261e}
.pc.back{background:repeating-linear-gradient(45deg,#e9eef7 0 4px,#fff 4px 8px);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5px var(--p-light),0 6px 14px -6px rgb(0 0 0/.55)}
.pc.back::after{content:'';position:absolute;inset:14px 10px;background:url(brand/shield.svg) center/contain no-repeat;opacity:.55}
.pc.deal{animation:lg-deal .5s var(--ease-out) both}
.pc.d1{animation-delay:.25s}.pc.d2{animation-delay:.5s}.pc.d3{animation-delay:.75s}.pc.d4{animation-delay:1s}
.pc.d5{animation-delay:1.25s}.pc.d6{animation-delay:1.5s}.pc.d7{animation-delay:1.75s}.pc.d8{animation-delay:2s}.pc.d9{animation-delay:2.25s}
@keyframes lg-deal{from{opacity:0;transform:translate(-30px,-90px) rotate(-12deg)}to{opacity:1;transform:none}}
/* side panel and controls */
.lg-side{border-radius:var(--r-lg);padding:16px}
.lg-side h3{font-size:var(--fs-14);font-weight:800;margin:14px 0 8px}
.lg-chips{display:flex;flex-direction:column;gap:2px}
.lg-chips strong{font:800 var(--fs-28)/1.1 var(--font-latin);color:var(--p)}
.lg-leaders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:rank}
.lg-leaders li{counter-increment:rank;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:'n who sum' 'n meta meta';align-items:center;gap:0 8px;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--fs-13)}
.lg-leaders li::before{content:counter(rank);grid-area:n;font:800 var(--fs-12) var(--font-latin);color:var(--ink-faint);width:14px}
.lg-leaders li.me{background:var(--tint)}
.lg-leaders li>span{grid-area:who;display:flex;align-items:center;gap:6px;font-weight:600;min-width:0}
.lg-leaders .lg-avatar{width:22px;height:22px;font-size:10px}
.lg-leaders strong{grid-area:sum;font-family:var(--font-latin)}
.lg-leaders small{grid-area:meta;font-size:var(--fs-11)}
.lg-leaders li.muted::before{content:none}
.lg-rules{margin-top:14px;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-rules summary{cursor:pointer;font-weight:700;color:var(--ink-2)}
.lg-rules ul{margin:8px 0 0;padding-inline-start:18px}
.lg-controls{position:relative;padding:14px 16px 18px;border-radius:var(--r-lg);overflow:hidden}
.lg-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:10px}
.lg-status strong{font-size:var(--fs-15)}
.lg-status.my-turn strong{color:var(--p)}
.lg-timer{margin-inline-start:auto;font:700 var(--fs-13) var(--font-latin);color:var(--ink-muted)}
.lg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lg-actions .primary{min-width:110px}
.lg-chiprow{display:flex;flex-wrap:wrap;gap:6px}
.lg-chip{width:46px;height:46px;padding:0;border-radius:50%;border:3px dashed rgb(255 255 255/.75);color:#fff;font:800 var(--fs-13) var(--font-latin);box-shadow:0 4px 10px -4px rgb(0 0 0/.4),inset 0 0 0 2px rgb(0 0 0/.12)}
.lg-chip.v10{background:#5d6077}.lg-chip.v25{background:#2f6b4c}.lg-chip.v50{background:#125190}
.lg-chip.v100{background:#a6512b}.lg-chip.v250{background:#6a3f8f}.lg-chip.v500{background:#111827}
.lg-chip:hover:not(:disabled){transform:translateY(-2px);background-blend-mode:normal;filter:brightness(1.1)}
.lg-timebar{position:absolute;bottom:0;right:0;left:0;height:4px;background:var(--tint)}
.lg-timebar i{display:block;height:100%;background:var(--p);transition:width .25s linear}
.lg-timebar.urgent i{background:var(--st-error-dot)}

/* ---------- usage ---------- */
.lg-filter{width:auto;min-width:170px}
.lg-usage-note{margin:0 0 14px;font-size:var(--fs-13)}
.lg-local form{max-width:420px;padding:18px;border-radius:var(--r-lg);display:grid;gap:10px;margin-bottom:16px}
.lg-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.lg-sum{padding:16px 18px;border-radius:var(--r-lg)}
.lg-sum h2{display:flex;align-items:center;gap:8px;font-size:var(--fs-14);font-weight:800}
.lg-sum h2 .dot{width:10px;height:10px}
.lg-sum.claude h2 .dot{background:var(--claude)}.lg-sum.codex h2 .dot{background:var(--codex)}
.lg-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.lg-period span{display:block;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-period strong{display:block;font:800 var(--fs-22)/1.2 var(--font-latin)}
.lg-period small{font:500 var(--fs-12) var(--font-latin);color:var(--ink-muted)}
.lg-chart-card{padding:16px 18px;border-radius:var(--r-lg);margin-bottom:14px}
.lg-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.lg-chart-head h2{font-size:var(--fs-15);font-weight:800}
.lg-chart-head [aria-pressed=true]{background:#fff;color:var(--p);font-weight:700;box-shadow:var(--shadow-soft)}
.lg-chart{position:relative;height:220px}
.lg-chart svg{display:block;width:100%;height:100%;overflow:visible}
.lg-chart .bar{transition:opacity var(--t-fast)}
.lg-chart .day:hover .bar,.lg-chart .day:focus .bar{opacity:.8}
.lg-chart .day:focus{outline:none}
.lg-chart .axis{font:500 11px var(--font-latin);fill:var(--ink-faint)}
.lg-chart .grid{stroke:var(--line);stroke-width:1}
.lg-tip{position:absolute;z-index:3;pointer-events:none;min-width:150px;padding:8px 10px;border-radius:var(--r-sm);background:rgb(14 16 36/.9);color:#fff;font-size:var(--fs-12);box-shadow:var(--shadow-lift);transform:translate(50%,-100%)}
.lg-tip b{display:block;margin-bottom:4px}
.lg-tip span{display:flex;justify-content:space-between;gap:12px}
.lg-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-legend span{display:inline-flex;align-items:center;gap:6px}
.lg-legend i{width:10px;height:10px;border-radius:3px}
.lg-machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.lg-machine{padding:16px 18px;border-radius:var(--r-lg)}
.lg-machine header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.lg-machine h3{font-size:var(--fs-15);font-weight:800}
.lg-machine header .muted{font-size:var(--fs-12)}
.lg-machine .lg-updated{margin-inline-start:auto;font-size:var(--fs-11);padding:2px 8px;border-radius:var(--r-pill);background:var(--tint);color:var(--ink-muted);white-space:nowrap}
.lg-machine .lg-updated.stale{background:var(--st-unknown-bg)}
.lg-provider{padding:10px 0;border-top:1px solid var(--line)}
.lg-provider-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--fs-13)}
.lg-provider-head strong{display:flex;align-items:center;gap:6px}
.lg-provider-head .dot{width:8px;height:8px}
.lg-provider.claude .dot{background:var(--claude)}.lg-provider.codex .dot{background:var(--codex)}
.lg-provider-head span{font:600 var(--fs-12) var(--font-latin);color:var(--ink-muted)}
.lg-models{margin:6px 0 0;padding:0;list-style:none;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-models li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.lg-models li span:last-child{font-family:var(--font-latin)}
.lg-limit{margin-top:8px}
.lg-limit-label{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-12)}
.lg-limit-label span:last-child{color:var(--ink-muted)}
.lg-meter{height:8px;margin-top:4px;border-radius:var(--r-pill);background:var(--tint-2);overflow:hidden}
.lg-meter i{display:block;height:100%;border-radius:inherit;background:var(--p)}
.lg-meter.warn i{background:var(--st-waiting-dot)}.lg-meter.high i{background:var(--st-error-dot)}
.lg-machine .lg-none{margin:6px 0 0;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-skel{border-radius:var(--r-lg);min-height:160px;background:linear-gradient(90deg,rgb(255 255 255/.5),rgb(255 255 255/.85),rgb(255 255 255/.5));background-size:200% 100%;animation:lg-shimmer 1.2s linear infinite}
@keyframes lg-shimmer{to{background-position:-200% 0}}

/* ---------- responsive ---------- */
@media(max-width:1100px){
 .lg-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:'tabs' 'main'}
 .lg-tab-chat{display:inline-flex}
 .lg-chat{display:none;grid-area:main;position:static;height:calc(100dvh - 210px)}
 .lg-chat.lg-chat-open{display:flex}
 .lg-table-wrap{grid-template-columns:1fr}
 .lg-presence .lg-person-name{display:none}
 .lg-person{padding:2px}
}
@media(max-width:900px){.lg-columns{grid-template-columns:1fr}.lg-summary{grid-template-columns:1fr}}
@media(max-width:720px){
 .lg-voice-who,.lg-voice-web,.lg-voice-list{display:none}
 .lg-felt{min-height:0;padding:14px 10px 20px;border-radius:22px}
 .lg-seats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lg-seat{transform:none;min-height:0}
 .lg-seat.vacant{min-height:64px}
 .lg-periods strong{font-size:var(--fs-18)}
 .lg-machines{grid-template-columns:1fr}
 .lg-tabs{width:100%}
 .lg-board-head{flex-wrap:wrap}
}

/* machine colours (the same order as the chart palette in usage.js) */
.m0{background:#125190!important}.m1{background:#a6512b!important}.m2{background:#2f6b4c!important}
.m3{background:#6a3f8f!important}.m4{background:#8a5a0b!important}.m5{background:#4f6f8f!important}

/* ---------- chat: system rows and shared results ---------- */
.lg-sys{display:flex;align-items:center;gap:8px;align-self:stretch;margin:8px 0 2px;padding:7px 12px;border-radius:var(--r-sm);background:rgb(255 255 255/.75);border:1px solid var(--line);font-size:var(--fs-12)}
.lg-sys-text{flex:1;min-width:0;line-height:1.45;overflow-wrap:anywhere}
.lg-sys .lg-sys-task{color:var(--ink-muted)}
.lg-sys a{flex:none;font-weight:700}
.lg-sys time{flex:none;color:var(--ink-faint);font:500 var(--fs-11) var(--font-latin)}
.lg-sys.failed{background:var(--st-error-bg);border-color:rgb(168 38 28/.2)}
.lg-fail{color:var(--st-error)}
.lg-sys.limit{background:var(--st-waiting-bg);color:var(--st-waiting);border-color:rgb(138 90 11/.2)}
.lg-sys.limit.high{background:var(--st-error-bg);color:var(--st-error)}
.lg-share-head{display:flex;align-items:center;gap:6px;font-size:var(--fs-12);opacity:.9}
.lg-share-head .lg-face{width:22px;height:22px}
.lg-share-task{display:block;margin-top:4px;font-size:var(--fs-12);opacity:.8}
.lg-share-text{display:block;margin:6px 0;padding:8px 10px;border-radius:10px;background:rgb(0 0 0/.06);font-size:var(--fs-13);white-space:pre-line}
.lg-msg.mine .lg-share-text{background:rgb(255 255 255/.16)}
.lg-msg-text a{font-weight:600}
.lg-check{display:flex!important;align-items:center;gap:8px;font-size:var(--fs-13)}
.lg-check input{width:auto}

/* ---------- templates and schedules ---------- */
.lg-plans-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:6px 0 10px}
.lg-plans-head h2{font-size:var(--fs-15);font-weight:800}
.lg-plans-head p{margin:0;font-size:var(--fs-12)}
.lg-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:22px}
.lg-plan{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--r-md)}
.lg-plan.off{opacity:.65}
.lg-plan header{display:flex;flex-direction:column;gap:2px}
.lg-plan h3{font-size:var(--fs-14);font-weight:800}
.lg-plan-meta{font-size:var(--fs-12);color:var(--ink-muted)}
.lg-plan-task{margin:0;font-size:var(--fs-12);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.lg-plan footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:6px;border-top:1px solid var(--line);font-size:var(--fs-12)}
.lg-plan footer>.muted{margin-inline-end:auto}
.lg-small{padding:5px 10px;font-size:var(--fs-12)}
.lg-run{border-radius:var(--r-sm);background:var(--p);color:#fff!important;font-weight:700;text-decoration:none!important}
.lg-run:hover{background:var(--p-dark)}
.lg-plan-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:var(--fs-12)}
.lg-plan-facts div{display:contents}
.lg-plan-facts dt{color:var(--ink-muted)}
.lg-plan-facts dd{margin:0}
.lg-tag{align-self:flex-start;padding:2px 8px;border-radius:var(--r-pill);background:var(--st-unknown-bg);color:var(--ink-muted);font-size:var(--fs-11);font-weight:700}
.lg-tag.warn{background:var(--st-waiting-bg);color:var(--st-waiting)}
.lg-switch{display:inline-flex;align-items:center;gap:4px;font-weight:600}
.lg-switch input{width:auto}
.lg-days{border:0;padding:0;margin:10px 0}
.lg-days legend{font-size:var(--fs-13);margin-bottom:6px}
#schedule-days{display:flex;flex-wrap:wrap;gap:6px}
.lg-day-pick{position:relative;margin:0!important}
.lg-day-pick input{position:absolute;opacity:0;width:1px;height:1px}
.lg-day-pick span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:#fff;font-weight:700;cursor:pointer}
.lg-day-pick input:checked+span{background:var(--p);border-color:var(--p);color:#fff}
.lg-day-pick input:focus-visible+span{box-shadow:var(--focus)}
.lg-plans{grid-area:main;min-width:0}

/* Discord: who is connected, as a small drop-down list */
.lg-voice-list{position:relative;font-size:var(--fs-12)}
.lg-voice-list summary{list-style:none;cursor:pointer;padding:6px 10px;border-radius:var(--r-pill);background:var(--glass-strong);border:1px solid var(--line);font-weight:600;white-space:nowrap}
.lg-voice-list summary::-webkit-details-marker{display:none}
.lg-voice-list summary::after{content:' ▾';color:var(--ink-faint)}
.lg-voice-list[open] summary::after{content:' ▴'}
.lg-voice-list ul{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:30;min-width:200px;max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;border-radius:var(--r-sm);background:rgb(255 255 255/.97);box-shadow:var(--shadow-lift)}
.lg-voice-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-xs);font-size:var(--fs-13)}
.lg-voice-list li small{margin-inline-start:auto}
.lg-voice-list .lg-voice-note{display:block;font-size:var(--fs-11);color:var(--ink-muted);border-top:1px solid var(--line);margin-top:4px;padding-top:8px}
.lg-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--st-done-dot)}
.lg-dot.idle{background:var(--st-waiting-dot)}.lg-dot.dnd{background:var(--st-error-dot)}

/* ---------- personal status ---------- */
button.lg-person{cursor:pointer;font:inherit;font-size:var(--fs-13);font-weight:600;color:inherit}
.lg-person.me{border-color:rgb(var(--p-rgb)/.25)}
.lg-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-12)}
.lg-status-text{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-muted);font-weight:500}
.lg-status-mini{font-size:11px}
.lg-status-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:6px 0 12px}
.lg-status-pick label{margin:0!important;position:relative}
.lg-status-pick input{position:absolute;opacity:0;width:1px;height:1px}
.lg-status-pick span{display:block;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:#fff;font-weight:600;cursor:pointer}
.lg-status-pick input:checked+span{border-color:var(--p);box-shadow:0 0 0 2px rgb(var(--p-rgb)/.25);color:var(--p)}
.lg-status-pick input:focus-visible+span{box-shadow:var(--focus)}

/* ---------- reactions and typing ---------- */
.lg-msg-body{display:flex;flex-direction:column;min-width:0}
.lg-msg.mine .lg-msg-body{align-items:flex-end}
.lg-msg-tools{display:flex;flex-direction:column;gap:2px;align-self:center;opacity:0;transition:opacity var(--t-fast)}
.lg-msg:hover .lg-msg-tools,.lg-msg:focus-within .lg-msg-tools{opacity:1}
.lg-msg-tool{width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-faint);font-size:15px}
.lg-msg-tool:hover:not(:disabled){background:var(--tint);color:var(--ink)}
.lg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.lg-react{padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-12);background:#fff;border:1px solid var(--line-2)}
.lg-react.on{background:var(--st-running-bg);border-color:rgb(var(--p-rgb)/.35);color:var(--p);font-weight:700}
.lg-msg{position:relative}
.lg-picker{position:absolute;bottom:100%;z-index:6;display:flex;gap:2px;padding:4px;border-radius:var(--r-pill);background:rgb(255 255 255/.97);box-shadow:var(--shadow-lift)}
.lg-msg:not(.mine) .lg-picker{inset-inline-start:36px}
.lg-msg.mine .lg-picker{inset-inline-end:36px}
.lg-picker button{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;font-size:17px}
.lg-picker button:hover,.lg-picker button:focus-visible{background:var(--tint);transform:scale(1.15)}
.lg-typing{margin:0;padding:2px 16px 0;font-size:var(--fs-12);color:var(--ink-muted);font-style:italic}

/* ---------- morning summary and game results ---------- */
.lg-summary-card{align-self:stretch;margin:10px 0 4px;padding:12px 14px;border-radius:var(--r-md);background:linear-gradient(135deg,#fff8e8,#fff);border:1px solid rgb(212 151 42/.3);font-size:var(--fs-13)}
.lg-summary-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.lg-summary-head time{margin-inline-start:auto;color:var(--ink-faint);font:500 var(--fs-11) var(--font-latin)}
.lg-summary-card h4{margin:8px 0 2px;font-size:var(--fs-12);color:var(--ink-muted)}
.lg-summary-card ul{margin:0;padding-inline-start:18px}
.lg-summary-card li{margin:2px 0}
.lg-summary-card p{margin:4px 0 0}
.lg-sys.game{background:#eef4fb;border-color:rgb(var(--p-rgb)/.2)}
.lg-day-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.lg-summary-set{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}

/* ---------- backgammon (שש בש) ---------- */
.lg-bgpanel{grid-area:main;min-width:0}
.bg-seats{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 10px;flex-wrap:wrap}
.bg-seat{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:var(--r-pill);background:var(--glass-strong);border:1px solid var(--line);font-size:var(--fs-13)}
.bg-seat.turn{border-color:var(--p);box-shadow:0 0 0 3px rgb(var(--p-rgb)/.18)}
.bg-seat.empty{padding:8px 14px}
button.bg-seat{cursor:pointer;font-weight:700;color:var(--p)}
.bg-seat::before{content:'';width:14px;height:14px;border-radius:50%;flex:none}
.bg-seat.w::before{background:radial-gradient(circle at 35% 30%,#fff,#e6e1d6);box-shadow:0 0 0 1px #b9b2a2}
.bg-seat.b::before{background:radial-gradient(circle at 35% 30%,#4f86c2,#0f447a);box-shadow:0 0 0 1px #0b3763}
.bg-vs{font-size:var(--fs-12);color:var(--ink-faint)}
.bg-wrap{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:start}
.bg-board{--ck:clamp(20px,3.1vw,36px);position:relative;display:grid;grid-template-columns:1fr 54px 1fr 64px;grid-template-rows:1fr 1fr;
 height:clamp(340px,44vw,500px);padding:12px;border-radius:20px;background:linear-gradient(135deg,#fbfaf6,#efebe1);
 box-shadow:inset 0 0 0 10px #0f447a,inset 0 0 0 12px #8dabca,var(--shadow-glass)}
.bg-half{display:grid;grid-template-columns:repeat(6,1fr);padding:10px 4px}
.bg-point{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:16px 0 4px;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:default;min-width:0}
.bg-point.bottom{flex-direction:column-reverse;padding:4px 0 16px}
.bg-point::before{content:'';position:absolute;inset:14px 6% 18%;clip-path:polygon(0 0,100% 0,50% 100%);background:#c9d6e8;z-index:0}
.bg-point.bottom::before{inset:18% 6% 14px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.bg-point.even::before{background:#8dabca}
.bg-point.target::before{background:#5fb98a}
.bg-point.target{cursor:pointer}
.bg-point.can{cursor:pointer}
.bg-point:focus-visible{outline:none;box-shadow:var(--focus)}
.bg-num{position:absolute;top:0;font:600 9px var(--font-latin);color:var(--ink-faint)}
.bg-point.bottom .bg-num{top:auto;bottom:0}
.bg-ck{position:relative;z-index:1;flex:none;width:var(--ck);height:var(--ck);border-radius:50%;margin:-2px 0}
.bg-ck.w{background:radial-gradient(circle at 35% 30%,#fff,#e6e1d6 70%,#cfc8b8);box-shadow:0 2px 3px rgb(0 0 0/.25),inset 0 0 0 1px #b9b2a2}
.bg-ck.b{background:radial-gradient(circle at 35% 30%,#4f86c2,#125190 65%,#0b3763);box-shadow:0 2px 3px rgb(0 0 0/.3),inset 0 0 0 1px #0b3763}
.bg-ck.can{box-shadow:0 0 0 3px #f2c14e,0 2px 3px rgb(0 0 0/.25)}
.bg-ck.picked{box-shadow:0 0 0 4px #5fb98a,0 2px 6px rgb(0 0 0/.35);transform:translateY(-2px)}
.bg-more{position:relative;z-index:2;margin-top:-4px;padding:0 6px;border-radius:var(--r-pill);background:#0e1024;color:#fff;font:700 10px/16px var(--font-latin)}
.bg-bar{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;padding:10px 0;margin:0 4px;border-radius:10px;background:linear-gradient(#0f447a,#125190);cursor:default}
.bg-bar.bottom{grid-column:2;grid-row:2;visibility:hidden}
.bg-board>.bg-bar:not(.bottom){grid-column:2;grid-row:1/3}
.bg-dice{display:flex;flex-direction:column;gap:6px}
.bg-die{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:36px;height:36px;padding:5px;border-radius:7px;background:#fff;box-shadow:0 3px 6px rgb(0 0 0/.35)}
.bg-die i{width:6px;height:6px;border-radius:50%;place-self:center}
.bg-die i.on{background:#0e1024}
.bg-die.used{opacity:.35}
.bg-off{grid-column:4;grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:space-between;margin-inline-start:6px;padding:10px 4px;border-radius:10px;border:1.5px dashed rgb(var(--p-rgb)/.3);background:rgb(255 255 255/.5);box-shadow:none;cursor:default;font-size:var(--fs-11);color:var(--ink-muted)}
.bg-off.target{border-color:#5fb98a;background:#e6f3ec;cursor:pointer}
.bg-off b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:800 var(--fs-13) var(--font-latin)}
.bg-off b.w{background:#fff;box-shadow:inset 0 0 0 1px #b9b2a2;color:var(--ink)}
.bg-off b.b{background:#125190;color:#fff}
.bg-half.top-left{grid-column:1;grid-row:1}.bg-half.top-right{grid-column:3;grid-row:1}
.bg-half.bottom-left{grid-column:1;grid-row:2}.bg-half.bottom-right{grid-column:3;grid-row:2}
.bg-board{grid-column:1;grid-row:1}
@media(max-width:1500px){.bg-wrap{grid-template-columns:1fr}}
@media(max-width:720px){.bg-board{grid-template-columns:1fr 34px 1fr 40px;padding:8px;height:340px;--ck:20px}.bg-die{width:26px;height:26px;padding:3px}.bg-die i{width:4px;height:4px}.bg-off b{width:22px;height:22px}}
.bg-point:hover:not(:disabled),.bg-off:hover:not(:disabled){background:transparent;border-color:transparent}
.bg-off:hover:not(:disabled){border-color:rgb(var(--p-rgb)/.3);background:rgb(255 255 255/.5)}
.bg-off.target:hover:not(:disabled){border-color:#5fb98a;background:#e6f3ec}
