/* KAOS Pool Bar — off-duty lounge and a responsive local pool table. */
body.pool-open .overlay{align-items:center;justify-items:center;padding:12px;background:#06121bd9;backdrop-filter:blur(10px);pointer-events:auto}body.pool-open #modal.pool-panel{max-width:1060px;width:100%;max-height:calc(100dvh - 24px);padding:0;background:#0c1922;border:1px solid #6b9c95;border-radius:20px;margin:0;pointer-events:auto;overflow:auto}#modal.pool-panel>.close,body.pool-open .takeover-nav{display:none}.pool-room{background:radial-gradient(ellipse at top right,#73516a44,transparent 50%),#0c1922;color:#edf4e9;padding:24px clamp(14px,3vw,32px);font:14px/1.5 Arial,sans-serif}.pool-room *{box-sizing:border-box}.pool-room button{min-height:44px;padding:11px 14px;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.04em;color:#e2f2e5;border:1px solid #547c78;border-radius:10px;background:#1b343c;cursor:pointer;touch-action:manipulation}.pool-room button:disabled{opacity:.45;cursor:default}.pool-room :focus-visible{outline:3px solid #f2cc91;outline-offset:3px}.pool-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.pool-header small{font:9px/1.7 monospace;letter-spacing:.18em;color:#a6d7cb}.pool-header h2{font:clamp(25px,5vw,45px)/1.2 TakeoverDisplay,Arial;margin:8px 0;color:#d3ffe4;text-shadow:0 0 24px #96ffdc22}.pool-header h2 span{color:#f2c594}.pool-header p{margin:8px 0!important;font-size:12px!important;color:#b8c7c5!important}.pool-header button{align-self:flex-start;margin-top:7px;background:#15252f}.pool-topline{display:flex;align-items:center;gap:8px;padding:12px 0 18px;border-bottom:1px solid #76908344;margin-bottom:16px}.pool-topline>span{margin-right:auto;font:9px monospace;letter-spacing:.08em;color:#b4c6c4}.pool-topline i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b3ffde;margin-right:6px;box-shadow:0 0 12px #b3ffde}.pool-topline button{font-size:10px;padding:8px 10px}.pool-tabs{display:flex;gap:8px;margin-bottom:16px}.pool-tabs button{flex:1;background:#142a33;min-height:44px}.pool-tabs button[aria-pressed=true]{background:#b4e7d1;color:#163239;border-color:#e3efc6}.pool-scene-wrap{position:relative;overflow:hidden;border-radius:18px;border:1px solid #a27c6c;box-shadow:0 15px 50px #0005;background:#111d29}.pool-scene-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1000/740;touch-action:none}.pool-scene-tag{position:absolute;left:16px;bottom:12px;font:10px/1.6 TakeoverDisplay,Arial;color:#f4d6a3;pointer-events:none;letter-spacing:.12em;text-shadow:0 2px 5px #000}.pool-scene-tag span{display:block;font:7px/1.8 monospace;color:#bdc5c9;letter-spacing:.11em}.pool-status{border:1px solid #799b8244;background:#133035;border-radius:10px;padding:13px 16px;margin:18px 0 14px;min-height:69px;text-align:center}.pool-status strong{display:block;font:11px/1.6 TakeoverDisplay,Arial;color:#d3f2c5}.pool-status span{display:block;margin-top:4px;color:#b8d6d2;font-size:12px}.pool-mode{display:flex;gap:7px;flex-wrap:wrap}.pool-mode button{flex:1;font-size:9px;padding:10px}.pool-mode button[aria-pressed=true]{border-color:#efc88e;color:#f4d6a3;background:#54443855}.pool-local-note{font-size:11px!important;color:#b8cdc8!important;margin:10px 0 16px!important}.pool-shot{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px 16px;background:#132631;border-radius:12px;border:1px solid #56716e;padding:18px}.pool-shot label{font:9px/1.6 monospace!important;letter-spacing:.08em;color:#b6d2c9!important}.pool-shot output{display:block;color:#edcf9c;margin-top:3px}.pool-shot input[type=range]{width:100%;height:35px;padding:0!important;margin:0!important;background:transparent!important;accent-color:#b3f1cf;cursor:pointer;touch-action:pan-x;border:0!important}.pool-shot button{grid-column:1/-1;background:linear-gradient(120deg,#f4d499,#e7b58a);color:#24353b;border-color:#ffe2b0;box-shadow:0 4px 0 #6c4748;font:13px/1.7 TakeoverDisplay,Arial;min-height:50px;margin-top:7px}.pool-bar-menu{padding:20px;background:linear-gradient(135deg,#29343c,#302736);border:1px solid #8e6e7866;border-radius:14px;margin-top:22px}.pool-bar-menu small{font:8px/1.7 monospace;letter-spacing:.15em;color:#ceb3be}.pool-bar-menu h3{font:19px/1.4 TakeoverDisplay,Arial!important;color:#f2d6b7!important;margin:8px 0!important}.pool-bar-menu p{font-size:11px!important;color:#bbcbcb!important;line-height:1.7}.pool-drinks{display:flex;gap:8px;margin-top:16px}.pool-drinks button{flex:1;min-width:0;padding:12px 6px;font-size:9px;background:#162b35}.pool-drinks span{display:block;font-size:26px;margin-bottom:7px}.pool-drinks button[aria-pressed=true]{border-color:#f3cb90;background:#534333}.pool-records{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.pool-records>div{background:#132731;border:1px solid #35525b;border-radius:10px;padding:12px;text-align:center}.pool-records small{display:block;font:8px monospace;color:#9dbbb6;letter-spacing:.06em}.pool-records b{display:block;font:20px/1.6 TakeoverDisplay,Arial;color:#c4efd6;margin-top:4px}.pool-rules{border-top:1px solid #3f5c60;padding-top:12px}.pool-rules summary{min-height:44px;padding:10px 0;cursor:pointer;font:10px/1.7 TakeoverDisplay,Arial;color:#d0dfc9}.pool-rules p{font-size:11px!important;line-height:1.8;color:#a8bfbe!important}.pool-room footer{font-size:10px;line-height:1.8;color:#8fa6ad;margin-top:18px}.pool-room [hidden]{display:none!important}
@media(max-width:600px){.pool-room{padding:18px 12px}.pool-header h2{font-size:24px}.pool-header small{font-size:7px}.pool-header p{font-size:10px!important}.pool-header button{font-size:9px;padding:8px 10px}.pool-topline>span{font-size:7px;letter-spacing:0}.pool-topline button{font-size:8px;padding:8px}.pool-scene-tag{left:10px;bottom:7px;font-size:7px}.pool-scene-tag span{font-size:5px}.pool-shot{grid-template-columns:88px 1fr;padding:14px;gap:6px 10px}.pool-mode button{font-size:8px;padding:9px 6px}.pool-bar-menu{padding:15px}.pool-bar-menu h3{font-size:15px!important}.pool-drinks{gap:5px}.pool-drinks button{font-size:7px}.pool-records{gap:6px}.pool-records>div{padding:10px 5px}.pool-records small{font-size:6px}.pool-records b{font-size:16px}}

.pool-focus{display:block;margin:0 0 10px auto;font-size:9px!important;background:#142c32!important}.pool-scene-wrap.focus-table{max-width:560px;margin:0 auto}.pool-scene-wrap.focus-table canvas{aspect-ratio:600/1000}.pool-quick-shot{position:absolute;right:12px;bottom:14px;z-index:3;background:#f3d39b!important;color:#183239!important;border-color:#fff0bf!important;box-shadow:0 3px 15px #0006}.focus-table .pool-scene-tag{bottom:auto;top:12px;max-width:65%}
/* Real 3D lounge. The legacy canvas remains available if WebGL cannot start. */
.pool-3d-stage{position:relative;width:100%;aspect-ratio:16/10;min-height:360px;background:#171826}.pool-3d-stage[hidden]{display:none!important}.pool-scene-wrap.has-pool-3d canvas.pool-gpu{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;touch-action:none;outline-offset:-5px}.has-pool-3d #poolCanvas{display:none!important}.has-pool-3d .pool-scene-tag{top:14px;bottom:auto;left:16px;max-width:60%;padding:8px 11px;background:#0b1723a8;border:1px solid #c7a76b44;border-radius:5px;color:#f5dfbc;letter-spacing:.1em}.has-pool-3d .pool-scene-tag span{font-size:7px;letter-spacing:.05em;line-height:1.9;color:#d0d7da}.pool-camera-console{padding:14px 0 4px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}.pool-camera-views,.pool-camera-modes{display:flex;gap:6px;flex-wrap:wrap}.pool-camera-modes{margin-left:auto}.pool-camera-console button{font:9px monospace;min-height:42px;border-radius:6px;padding:10px 13px;background:#182c35}.pool-camera-console button[aria-pressed=true]{color:#17231d;background:#d5c49a;border-color:#f3ddb0}.pool-camera-console p{width:100%;font:11px/1.65 Arial!important;color:#bacfcf!important;margin:4px 0!important}.pool-quality{font:9px/1.6 monospace!important;margin:0 0 0 auto;display:flex;align-items:center;gap:7px;color:#b9c9ca!important}.pool-quality input{width:18px!important;height:18px!important;padding:0!important;accent-color:#c9e8bd}.focus-table.has-pool-3d{max-width:760px}.focus-table .pool-3d-stage{aspect-ratio:1/1;min-height:400px}.has-pool-3d .pool-quick-shot{bottom:14px!important;top:auto;min-height:46px;font:10px/1.6 TakeoverDisplay,Arial!important;padding:10px 16px!important}.pool-quick-power{display:none}.has-pool-3d .pool-quick-power{display:flex;align-items:center;gap:9px;position:absolute;bottom:14px;left:14px;z-index:2;width:210px;padding:6px 12px;background:#0c1b26d9;border:1px solid #b1cebd44;border-radius:7px;color:#dfdec0;font:9px monospace}.pool-quick-power input{width:120px!important;padding:0!important;height:30px!important;margin:0!important;accent-color:#d5e8b0;background:transparent!important;touch-action:pan-x}.pool-scene-wrap:not(.has-pool-3d):not(.focus-table) .pool-quick-shot{display:none}.pool-scene-wrap.has-pool-3d .pool-quick-shot:disabled{background:#34454b!important;color:#aeb9bc!important;box-shadow:none}
@media(max-width:650px){body.pool-open .overlay{padding:0}body.pool-open #modal.pool-panel{max-height:100dvh;border-radius:0;border:0}.pool-room{padding:14px 10px}.pool-header p{margin:4px 0!important}.pool-header h2{font-size:23px}.pool-topline{padding:10px 0;margin-bottom:10px}.pool-tabs{margin-bottom:9px}.pool-focus{margin-bottom:8px}.pool-3d-stage{aspect-ratio:4/5;min-height:360px}.focus-table .pool-3d-stage{aspect-ratio:3/4;min-height:410px}.pool-camera-console{gap:8px}.pool-camera-modes{margin:0;width:100%}.pool-camera-console button{padding:9px 10px;min-height:44px;font-size:9px}.pool-camera-modes button{flex:1}.pool-camera-console p{font-size:10px!important}.pool-quick-power{width:170px!important;left:9px!important;bottom:10px!important;padding:5px 7px!important;font-size:8px!important}.pool-quick-power input{width:90px!important}.has-pool-3d .pool-quick-shot{right:9px;bottom:10px!important;min-height:42px;font-size:8px!important;padding:9px 12px!important}.has-pool-3d .pool-scene-tag{left:9px;top:9px;font-size:8px}.has-pool-3d .pool-scene-tag span{font-size:6px}.pool-quality{min-height:40px}.pool-status{margin-top:10px}}
@media(max-height:550px) and (min-width:650px){.pool-3d-stage{aspect-ratio:2/1;min-height:280px}.focus-table .pool-3d-stage{aspect-ratio:16/9;min-height:280px}}
/* Shot view keeps the table and aim line clear above the power/shoot dock. */
.pool-scene-wrap.pool-shot-view{max-width:900px}.pool-shot-view .pool-3d-stage{aspect-ratio:4/3;min-height:360px}
@media(max-width:650px){.pool-shot-view .pool-3d-stage{aspect-ratio:3/4;min-height:410px}.pool-camera-views{width:100%}.pool-camera-views button{flex:1;padding:10px 7px;font-size:8px!important}}
@media(max-height:550px) and (min-width:650px){.pool-shot-view .pool-3d-stage{aspect-ratio:2/1;min-height:280px}}
