/* Pool World 3.0: shared visual language, with the table kept unobstructed. */
:root { --v3-gold: #e7c587; --v3-emerald: #80ddbc; --v3-line: #375348; }
body { background-image: radial-gradient(ellipse at 8% 0%, #1b493333, transparent 48%); }
.v3-home-entry { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:20px;
  margin:20px 0; border:1px solid #91cdb866; border-radius:18px; background:linear-gradient(125deg,#204837,#14291f);
  text-decoration:none; color:#f6f0d9; }
.v3-home-entry strong,.v3-home-entry small { display:block; }
.v3-home-entry strong { font-size:20px; margin:5px 0 8px; }
.v3-home-entry small { font-size:12px; line-height:1.5; color:#c1d2c6; }
.v3-home-entry b { font-size:20px; color:var(--v3-gold); white-space:nowrap; }
.v3-home-entry:hover { border-color:var(--v3-gold); }
.v3-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 22px; }
.v3-shortcuts a,.v3-shortcuts button { display:inline-flex; min-height:44px; align-items:center; justify-content:center;
  padding:10px 15px; border-radius:12px; background:#13291f; border:1px solid var(--v3-line); color:#d9e6da;
  font:inherit; font-size:13px; text-decoration:none; cursor:pointer; }
.v3-shortcuts a:focus-visible,.v3-shortcuts button:focus-visible { outline:3px solid var(--v3-gold); outline-offset:3px; }
.is-playing .v3-home-entry,.is-playing .v3-shortcuts { display:none; }
.career-card { grid-column:1/-1; background:linear-gradient(120deg,#19372c,#101f1b); border-color:#586b45; }
.career-card>p { min-height:0; max-width:780px; }
#careerStars { font-size:24px; white-space:nowrap; color:var(--v3-gold); font-variant-numeric:tabular-nums; }
#careerProgress{ width:100%; height:9px; border:none; border-radius:20px; accent-color:var(--v3-gold); }
progress::-webkit-progress-bar { background:#293c33; border-radius:20px; }
progress::-webkit-progress-value { background:var(--v3-gold); border-radius:20px; }
.career-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.career-stage { position:relative; min-width:0; border:1px solid var(--v3-line); border-radius:14px; padding:18px;
  background:#0c1c18; overflow-wrap:anywhere; display:flex; flex-direction:column; }
.career-stage h3 { margin:9px 0; color:#e8ede2; }
.career-stage p { font-size:12px; min-height:0; margin:0 0 12px; }
.career-stage button { margin-top:auto; width:100%; font-size:12px; }
.career-stage[data-unlocked=true] { border-top:3px solid var(--v3-gold); }
.career-stage[data-unlocked=false] { background:#12221d; }
.career-stage[data-unlocked=false] h3 { color:#a6b9ac; }
.career-stage .career-stars { color:var(--v3-gold); letter-spacing:4px; font-size:20px; }
.quick-power { display:flex; gap:8px; margin:6px 0 12px; }
.quick-power button { flex:1; min-width:0; min-height:44px; touch-action:manipulation; }
#precisionAim[aria-pressed=true] { border-color:var(--v3-gold); background:#574829; color:#fff2cf; }
.ai-result { border:1px solid #668f60; border-radius:14px; padding:16px; background:#193626; margin:14px 0; }
.ai-result h3 { margin:0 0 12px; color:var(--v3-gold); line-height:1.5; }
.local-profile { margin-bottom:24px; }
.local-profile h2 { margin-top:0; }
.table-focus .career-card { display:none; }
.table-focus .quick-power { margin-bottom:5px; }
.table-focus #precisionAim { margin:0 0 5px; }










.style-favorite:focus-visible { outline:3px solid var(--v3-gold); outline-offset:3px; }



.product-copy { position:relative; }
.product-copy h2 { padding-right:28px; }
.style-favorite { position:absolute; right:14px; top:15px; border:1px solid #62745b; background:#15261e;
  color:var(--v3-gold); border-radius:50%; width:44px; height:44px; font-size:23px; cursor:pointer; }
.style-favorite[aria-pressed=true] { background:#4c3e20; border-color:var(--v3-gold); }
.product-card[hidden] { display:none!important; }
.arena-display { margin:16px 0; }
.arena-display select { width:100%; }
@media(max-width:900px) {   }
@media(max-width:600px) {
  .career-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .career-stage { padding:13px; } .career-stage h3 { font-size:15px; }
  .career-stage button { padding:9px 6px; }

  .v3-home-entry { padding:16px; }

  .local-profile .stat strong { font-size:24px; }
  .table-focus .match-tools { max-width:65%; }
}
@media(max-width:350px) { .career-grid { grid-template-columns:1fr; }  }
@media(prefers-reduced-motion:reduce) { .v3-home-entry,.career-stage,.style-favorite { transition:none; } }
