/* Scoped tabletop surface. Load after styles.css; all colors follow host tokens. */
.ll {
  --ll-bg:var(--bg,#f3f4f6); --ll-surface:var(--surface,#ffffff);
  --ll-soft:var(--surface-2,#e8eaee); --ll-line:var(--line,#d8dbe1);
  --ll-strong:var(--line-strong,#868c96); --ll-text:var(--text,#15171b);
  --ll-muted:var(--muted,#4c525c); --ll-accent:var(--accent,#00775a);
  --ll-on:var(--on-accent,#ffffff); --ll-tint:var(--accent-soft,#d3f2e6);
  --ll-danger:var(--err,#ab3a28);
  position:relative; isolation:isolate; max-width:1100px; margin:0 auto;
  padding:24px 8px; color:var(--ll-text); font:400 15px/1.5 var(--body,system-ui,sans-serif);
}
.ll *, .ll *::before, .ll *::after { box-sizing:border-box; }
.ll button, .ll input, .ll select, .ll summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.ll h1, .ll h2, .ll p { margin:0; }
.ll h1 { font:800 clamp(28px,5vw,42px)/1.1 var(--display,system-ui,sans-serif); letter-spacing:-.045em; }
.ll h2 { color:var(--ll-text); font:750 24px/1.2 var(--display,system-ui,sans-serif); letter-spacing:-.025em; margin:0 0 16px; }
.ll svg { display:block; width:26px; height:26px; flex:none; }
.ll .ll-eyebrow, .ll .ll-field-label { display:block; color:var(--ll-muted); font-size:11px; font-weight:650; letter-spacing:.11em; text-transform:uppercase; }
.ll .ll-eyebrow { margin-bottom:12px; }
.ll .ll-intro { padding:8px 8px 28px; }
.ll .ll-intro p { margin-top:12px; color:var(--ll-muted); max-width:460px; font-size:15px; }
.ll .ll-setup { display:grid; gap:24px; }
.ll .ll-games { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ll .ll-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  color:var(--ll-text); background:var(--ll-surface); border:1px solid var(--ll-strong);
  border-radius:12px; padding:12px 16px; min-height:44px; min-width:44px;
  font:600 14px/1.25 var(--body,system-ui,sans-serif); white-space:normal; cursor:pointer;
  transition:background-color .12s, border-color .12s, transform .12s;
}
.ll .ll-btn:hover { color:var(--ll-text); border-color:var(--ll-accent); }
.ll .ll-btn:active:not(:disabled) { transform:scale(.97); }
.ll .ll-btn:disabled { opacity:.38; cursor:default; }
.ll .ll-btn:focus-visible, .ll summary:focus-visible { outline:3px solid var(--ll-accent); outline-offset:3px; }
.ll .ll-primary { color:var(--ll-on); background:var(--ll-accent); border-color:var(--ll-accent); }
.ll .ll-primary:hover { color:var(--ll-on); background:var(--accent-hover,#00624a); }
.ll .ll-game { min-height:130px; align-items:flex-start; justify-content:center; flex-direction:column; gap:6px; padding:18px; text-align:left; }
.ll .ll-game svg { margin-bottom:8px; color:var(--ll-accent); width:30px; height:30px; }
.ll .ll-game strong { font-size:17px; letter-spacing:-.025em; }
.ll .ll-game small { color:var(--ll-muted); font-size:12px; font-weight:400; }
.ll .ll-selected { background:var(--ll-tint); border-color:var(--ll-accent); box-shadow:inset 0 0 0 1px var(--ll-accent); }
.ll .ll-setup-options { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.ll .ll-setup-options > .ll-note { max-width:520px; }
.ll .ll-segment { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.ll .ll-setup-players { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ll .ll-player-setup { min-width:0; margin:0; padding:18px; border:1px solid var(--ll-line); border-radius:16px; background:var(--ll-surface); display:grid; align-content:start; gap:16px; }
.ll .ll-player-setup legend { color:var(--ll-text); font-size:14px; padding:0 8px; margin:0; letter-spacing:0; font-weight:650; }
.ll .ll-seat { display:inline-block; flex:none; width:8px; height:8px; border-radius:50%; background:var(--ll-accent); }
.ll .ll-seat-1 { background:var(--sky,#2b6690); }
.ll .ll-seat-2 { background:var(--wheat,#8f5a00); }
.ll .ll-seat-3 { background:var(--shop,#3f6b2e); }
.ll label { display:grid; gap:7px; color:var(--ll-muted); font:500 12px/1.4 var(--body,system-ui,sans-serif); text-transform:none; letter-spacing:0; }
.ll input, .ll select { display:block; width:100%; max-width:100%; min-width:0; min-height:46px; padding:10px 12px; font:400 16px/1.35 var(--body,system-ui,sans-serif); color:var(--ll-text); background:var(--ll-bg); border:1px solid var(--ll-strong); border-radius:9px; }
.ll input:focus-visible, .ll select:focus-visible { outline:2px solid var(--ll-accent); outline-offset:2px; }
.ll .ll-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ll .ll-start-row { display:flex; flex-wrap:wrap; gap:12px; }
.ll .ll-start-row .ll-primary { min-width:210px; min-height:52px; justify-content:space-between; }
.ll .ll-table-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 4px 24px; }
.ll .ll-table-head h1 { display:flex; gap:12px; align-items:center; font-size:clamp(26px,4vw,36px); }
.ll .ll-table-head h1 svg { color:var(--ll-accent); }
.ll .ll-table-head p { color:var(--ll-muted); font-size:13px; margin-top:8px; }
.ll .ll-subtle { background:transparent; }
.ll .ll-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-bottom:16px; }
.ll .ll-tools .ll-btn { border-color:var(--ll-line); }
.ll .ll-save-state { margin-left:auto; font-size:12px; color:var(--ll-muted); }
.ll .ll-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; }
.ll .ll-player {
  position:relative; min-width:0; overflow:hidden; padding:18px;
  border:1px solid var(--ll-line); border-radius:22px; background:var(--ll-surface);
}
.ll .ll-player::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--ll-accent); opacity:.7; }
.ll .ll-player-1::before { background:var(--sky,#2b6690); }
.ll .ll-player-2::before { background:var(--wheat,#8f5a00); }
.ll .ll-player-3::before { background:var(--shop,#3f6b2e); }
.ll .ll-player-head { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:15px; font-weight:700; }
.ll .ll-player-head > span { display:flex; align-items:center; gap:8px; min-width:0; overflow-wrap:anywhere; }
.ll .ll-player-head > small { color:var(--ll-muted); font:500 9px/1.2 var(--mono,monospace); letter-spacing:.08em; text-align:right; }
.ll .ll-counter { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 0; }
.ll .ll-counter-label { font-size:13px; color:var(--ll-muted); overflow-wrap:anywhere; }
.ll .ll-counter-controls { display:grid; grid-template-columns:44px minmax(40px,auto) 44px; align-items:center; gap:4px; }
.ll .ll-step { padding:0; font-size:24px; font-weight:400; background:var(--ll-bg); border-color:var(--ll-line); min-height:44px; }
.ll .ll-number { display:block; text-align:center; color:var(--ll-text); font:650 21px/1 var(--display,system-ui,sans-serif); letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ll .ll-hero { display:flex; flex-direction:column; gap:10px; padding:26px 0 12px; }
.ll .ll-hero > .ll-counter-label { font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.ll .ll-hero .ll-counter-controls { width:100%; grid-template-columns:1fr 1fr; gap:12px; }
.ll .ll-hero .ll-number { grid-column:1 / -1; grid-row:1; font-size:clamp(58px,11vw,100px); line-height:1.05; font-weight:750; padding-bottom:12px; }
.ll .ll-hero .ll-number-long { font-size:clamp(36px,7vw,64px); }
.ll .ll-hero .ll-step { min-height:60px; background:var(--ll-bg); font-size:32px; }
.ll .ll-hero .ll-step:last-child { background:var(--ll-tint); color:var(--ll-accent); border-color:transparent; }
.ll .ll-life-total { text-align:center; margin:0 0 12px; font-size:13px; color:var(--ll-muted); }
.ll .ll-life-total b { color:var(--ll-text); font-weight:700; }
.ll .ll-extras { border-top:1px solid var(--ll-line); margin-top:12px; padding-top:12px; }
.ll .ll-resource-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.ll .ll-resource-heading strong { font-size:13px; }
.ll .ll-resource-heading span { font-size:11px; color:var(--ll-muted); }
.ll .ll-inline-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.ll .ll-inline-actions .ll-btn { flex:1; font-size:12px; padding:10px; }
.ll .ll-details { margin-top:12px; border-top:1px solid var(--ll-line); }
.ll .ll-details summary { display:flex; justify-content:space-between; gap:8px; align-items:center; min-height:48px; color:var(--ll-text); font-size:13px; cursor:pointer; list-style:none; }
.ll .ll-details summary::after { content:'+'; color:var(--ll-muted); font-size:18px; }
.ll .ll-details[open] summary::after { content:'−'; }
.ll .ll-details summary::-webkit-details-marker { display:none; }
.ll .ll-details summary span { font-size:10px; color:var(--ll-muted); margin-left:auto; text-align:right; }
.ll .ll-note { color:var(--ll-muted); font-size:12px; line-height:1.6; margin:8px 0; }
.ll .ll-details .ll-counter { border-top:1px solid var(--ll-line); }
.ll .ll-alert { color:var(--ll-danger); background:var(--err-soft,#f7e0da); border-radius:8px; padding:10px; font-size:12px; line-height:1.5; margin-top:8px; }
.ll .ll-dice { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:16px 0; min-height:54px; align-items:center; }
.ll .ll-die { position:relative; min-width:52px; flex-direction:column; gap:3px; border-radius:10px 4px 10px 4px; padding:7px 10px; }
.ll .ll-die small { color:var(--ll-muted); font:500 10px/1 var(--mono,monospace); }
.ll .ll-die b { font-size:22px; font-variant-numeric:tabular-nums; }
.ll .ll-die .ll-seat { width:4px; height:4px; position:absolute; right:4px; top:5px; }
.ll .ll-empty-dice { color:var(--ll-muted); font-size:12px; }
.ll .ll-table-note { max-width:680px; color:var(--ll-muted); font-size:12px; margin:20px auto 0; text-align:center; }
.ll .ll-persistence { margin-top:24px; color:var(--ll-muted); font-size:11px; text-align:center; }
.ll .ll-feedback { color:var(--ll-accent); font-size:12px; text-align:center; min-height:22px; margin-top:8px; }
.ll[data-game="magic"] .ll-hero > .ll-counter-label::before { content:'✦'; margin-right:6px; }
.ll[data-game="onepiece"] .ll-player { border-radius:22px 22px 12px 12px; }
.ll[data-game="onepiece"] .ll-player::before { height:5px; background:repeating-linear-gradient(90deg,var(--ll-accent) 0 14px,transparent 14px 18px); opacity:.4; }
.ll[data-game="cyberpunk"] .ll-player { border-radius:4px 22px 4px 22px; }
.ll[data-game="cyberpunk"] .ll-player::before { inset:0 auto 0 0; width:3px; height:auto; }
.ll .ll-backdrop { position:fixed; z-index:1000; inset:0; padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px)); background:var(--scrim,rgb(9 16 14 / .62)); display:flex; align-items:center; justify-content:center; overscroll-behavior:contain; }
.ll .ll-modal { width:100%; max-width:420px; max-height:100%; overflow-y:auto; overscroll-behavior:contain; padding:24px; border:1px solid var(--ll-strong); border-radius:20px; color:var(--ll-text); background:var(--ll-surface); box-shadow:0 20px 80px var(--shadow,rgb(0 0 0 / .15)); }
.ll .ll-modal form { display:grid; gap:16px; }
.ll .ll-modal p { font-size:14px; }
.ll .ll-modal .ll-note { font-size:12px; }
.ll .ll-modal-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:4px; }
.ll .ll-modal-error { color:var(--ll-danger); font-size:13px; }
.ll .ll-modal-error:empty { display:none; }
@media(min-width:1000px) { .ll .ll-board[data-count="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } .ll .ll-board[data-count="4"] .ll-counter:not(.ll-hero) { grid-template-columns:1fr; } }
@media(max-width:680px) {
  .ll { padding:16px 0; }
  .ll .ll-games { gap:8px; }
  .ll .ll-game { min-height:120px; padding:12px; }
  .ll .ll-game strong { font-size:14px; }
  .ll .ll-game small { font-size:11px; }
  .ll .ll-game svg { width:25px; height:25px; }
  .ll .ll-setup-players { grid-template-columns:1fr; }
  .ll .ll-board { grid-template-columns:1fr; gap:16px; }
  .ll .ll-board[data-count="3"], .ll .ll-board[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ll .ll-board[data-count="3"] .ll-player, .ll .ll-board[data-count="4"] .ll-player { padding:12px; border-radius:14px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-player-head { flex-wrap:wrap; font-size:13px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-counter-controls { gap:6px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-number { font-size:54px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-number-long { font-size:30px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-counter:not(.ll-hero) { grid-template-columns:1fr; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-counter-controls { grid-template-columns:44px minmax(20px,1fr) 44px; gap:2px; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-details summary { font-size:11px; flex-wrap:wrap; }
  .ll .ll-board:is([data-count="3"],[data-count="4"]) .ll-details summary span { margin-left:0; }
  .ll .ll-table-head { align-items:flex-start; }
  .ll .ll-table-head .ll-btn { padding:10px; font-size:12px; }
  .ll .ll-table-head h1 { font-size:25px; }
  .ll .ll-save-state { width:100%; margin-left:0; }
  .ll .ll-tools .ll-btn { flex:1; }
  .ll .ll-start-row .ll-btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ll .ll-btn { transition:none; } .ll .ll-btn:active:not(:disabled) { transform:none; } }
/* Active game fills the app viewport. Only each player's optional details scroll. */
html.life-fullscreen,html.life-fullscreen body{overflow:hidden;overscroll-behavior:none}
html.life-fullscreen body>header,html.life-fullscreen #pageUp,html.life-fullscreen footer{display:none!important}
.ll.ll-fullscreen{position:fixed;inset:0;z-index:250;max-width:none;margin:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));height:100dvh;display:flex;flex-direction:column;background:var(--ll-bg);overflow:hidden}
.ll-fullscreen .ll-table-head{padding:0 0 8px;align-items:center;flex:none}.ll-fullscreen .ll-table-head h1{font-size:18px}.ll-fullscreen .ll-table-head .ll-eyebrow,.ll-fullscreen .ll-table-head p,.ll-fullscreen .ll-save-state,.ll-fullscreen .ll-persistence,.ll-fullscreen .ll-table-note{display:none}
.ll-fullscreen .ll-tools{padding-bottom:8px;gap:5px;flex:none}.ll-fullscreen .ll-tools .ll-btn{padding:8px 10px;flex:initial;font-size:12px}.ll-orientation{display:flex;gap:4px}
.ll-fullscreen .ll-board{flex:1;min-height:0;align-items:stretch;grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr);gap:8px}
.ll-fullscreen[data-orientation="landscape"] .ll-board{grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]){grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-fullscreen .ll-player{min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px;display:flex;flex-direction:column;justify-content:center;border-radius:14px}
.ll-fullscreen .ll-player:has(.ll-extra-drawer[open]){justify-content:flex-start}
.ll-fullscreen .ll-hero{padding:10px 0;gap:4px;flex:1;justify-content:center;min-height:100px}
.ll-fullscreen .ll-hero .ll-counter-controls{grid-template-columns:minmax(44px,1fr) minmax(60px,1.2fr) minmax(44px,1fr);gap:6px}
.ll-fullscreen .ll-hero .ll-number{grid-column:2;grid-row:1;font-size:clamp(40px,9vmin,90px);padding:0;align-self:center}
.ll-fullscreen .ll-hero .ll-step{grid-row:1;min-height:60px}.ll-fullscreen .ll-hero .ll-step:first-child{grid-column:1}.ll-fullscreen .ll-hero .ll-step:last-child{grid-column:3}
.ll-fullscreen .ll-extra-drawer{margin-top:4px;flex:none}.ll-fullscreen .ll-extra-drawer>summary{min-height:44px}.ll-fullscreen .ll-extras{margin:0;padding:4px 0;border:0}
.ll-fullscreen .ll-feedback{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ll-fullscreen .ll-dice{min-height:0;margin:4px 0;gap:4px}.ll-fullscreen .ll-die{min-width:44px;padding:4px}.ll-fullscreen .ll-life-total{margin:0 0 4px}
@media(max-height:450px){.ll-fullscreen .ll-table-head{display:none}.ll-fullscreen .ll-player{padding:8px}.ll-fullscreen .ll-hero{min-height:78px;padding:4px 0}.ll-fullscreen .ll-hero .ll-step{min-height:48px}.ll-fullscreen .ll-hero .ll-number{font-size:48px}}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-counter-controls{grid-template-columns:minmax(36px,1fr) minmax(0,1.2fr) minmax(36px,1fr);gap:4px}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-number{font-size:clamp(28px,7vmin,48px);white-space:nowrap;overflow-wrap:normal}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-hero .ll-number-long{font-size:clamp(15px,4vmin,26px)}
/* Play surface: no header; a corner button opens the table menu. */
.ll-fullscreen .ll-menu-toggle{position:absolute;z-index:5;top:calc(16px + env(safe-area-inset-top,0px));right:18px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--ll-soft);border-color:var(--ll-line);font-size:22px;line-height:1;color:var(--ll-muted)}
.ll-fullscreen .ll-player-head{padding-right:44px}.ll-fullscreen .ll-player-head>small{display:none}
.ll-fullscreen .ll-board{padding-top:env(safe-area-inset-top,0px)}
.ll .ll-menu-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim,rgb(8 17 17 / .55))}
.ll .ll-menu{width:100%;max-width:340px;max-height:100%;overflow:auto;display:grid;gap:8px;padding:18px;border:1px solid var(--ll-strong);border-radius:18px;background:var(--ll-surface);box-shadow:0 20px 60px var(--shadow,rgb(0 0 0 / .2))}
.ll .ll-menu header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.ll .ll-menu header span{display:flex;align-items:center;gap:8px;font-size:16px}.ll .ll-menu header svg{color:var(--ll-accent);width:22px;height:22px}
.ll .ll-menu header small{color:var(--ll-muted);font-size:12px}
.ll .ll-menu .ll-orientation{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ll .ll-quick-open{width:100%;justify-content:space-between;gap:10px;min-height:48px;margin-top:6px;padding:8px 12px;background:var(--ll-soft);border-color:var(--ll-line);font-size:13px;color:var(--ll-muted)}
.ll .ll-quick-open b{color:var(--ll-text);font-size:16px;margin-left:4px;font-variant-numeric:tabular-nums}
.ll .ll-quick-open i{font-style:normal;color:var(--ll-accent);font-size:18px}
.ll-fullscreen .ll-player.ll-panel{justify-content:flex-start;gap:8px}
.ll .ll-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:700}
.ll .ll-panel-head>span{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.ll .ll-panel-head b{font-size:20px;color:var(--ll-accent);font-variant-numeric:tabular-nums}
.ll .ll-panel-head .ll-btn{min-height:44px;padding:8px 16px}
.ll .ll-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ll .ll-quick{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr;align-items:center;gap:4px 6px;padding:8px;border:1px solid var(--ll-line);border-radius:12px;background:var(--ll-bg)}
.ll .ll-quick-label{grid-column:1/-1;color:var(--ll-muted);font-size:12px;text-align:center;overflow-wrap:anywhere}
.ll .ll-quick-step{min-height:56px;padding:0;font-size:28px;font-weight:500}
.ll .ll-quick-step:last-child{background:var(--ll-tint);color:var(--ll-accent);border-color:transparent}
.ll .ll-quick-value{min-width:40px;text-align:center;font:750 28px/1 var(--display,system-ui,sans-serif);font-variant-numeric:tabular-nums}
.ll-fullscreen .ll-panel .ll-note{margin:0;text-align:center}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-quick-grid{grid-template-columns:1fr}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-quick-step{min-height:48px}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-quick-open{flex-wrap:wrap;justify-content:center;font-size:12px}
/* Seat-facing table: each tile is a size container; its face swaps width/height for 90°/270° seats. */
.ll-fullscreen .ll-board.ll-seated,.ll-fullscreen[data-orientation="landscape"] .ll-board.ll-seated,.ll-fullscreen .ll-board.ll-seated:is([data-count="3"],[data-count="4"]){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
.ll-fullscreen .ll-seated>.ll-player{position:relative;container-type:size;overflow:hidden;padding:0;display:block}
.ll-fullscreen .ll-seated .ll-face{position:absolute;top:50%;left:50%;width:100cqw;height:100cqh;transform:translate(-50%,-50%);padding:12px;display:flex;flex-direction:column;justify-content:center;overflow:auto;overscroll-behavior:contain}
.ll-fullscreen .ll-seated>[data-rot="180"]>.ll-face{transform:translate(-50%,-50%) rotate(180deg)}
.ll-fullscreen .ll-seated>:is([data-rot="90"],[data-rot="270"])>.ll-face{width:100cqh;height:100cqw}
.ll-fullscreen .ll-seated>[data-rot="90"]>.ll-face{transform:translate(-50%,-50%) rotate(90deg)}
.ll-fullscreen .ll-seated>[data-rot="270"]>.ll-face{transform:translate(-50%,-50%) rotate(270deg)}
.ll-fullscreen .ll-seated .ll-face:has(.ll-extra-drawer[open]),.ll-fullscreen .ll-seated .ll-panel>.ll-face{justify-content:flex-start}
.ll-fullscreen .ll-seated .ll-panel>.ll-face{gap:8px}
/* Color bar sits on the seat's own edge nearest its owner's top, so draw it on the face. */
.ll-fullscreen .ll-seated>.ll-player::before{display:none}
.ll-fullscreen .ll-seated .ll-face::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--ll-accent);opacity:.7}
.ll-fullscreen .ll-seated>.ll-player-1 .ll-face::before{background:var(--sky,#2b6690)}
.ll-fullscreen .ll-seated>.ll-player-2 .ll-face::before{background:var(--wheat,#8f5a00)}
.ll-fullscreen .ll-seated>.ll-player-3 .ll-face::before{background:var(--shop,#3f6b2e)}
/* Menu sits where the seats meet, outside every owner's reading area. */
.ll-fullscreen .ll-menu-toggle{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);background:var(--ll-surface);border-color:var(--ll-strong);box-shadow:0 2px 10px var(--shadow,rgb(0 0 0 / .18))}
.ll-fullscreen .ll-menu-toggle:active:not(:disabled){transform:translate(-50%,-50%) scale(.94)}
.ll-fullscreen .ll-player-head{padding-right:0}
.ll-fullscreen .ll-seated .ll-hero{min-height:0}
.ll.ll-fullscreen .ll-board.ll-seated:is([data-count]) .ll-quick-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:6px}
.ll.ll-fullscreen .ll-board.ll-seated:is([data-count="3"],[data-count="4"]) .ll-quick{padding:6px;gap:2px 4px}
.ll.ll-fullscreen .ll-board.ll-seated:is([data-count="3"],[data-count="4"]) .ll-quick-step{min-height:44px;font-size:24px}
.ll.ll-fullscreen .ll-board.ll-seated:is([data-count="3"],[data-count="4"]) .ll-quick-value{font-size:22px;min-width:28px}
/* Poison / commander: the tile keeps one button; counters open in a roomy sheet facing that seat. */
/* Compact pill under the life total: opens the poison/commander sheet. */
.ll .ll-quick-open{flex:none;width:auto;align-self:center;flex-direction:row;gap:6px;min-height:34px;margin:6px auto 0;padding:4px 12px;border-radius:999px;color:var(--ll-text);background:var(--ll-tint);border-color:transparent}
.ll .ll-quick-open strong{font-size:12px;font-weight:650;color:var(--ll-accent)}
.ll .ll-quick-open small{font-size:11px;color:var(--ll-muted);font-variant-numeric:tabular-nums}
.ll.ll-fullscreen .ll-board:is([data-count="3"],[data-count="4"]) .ll-quick-open{flex-wrap:nowrap;min-height:32px;padding:3px 10px}
.ll .ll-quick-overlay{position:fixed;z-index:20;inset:0;container-type:size;background:var(--scrim,rgb(9 16 14 / .62))}
.ll .ll-quick-sheet{position:absolute;top:50%;left:50%;width:min(calc(100cqw - 24px),640px);max-height:calc(100cqh - 24px);transform:translate(-50%,-50%);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--ll-strong);border-radius:18px;background:var(--ll-surface);box-shadow:0 20px 60px var(--shadow,rgb(0 0 0 / .3))}
.ll .ll-quick-overlay:is([data-rot="90"],[data-rot="270"]) .ll-quick-sheet{width:min(calc(100cqh - 24px),640px);max-height:calc(100cqw - 24px)}
.ll .ll-quick-overlay[data-rot="90"] .ll-quick-sheet{transform:translate(-50%,-50%) rotate(90deg)}
.ll .ll-quick-overlay[data-rot="180"] .ll-quick-sheet{transform:translate(-50%,-50%) rotate(180deg)}
.ll .ll-quick-overlay[data-rot="270"] .ll-quick-sheet{transform:translate(-50%,-50%) rotate(270deg)}
.ll .ll-quick-sheet .ll-panel-head{font-size:16px}.ll .ll-quick-sheet .ll-panel-head b{font-size:26px}
.ll .ll-quick-sheet .ll-quick-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.ll .ll-quick-sheet .ll-quick{padding:10px;gap:6px 8px}
.ll .ll-quick-sheet .ll-quick-label{font-size:13px}
.ll .ll-quick-sheet .ll-quick-step{min-height:60px;font-size:30px}
.ll .ll-quick-sheet .ll-quick-value{font-size:32px}
.ll .ll-quick-sheet .ll-note{margin:0;text-align:center}
@media(max-height:450px),(max-width:450px){.ll .ll-quick-sheet .ll-quick-step{min-height:52px}.ll .ll-quick-sheet .ll-quick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
