:root{
  --bg:#06120b; --panel:#0b1f13; --panel2:#102a19; --row:#12311e;
  --line:rgba(255,255,255,.12); --line2:rgba(73,226,122,.38);
  --text:#f7fff9; --muted:#9fb1a6; --green:#48e27a; --greenDark:#0c301b;
  --gold:#ffd166; --shadow:0 22px 70px rgba(0,0,0,.36);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{height:100dvh;overflow:hidden;background:var(--bg);color:var(--text)}
button,input{font:inherit}
.field-bg{position:fixed;inset:0;pointer-events:none;opacity:.12;background:radial-gradient(circle at 50% -10%,rgba(72,226,122,.35),transparent 38%),linear-gradient(90deg,transparent 0 49%,rgba(255,255,255,.25) 49.5% 50.5%,transparent 51%),repeating-linear-gradient(0deg,transparent 0 84px,rgba(255,255,255,.13) 85px 86px)}
.app-shell{width:min(100%,460px);height:100dvh;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;position:relative}.topbar{height:44px;display:grid;grid-template-columns:44px 1fr 58px;align-items:center;gap:8px;flex:0 0 auto}.icon-button,.close{width:42px;height:42px;min-width:42px;padding:0;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);display:inline-flex;align-items:center;justify-content:center;line-height:1}.hamburger{width:21px;height:16px;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{height:2.5px;border-radius:999px;background:currentColor}.close span{font-size:29px;line-height:.75;display:block;transform:translateY(-1px)}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}.brand-ball{font-size:23px}.brand{font-weight:950;letter-spacing:.11em;font-size:16px;line-height:1}.subtitle{font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.streak{justify-self:end;min-width:52px;padding:8px 10px;border-radius:999px;text-align:center;background:rgba(255,209,102,.10);border:1px solid rgba(255,209,102,.35);font-weight:950}.game-card{flex:1 1 auto;min-height:0;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(11,31,19,.98),rgba(5,18,11,.98));box-shadow:var(--shadow);padding:13px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;overflow:hidden}.daily-strip{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.daily-title{font-weight:950;letter-spacing:.04em;font-size:17px}.daily-meta{display:flex;gap:7px;color:var(--muted);font-weight:900;font-size:13px}.yesterday{display:none!important}.clues{min-height:0;display:grid;grid-template-rows:1.58fr repeat(4,.72fr);gap:8px}.clue{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:9px 11px;display:flex;align-items:center;justify-content:space-between;min-height:0;transition:transform .16s ease, border-color .16s ease, background .16s ease}.clue small{display:block;color:var(--muted);font-weight:950;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.clue strong{display:block;font-size:14px;line-height:1.1;color:#d9e8de;margin-top:2px}.clue em{display:block;font-style:normal;font-weight:950;font-size:20px;line-height:1.05;margin-top:3px;color:var(--text)}.clue .tag{font-weight:950;color:rgba(255,255,255,.45);font-size:13px;letter-spacing:.1em}.clue.active{border-color:var(--line2);background:linear-gradient(180deg,rgba(72,226,122,.20),rgba(72,226,122,.08));box-shadow:0 14px 34px rgba(0,0,0,.20)}.clue.active small{color:#a7ffc0}.clue.active strong{font-size:16px;color:#d9ffe4}.clue.active em{font-size:38px;letter-spacing:-.03em}.clue.active .tag{font-size:15px;color:rgba(255,255,255,.72)}.clue.past{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.clue.locked{opacity:.68}.clue.locked em{font-size:17px;color:#84948a}.guess-history{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0;min-height:46px}.guess-history::-webkit-scrollbar{display:none}.guess-pill{min-width:178px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.055);padding:7px}.guess-label{font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.chip{font-size:10px;font-weight:950;padding:3px 5px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);white-space:nowrap}.chip.good{background:rgba(74,226,122,.17);border-color:rgba(74,226,122,.31)}.chip.closehit{background:rgba(255,209,102,.16);border-color:rgba(255,209,102,.28)}.chip.miss{opacity:.7}.action-row{min-height:58px;display:grid;grid-template-columns:1fr;gap:5px;align-content:end}.primary,.secondary{border:0;border-radius:18px;padding:14px 16px;font-weight:950;letter-spacing:.035em}.primary{background:linear-gradient(180deg,#60f38e,#2fc161);color:#031006;box-shadow:0 12px 30px rgba(47,193,97,.18)}.secondary{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--text)}.message,.sheet-message{min-height:15px;text-align:center;color:var(--muted);font-size:12px;font-weight:800}.hidden{display:none!important}.sheet-layer,.modal-layer,.menu-layer{position:fixed;inset:0;z-index:20}.sheet-backdrop,.menu-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);backdrop-filter:blur(4px)}.guess-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,460px);max-height:min(76dvh,620px);border-radius:26px 26px 0 0;background:#f7fff9;color:#0a1b10;padding:10px 14px max(14px,env(safe-area-inset-bottom));box-shadow:0 -24px 80px rgba(0,0,0,.46);display:flex;flex-direction:column;gap:9px}.sheet-handle{width:46px;height:5px;border-radius:999px;background:rgba(0,0,0,.18);margin:0 auto 2px}.sheet-head,.menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:950;color:#23994f}.sheet-head h2,.menu-head h2{margin:1px 0 0;font-size:21px}.guess-sheet .close{background:#e8f4eb;color:#0a1b10;border-color:#d4e2d8}.guess-sheet input{width:100%;border:2px solid #cfe1d5;border-radius:17px;padding:14px 15px;font-size:17px;font-weight:850;outline:none;background:#fff;color:#0a1b10}.guess-sheet input:focus{border-color:#31c763;box-shadow:0 0 0 4px rgba(49,199,99,.15)}.suggestions{overflow-y:auto;display:flex;flex-direction:column;gap:6px;min-height:120px}.suggestion{border:1px solid #dbeae0;background:#fff;border-radius:16px;padding:11px;text-align:left}.suggestion strong{display:block;font-size:15px}.suggestion span{display:block;color:#486253;font-size:12px;margin-top:3px;font-weight:800}.modal-layer{display:grid;place-items:center;background:rgba(0,0,0,.62);backdrop-filter:blur(5px);padding:18px}.result-card,.menu-card{width:min(100%,430px);max-height:88dvh;overflow:auto;border:1px solid var(--line);border-radius:27px;background:linear-gradient(180deg,#0d2918,#06150d);box-shadow:var(--shadow);padding:18px;position:relative}.modal-close{position:absolute;right:14px;top:14px}.result-icon{font-size:42px}.result-card h2{font-size:28px;margin:8px 48px 10px 0}.player-card{border-radius:22px;border:1px solid rgba(74,226,122,.28);background:rgba(74,226,122,.1);padding:14px;margin:10px 0}.player-name{font-size:24px;font-weight:950}.season-line{color:var(--muted);font-weight:850;margin-top:2px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.stat-box{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:14px;padding:8px}.stat-box small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:950}.stat-box strong{font-size:16px}.share-preview{white-space:pre-wrap;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:18px;padding:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-layer{display:grid;place-items:start center;padding:calc(env(safe-area-inset-top) + 12px) 12px 12px}.menu-card{margin-top:0}.menu-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.menu-item{border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);border-radius:14px;padding:10px 6px;font-weight:900}.menu-item.active{background:rgba(74,226,122,.18);border-color:rgba(74,226,122,.38)}.menu-panel{font-size:14px;color:#dcebe0}.menu-panel .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-panel .stats-tile{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:16px;padding:12px}.stats-tile small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:950}.stats-tile strong{font-size:24px}.link-row a{color:var(--green);font-weight:900}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.switch{width:48px;height:28px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.09);padding:3px}.switch span{display:block;width:20px;height:20px;border-radius:50%;background:white;transition:.18s}.switch.on span{transform:translateX(18px);background:var(--green)}
@media(max-height:730px){.app-shell{gap:8px}.topbar{height:40px}.icon-button,.close{width:40px;height:40px;min-width:40px}.game-card{gap:8px;padding:11px}.daily-strip{padding:10px 12px}.clues{gap:7px}.clue{padding:8px 10px;border-radius:16px}.clue.active em{font-size:32px}.clue em{font-size:18px}.action-row{min-height:54px}.primary,.secondary{padding:12px 14px}.guess-history{min-height:42px}.chip{font-size:9px}}
@media(max-height:650px){.subtitle{display:none}.brand{font-size:15px}.brand-ball{font-size:21px}.game-card{grid-template-rows:auto minmax(0,1fr) auto}.guess-history{display:none}.clues{grid-template-rows:1.45fr repeat(4,.63fr)}.clue.active em{font-size:28px}.clue small{font-size:9px}.clue strong{font-size:12px}.daily-strip{font-size:13px}.action-row{min-height:50px}.message{display:none}}


/* No-scroll mobile pass: gameplay must always fit the visible viewport. */
html,
body{
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
  position:fixed;
  inset:0;
}
body{
  touch-action:manipulation;
}
.app-shell{
  height:100svh;
  max-height:100svh;
  overflow:hidden!important;
  padding:calc(env(safe-area-inset-top) + 6px) 10px calc(env(safe-area-inset-bottom) + 8px);
  gap:7px;
}
@supports(height:100dvh){
  .app-shell{height:100dvh;max-height:100dvh;}
}
.topbar{
  height:38px;
  min-height:38px;
  grid-template-columns:38px 1fr 50px;
}
.icon-button,.close{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:13px;
}
.brand-ball{font-size:20px;}
.brand{font-size:15px;letter-spacing:.095em;}
.subtitle{font-size:9px;}
.streak{min-width:48px;padding:7px 8px;font-size:14px;}
.game-card{
  height:auto;
  min-height:0;
  overflow:hidden!important;
  border-radius:24px;
  padding:10px;
  gap:7px;
  grid-template-rows:auto minmax(0,1fr) auto auto;
}
.daily-strip{
  padding:9px 10px;
  border-radius:17px;
}
.daily-title{font-size:15px;}
.daily-meta{font-size:12px;gap:5px;}
.clues{
  min-height:0;
  overflow:hidden!important;
  gap:6px;
  grid-template-rows:minmax(94px,1.22fr) repeat(4,minmax(46px,.58fr));
}
.clue{
  min-height:0;
  padding:7px 9px;
  border-radius:15px;
}
.clue small{font-size:9px;letter-spacing:.105em;}
.clue strong{font-size:12px;margin-top:1px;}
.clue em{font-size:17px;margin-top:2px;}
.clue .tag{font-size:11px;}
.clue.active em{font-size:31px;}
.clue.active strong{font-size:14px;}
.clue.active .tag{font-size:13px;}
.guess-history{
  min-height:38px;
  max-height:38px;
  overflow:hidden;
  padding:0;
}
.guess-pill{min-width:154px;padding:5px 7px;border-radius:13px;}
.guess-label{font-size:11px;}
.chips{gap:2px;margin-top:3px;flex-wrap:nowrap;overflow:hidden;}
.chip{font-size:9px;padding:2px 4px;}
.action-row{
  min-height:48px;
  gap:3px;
}
.primary,.secondary{
  padding:11px 13px;
  border-radius:16px;
}
.message{min-height:12px;font-size:11px;line-height:1.1;}
/* Sheets and modals may manage their own internal scroll; never the page. */
.sheet-layer,.modal-layer,.menu-layer{
  overflow:hidden!important;
  overscroll-behavior:contain;
}
.guess-sheet{
  max-height:min(72svh,560px);
  overflow:hidden;
}
@supports(height:100dvh){.guess-sheet{max-height:min(72dvh,560px);}}
.suggestions{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.result-card,.menu-card{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}

@media(max-height:760px){
  .app-shell{padding-top:calc(env(safe-area-inset-top) + 5px);padding-bottom:calc(env(safe-area-inset-bottom) + 6px);gap:6px;}
  .topbar{height:36px;min-height:36px;grid-template-columns:36px 1fr 46px;}
  .icon-button,.close{width:36px;height:36px;min-width:36px;border-radius:12px;}
  .hamburger{width:19px;height:14px;}
  .brand{font-size:14px;}
  .brand-ball{font-size:19px;}
  .streak{font-size:13px;padding:6px 7px;min-width:44px;}
  .game-card{padding:9px;gap:6px;border-radius:22px;}
  .daily-strip{padding:8px 9px;border-radius:16px;}
  .clues{gap:5px;grid-template-rows:minmax(82px,1.12fr) repeat(4,minmax(42px,.54fr));}
  .clue{padding:6px 8px;border-radius:14px;}
  .clue.active em{font-size:28px;}
  .clue em{font-size:16px;}
  .guess-history{display:none!important;}
  .action-row{min-height:44px;}
  .primary,.secondary{padding:10px 12px;}
}
@media(max-height:670px){
  .subtitle{display:none!important;}
  .topbar{height:34px;min-height:34px;}
  .icon-button,.close{width:34px;height:34px;min-width:34px;}
  .game-card{padding:8px;gap:5px;border-radius:20px;}
  .daily-strip{padding:7px 8px;}
  .daily-title{font-size:14px;}
  .daily-meta{font-size:11px;}
  .clues{gap:4px;grid-template-rows:minmax(72px,1fr) repeat(4,minmax(36px,.48fr));}
  .clue{padding:5px 7px;border-radius:13px;}
  .clue small{font-size:8px;}
  .clue strong{font-size:11px;}
  .clue em{font-size:14px;}
  .clue.active em{font-size:24px;}
  .clue.active strong{font-size:12px;}
  .clue .tag{font-size:10px;}
  .action-row{min-height:40px;}
  .message{display:none!important;}
}

/* Polish pass: no stat spoilers in search + no-scroll result modal. */
.suggestion{padding:13px 12px;}
.suggestion strong{font-size:16px;line-height:1.15;}
.suggestion span{display:none!important;}
.result-card{
  max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:hidden!important;
  padding:14px;
  border-radius:24px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
@supports(height:100dvh){
  .result-card{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
}
.result-icon{font-size:30px;line-height:1;}
.result-card h2{font-size:22px;line-height:1.05;margin:0 42px 0 0;}
.player-card{padding:11px 12px;margin:0;border-radius:18px;}
.player-name{font-size:20px;line-height:1.08;}
.season-line{font-size:13px;margin-top:1px;}
.result-meta{font-size:12px;line-height:1.25;color:#cfe0d3;font-weight:850;margin-top:7px;}
.stat-grid,.player-card p{display:none!important;}
.share-preview{font-size:11px;line-height:1.28;padding:10px;margin:0;border-radius:15px;max-height:none;overflow:hidden;}
.modal-actions{gap:7px;}
.modal-actions .primary,.modal-actions .secondary{padding:10px 11px;border-radius:15px;font-size:13px;}
.modal-close{right:12px;top:12px;}
@media(max-height:700px){
  .modal-layer{padding:10px;}
  .result-card{padding:12px;gap:7px;border-radius:22px;}
  .result-icon{font-size:26px;}
  .result-card h2{font-size:20px;}
  .player-card{padding:9px 10px;}
  .player-name{font-size:18px;}
  .result-meta{font-size:11px;}
  .share-preview{font-size:10.5px;line-height:1.22;padding:8px;}
  .modal-actions .primary,.modal-actions .secondary{padding:9px 10px;font-size:12px;}
}


/* Full-screen mobile search fix: the keyboard should not shove the search UI down. */
.sheet-layer{
  height:var(--vvh,100svh)!important;
  max-height:var(--vvh,100svh)!important;
  overflow:hidden!important;
}
.sheet-backdrop{display:none!important;}
.guess-sheet{
  top:0!important;
  bottom:auto!important;
  left:50%!important;
  height:var(--vvh,100svh)!important;
  max-height:var(--vvh,100svh)!important;
  min-height:0!important;
  border-radius:0!important;
  padding:calc(env(safe-area-inset-top) + 10px) 16px calc(env(safe-area-inset-bottom) + 12px)!important;
  gap:10px!important;
  overflow:hidden!important;
}
.sheet-handle{display:none!important;}
.sheet-head{
  flex:0 0 auto;
  padding-top:2px;
}
.sheet-head h2{
  font-size:24px!important;
  line-height:1.02!important;
}
.qb-search-input{
  flex:0 0 auto;
  width:100%;
  min-height:62px;
  max-height:62px;
  overflow:hidden;
  border:2px solid #31c763;
  border-radius:18px;
  padding:15px 16px;
  font-size:22px!important;
  line-height:1.25;
  font-weight:950;
  outline:none;
  background:#fff;
  color:#0a1b10;
  box-shadow:0 0 0 4px rgba(49,199,99,.14);
  white-space:nowrap;
}
.qb-search-input:empty::before{
  content:attr(data-placeholder);
  color:#789083;
}
.qb-search-input:focus{
  border-color:#31c763;
  box-shadow:0 0 0 5px rgba(49,199,99,.17);
}
.sheet-message{
  flex:0 0 auto;
  min-height:16px;
}
.suggestions{
  flex:1 1 auto;
  min-height:0!important;
  overflow-y:auto!important;
  padding-bottom:10px;
}
.suggestion{
  min-height:54px;
  display:flex;
  align-items:center;
  padding:14px 13px!important;
}
.suggestion strong{
  font-size:17px!important;
}
@media(max-height:700px){
  .guess-sheet{padding-top:calc(env(safe-area-inset-top) + 8px)!important;gap:8px!important;}
  .sheet-head h2{font-size:22px!important;}
  .qb-search-input{min-height:56px;max-height:56px;font-size:20px!important;padding:13px 15px;}
  .suggestion{min-height:50px;padding:12px!important;}
}

/* Custom no-keyboard picker: removes native input so iOS cannot show autofill/contact overlays. */
.picker-intro{
  flex:0 0 auto;
  color:#456252;
  font-size:13px;
  font-weight:850;
  line-height:1.25;
  margin-top:-2px;
}
.picker-view{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.az-grid{
  flex:0 0 auto;
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:2px 0 5px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.az-grid::-webkit-scrollbar{display:none;}
.az-chip{
  flex:0 0 auto;
  border:1px solid #d8e8dc;
  background:#fff;
  color:#0a1b10;
  border-radius:999px;
  min-width:40px;
  min-height:38px;
  padding:0 12px;
  font-weight:950;
  box-shadow:0 4px 10px rgba(0,0,0,.04);
}
.az-chip.active{
  background:#31c763;
  border-color:#31c763;
  color:#031006;
}
.picker-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding-bottom:6px;
}
.picker-option{
  width:100%;
  border:1px solid #dbeae0;
  background:#fff;
  color:#0a1b10;
  border-radius:17px;
  padding:13px 13px;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:56px;
}
.picker-option strong{
  font-size:16px;
  line-height:1.12;
  font-weight:950;
}
.picker-option span{
  color:#557264;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.back-player{
  flex:0 0 auto;
  align-self:flex-start;
  border:1px solid #dbeae0;
  background:#fff;
  color:#0a1b10;
  border-radius:999px;
  padding:9px 12px;
  font-weight:950;
}
.selected-player{
  flex:0 0 auto;
  font-size:24px;
  line-height:1.05;
  font-weight:950;
  color:#0a1b10;
  padding:2px 0 4px;
}
.season-option strong{font-size:18px;}
.result-card{overflow:hidden!important;}
@media(max-height:700px){
  .picker-intro{font-size:12px;}
  .az-chip{min-height:34px;min-width:36px;padding:0 10px;font-size:13px;}
  .picker-list{gap:6px;}
  .picker-option{min-height:50px;padding:11px 12px;border-radius:15px;}
  .picker-option strong{font-size:15px;}
  .selected-player{font-size:21px;}
}

/* 82-0 UX patch: alphabet filter wraps instead of side-scrolling, and QB list shows names only. */
.guess-sheet,
.picker-view,
.az-grid,
.picker-list{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden!important;
}
.az-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(44px,1fr));
  gap:8px!important;
  overflow:visible!important;
  padding:2px 0 4px!important;
  scrollbar-width:none;
}
.az-chip{
  width:100%;
  min-width:0!important;
  min-height:42px!important;
  padding:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  touch-action:manipulation;
}
.player-option{
  justify-content:flex-start!important;
  min-height:54px!important;
}
.player-option strong{
  font-size:17px!important;
  letter-spacing:-.01em;
}
.player-option span{
  display:none!important;
}
.season-list .picker-option{
  min-height:52px!important;
}
.sheet-message{
  min-height:14px!important;
}
@media(max-height:700px){
  .az-grid{gap:6px!important;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));}
  .az-chip{min-height:36px!important;font-size:13px!important;}
  .player-option{min-height:48px!important;}
  .player-option strong{font-size:15px!important;}
}
@media(max-width:340px){
  .az-grid{grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:6px!important;}
  .az-chip{min-height:38px!important;}
}


/* V2: scalable full-screen QB search and clearer year feedback. */
.player-search-row{position:relative;flex:0 0 auto;width:100%;}
.player-search{
  width:100%;height:56px;border:2px solid #cfe1d5;border-radius:17px;
  padding:0 52px 0 16px;font-size:18px;font-weight:900;outline:none;
  background:#fff;color:#0a1b10;-webkit-appearance:none;appearance:none;
}
.player-search:focus{border-color:#31c763;box-shadow:0 0 0 4px rgba(49,199,99,.15)}
.player-search::-webkit-search-cancel-button{display:none;}
.clear-player-search{
  position:absolute;right:8px;top:8px;width:40px;height:40px;border:0;border-radius:13px;
  background:#e8f4eb;color:#0a1b10;font-size:25px;line-height:1;font-weight:800;
}
.player-list-meta{display:flex;justify-content:space-between;align-items:center;color:#557264;font-size:12px;font-weight:900;padding:0 2px;}
.empty-results{padding:24px 14px;text-align:center;color:#557264;font-weight:850;background:#fff;border:1px solid #dbeae0;border-radius:17px;}
#playerPicker{gap:8px;}
#playerList{padding-bottom:max(12px,env(safe-area-inset-bottom));}
.player-option{flex:0 0 auto;}
.guess-label{font-size:11px;}
.chips{gap:4px;}
.chip{font-size:10px;padding:4px 6px;}
@media(max-height:700px){
  .player-search{height:50px;font-size:16px;}
  .clear-player-search{width:36px;height:36px;right:7px;top:7px;}
}


/* V2.1 launch polish: popular shortcuts, typo recovery, clearer result summary. */
.quick-picks{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0 3px;flex:0 0 auto;-webkit-overflow-scrolling:touch}
.quick-picks::-webkit-scrollbar{display:none}
.quick-label{font-size:11px;font-weight:950;color:#557264;text-transform:uppercase;letter-spacing:.09em;flex:0 0 auto;margin-right:2px}
.quick-qb{flex:0 0 auto;border:1px solid #d7e8dc;background:#eef8f1;color:#12321d;border-radius:999px;min-height:38px;padding:0 12px;font-weight:950}
.empty-results{display:flex;flex-direction:column;gap:7px;align-items:stretch}
.empty-results>strong{font-size:16px;color:#0a1b10}
.empty-results>span{font-size:13px}
.did-you-mean{margin-top:4px;border:1px solid #bcdcc5;background:#eef8f1;color:#0a1b10;border-radius:14px;padding:12px;font-weight:850;text-align:center}
.did-you-mean strong{font-size:inherit!important}
.result-summary{display:flex;flex-direction:column;gap:3px;margin:2px 0 7px}
.result-summary strong{font-size:17px}
.result-summary span{color:var(--muted);font-size:13px;font-weight:850}
.link-row{line-height:1.9}
@media(max-height:700px){.quick-qb{min-height:34px;padding:0 10px;font-size:12px}.quick-label{font-size:10px}.result-summary{margin-bottom:3px}}


/* V2.2: desktop layout, player spotlight, and elite-solve celebration. */
.player-spotlight{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.player-portrait{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,rgba(96,243,142,.28),rgba(255,255,255,.08));border:1px solid rgba(96,243,142,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.player-portrait span{font-size:22px;font-weight:1000;line-height:1}.player-portrait small{font-size:9px;letter-spacing:.16em;color:#a7ffc0;font-weight:950;margin-top:4px}
.celebration-layer{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden;display:grid;place-items:center}
.celebration-layer i{position:absolute;left:calc(var(--x)*1%);top:-12%;font-style:normal;font-size:clamp(20px,4vw,34px);animation:confettiFall 1.75s cubic-bezier(.18,.74,.22,1) var(--d) both;filter:drop-shadow(0 6px 7px rgba(0,0,0,.3))}
.celebration-callout{padding:14px 22px;border-radius:999px;background:rgba(5,24,13,.94);border:1px solid rgba(96,243,142,.65);box-shadow:0 18px 70px rgba(0,0,0,.5);font-weight:1000;font-size:clamp(22px,5vw,38px);letter-spacing:-.02em;animation:calloutPop 1.9s ease both}
@keyframes confettiFall{0%{transform:translateY(-10vh) rotate(0) scale(.4);opacity:0}12%{opacity:1}100%{transform:translateY(120vh) rotate(620deg) scale(1);opacity:.2}}
@keyframes calloutPop{0%{transform:scale(.45);opacity:0}16%{transform:scale(1.08);opacity:1}27%{transform:scale(1)}78%{opacity:1}100%{transform:scale(.94);opacity:0}}
@media (prefers-reduced-motion:reduce){.celebration-layer i{display:none}.celebration-callout{animation:none}}

@media(min-width:800px) and (min-height:680px){
  html,body{position:static;overflow:auto!important;min-height:100%;height:auto}
  body{min-height:100vh}
  .app-shell{width:min(1180px,calc(100% - 48px));height:auto;min-height:100vh;max-height:none;padding:24px 0 30px;gap:16px;overflow:visible!important}
  .topbar{height:58px;grid-template-columns:58px 1fr 76px}.icon-button,.close{width:48px;height:48px;min-width:48px}.brand{font-size:22px}.brand-ball{font-size:32px}.subtitle{font-size:11px}.streak{font-size:17px;padding:10px 14px}
  .game-card{min-height:720px;height:calc(100vh - 128px);max-height:860px;padding:22px;gap:16px;border-radius:34px;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'daily daily' 'clues history' 'clues actions';overflow:hidden!important}
  .daily-strip{grid-area:daily;padding:16px 18px}.daily-title{font-size:21px}.daily-meta{font-size:15px}
  .clues{grid-area:clues;grid-template-rows:1.45fr repeat(4,.72fr);gap:12px}.clue{padding:14px 16px;border-radius:22px}.clue small{font-size:11px}.clue strong{font-size:16px}.clue em{font-size:25px}.clue.active em{font-size:48px}.clue.active strong{font-size:19px}
  .guess-history{grid-area:history;display:flex!important;flex-direction:column;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding-right:4px;gap:10px}.guess-pill{min-width:0;width:100%;padding:12px;border-radius:18px}.guess-label{font-size:14px}.chips{gap:5px;flex-wrap:wrap}.chip{font-size:11px;padding:4px 7px}
  .action-row{grid-area:actions;align-self:end;min-height:88px}.primary,.secondary{font-size:16px;padding:16px 18px}.message{font-size:13px}
  .guess-sheet{width:min(760px,calc(100% - 64px))!important;height:min(760px,calc(100vh - 64px))!important;max-height:min(760px,calc(100vh - 64px))!important;top:50%!important;transform:translate(-50%,-50%)!important;border-radius:30px!important;padding:24px!important;box-shadow:0 30px 100px rgba(0,0,0,.58)!important}
  .sheet-backdrop{display:block!important}.picker-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.season-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result-card{width:min(560px,100%);padding:22px}.player-portrait{width:78px;height:78px;border-radius:23px}.player-portrait span{font-size:28px}
  .menu-card{width:min(540px,100%)}
}


/* V2.3: simple image-free results and centered, no-scroll desktop play. */
.player-portrait{display:none!important}
.player-spotlight,.player-spotlight-text{display:block!important}

@media(min-width:800px) and (min-height:680px){
  html,body{height:100%;overflow:hidden}
  .app-shell{
    width:min(760px,calc(100% - 48px));
    height:100dvh;
    min-height:0;
    max-height:100dvh;
    padding:18px 0 20px;
    gap:12px;
    overflow:hidden!important;
  }
  .topbar{height:48px}
  .game-card{
    width:100%;
    min-height:0;
    height:auto;
    max-height:none;
    flex:1 1 auto;
    padding:16px;
    gap:10px;
    border-radius:30px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    grid-template-areas:none;
    overflow:hidden!important;
  }
  .daily-strip{grid-area:auto;padding:11px 14px}
  .clues{
    grid-area:auto;
    min-height:0;
    grid-template-rows:1.4fr repeat(4,.7fr);
    gap:8px;
  }
  .clue{padding:10px 14px;border-radius:18px}
  .clue small{font-size:10px}
  .clue strong{font-size:14px}
  .clue em{font-size:21px}
  .clue.active strong{font-size:16px}
  .clue.active em{font-size:38px}
  .guess-history{
    grid-area:auto;
    display:flex!important;
    flex-direction:row;
    min-height:46px;
    max-height:54px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:1px 0;
    gap:7px;
  }
  .guess-pill{min-width:190px;width:auto;padding:8px;border-radius:15px}
  .guess-label{font-size:12px}
  .chip{font-size:10px;padding:3px 5px}
  .action-row{
    grid-area:auto;
    width:min(440px,100%);
    min-height:54px;
    align-self:end;
    justify-self:center;
  }
  .action-row .primary{width:100%;font-size:16px;padding:14px 18px}
  .message{font-size:12px}
  .result-card{width:min(520px,100%);padding:20px}
}

@media(min-width:800px) and (max-height:760px){
  .app-shell{padding-top:10px;padding-bottom:10px;gap:8px}
  .topbar{height:42px}
  .game-card{padding:11px;gap:7px;border-radius:24px}
  .daily-strip{padding:9px 12px}
  .clues{gap:6px;grid-template-rows:1.25fr repeat(4,.58fr)}
  .clue{padding:7px 11px;border-radius:15px}
  .clue.active em{font-size:30px}
  .clue em{font-size:18px}
  .guess-history{display:none!important}
  .action-row{min-height:46px}
  .action-row .primary{padding:11px 15px}
}
