.progress-home{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;width:100%;margin:12px 0 4px;flex-shrink:0}
.progress-home>*{min-width:0;overflow-wrap:anywhere}
.game-page .stage:has(#overlay:not(.hidden)){touch-action:pan-y}
.progress-home button{min-height:54px;padding:10px 12px;font:800 17px/1.25 'Barlow Condensed',sans-serif;text-align:left;letter-spacing:.4px;border:1px solid #77c5db80;border-radius:10px;color:#d1f4ff;background:linear-gradient(130deg,#173e56,#102437)}
.progress-home small{display:block;font:500 14px/1.4 'DM Sans',sans-serif;margin-top:5px;color:#cbdfea;letter-spacing:0}
.progress-home .progress-league-button{color:#ffe7a0;border-color:#eac86c80;background:linear-gradient(130deg,#514024,#152b3d)}
.progress-profile{text-align:left;border-bottom:1px solid #b5cedc40;padding-bottom:18px;margin:0 0 20px}
.profile-heading{display:flex;align-items:center;gap:12px;margin:8px 0 16px}.profile-heading h3{font:900 27px/1.15 'Barlow Condensed',sans-serif;margin:0;overflow-wrap:anywhere;min-width:0;color:#ffe7a3}
.profile-monogram{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:linear-gradient(135deg,#ffe6a1,#d9ac46);color:#10273d;font:900 26px 'Barlow Condensed',sans-serif}
.profile-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile-stat-grid>div{padding:13px;background:#15364c;border:1px solid #a4dced33;border-radius:12px}.profile-stat-grid strong{display:block;color:#d8f8ff;font:900 32px 'Barlow Condensed',sans-serif}.profile-stat-grid span{font:700 13px 'DM Sans',sans-serif;color:#aacddb}
.progress-profile h4{font:800 18px 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#ffe4a0;margin:20px 0 10px}.profile-records>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #b5cddb20;font-size:16px}.profile-records b{font-size:20px;color:#a8edf7}
.profile-favorite,.progress-note,.league-rules,.league-reset{font:400 14px/1.5 'DM Sans',sans-serif;color:#c0d3df}.personal-goals{display:grid;gap:9px}.personal-goal{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:12px;border:1px solid #82bfd74d;border-radius:10px;background:#113149}.personal-goal b{font:700 16px/1.4 'DM Sans',sans-serif;overflow-wrap:anywhere}.goal-count{font:800 16px 'DM Sans',sans-serif;color:#ffe9a0}.personal-goal progress{grid-column:1/-1;width:100%;height:8px;accent-color:#ffd672}.personal-goal small{grid-column:1/-1;font-size:14px;color:#bbd3df}.goal-done{border-color:#96e9b599}.goal-done .goal-count{color:#b3f6c9}
.profile-badges{display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile-badges>.progress-note{grid-column:1/-1}.league-badge{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 8px;border:1px solid #ceb57380;border-radius:12px;background:linear-gradient(160deg,#454026,#132d43);text-align:center}.league-badge strong{font-size:30px}.league-badge b{font:900 22px 'Barlow Condensed',sans-serif;color:#ffe4a0}.league-badge span,.league-badge small{font:500 14px/1.4 'DM Sans',sans-serif;color:#d0e0e9}
.league-dialog label{display:block;margin:14px 0 6px}.league-dialog select{width:100%;font-size:16px;min-height:44px;background:#173a50;color:#f4eedb;border:1px solid #86aec3;border-radius:8px;padding:8px}.league-own{padding:12px;background:#284d62;border-radius:10px;font-size:16px}.league-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 8px;border-bottom:1px solid #a2c8dc30;font-size:16px}.league-row span{overflow-wrap:anywhere}.league-row b{color:#ffe4a0}.league-row.is-you{background:#235674;border-radius:8px}
.progress-result{display:grid;gap:4px;font:500 14px/1.4 'DM Sans',sans-serif;margin:7px 0}.progress-result:empty{display:none}.progress-result b{color:#ffe08e}
/* Phone inputs stay at 16 px to avoid iOS focus zoom. Dialogs scroll above safe areas. */
.player-dialog{max-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));overscroll-behavior:contain;overflow-y:auto;max-width:calc(100vw - 24px);box-sizing:border-box}
.player-dialog input,.player-dialog select{font-size:16px;min-height:44px}.player-dialog button{min-height:44px}.player-dialog .dialog-close{min-width:44px}.player-dialog h2,.player-dialog h3,#player-current{overflow-wrap:anywhere}.rival-panel .rival-name{overflow-wrap:anywhere}
@media(max-width:360px){.progress-home{grid-template-columns:1fr}.profile-stat-grid>div{padding:10px}.profile-heading h3{font-size:24px}.personal-goal{grid-template-columns:1fr}.goal-count{justify-self:start}}
