.flow-page { min-height: 100vh; background: #f4f5f5; }
.flow-top { height: 82px; display: flex; align-items: center; justify-content: space-between; padding: 13px 24px; background: white; border-bottom: 1px solid #e1e7e9; }
.flow-back { width: 52px; height: 52px; border: 0; border-radius: 50%; background: #edf1f3; color: var(--navy); font-size: 32px; font-weight: 900; }
.flow-top h1 { margin: 0; font: 800 30px 'Baloo 2'; }
.flow-step { color: var(--muted); font-size: 12px; font-weight: 900; }
.flow-content { max-width: 900px; margin: auto; padding: 28px; }
.flow-title { margin: 0 0 20px; font: 800 clamp(30px, 5vw, 47px) 'Baloo 2'; text-align: center; }
.flow-home { position: relative; min-height: 100vh; overflow: hidden; background: var(--navy); }
.flow-home-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.flow-home-logo { position:absolute; z-index:3; top:28px; right:28px; width:clamp(110px,18vw,210px); max-height:25vh; object-fit:contain; filter:drop-shadow(0 10px 18px #00143177); }
.flow-home::after { position: absolute; inset: 62% 0 0; background: linear-gradient(transparent, #02183ce6); content: ''; }
.flow-home-actions { position: absolute; z-index: 2; right: 0; bottom: 5%; left: 0; display: grid; justify-items: center; gap: 13px; }
.flow-start { min-width: 340px; border: 5px solid white; border-radius: 25px; padding: 21px 42px; background: var(--blue); box-shadow: 0 14px 36px #00143188; color: white; font-size: 29px; font-weight: 900; }
.manager-page { background: #edf2f4; }
.manager-box,.manager-media { max-width: 620px; margin: 55px auto; border-radius: 26px; padding: 38px; background: white; box-shadow: 0 12px 35px #102b4215; text-align: center; }
.manager-lock { display: block; font-size: 60px; }
.manager-box h2,.manager-media h2 { margin: 8px 0; font: 800 34px 'Baloo 2'; }
.manager-box p,.manager-media p { color: var(--muted); }
.manager-box input { width: 100%; margin: 15px 0 8px; border: 3px solid #dfe7ea; border-radius: 15px; padding: 17px; font: 900 28px Nunito; letter-spacing: 12px; text-align: center; }
.manager-box input:focus { border-color: var(--blue); outline: 0; }
#managerError { min-height: 28px; color: var(--red); font-weight: 900; }
.manager-preview { position: relative; height: 380px; overflow: hidden; border-radius: 20px; background: var(--navy); }
.manager-preview .flow-home-media { position: static; width: 100%; height: 100%; object-fit: cover; }
.manager-remove { margin-top: 13px; border: 0; background: transparent; color: var(--red); font-weight: 900; }
.mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 30px; }
.mode-card { display: grid; grid-template-rows: minmax(0,1fr) auto; min-height: 380px; border: 4px solid transparent; border-radius: 28px; padding: 18px; background: white; box-shadow: 0 8px 25px #17324613; color: var(--navy); }
.mode-card:active { border-color: var(--blue); background: #eafaff; }
.mode-card span { display: block; font-size: 135px; }
.mode-card .mode-image { display: grid; min-height: 0; place-items: center; overflow: hidden; }
.mode-card .mode-image img { width: 100%; height: 100%; object-fit: contain; }
.mode-card b { display: block; font: 800 35px 'Baloo 2'; }
.category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.category-card { min-height: 205px; overflow: hidden; border: 0; border-radius: 22px; padding: 12px; background: white; box-shadow: 0 7px 22px #17324612; }
.category-card img { display: block; width: 100%; height: 145px; margin: 0 auto; object-fit: contain; object-position: center; }
.category-card .category-fallback { display: grid; height: 145px; place-items: center; font-size: 73px; }
.category-card b { display: block; color: var(--ink); font-size: 21px; }
.flow-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-bottom: 115px; }
.flow-product { position: relative; min-height: 315px; overflow: hidden; border: 2px solid #e4edf1; border-radius: 22px; padding: 0; background: white; box-shadow: 0 9px 25px #17324616; color: var(--ink); text-align: left; }
.flow-product .visual { display: grid; height: 315px; overflow: hidden; place-items: start center; padding: 2px 8px 8px; background: white; font-size: 72px; }
.flow-product .visual img { display: block; width: auto; height: auto; max-width: 98%; max-height: 100%; margin: 0 auto; object-fit: contain; object-position: center top; }
.flow-product .info { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; min-height: 92px; padding: 14px 16px; border-top: 1px solid #ffffffa8; background: rgba(230,240,245,.62); box-shadow: 0 -7px 24px #17324612; backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.flow-product b,.flow-product strong { display: block; }
.flow-product b { min-width: 0; font: 800 20px/1.15 'Baloo 2',Nunito,sans-serif; overflow-wrap: anywhere; }
.flow-product strong { min-width: 86px; border-radius: 14px; padding: 10px; background: var(--navy); color: white; font: 900 19px/1 Nunito,sans-serif; text-align: center; white-space: nowrap; }
.flow-product:active { border-color: var(--blue); transform: scale(.99); }
.flow-product.sold-out { cursor: not-allowed; opacity: .78; }
.flow-product.sold-out .visual { position: relative; background: #edf1f3; }
.flow-product.sold-out .visual img { filter: grayscale(1); opacity: .42; }
.sold-out-label { position: absolute; inset: 12px 12px auto; border-radius: 12px; padding: 11px 8px; background: #d83d4d; color: white; font: 900 15px/1 Nunito,sans-serif; text-align: center; box-shadow: 0 5px 14px #8b152744; }
.flow-product.sold-out .info strong { min-width: 112px; background: #737e89; font-size: 13px; }
.cart-banner { position: fixed; z-index: 16; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; min-height: 92px; border: 0; padding: 15px 28px; background: var(--navy); box-shadow: 0 -8px 25px #001a4055; color: white; text-align: left; }
.cart-banner span,.cart-banner b { display: block; }
.cart-banner span { color: #bfefff; font-size: 12px; }
.cart-banner b { font-size: 21px; }
.cart-banner strong { font: 800 28px 'Baloo 2'; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.detail-visual { display: grid; min-height: 360px; place-items: center; border-radius: 25px; background: white; font-size: 120px; }
.detail-visual img { width: 100%; height: 100%; max-height: 450px; object-fit: contain; }
.detail-copy h2 { margin: 0; font: 800 38px/1 'Baloo 2'; }
.detail-price { display: block; margin: 12px 0; color: var(--blue); font-size: 27px; }
.detail-description { color: var(--muted); line-height: 1.5; }
.allergens { border-radius: 13px; padding: 11px 13px; background: #fff2df; color: #9c5b16; font-size: 12px; font-weight: 900; }
.options { margin-top: 18px; }
.options h3 { margin-bottom: 8px; }
.option-group { margin: 14px 0; border: 2px solid #dfe8ec; border-radius: 16px; padding: 8px 14px 12px; background: #fff; }
.option-group legend { width: 100%; padding: 0 5px; }
.option-group legend b,.option-group legend small { display: block; }
.option-group legend small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.option-error { margin: 8px 0 0; color: var(--red); font-weight: 900; }
.option-row { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5eaec; padding: 12px 2px; }
.option-row label { flex: 1; font-weight: 800; }
.option-row input { width: 25px; height: 25px; margin-right: 12px; }
.quantity { display: flex; align-items: center; justify-content: center; gap: 25px; margin: 25px 0; }
.quantity button { width: 52px; height: 52px; border: 0; border-radius: 50%; background: var(--navy); color: white; font-size: 28px; }
.quantity b { font-size: 25px; }
.primary-flow { width: 100%; border: 0; border-radius: 16px; padding: 18px; background: var(--blue); color: white; font-size: 18px; font-weight: 900; }
.flow-cart-list { display: grid; gap: 13px; }
.flow-cart-line { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 16px; border: 0; border-radius: 18px; padding: 13px; background: white; color: var(--ink); text-align: left; }
.flow-cart-line .mini-visual { display: grid; height: 75px; place-items: center; border-radius: 13px; background: #f2f7f8; font-size: 40px; }
.flow-cart-line b,.flow-cart-line small { display: block; }
.flow-cart-line small { color: var(--muted); }
.flow-cart-line strong { color: var(--blue); }
.flow-cart-footer { margin-top: 22px; border-radius: 20px; padding: 22px; background: white; }
.flow-name { width: 100%; margin: 10px 0 18px; border: 3px solid #e1e7e9; border-radius: 14px; padding: 16px; font: 800 18px Nunito; }
.flow-total { display: flex; justify-content: space-between; margin-bottom: 15px; font-size: 24px; }
.empty-flow { padding: 90px 20px; color: var(--muted); text-align: center; }
.payment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.payment-card { min-height: 320px; border: 4px solid transparent; border-radius: 25px; background: white; color: var(--ink); }
.payment-card:active { border-color: var(--blue); }
.payment-card .pay-icon { display: block; font-size: 90px; }
.payment-card b { display: block; font: 800 28px 'Baloo 2'; }
.payment-card small { color: var(--muted); }
.payment-logos { display: flex; justify-content: center; gap: 7px; margin-top: 13px; }
.payment-logos i { border-radius: 8px; padding: 7px 9px; background: #f0f2f3; color: #424d5a; font-size: 11px; font-style: normal; font-weight: 900; }
.gift-card-payment { background:linear-gradient(145deg,#fff,#eefbff); }.gift-card-payment .pay-icon { filter:drop-shadow(0 5px 8px #078fc133); }.tax-included { display:block; margin-top:-8px; color:var(--muted); text-align:right; }
.gift-dialog { width:min(92vw,620px); max-height:92vh; overflow:auto; border:0; border-radius:25px; padding:30px; text-align:center; }.gift-dialog::backdrop { background:#001630cc; backdrop-filter:blur(5px); }.gift-dialog h2 { margin:6px 0; font:800 32px 'Baloo 2'; }.gift-dialog>p { color:var(--muted); }.gift-dialog>input { width:100%; margin:13px 0; border:2px solid #dfe7ea; border-radius:13px; padding:15px; font:800 18px Nunito; text-align:center; }.gift-camera { position:relative; height:280px; overflow:hidden; margin:18px 0 13px; border-radius:18px; background:#07182a; }.gift-camera video { width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }.gift-camera .scan-frame { position:absolute; top:35px; right:80px; bottom:35px; left:80px; border:4px solid #55d5ff; border-radius:20px; box-shadow:0 0 0 999px #001b3555; }.gift-camera>span { position:absolute; right:0; bottom:12px; left:0; color:white; font-size:12px; font-weight:900; }.gift-separator { display:flex; align-items:center; gap:12px; margin:18px 0 2px; color:var(--muted); font-size:12px; }.gift-separator::before,.gift-separator::after { flex:1; height:1px; background:#dde5e8; content:''; }.gift-balance { display:grid; grid-template-columns:1fr auto; gap:5px 12px; margin:15px 0; border-radius:15px; padding:15px; background:#ecfaf2; text-align:left; }.gift-balance b { text-align:right; }.gift-balance strong { grid-column:1/-1; color:#147341; }.gift-dialog #payGiftCard { margin-top:10px; }
.kiosk-language { position: fixed; z-index: 55; bottom: 14px; left: 16px; }
.kiosk-language > button { width: 58px; height: 58px; border: 3px solid white; border-radius: 50%; background: var(--navy); box-shadow: 0 7px 22px #001a4055; font-size: 27px; }
.language-panel { position: absolute; bottom: 68px; left: 0; width: 180px; overflow: hidden; border-radius: 16px; background: white; box-shadow: 0 12px 35px #001a4044; }
.language-panel button { display: block; width: 100%; border: 0; border-bottom: 1px solid #edf0f1; padding: 14px; background: white; font-weight: 900; text-align: left; }
.cart-promo { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:13px; width:100%; margin-bottom:18px; border:1px solid #dce9ee; border-radius:18px; padding:13px; background:linear-gradient(135deg,#fff,#f2fbff); box-shadow:0 6px 18px #17324612; color:var(--navy); text-align:left; }
.cart-promo .promo-icon { display:grid; width:50px; height:50px; place-items:center; border-radius:15px; background:var(--blue); color:white; font-size:25px; font-weight:900; }
.cart-promo b,.cart-promo small { display:block; }.cart-promo b { font-size:17px; }.cart-promo small { margin-top:2px; color:var(--muted); }.cart-promo>strong { color:var(--blue); font-size:34px; }
.discount-summary { display:grid; grid-template-columns:1fr auto; gap:7px 15px; margin-bottom:13px; border-radius:13px; padding:13px; background:#eefaf3; color:#147341; }.discount-summary span,.discount-summary b { font-size:14px; }
.customer-login { margin:0 0 18px; border:1px solid #dce8ec; border-radius:18px; padding:16px; background:#f8fbfc; }.customer-login-title { display:flex; align-items:center; gap:11px; margin-bottom:12px; }.customer-login-title>span { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; background:#e6f7fd; font-size:21px; }.customer-login-title b,.customer-login-title small { display:block; }.customer-login-title small { color:var(--muted); }.phone-row { display:grid; grid-template-columns:1fr auto; gap:9px; }.phone-row input { min-width:0; border:2px solid #dce5e8; border-radius:12px; padding:13px; font:800 17px Nunito; }.phone-row button,.create-customer button { border:0; border-radius:12px; padding:0 16px; background:var(--navy); color:white; font-weight:900; }.customer-result { margin-top:9px; color:#147341; font-size:13px; font-weight:800; }.customer-result.not-found { color:#9c5b16; }.customer-result.error { color:var(--red); }.create-customer { margin-top:12px; border-top:1px solid #e1e8ea; padding-top:12px; }.create-customer label { display:flex; align-items:flex-start; gap:8px; color:var(--muted); font-size:12px; }.create-customer input { width:19px; height:19px; }.create-customer button { width:100%; margin-top:10px; padding:12px; }
.single-mode { grid-template-columns:minmax(280px,560px); justify-content:center; }
.manager-settings { display:grid; gap:22px; max-width:800px; margin:28px auto; padding:0 24px 40px; }
.settings-section { border-radius:24px; padding:28px; background:white; box-shadow:0 10px 28px #17324612; }.settings-section h2 { margin:0 0 7px; font:800 30px 'Baloo 2'; }.settings-section>p { margin-top:0; color:var(--muted); }.settings-section .manager-preview { height:290px; margin:18px 0; }.settings-section .manager-remove { display:block; margin:14px auto 0; }
.toggle-row { display:flex; align-items:center; justify-content:space-between; margin-top:12px; border:1px solid #e5ecef; border-radius:16px; padding:16px; cursor:pointer; }.toggle-row span b,.toggle-row span small { display:block; }.toggle-row span small { margin-top:3px; color:var(--muted); }.toggle-row input { position:absolute; opacity:0; }.toggle-row i { position:relative; width:58px; height:32px; border-radius:20px; background:#c9d1d5; transition:.2s; }.toggle-row i::after { position:absolute; top:4px; left:4px; width:24px; height:24px; border-radius:50%; background:white; box-shadow:0 2px 5px #0003; content:''; transition:.2s; }.toggle-row input:checked+i { background:#16a866; }.toggle-row input:checked+i::after { transform:translateX(26px); }
.promo-editor { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }.promo-editor input,.promo-editor select { min-width:0; border:2px solid #dfe7ea; border-radius:12px; padding:13px; font:700 15px Nunito; }.promo-editor .promo-active { display:flex; align-items:center; gap:8px; font-weight:800; }.promo-editor .primary-flow { grid-column:1/-1; }.promo-admin-list { display:grid; gap:9px; }.promo-admin-list article { display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:9px; border:1px solid #e5ecef; border-radius:14px; padding:12px; }.promo-admin-list article b,.promo-admin-list article small { display:block; }.promo-admin-list article small { color:var(--muted); }.promo-admin-list button { border:0; border-radius:9px; padding:9px; background:#edf3f5; font-weight:800; }.promo-admin-list .danger { color:var(--red); }.promo-status { border-radius:20px; padding:5px 8px; background:#eee; color:#777; font-size:10px; font-weight:900; }.promo-status.active { background:#dcf8e8; color:#147341; }
.terminal-admin { display:grid; gap:10px; margin-top:18px; }.terminal-choice { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; width:100%; border:2px solid #dfe8ec; border-radius:16px; padding:15px; background:#f7fafb; color:var(--ink); text-align:left; }.terminal-choice>span { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; background:var(--navy); color:white; font-size:24px; }.terminal-choice b,.terminal-choice small { display:block; }.terminal-choice small { color:var(--muted); }.terminal-choice strong { border-radius:20px; padding:7px 10px; background:#e7edf0; color:#6e7b85; font-size:11px; }.terminal-choice.selected { border-color:var(--green); background:#effcf5; }.terminal-choice.selected strong { background:var(--green); color:white; }.terminal-disconnect { justify-self:center; border:0; padding:10px; background:transparent; color:var(--red); font-weight:900; }.terminal-loading,.terminal-error { padding:18px; border-radius:14px; background:#f2f6f7; color:var(--muted); text-align:center; }
.suggestion-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.suggestion-card { overflow: hidden; border-radius: 20px; background: white; box-shadow: 0 7px 22px #17324612; }
.suggestion-card .visual { display: grid; height: 160px; place-items: center; font-size: 70px; }
.suggestion-card h3 { min-height: 48px; margin: 0; padding: 0 14px; }
.suggestion-card strong { display: block; padding: 7px 14px; color: var(--blue); }
.suggestion-card button { width: calc(100% - 24px); margin: 8px 12px 13px; border: 0; border-radius: 12px; padding: 12px; background: var(--navy); color: white; font-weight: 900; }
.suggestion-skip { margin-top: 22px; }

@media (orientation: portrait) {
  .flow-content { padding: 24px; }
  .category-grid { grid-template-rows: repeat(4, minmax(150px, 1fr)); }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-visual { min-height: 300px; }
  .suggestion-grid { grid-template-columns: 1fr; }
  .payment-grid { grid-template-columns:1fr; }
  .payment-card { min-height:230px; }
}
.loyalty-card { margin-top:15px; border-radius:16px; padding:15px; background:linear-gradient(135deg,#071d48,#0c4d86); color:white; }
.loyalty-head { display:flex; align-items:center; gap:11px; }.loyalty-head>span { font-size:32px; }.loyalty-head b,.loyalty-head small { display:block; }.loyalty-head b { font-size:21px; }.loyalty-head small { color:#cbeeff; }
.loyalty-rewards { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:13px; }.loyalty-rewards button { border:2px solid transparent; border-radius:12px; padding:10px; background:white; color:var(--navy); text-align:left; }.loyalty-rewards button b,.loyalty-rewards button span { display:block; }.loyalty-rewards button span { font-size:11px; }.loyalty-rewards button:disabled { opacity:.42; }.loyalty-rewards button.selected { border-color:#ffd84d; background:#fff8d6; }.cancel-reward { width:100%; margin-top:10px; border:0; background:transparent; color:white; text-decoration:underline; }
.wallet-card-preview { position:relative; display:grid; grid-template-columns:100px 1fr; min-height:230px; overflow:hidden; margin-bottom:18px; border:2px solid #ffffff55; border-radius:22px; padding:18px; background:radial-gradient(circle at 85% 15%,#44d7ff 0 7%,transparent 8%),linear-gradient(145deg,#08aee7,#0759a2 58%,#041d4b); box-shadow:0 18px 35px #00143166; color:white; }.wallet-card-preview>img { position:relative; z-index:2; width:105px; height:105px; object-fit:contain; align-self:start; filter:drop-shadow(0 8px 12px #001a4055); }.wallet-member { position:relative; z-index:2; padding:7px 0 0 12px; }.wallet-member small,.wallet-member b,.wallet-member span { display:block; }.wallet-member small { color:#c8f3ff; font-size:10px; font-weight:900; letter-spacing:2px; }.wallet-member b { margin-top:5px; font:800 24px 'Baloo 2'; }.wallet-member span { color:#d8efff; font-size:12px; }.wallet-stars { position:relative; z-index:2; grid-column:1/-1; margin-top:8px; }.wallet-stars small,.wallet-stars strong,.wallet-stars span { display:block; }.wallet-stars small { color:#bdefff; font-size:9px; font-weight:900; letter-spacing:1.5px; }.wallet-stars strong { font:900 34px 'Baloo 2'; }.wallet-stars span { font-size:12px; }.wallet-meta { position:relative; z-index:2; grid-column:1/-1; display:flex; justify-content:space-between; margin-top:14px; border-top:1px solid #ffffff44; padding-top:10px; color:#d9f2ff; font-size:11px; }.wallet-bubbles i { position:absolute; border:2px solid #ffffff22; border-radius:50%; }.wallet-bubbles i:nth-child(1){right:-25px;bottom:-35px;width:150px;height:150px}.wallet-bubbles i:nth-child(2){right:70px;bottom:35px;width:55px;height:55px}.wallet-bubbles i:nth-child(3){right:18px;top:55px;width:30px;height:30px}
.kds-sound { border:0; border-radius:12px; padding:11px 14px; background:#e9eef1; color:#607082; font-weight:900; }.kds-sound.active { background:#dff8ea; color:#147341; box-shadow:0 0 0 2px #8ee0b5 inset; }
.tv-voice { margin-right:22px; border:1px solid #ffffff44; border-radius:12px; padding:11px 14px; background:#ffffff14; color:#d8e8ff; font-weight:900; }.tv-voice.active { border-color:#63dca3; background:#1f8b61; color:white; box-shadow:0 0 18px #28bf7b55; }
.panda-ready img { width:min(31vw,320px); max-height:34vh; }.panda-ready .ready-sign { margin-top:8px; }
.undo-ready { background:#fff1da!important; color:#9a5a12!important; }.history-board { align-items:start; }.history-ticket { opacity:.94; }.history-ticket .ticket-head { background:#627286; }.history-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px 16px; }.history-actions button { border:0; border-radius:11px; padding:12px; background:#e9f2f5; color:var(--navy); font-weight:900; }.history-actions button:last-child { background:#dcf8e8; color:#147341; }
.ticket.onsite-order { border:4px solid #28bf7b; }.ticket.takeaway-order { border:4px solid #ff9c43; }.ticket.onsite-order .ticket-meta { background:#edfff6; }.ticket.takeaway-order .ticket-meta { background:#fff5e9; }.mode-badge { border-radius:10px; padding:8px 10px; font-size:12px!important; font-weight:900!important; }.onsite-order .mode-badge { background:#c9f5dd; color:#147341; }.takeaway-order .mode-badge { background:#ffe0bd; color:#9a5510; }.ticket:not(.onsite-order):not(.takeaway-order) .mode-badge { background:#ece8ff; color:#5d45bd; }
.customer-wait { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:11px; border-top:1px solid #dce7ec; padding-top:10px; font-style:normal; }.customer-wait b { color:#f1842c; font-size:20px; }.customer-wait small { color:var(--muted); font-size:10px; text-align:right; }
.ready-celebration { position:fixed; z-index:80; inset:0; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle,#0b4c88ee,#041b45f5); animation:celebration-in .5s ease-out; }.ready-celebration[hidden] { display:none; }.panda-ready { position:relative; display:grid; justify-items:center; animation:panda-bounce 1s ease-in-out infinite alternate; }.panda-ready img { width:min(42vw,430px); max-height:48vh; object-fit:contain; filter:drop-shadow(0 20px 25px #0007); }.ready-sign { min-width:min(70vw,720px); margin-top:-55px; border:10px solid #fff; border-radius:28px; padding:22px 55px; background:linear-gradient(135deg,#08aee7,#075a9c); box-shadow:0 22px 50px #0008; color:white; text-align:center; transform:rotate(-1deg); }.ready-sign small,.ready-sign strong,.ready-sign span { display:block; }.ready-sign small { color:#c9f3ff; font-size:20px; font-weight:900; letter-spacing:4px; }.ready-sign strong { font:900 clamp(68px,10vw,130px)/.9 'Baloo 2'; }.ready-sign span { font-size:30px; font-weight:900; }.ready-celebration::before,.ready-celebration::after { position:absolute; width:18px; height:45vh; background:repeating-linear-gradient(#ffd84d 0 18px,transparent 18px 38px,#ff5d7d 38px 56px,transparent 56px 76px); content:''; animation:confetti 1.8s linear infinite; }.ready-celebration::before { left:12%; }.ready-celebration::after { right:12%; animation-delay:-.8s; }@keyframes celebration-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes panda-bounce{to{transform:translateY(-13px) rotate(1deg)}}@keyframes confetti{from{transform:translateY(-60vh) rotate(10deg)}to{transform:translateY(70vh) rotate(190deg)}}
