.ludo-home { position:absolute;z-index:5;left:3%;top:3%;width:34%;height:34%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;border:1px solid var(--table-line,#564128);border-radius:14%;background:color-mix(in srgb,var(--table-paper,#fff8e5) 82%,transparent);color:var(--table-ink,#392b1c); }
.ludo-home.ludo-home-far { left:63%;top:63%; }
.ludo-home-title { font-size:clamp(9px,1.1vw,13px);line-height:1.2; }
.ludo-home-count { font-size:clamp(8px,.9vw,11px);line-height:1.2;text-align:center; }
.ludo-home-pieces { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:90%;flex:1;min-height:0;gap:4px; }
.ludo-home-pawn { min-width:0;min-height:0;display:grid;place-items:center;padding:2px;border:1px solid var(--table-line,#564128);border-radius:50%;background:transparent;color:inherit; }
.ludo-home-pawn:disabled,.bar-reserve:disabled,.off-tray:disabled { opacity:1;cursor:default; }
.reserve-art { display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0; }
.reserve-art img { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px #0006); }
.ludo-home-pawn .reserve-art { width:90%;height:100%; }
.ludo-home-pawn:not(:disabled) { outline:2px solid var(--table-ink,#392b1c);outline-offset:-2px; }
.backgammon-bar { position:absolute;z-index:5;left:46.153846%;top:0;width:7.692308%;height:100%;display:flex;flex-direction:column;justify-content:space-between;background:var(--table-panel,#37281c);border-inline:1px solid var(--table-line,#564128); }
.bar-reserve { display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 1px;width:100%;height:46%;min-width:0;border:0;background:transparent;color:var(--table-paper,#fff8e5); }
.bar-label { font-size:clamp(7px,.8vw,10px);line-height:1; }
.bar-count { font-size:12px; }
.bar-pieces { display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;width:100%;gap:2px; }
.bar-pieces .reserve-art { width:94%;height:calc((100% - 8px)/5);max-height:40px; }
.bar-reserve:not(:disabled) { box-shadow:inset 0 0 0 2px var(--table-paper,#fff8e5); }
.backgammon-off { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0; }
/* The 3D bridge places borne-off checkers on the actual table. */
.board-area:has(.salons3d-visible) .backgammon-off { display:none!important; }
.off-tray { display:grid;grid-template-columns:32px 1fr;align-items:center;gap:4px 8px;min-width:0;padding:8px;border:1px solid var(--table-line,#564128);border-radius:9px;background:var(--table-paper,#fff8e5);color:var(--table-ink,#392b1c);font-size:11px;text-align:left; }
.off-tray .reserve-art { grid-row:1/3;width:30px;height:30px; }
.off-tray strong { font-size:11px; }
.off-tray:not(:disabled) { outline:2px solid var(--table-highlight,#dbb85b);outline-offset:0; }
.bar-reserve:focus-visible,.off-tray:focus-visible,.ludo-home-pawn:focus-visible { outline:3px solid var(--table-highlight,#dbb85b);outline-offset:1px; }
@media(max-width:400px){.ludo-home{padding:4px;gap:2px}.ludo-home-pieces{gap:2px}.off-tray{grid-template-columns:24px 1fr;padding:7px;gap:3px}.off-tray .reserve-art{width:23px;height:23px}.bar-count{font-size:10px}}
.pyramid-station { border:1px solid var(--table-line,#58452c);border-radius:12px;padding:12px;margin:0 0 12px;background:var(--table-paper,#fff9ef);color:var(--table-ink,#382a1c); }
.pyramid-view-tabs,.pyramid-camera { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.pyramid-view-tabs .button { min-height:44px;margin:0; }
.pyramid-station .pyramid-view-tabs .button[aria-pressed=true],.pyramid-station .pyramid-view-tabs .button[aria-pressed=true]:hover:not(:disabled) { background:var(--table-panel,#382a1c);color:var(--table-paper,#fff9ef);box-shadow:inset 0 -3px var(--table-metal,#bda271); }
.pyramid-three-stage { width:100%;height:clamp(310px,47vw,440px);background:radial-gradient(ellipse at center,var(--table-light,#ead9bb),var(--table-paper,#fff9ef));border-radius:10px;margin-top:10px; }
.pyramid-three-stage canvas { display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab; }
.pyramid-camera { margin:10px 0; }
.pyramid-camera .button { min-height:40px;margin:0;padding:8px 10px;font-size:12px; }
.pyramid-layer-label { display:flex;gap:8px;align-items:center;font-size:12px; }
.pyramid-layer-label select,.pyramid-keyboard select { max-width:100%;min-height:40px;background:var(--table-paper,#fff9ef);color:var(--table-ink,#382a1c);border:1px solid var(--table-line,#58452c);border-radius:6px;padding:6px; }
.pyramid-keyboard { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;font-size:12px; }
.pyramid-keyboard button { grid-column:1/-1;min-height:40px;margin:0; }
.pyramid-view-status { margin:10px 0;font-size:12px;line-height:1.5; }
.pyramid-stock { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px; }
.pyramid-stock-camp { min-width:0;font-size:12px; }
.pyramid-stock-pieces { display:flex;flex-wrap:wrap;gap:3px;margin-top:5px; }
.pyramid-stock-piece { width:18px;height:18px; }
.pyramid-stock-piece img { width:100%;height:100%;object-fit:contain; }
.board-frame.pyramid-hidden,.pyramid-three-panel[hidden] { display:none!important; }
@media(max-width:400px){.pyramid-station{padding:9px}.pyramid-three-stage{height:310px}.pyramid-stock-camp{font-size:11px}.pyramid-stock-piece{width:15px;height:15px}.pyramid-camera{gap:5px}.pyramid-camera .button{font-size:11px}}
