
[hidden]{display:none!important}
.pro-resume,.pro-shop-tools{padding:16px;border:1px solid #bded8560;border-radius:16px;margin:16px 0;background:#132c25;color:#e9f5df}
.pro-resume button,.pro-cups button{margin:6px 6px 6px 0;min-height:44px}
.pro-shop-tools label{display:block;margin-bottom:12px}.pro-shop-tools input,.pro-shop-tools select{width:100%;padding:12px;border:1px solid #ffffff30;border-radius:10px;background:#172d26;color:#eff8e8;font:inherit}
.shop-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:8px 0}.shop-item>.theme-card,.shop-item>.cue-card{width:100%;margin:0;min-width:0}.shop-preview-button{padding:10px!important;min-height:44px;font-size:12px!important}
.pro-preview{width:min(92vw,420px);max-height:90dvh;overflow-y:auto;background:#10251d;color:#edf7e5;border:1px solid #8da982;border-radius:20px;padding:20px}.pro-preview canvas{display:block;width:min(100%,240px);height:auto;margin:0 auto}.pro-preview::backdrop{background:#000b}
.pro-power-fine{display:flex;gap:12px;margin:8px 0}.pro-power-fine button{flex:1;min-height:44px}.pro-shot-help{min-height:3em;color:#dcf7b5;font-size:14px;line-height:1.5}.pro-cups #cupChoices{display:grid;gap:8px}.pro-cups button{white-space:normal}
@media(max-width:380px){.shop-item{grid-template-columns:minmax(0,1fr)}.shop-preview-button{justify-self:end}.pro-shop-tools{padding:10px}}

.pro-power-fine button:focus-visible,.shop-preview-button:focus-visible{outline:3px solid #d9ff83;outline-offset:3px}.pro-shot-help{overflow-wrap:anywhere}input[type=range]{min-height:36px;touch-action:pan-y}.pro-cups h2{font-size:clamp(24px,5vw,36px)}
/* Pool World 1.3: clearer hierarchy, chapters and controls within thumb reach. */
.home-pro-hub{margin:18px 0;padding:18px;border:1px solid #b7d98c45;border-radius:20px;background:linear-gradient(125deg,#1b3024,#10231f)}
.hub-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.hub-heading a{font-size:12px;color:#d9ff83}.hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.hub-stats>a,.hub-stats>div{padding:12px 8px;border:1px solid #ffffff12;border-radius:12px;background:#081c1460}.hub-stats strong{font-size:clamp(18px,4vw,27px);display:block;color:#e8ffbd}.hub-stats span{font-size:11px;line-height:1.3;color:#acc2b1;display:block;margin-top:7px}.hub-links{display:flex;gap:10px;flex-wrap:wrap}.hub-links a{border-radius:10px;border:1px solid #b3d48850;padding:10px 12px;font-size:12px}.home-pro-hub a:focus-visible{outline:3px solid #d9ff83;outline-offset:3px}
.arena-hub-nav{display:flex;gap:8px;overflow-x:auto;padding:8px 0 16px;scrollbar-width:thin}.arena-hub-nav a{white-space:nowrap;padding:10px 14px;border:1px solid #526c50;border-radius:24px;background:#14281e;font-size:13px}.table-focus .arena-hub-nav{display:none}.career-tools{padding:14px;background:#10251d;border:1px solid #ffffff18;border-radius:14px;margin:16px 0}.career-tools input{width:100%;margin-top:8px}.career-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.career-pager button{padding:9px;font-size:12px}.career-pager span{font-size:12px;text-align:center}.career-tools>button{width:100%}.career-stage{background:linear-gradient(145deg,#1d3024,#12231d);border-radius:16px!important}.career-stage[data-unlocked="false"]{background:#10221c}.rival-panel select{width:100%}.rival-panel p{line-height:1.6}.rival-panel #playRival{width:100%;background:#d9ff83;color:#122515}.complete-backup{border-top:1px solid #527246;padding-top:14px;margin-top:24px}.complete-backup p{font-size:13px;line-height:1.6;color:#b3c9b9}
.arena-dock{display:none}button,a,input,select{ -webkit-tap-highlight-color:transparent }
@media(max-width:600px){.arena-dock:not([hidden]){display:grid;grid-template-columns:44px 44px 44px minmax(90px,1fr);gap:6px;align-items:center;position:fixed;bottom:0;left:0;right:0;z-index:10;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid #b0cf7740;background:#10251df5;box-shadow:0 -8px 32px #0006}.arena-dock button{min-height:44px;padding:8px}.arena-dock output{font-size:13px;text-align:center}.offline-game:has(.arena-dock:not([hidden])) main{padding-bottom:100px}.table-focus .pro-shot-help{display:block!important;font-size:12px;min-height:2.5em}.cards{gap:16px}.panel h2{line-height:1.15}}
@media(prefers-reduced-motion:no-preference){.career-stage,.shop-item{transition:border-color .15s,background .15s}}@media(max-width:350px){.hub-stats{gap:5px}.hub-stats>a,.hub-stats>div{padding:10px 5px}.home-pro-hub{padding:12px}.career-pager{gap:4px}}
.home-pro-hub a{color:inherit;text-decoration:none}.home-pro-hub .hub-links a,.home-pro-hub .hub-heading a{color:#d9ff83}.hub-stats a:hover{border-color:#a4c874}
/* Release 1.0: cosmetics, local duel and match readability. */
.ball-set-card{display:flex;align-items:center;gap:14px;text-align:left;min-height:70px;padding:14px;border:1px solid #94b48245;background:#16291f;border-radius:14px;color:#eef7e2}
.ball-set-card strong,.ball-set-card small{display:block}.ball-set-card small{font-size:12px;color:#b3c7ae;margin-top:5px}.ball-set-card[aria-pressed=true]{border-color:#d9ff83;background:#25422d}.ball-set-card:disabled{opacity:.58}.ball-swatches{display:flex;gap:3px;flex-shrink:0}.ball-swatches i{width:17px;height:17px;border-radius:50%;border:1px solid #ffffff75;box-shadow:inset -3px -3px 5px #0005}.ball-collection>p{font-size:13px;color:#b4c7b8;line-height:1.5}.shop-item>.ball-set-card{width:100%;min-width:0}.shop-pager{display:flex;align-items:center;justify-content:space-between;gap:6px}.shop-pager button{min-height:44px;font-size:12px;padding:10px}.shop-pager span{font-size:12px;white-space:nowrap}
.local-duel{background:linear-gradient(145deg,#1b3936,#102925);border:1px solid #61b2a160}.local-duel h2{font-size:30px}.duel-names{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duel-names input{width:100%;min-width:0;margin:6px 0 10px}.local-duel label{display:block}.local-duel select{width:100%;margin:6px 0 16px}.local-duel p{line-height:1.6;color:#c2d4c6}
.ball-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:10px 0;padding:10px;border:1px solid #ffffff15;border-radius:12px;background:#10221ce6}.ball-rail span{display:grid;place-items:center;width:24px;height:24px;border:2px solid var(--ball-color);box-shadow:inset 0 0 0 2px #152a22;border-radius:50%;background:#edf1df;color:#16291e;font:700 12px Arial}.ball-rail .is-potted{opacity:.25}.ball-rail .is-target{outline:2px solid #d9ff83;outline-offset:2px}.scoreboard>div{border-radius:12px;transition:background .15s}.scoreboard .is-turn{background:#92c46522;box-shadow:inset 0 0 0 1px #d9ff8360}.scoreboard span{overflow-wrap:anywhere}.shot-journal{border-top:1px solid #ffffff1c;margin:15px 0;padding-top:12px}.shot-journal ol{padding-left:20px;line-height:1.7;font-size:12px;color:#c9d9ca}.dock-power{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin:0!important;font-size:12px}.dock-power input{width:100%;min-width:0;height:28px!important;min-height:28px;accent-color:#d9ff83;margin:0!important}
@media(max-width:600px){.offline-game:has(.arena-dock:not([hidden])) main{padding-bottom:135px}.arena-dock:not([hidden]){row-gap:4px}.arena-dock .dock-power{display:flex}.ball-rail{gap:4px;padding:8px}.ball-rail span{width:21px;height:21px;font-size:11px}.table-focus .ball-rail{margin:6px 0}.shop-item>.ball-set-card{padding:12px}}
@media(max-width:350px){.duel-names{grid-template-columns:1fr}.local-duel h2{font-size:25px}.ball-swatches i{width:14px;height:14px}.ball-set-card{gap:9px}}
@media(prefers-reduced-motion:reduce){.scoreboard>div{transition:none}}
@media(max-width:600px){
 body.table-focus .match-top{display:grid;grid-template-columns:1fr;gap:6px}
 body.table-focus .match-top>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
 body.table-focus .match-top .eyebrow{letter-spacing:1px;font-size:9px;max-width:70%}
 body.table-focus .match-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:none;gap:6px}
 body.table-focus .match-tools button{font-size:12px;padding:7px 5px;white-space:normal;min-height:44px}
 body.table-focus .table-column{width:var(--fit-table-width,min(100%,300px))}
 body.table-focus .scoreboard{padding:3px}
 body.table-focus .ball-rail{margin:4px 0;padding:6px}
}
@media(max-width:600px){
 body.table-focus .table-column{width:min(100%,390px)}
 body.table-focus .table-column canvas{width:min(100%,var(--fit-table-width,300px));margin-inline:auto}
 body.table-focus .scoreboard span{display:block}
}

.pool-display-recovery{padding:18px;background:#18262a;color:#fff;border:2px solid #e7ce8a;border-radius:12px;position:relative;z-index:20}.pool-display-recovery button{min-height:44px;padding:10px 16px;background:#e7ce8a;color:#111;border:0;border-radius:8px}
