/* Fortune Fairways / warm clubhouse surfaces. Hub only; gameplay has its own layout. */
.arcade-hero{
  --hub-ink:#173d2b;
  min-height:440px;
  padding:50px 48px;
  gap:36px;
  color:var(--hub-ink);
  background:#eeeae0;
  border:1px solid #d2d3c4;
  border-radius:18px;
  box-shadow:0 12px 32px #07180f18;
}
.arcade-hero:before{
  inset:0 0 0 56%;
  z-index:-1;
  background:#3d6146;
  border-radius:46% 0 0 0;
  transform:none;
}
.arcade-hero>div{position:relative;z-index:1;max-width:590px}
.arcade-hero .eyebrow{font-size:11px;color:#54705a;letter-spacing:.1em}
.arcade-hero h1{font-size:clamp(48px,5.7vw,76px);line-height:1.01;margin:26px 0 24px;letter-spacing:-.055em;color:#153e2b}
.arcade-hero p{font-size:19px;line-height:1.7;margin-bottom:29px;color:#536453}
.arcade-hero .btn.mint{background:#183f2d;border-color:#183f2d;color:#f6f3e9;font-size:16px;min-height:54px;padding:15px 24px;border-radius:7px;box-shadow:none}
.arcade-hero .btn.mint:hover{background:#29583b;border-color:#29583b}
.arcade-hero>.ff-ball-art{width:320px;height:320px;flex:0 0 320px;filter:drop-shadow(0 18px 12px #09221829)}
.arcade-hero .ff-ball-art-label{fill:#e6ebda;font-size:10px}
.arcade-daily{margin:45px 0 54px}
.arcade-daily .club-section-title,.arcade-game-library .club-section-title{align-items:flex-end;gap:24px}
.arcade-daily .club-section-title h2,.arcade-game-library .club-section-title h2{font-size:clamp(31px,3.8vw,43px);letter-spacing:-.045em;line-height:1.08;margin-top:11px}
.arcade-daily .club-section-title .eyebrow,.arcade-game-library .club-section-title .eyebrow{color:#b7c8a7;font-size:11px;letter-spacing:.07em}
.arcade-renewal{color:#bdcbb0;font-size:10px;line-height:1.7;text-align:right}
.arcade-challenge-grid{gap:19px;margin-top:27px}
.arcade-challenge-grid>article{
  min-height:300px;
  padding:27px;
  border:1px solid #d1d8c8;
  border-radius:13px;
  background:#f1f0e8;
  color:#173d2b;
  box-shadow:0 5px 13px #06150c0c;
}
.arcade-challenge-grid>article>span{color:#5d735e;font-size:11px;letter-spacing:.06em}
.arcade-challenge-grid h3{font-size:28px;line-height:1.12;letter-spacing:-.035em;margin:22px 0 16px;color:#1b432f;max-width:280px}
.arcade-challenge-grid p{font-size:16px;line-height:1.7;color:#596655}
.arcade-challenge-grid .badge-progress-track{height:5px;background:#cfd9c8;margin-top:24px}
.arcade-challenge-grid .badge-progress-track>span{background:#456e46;box-shadow:none}
.arcade-challenge-grid>article>strong{color:#345b3d;font-size:11px;margin-top:13px}
.arcade-challenge-grid .subtle-link{font-size:15px;color:#214a31;margin-top:24px;min-height:42px;display:flex;align-items:center;text-align:left}
.arcade-challenge-grid>article.completed{background:#365e40;border-color:#698064;color:#f5f3e7}
.arcade-challenge-grid>article.completed>span,.arcade-challenge-grid>article.completed>strong{color:#c7dbc0}
.arcade-challenge-grid>article.completed h3{color:#faf8ed}
.arcade-challenge-grid>article.completed p{color:#d9e1cf}
.arcade-challenge-grid>article.completed .subtle-link{color:#faf8ed}
.arcade-challenge-grid>article.completed .badge-progress-track{background:#20492e}
.arcade-challenge-grid>article.completed .badge-progress-track>span{background:#c3d4a6}
.arcade-game-grid{gap:23px;align-items:stretch;margin-top:27px}
.arcade-game-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid #cfd6c6;
  border-radius:15px;
  background:#ebece1;
  color:#173d2b;
  box-shadow:0 7px 20px #06150c17;
  transition:transform .22s ease,box-shadow .22s ease;
}
.arcade-game-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #06150c25}
.arcade-game-card .arcade-game-cover{
  height:300px;
  flex-shrink:0;
  padding:25px;
  background:#b7c6a5;
  border-bottom:1px solid #9aaf87;
  border-radius:0;
}
.arcade-game-card .arcade-game-cover>span{top:25px;left:25px;color:#3c5b3b;font-size:10px;letter-spacing:.07em}
.arcade-game-card .arcade-game-cover>strong{top:85px;left:24px;font-size:clamp(42px,4vw,53px);line-height:.96;letter-spacing:-.055em;color:#183f2c;text-shadow:none}
.arcade-game-card .arcade-game-cover>i{bottom:23px;left:25px;right:25px;font-size:9px;color:#435d3e;line-height:1.7}
.cart-game-card .arcade-game-cover{background:#c6cfb3}
.cart-game-card .cart-cover-track{width:280px;height:450px;top:-105px;right:-145px;border:38px solid #8e9e7f55;z-index:-1}
.cart-game-card .arcade-game-cover>#cart-cover-canvas{object-fit:contain;z-index:1;transform:translate(5px,10px)}
.ball-game-card .arcade-game-cover{background:#d8d7c7;border-bottom-color:#b9bca7}
.ball-game-card .arcade-game-cover>.ff-ball-art{width:235px;height:235px;right:-27px;bottom:3px;transform:rotate(4deg);filter:drop-shadow(0 10px 10px #283d2526)}
.pins-game-card .arcade-game-cover{background:#42664b;border-bottom-color:#617e5c}
.pins-game-card .arcade-game-cover>span,.pins-game-card .arcade-game-cover>i{color:#d8e2c9}
.pins-game-card .arcade-game-cover>strong{color:#f4f0e1}
.pins-game-card .pins-cover-flag{width:59px;height:43px;right:24px;top:121px;background:#d6ddbd;color:#284e36;font-size:19px;filter:none}
.pins-game-card .arcade-game-cover:after{right:82px;top:122px;height:110px;width:3px;background:#f5f0dc;box-shadow:13px 12px 0 #183b282e}
.arcade-game-card>div:last-child{padding:28px;flex:1;display:flex;flex-direction:column;align-items:stretch}
.arcade-game-card h3{font-size:27px;line-height:1.13;letter-spacing:-.035em;color:#1b432f;min-height:61px}
.arcade-game-card p{font-size:16px;line-height:1.75;color:#596754;min-height:0;margin:18px 0 25px;flex:1}
.arcade-game-card .btn.mint{min-height:53px;font-size:15px;line-height:1.35;border-radius:6px;padding:14px 17px;background:#204b33;border:1px solid #204b33;color:#faf7ec;box-shadow:none}
.arcade-game-card .btn.mint:hover{background:#37643f;border-color:#37643f}
.ball-garage{gap:40px;padding:38px;margin:52px 0;border:1px solid #d3d6c6;border-radius:16px;background:#ecece1;color:#1c432f;align-items:center}
.ball-garage-preview{background:#c4ccb4;border:1px solid #aab99a;border-radius:10px;min-height:390px;padding:25px;overflow:hidden}
.ball-garage-preview>.ff-ball-art{height:325px;max-width:350px;filter:drop-shadow(0 18px 12px #35442a1c)}
.ball-garage-preview .ff-ball-art-label{fill:#425d3b}
.ball-garage-preview>span{font-size:9px;line-height:1.7;letter-spacing:.06em;color:#4d6546;max-width:230px;text-align:center}
.ball-garage .eyebrow{font-size:11px;color:#577054;letter-spacing:.08em}
.ball-garage h2{font-size:clamp(36px,4.5vw,49px);line-height:1.02;letter-spacing:-.05em;color:#1c432f;margin:19px 0 28px}
.ball-garage .form-field>span{font-size:14px;color:#405c40;line-height:1.5}
.ball-garage input[name=ballName]{background:#faf9f1;border:1px solid #a8b99e;border-radius:6px;color:#173d2b;font-size:17px;min-height:52px;padding:14px 16px;box-shadow:none}
.ball-garage input[name=ballName]:focus{outline:2px solid #3c6d45;outline-offset:2px}
.ball-garage .ball-skin-options{gap:11px;margin:20px 0 24px}
.ball-garage .ball-skin-options>button{position:relative;padding:16px 13px;min-height:136px;border:1px solid #bdc8b0;border-radius:8px;background:#f5f4eb;color:#224a31;opacity:1;transition:background .2s,border-color .2s}
.ball-garage .ball-skin-options>button:hover{background:#e1e8d7;border-color:#6e8a60}
.ball-garage .ball-skin-options>button.selected{border:2px solid #3e6840;padding:15px 12px;box-shadow:none;background:#dde7d3}
.ball-garage .ball-skin-options>button[data-locked=true]{background:#e7e8dc;border-color:#c6cdbd}
.ball-garage .ball-skin-options>button[data-locked=true]>i{filter:saturate(.55);opacity:.72}
.ball-garage .ball-skin-options>button>i{width:35px;height:35px;margin-bottom:14px;box-shadow:2px 5px 8px #35442a2e,inset -4px -5px 6px #0003}
.ball-garage .ball-skin-options>button>span{font-size:14px;line-height:1.3;color:#234931}
.ball-garage .ball-skin-options>button>small{font:9px/1.6 var(--mono);color:#5b6d50;margin-top:9px}
.ball-garage .ball-skin-options>button.selected>small{color:#345c37}
.ball-garage .btn.outline{min-height:53px;padding:14px 20px;border:1px solid #426a40;border-radius:6px;background:transparent;color:#244d32;font-size:15px;line-height:1.4;box-shadow:none}
.ball-garage .btn.outline:hover{background:#dbe6cf}
.arcade-personal-best{padding:32px 35px;border:1px solid #607a56;border-radius:13px;background:#2a4e35;color:#f4f2e5}
.arcade-personal-best>.eyebrow{font-size:11px;color:#c9d7b8;letter-spacing:.08em}
.arcade-personal-best>div{gap:28px;margin:26px 0 23px}
.arcade-personal-best article{padding-right:22px;border-right:1px solid #7f97706b}
.arcade-personal-best article:last-child{border-right:0;padding-right:0}
.arcade-personal-best article>strong{font-size:53px;line-height:1.1;color:#f8f5e9;letter-spacing:-.055em}
.arcade-personal-best article>span{font-size:14px;line-height:1.6;color:#d0ddc1;margin-top:10px}
.arcade-personal-best>p{border-top:1px solid #78936963;padding-top:20px;font-size:13px;line-height:1.8;color:#b7cba6;margin-top:0}
.arcade-hero .btn:focus-visible,.arcade-challenge-grid button:focus-visible,.arcade-game-card .btn:focus-visible,.ball-garage button:focus-visible{outline:3px solid #b5c98e;outline-offset:4px}

@media(max-width:1100px){
  .arcade-hero{padding:40px;min-height:400px;gap:23px}
  .arcade-hero h1{font-size:64px}
  .arcade-hero>.ff-ball-art{width:270px;height:300px;flex-basis:270px}
  .arcade-game-card h3{font-size:25px}
  .arcade-game-card>div:last-child{padding:25px}
  .ball-garage{padding:30px;gap:30px}
  .ball-garage .ball-skin-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px){
  .arcade-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pins-game-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .pins-game-card .arcade-game-cover{height:100%;min-height:290px;border-bottom:0;border-right:1px solid #617e5c}
  .pins-game-card>div:last-child{justify-content:center}
  .pins-game-card h3{min-height:0}
  .pins-game-card p{flex:0;margin-bottom:27px}
  .arcade-game-card .arcade-game-cover>strong{font-size:52px}
  .arcade-challenge-grid>article{padding:24px}
  .arcade-challenge-grid h3{font-size:25px}
}
@media(max-width:820px){
  .arcade-hero{padding:34px;gap:14px}
  .arcade-hero h1{font-size:54px}
  .arcade-hero p{font-size:17px}
  .arcade-hero>.ff-ball-art{width:230px;height:270px;flex-basis:230px}
  .arcade-challenge-grid{gap:14px}
  .arcade-challenge-grid>article{padding:23px 19px;min-height:330px}
  .arcade-challenge-grid h3{font-size:24px}
  .arcade-challenge-grid p{font-size:15px}
  .arcade-challenge-grid .subtle-link{font-size:14px}
  .ball-garage{grid-template-columns:1fr;padding:30px;gap:30px}
  .ball-garage-preview{min-height:330px}
  .ball-garage-preview>.ff-ball-art{height:280px}
  .ball-garage .ball-skin-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .arcade-hero{display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:32px 26px 15px;gap:18px;border-radius:13px}
  .arcade-hero:before{left:0;top:60%;border-radius:55% 0 0 0}
  .arcade-hero>div{max-width:100%}
  .arcade-hero .eyebrow{font-size:10px;line-height:1.7}
  .arcade-hero h1{font-size:clamp(43px,10.8vw,60px);line-height:1.01;margin:23px 0 20px}
  .arcade-hero p{font-size:17px;line-height:1.75;margin-bottom:25px}
  .arcade-hero .btn.mint{font-size:16px;min-height:54px;padding:15px 21px}
  .arcade-hero>.ff-ball-art{width:100%;height:265px;max-width:300px;flex-basis:auto;align-self:center;margin:2px 0 0}
  .arcade-hero .ff-ball-art-label{fill:#e6ebda;font-size:10px}
  .arcade-daily{margin-top:35px;margin-bottom:41px}
  .arcade-daily .club-section-title{align-items:flex-start;gap:15px}
  .arcade-daily .club-section-title h2,.arcade-game-library .club-section-title h2{font-size:33px;line-height:1.12;max-width:290px}
  .arcade-daily .club-section-title .eyebrow,.arcade-game-library .club-section-title .eyebrow{font-size:10px;line-height:1.7}
  .arcade-renewal{font-size:8px;max-width:80px;line-height:1.8}
  .arcade-challenge-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}
  .arcade-challenge-grid>article{padding:26px;min-height:0;border-radius:11px}
  .arcade-challenge-grid h3{font-size:29px;max-width:300px;margin:19px 0 14px}
  .arcade-challenge-grid p{font-size:17px;line-height:1.75}
  .arcade-challenge-grid .badge-progress-track{margin-top:22px}
  .arcade-challenge-grid .subtle-link{font-size:16px;min-height:46px;margin-top:18px}
  .arcade-game-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}
  .arcade-game-card{border-radius:13px}
  .pins-game-card{display:flex;grid-column:auto}
  .arcade-game-card .arcade-game-cover{height:305px;min-height:305px;padding:24px;border-right:0;border-bottom:1px solid #a5b48e}
  .arcade-game-card .arcade-game-cover>span{top:25px;left:24px;font-size:10px}
  .arcade-game-card .arcade-game-cover>strong{top:87px;left:23px;font-size:53px}
  .arcade-game-card .arcade-game-cover>i{bottom:24px;left:24px;font-size:9px;max-width:250px}
  .cart-game-card .arcade-game-cover>#cart-cover-canvas{transform:translate(8px,11px)}
  .ball-game-card .arcade-game-cover>.ff-ball-art{width:250px;height:250px;right:-33px;bottom:-2px}
  .pins-game-card .arcade-game-cover{border-bottom-color:#617e5c}
  .pins-game-card .pins-cover-flag{right:25px;top:123px}
  .pins-game-card .arcade-game-cover:after{right:83px;top:124px}
  .arcade-game-card>div:last-child{padding:27px}
  .arcade-game-card h3{font-size:29px;line-height:1.14;min-height:0;max-width:320px}
  .arcade-game-card p{font-size:17px;line-height:1.8;margin:17px 0 25px;flex:1}
  .arcade-game-card .btn.mint{font-size:16px;min-height:55px;padding:15px 17px}
  .ball-garage{padding:24px;margin:40px 0;gap:29px;border-radius:13px}
  .ball-garage-preview{min-height:310px;padding:20px;border-radius:8px}
  .ball-garage-preview>.ff-ball-art{height:260px}
  .ball-garage-preview>span{font-size:8px;max-width:210px;line-height:1.8}
  .ball-garage h2{font-size:40px;margin-top:16px;margin-bottom:26px}
  .ball-garage .form-field>span{font-size:15px}
  .ball-garage input[name=ballName]{font-size:17px;min-height:55px}
  .ball-garage .ball-skin-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:20px}
  .ball-garage .ball-skin-options>button{min-height:145px;padding:17px 13px}
  .ball-garage .ball-skin-options>button.selected{padding:16px 12px}
  .ball-garage .ball-skin-options>button>span{font-size:15px}
  .ball-garage .ball-skin-options>button>small{font-size:9px;line-height:1.7}
  .ball-garage .btn.outline{font-size:16px;min-height:55px;width:100%;padding:14px}
  .arcade-personal-best{padding:28px;border-radius:11px}
  .arcade-personal-best>div{grid-template-columns:1fr;gap:23px;margin:25px 0}
  .arcade-personal-best article{border-right:0;border-bottom:1px solid #78936963;padding:0 0 21px}
  .arcade-personal-best article:last-child{border-bottom:0;padding-bottom:0}
  .arcade-personal-best article>strong{font-size:47px}
  .arcade-personal-best article>span{font-size:15px;line-height:1.6}
  .arcade-personal-best>p{font-size:13px;line-height:1.85;padding-top:20px}
}
@media(max-width:380px){
  .arcade-hero{padding-inline:23px}
  .arcade-hero h1{font-size:43px}
  .arcade-game-card .arcade-game-cover>strong{font-size:46px;left:22px;top:89px}
  .arcade-game-card .arcade-game-cover{height:290px;min-height:290px}
  .ball-game-card .arcade-game-cover>.ff-ball-art{width:220px;height:220px;right:-31px;bottom:2px}
  .pins-game-card .pins-cover-flag{width:52px;right:21px}
  .pins-game-card .arcade-game-cover:after{right:72px}
  .arcade-game-card>div:last-child{padding:25px 23px}
  .arcade-game-card h3{font-size:27px}
  .ball-garage{padding:20px}
  .ball-garage .ball-skin-options>button{padding:16px 11px}
  .ball-garage .ball-skin-options>button.selected{padding:15px 10px}
}
@media(prefers-reduced-motion:reduce){
  .arcade-game-card{transition:none}
  .arcade-game-card:hover{transform:none}
  .ball-garage .ball-skin-options>button{transition:none}
}
/* Individual game identities and a visible path through three playable editions. */
.arcade-game-cover>.ff-game-mark{position:absolute;top:32px;left:22px;width:calc(100% - 44px);max-width:330px;margin:0;z-index:3}.arcade-game-cover>.ff-game-mark~strong{display:none}.arcade-game-cover>.ff-game-mark~span{top:15px;font-size:9px}.arcade-game-cover>.ff-game-mark~i{bottom:17px}.arcade-game-cover:has(.ff-game-mark)>#cart-cover-canvas{top:85px;height:250px;opacity:.75;transform:translateX(35px)}.arcade-game-cover:has(.ff-game-mark)>.ff-ball-art{width:200px;height:200px;bottom:-7px;right:-35px;opacity:.85}.arcade-game-cover:has(.ff-game-mark) .pins-cover-flag{top:206px}.arcade-game-cover:has(.ff-game-mark):after{top:206px;height:95px}.game-level-select{margin:22px 0 21px;border-top:1px solid #71876a40;padding-top:17px}.game-level-select>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.game-level-select button{border:1px solid #80937566;background:#f6f6ed;color:#244732;border-radius:7px;padding:9px 7px;display:flex;align-items:center;justify-content:center;gap:7px;min-height:47px}.game-level-select button strong{font-size:19px;line-height:1}.game-level-select button span{font:8px var(--mono);letter-spacing:.04em}.game-level-select button[aria-pressed=true]{background:#274c36;color:#f3f5e6;border-color:#274c36}.game-level-select button[aria-disabled=true]{color:#7e8d76;background:#e6e9dc;border-style:dashed}.game-level-select>p{font-size:12px!important;line-height:1.7!important;min-height:0!important;margin:12px 0 7px!important;color:#486149!important}.game-level-select>p strong{display:block;color:#214932}.game-level-select>small{font-size:11px;line-height:1.7;color:#6a7d61;display:block}
