.pool-hud{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 6px;display:grid}.pool-player{background:#0000000a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;padding:6px 10px;font-size:.9rem;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.pool-player.is-right{text-align:right;justify-content:flex-end}.pool-player.is-turn{background:#7fb06933;box-shadow:inset 0 0 0 2px #4d8a45}.pool-player>span{color:color-mix(in srgb, currentColor 72%, transparent)}.pool-eight{font-weight:700;color:inherit!important}.pool-rack{flex-wrap:wrap;gap:2px;display:flex}.pool-rack i{color:#222;background:radial-gradient(circle, #fbf8ef 0 38%, var(--c) 40%);border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-style:normal;font-weight:700;display:grid}.pool-rack i.is-stripe{box-shadow:inset 0 0 0 3px var(--c);background:#fbf8ef}.pool-rack i.is-down{opacity:.22}.pool-status{min-height:1.4em;margin:0 0 6px;font-size:.92rem}.pool-status span{color:color-mix(in srgb, currentColor 75%, transparent)}.pool-board{background:radial-gradient(at 50% 30%,#dfe9c8,#c3d6a6);border-radius:14px;place-items:center;padding:8px;display:grid}.pool-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;border-radius:10px;width:100%;max-height:min(62vh,580px);display:block}.pool-board.is-vertical .pool-svg{width:auto;max-width:100%;height:min(74vh,640px)}.pool-svg:focus-visible{outline-offset:2px;outline:3px solid #e9b625}.pool-num{text-anchor:middle;dominant-baseline:central;fill:#222;pointer-events:none;font:700 2.1px/1 system-ui,sans-serif}.pool-leaf{fill:#7fb069;opacity:.85}.pool-head{stroke:#ffffff30;stroke-width:.35px;stroke-dasharray:1.4 1.4}.pool-head.is-active{stroke:#fff9;stroke-width:.5px}.pool-guide{stroke:#fffc;stroke-width:.4px;stroke-dasharray:1.6 1.1;fill:none;pointer-events:none}.pool-guide.is-object{stroke:#fde68a;stroke-dasharray:none;stroke-width:.45px;opacity:.85}.pool-guide.is-cue{stroke:#ffffffa0;stroke-dasharray:.6 .9;stroke-width:.35px}.pool-drop{stroke:#0005;stroke-width:.2px;pointer-events:none}.pool-ghost{fill:#fff2;stroke:#fffd;stroke-width:.35px;pointer-events:none}.pool-ghost.is-wrong{stroke:#ff8a7a;fill:#ff8a7a22}.pool-target-ring{fill:none;stroke:#fde68a;stroke-width:.35px;opacity:.6}.pool-hand{fill:none;stroke:#fff;stroke-width:.45px;stroke-dasharray:1 .8;animation:1.6s linear infinite pool-hand}.pool-stick{pointer-events:none;filter:drop-shadow(.4px .6px .3px #0006)}@keyframes pool-hand{to{stroke-dashoffset:-3.6px}}@media (prefers-reduced-motion:reduce){.pool-hand{animation:none}}.pool-controls{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:10px 0 4px;display:flex}.pool-controls label{flex:220px;align-items:center;gap:10px;font-size:.92rem;display:flex}.pool-controls label>span{font-variant-numeric:tabular-nums;min-width:5.5em}.pool-controls input[type=range]{accent-color:#4d8a45;flex:1;min-width:120px;height:28px}.pool-nudge{gap:6px;display:flex}.pool-controls button{font:inherit;color:#26331f;cursor:pointer;background:#fffdf6;border:1px solid #0000002a;border-radius:10px;min-width:44px;min-height:44px;padding:8px 14px}.pool-controls .pool-shoot{color:#fff;background:#4d8a45;border-color:#3b6d35;padding:8px 24px;font-weight:700}.pool-controls button:disabled{opacity:.5;cursor:default}@media (max-width:640px){.pool-hud{gap:6px}.pool-player{padding:5px 7px;font-size:.82rem}.pool-rack i{width:14px;height:14px;font-size:8px}.pool-board{padding:4px}.pool-controls .pool-shoot{flex:100%}}.game-immersive .pool-stage{height:calc(var(--game-view-height) - 12px);grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(150px,26%,230px);gap:4px 10px;display:grid}.game-immersive .pool-hud{grid-column:1/-1;min-height:46px;margin:0;padding-right:52px}.game-immersive .pool-status{white-space:nowrap;text-overflow:ellipsis;grid-column:1;margin:0;overflow:hidden}.game-immersive .pool-board{grid-area:3/1;height:100%;min-height:0;padding:4px}.game-immersive .pool-board .pool-svg{width:100%;height:100%;max-height:none}.game-immersive .pool-controls{flex-flow:column;grid-area:2/2/4;align-items:stretch;gap:6px;min-height:0;margin:0;overflow:auto}.game-immersive .pool-controls label{flex-direction:column;flex:none;align-items:stretch;gap:2px}.game-immersive .pool-controls input[type=range]{min-width:0}.game-immersive .pool-nudge{justify-content:center}.game-immersive .pool-controls .pool-shoot{flex:none;order:-1}@media (max-width:600px){.mp-cue .pool-board.is-vertical .pool-svg{height:min(74vh,640px,100dvh - 300px)}}
