/* ASC release 2: the canonical cue-and-ball identity and phone-safe controls. */
:root{--asc-safe-top:env(safe-area-inset-top,0px);--asc-safe-right:env(safe-area-inset-right,0px);--asc-safe-bottom:env(safe-area-inset-bottom,0px);--asc-safe-left:env(safe-area-inset-left,0px)}
html{background:#0b120e;max-width:100%;overflow-x:clip}
body{padding-left:var(--asc-safe-left);padding-right:var(--asc-safe-right);max-width:100%;overflow-x:clip}
.draft-bar{height:auto;min-height:29px;padding-top:var(--asc-safe-top);padding-left:max(5%,var(--asc-safe-left));padding-right:max(5%,var(--asc-safe-right))}
.header{height:auto;min-height:94px;padding-top:14px;padding-bottom:14px;padding-left:max(5%,var(--asc-safe-left));padding-right:max(5%,var(--asc-safe-right))}
.brand{min-width:76px;min-height:58px;display:inline-flex;align-items:center;justify-content:flex-start}
.brand .asc-mark{display:block;width:76px;height:76px;object-fit:contain;border-radius:16px}
.footer-mark{display:flex;align-items:center;gap:14px}
.footer-mark .asc-mark{display:block;width:64px;height:64px;border-radius:14px;flex:0 0 64px}
.footer-mark>span{font-size:8px;line-height:1.6;letter-spacing:1.2px}
.intro-brand{height:auto;min-height:140px;align-items:center}
.intro-brand .asc-mark{display:block;width:140px;height:140px;border-radius:30px;filter:drop-shadow(0 18px 30px #0008)}
.header-sound,.menu-button,.dialog-close,.button,.app-dock a,.app-dock button,.cue-link,.footer-tools button,.live-count,.food-filters button,.menu-basket-button,.hero-bottom a{min-width:44px;min-height:44px}
.cue-link,.hero-bottom a{display:inline-flex;align-items:center}
.hero-bottom a{justify-content:center}
.menu-button{width:48px;height:48px;border:1px solid #ffffff25;border-radius:50%;font-size:0;position:relative;flex:0 0 48px}
.menu-button::before,.menu-button::after{content:"";position:absolute;left:13px;width:20px;height:2px;background:#eef3e8;transition:transform .2s,top .2s}
.menu-button::before{top:17px;box-shadow:0 6px #eef3e8}.menu-button::after{top:29px}
.menu-button[aria-expanded="true"]::before{top:23px;box-shadow:none;transform:rotate(45deg)}
.menu-button[aria-expanded="true"]::after{top:23px;transform:rotate(-45deg)}
.mobile-nav{top:var(--asc-mobile-nav-top,100px);left:var(--asc-safe-left);right:var(--asc-safe-right);max-height:calc(100svh - var(--asc-mobile-nav-top,100px));overflow-y:auto;padding:12px 5% calc(18px + var(--asc-safe-bottom));background:#102018fa;backdrop-filter:blur(18px);box-shadow:0 18px 40px #0008}
.mobile-nav>*{min-height:48px;border-bottom:1px solid #ffffff16;display:flex;align-items:center;color:#f2f4eb}
.mobile-nav>*:last-child{border:0;background:#d5f47a;color:#122016;border-radius:6px;margin-top:8px;font-weight:800}
.app-dock .active,.app-dock [aria-current="page"]{background:#263e29;box-shadow:inset 0 -2px #d5f47a;color:#ecf7dc}
.play-card.is-unavailable{opacity:.78;border-style:dashed}
.play-card.is-unavailable .play-copy small{color:#f6d68b}
.kitchen .live-menu-item{color:#f1f4e9}
.kitchen .live-menu-item h3,.kitchen .live-menu-item strong{color:#f1f4e9}
.kitchen .live-menu-item .eyebrow{color:#d5f47a}
.landing-food>div{min-width:0}
.landing-phone>div{min-width:0}
.menu-preview-note button.cue-link{min-height:44px}
#modal .dialog-close{height:44px;min-height:44px}
.phone-install-card{display:flex;align-items:center;gap:18px;background:#eaf1df;color:#18351e;border:1px solid #b6cba0;border-radius:16px;padding:18px;margin:16px 0}
.phone-install-card .install-share{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:#183721;color:#edf5dc;font-size:26px;font-weight:800}
.phone-install-card p{font-size:13px;line-height:1.55;margin:0}
.phone-install-card em{font-style:normal;font-weight:800}
.phone-written-steps[open] summary span{transform:rotate(45deg)}
.play-grid,.play-card,.play-card>*{min-width:0}
.play-card .game-art,.play-card .table-art,.play-card .controller-art{max-width:100%}
.footer-tools{flex-wrap:wrap;min-width:0}
.footer-tools>*{min-width:0}
.kitchen-intro>div{min-width:0}
.kitchen-intro h1{white-space:normal!important;overflow-wrap:normal}
.brand-intro{inset:0!important;margin:0!important;width:100dvw!important;height:100dvh!important;max-width:100dvw!important;max-height:100dvh!important;overflow-x:hidden;overflow-y:auto}
.intro-top{position:relative;z-index:4;flex:0 0 auto}
#skip-intro{position:relative;z-index:5;min-height:44px;pointer-events:auto}
#modal{max-width:calc(100dvw - 20px);max-height:calc(100dvh - 12px);margin:6px auto}
#connection-banner{position:fixed;z-index:120;left:max(12px,var(--asc-safe-left));right:max(12px,var(--asc-safe-right));bottom:calc(88px + var(--asc-safe-bottom));background:#f4d47a;color:#1d241a;border:1px solid #94711d;border-radius:8px;padding:12px 16px;text-align:center;font-size:12px;font-weight:800;box-shadow:0 12px 40px #0008}
dialog{margin-top:max(14px,var(--asc-safe-top));margin-bottom:max(14px,var(--asc-safe-bottom))}
.dialog-close{display:grid;place-items:center}

@media(max-width:900px),(hover:none) and (pointer:coarse){
  .header .menu-button{display:block!important}
  .mobile-nav:not([hidden]){display:grid!important}
  .header nav{display:none!important}
  .header-sound{display:none!important}
  .header{gap:10px}
  .header-book{margin-left:auto}
  .cue-link{min-height:44px;display:inline-flex;align-items:center}
}

@media(max-width:760px){
  html{scroll-padding-top:94px}
  body{padding-bottom:calc(80px + var(--asc-safe-bottom))}
  .draft-bar{min-height:27px}
  .header{min-height:76px;padding-top:10px;padding-bottom:10px}
  .brand{min-width:54px;min-height:54px}
  .brand .asc-mark{width:54px;height:54px;border-radius:12px}
  .header-book{min-height:48px!important;font-size:11px!important}
  .app-dock{left:var(--asc-safe-left);right:var(--asc-safe-right);padding-bottom:calc(9px + var(--asc-safe-bottom))}
  .footer{padding-bottom:calc(100px + var(--asc-safe-bottom))!important}
  .footer-mark .asc-mark{width:58px;height:58px;flex-basis:58px}
  .brand-intro{padding-top:calc(22px + var(--asc-safe-top));padding-bottom:calc(22px + var(--asc-safe-bottom))}
  #modal,#food-dialog{max-height:calc(100svh - var(--asc-safe-top) - var(--asc-safe-bottom) - 14px)}
}

@media(max-width:390px){
  .header-book{padding:8px 10px!important;gap:7px!important}
  .header-book>span:last-child{display:none!important}
  .menu-button{width:46px;height:46px;flex-basis:46px}
  .landing-score{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 5%}
  .landing-score>div,.landing-score>a{min-width:0;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 8px;border:1px solid #ffffff12;border-radius:8px}
  .landing-score strong{min-width:0!important;font-size:38px!important}
  .landing-score span{font-size:10px!important;overflow-wrap:anywhere}
  .footer-tools{gap:6px 12px!important}
  .footer-tools>*{flex:1 1 calc(50% - 12px);justify-content:flex-start}
  .kitchen-intro{align-items:flex-start}
  .kitchen-intro h1{font-size:clamp(32px,12vw,44px)!important}
  .menu-basket-button{min-width:44px!important;flex:0 0 48px}
  .intro-brand{min-height:112px}
  .intro-brand .asc-mark{width:112px;height:112px;border-radius:24px}
}

@media(max-width:315px){
  .header-book{display:none!important}
  .brand{margin-right:auto}
  .phone-install-card{align-items:flex-start;padding:14px;gap:12px}
  .phone-install-card .install-share{width:44px;height:44px;flex-basis:44px}
  .play-grid{grid-template-columns:minmax(0,1fr)}
  .play-card{min-height:205px}
  .landing-food h2{font-size:40px;letter-spacing:-.5px}
  .phone-pitch h2{font-size:58px}
  .landing-close h2{font-size:58px}
}

@media(max-height:520px) and (orientation:landscape){
  .draft-bar{display:none}
  .header{min-height:62px;padding-top:max(7px,var(--asc-safe-top));padding-bottom:7px}
  .brand,.brand .asc-mark{width:48px;height:48px;min-width:48px;min-height:48px}
  .mobile-nav{grid-template-columns:1fr 1fr;gap:0 14px}
  dialog{max-height:calc(100svh - var(--asc-safe-top) - var(--asc-safe-bottom) - 8px)}
  .dialog-close{width:44px!important;height:44px!important;min-height:44px!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
