/* WebView-safe mobile layout: no reliance on :has(), external fonts or fixed vh. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif}
main,.layout,.layout>div,.sidebar,.seat-layout,.seat-layout>div,.seat-side,.panel{min-width:0}
img,svg{max-width:100%}button,input,select{touch-action:manipulation}
.header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
dialog{max-width:calc(100vw - 32px);max-height:85vh;max-height:85dvh;overflow:auto}
.interactive-map-scroll,.seat-grid-wrap,.table-scroll,.region-list{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.interactive-map{max-width:none}.seat-shape{flex-shrink:0}
.ad-placement[hidden]{display:none!important}.ad-placement{max-width:1124px;margin:40px auto;padding:24px;background:#fff;border:1px solid #e0e3e8;border-radius:12px;min-width:0}.ad-placement-label{font-size:10px;color:#697382;display:block;margin-bottom:12px}.ad-reserved{width:100%;min-height:250px}.ad-unit{display:block;width:100%;height:250px}
@media(max-width:760px){
 .header{height:auto;min-height:72px;display:flex;flex-wrap:wrap;gap:8px 12px;padding-top:10px;padding-bottom:10px}
 .brand{font-size:18px;gap:6px}.brand-character{width:38px;height:38px}.header nav{height:40px;gap:14px}.nav-button{min-height:40px}
 main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));min-height:calc(100vh - 160px);min-height:calc(100svh - 160px)}
 body.has-mobile-start{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .mobile-start{padding:12px max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .mobile-start>div{min-width:0}.mobile-start small{display:block;white-space:normal}.mobile-start .primary{flex-shrink:0;min-height:44px}
 .keyboard-open .mobile-start{display:none}
 input,select,input[type=number],.region-controls input,.region-controls select,.auto-controls select{font-size:16px;min-height:46px}
 .segments button{min-height:44px}.secondary,.text-button{min-height:44px}.region-list button{min-height:50px}
 .fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-row{grid-template-columns:1fr;gap:8px;margin:20px 0}
 .stadium{min-height:122px}.stadium strong,.stadium small{overflow-wrap:anywhere}
 .progress-steps{gap:4px;padding:12px 8px}.progress-step{min-width:0;gap:4px;font-size:10px;flex-direction:column;text-align:center}
 .session-top{align-items:flex-start}.session-top>div{min-width:0}.session-top .text-button{max-width:100px;flex-shrink:0}
 .map-toolbar>div{flex-wrap:wrap}.region-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .interactive-map-scroll{max-height:50vh;max-height:50svh}.seat-grid-wrap{max-height:65vh;max-height:65svh}
 .seat-shape .seat-cell{width:34px;height:34px;min-height:34px}.seat-shape-caption{max-width:100%;white-space:normal}
 .seat-side{width:100%}.selection-list li{gap:8px}.selection-list li>span{overflow-wrap:anywhere}.selection-list button{min-width:44px;min-height:44px}
 .auto-controls{grid-template-columns:minmax(0,1fr) 78px}.result-stats{gap:6px}.result-stats strong{font-size:17px;overflow-wrap:anywhere}
 .captcha-display{gap:6px}.captcha-text{min-width:0;letter-spacing:6px;font-size:27px}.captcha-display button{flex-shrink:0}
 #toast{bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px);width:max-content}.has-mobile-start #toast{bottom:calc(92px + env(safe-area-inset-bottom))}
 .ad-placement{margin:32px 14px;padding:16px 8px}.ad-reserved{min-height:250px}
 footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@media(max-width:374px){.header nav{width:100%;justify-content:flex-end}.hero h1{font-size:27px}.panel{padding:16px}.seat-layout .panel{padding:12px}.brand-character{width:34px;height:34px}.flow{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}}

/* Crawlable help content remains available without JavaScript. */
.seo-guide{max-width:1100px;margin:36px auto;padding:28px;background:#fff;border:1px solid #dce1e8;border-radius:16px;line-height:1.8;color:#34445a}.seo-guide h2{font-size:22px;color:#172b4d}.seo-guide h3{font-size:17px;margin:24px 0 8px;color:#172b4d}.seo-guide p,.seo-guide li{font-size:15px;overflow-wrap:anywhere}.seo-guide ol{padding-left:24px}body:not(.has-mobile-start) .seo-guide{display:none}@media(max-width:700px){.seo-guide{margin:24px 14px;padding:20px}.seo-guide h2{font-size:20px}}

/* Ballpark grass and infield clay accents for the opening headline. */
.hero h1.ballpark-headline{font-size:clamp(23px,4vw,48px);line-height:1.35;letter-spacing:-.055em}.ballpark-headline span{color:#27633e}.hero h1.ballpark-headline em{color:#a4462d;font-style:normal}.ballpark-headline span,.ballpark-headline em{white-space:nowrap}

/* Keep the photograph decorative; overlays never reduce text opacity. */
.hero.ballpark-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;margin:24px 0;padding:36px 28px;min-height:250px;background:#f3f4f6}
.ballpark-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url("assets/baseball-hero.png");background-repeat:no-repeat;background-size:auto 100%;background-position:right center;opacity:.48;pointer-events:none}
.ballpark-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(243,244,246,.98) 0%,rgba(243,244,246,.92) 40%,rgba(243,244,246,.6) 68%,rgba(243,244,246,.28) 100%);pointer-events:none}
.ballpark-hero>div:first-child{min-width:0}.ballpark-hero p{color:#43536a}.ballpark-hero .hero-stamp{flex-shrink:0;background:rgba(255,255,255,.75)}
@media(max-width:700px){.hero.ballpark-hero{padding:26px 16px;margin:16px 0;min-height:230px;border-radius:14px}.ballpark-hero::before{background-size:cover;background-position:center;opacity:.32}.ballpark-hero::after{background:rgba(243,244,246,.72)}.hero.ballpark-hero h1{font-size:clamp(20px,5.4vw,32px);letter-spacing:-.06em}}

/* Strong, readable ballpark headline and compact mobile choices. */
.hero.ballpark-hero h1.ballpark-headline{font-family:"Arial Black","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-weight:900;font-size:clamp(36px,4.4vw,54px);line-height:1.28;letter-spacing:-.055em;text-shadow:0 1px 0 #fff;margin-bottom:18px}
.hero.ballpark-hero .ballpark-headline span,.hero.ballpark-hero .ballpark-headline em{white-space:normal;word-break:keep-all;overflow-wrap:break-word;font-weight:900}
.hero.ballpark-hero p{font-size:17px;font-weight:700;line-height:1.8;color:#26384c;word-break:keep-all;overflow-wrap:break-word}
.hero.ballpark-hero>div:first-child{max-width:100%}
@media(max-width:760px){
 .hero.ballpark-hero{padding:26px 16px;min-height:0}
 .hero.ballpark-hero h1.ballpark-headline{font-size:clamp(26px,7.1vw,36px);line-height:1.3;letter-spacing:-.06em;margin-bottom:16px}
 .hero.ballpark-hero p{font-size:15px;font-weight:700;line-height:1.75}
 .hero.ballpark-hero .eyebrow{font-size:10px;letter-spacing:1.5px}
 .stadium{min-height:100px;padding:12px 10px;gap:6px}.stadium .club-logo{width:44px;height:34px;object-fit:contain}.stadium strong{font-size:13px;line-height:1.4;font-weight:800}.stadium small{font-size:11px;line-height:1.5}
 .session-top .text-button{white-space:nowrap;max-width:none;font-size:13px;font-weight:700}
 .settings-note{font-size:13px;line-height:1.7}.field-label{font-size:13px}.flow-item b{font-size:12px}.flow-item p{font-size:11px;line-height:1.6}
}

/* Countdown directly under instructions, with stable tabular numerals. */
.booking-card{max-width:680px}.booking-card>p{font-size:17px;font-weight:700;line-height:1.7;color:#34445a}
.opening-clock{margin:24px 0;padding:24px 12px;background:#eef2f7;border:2px solid #d3dce8;border-radius:16px;font-variant-numeric:tabular-nums}
.opening-clock .countdown{font-size:38px;font-weight:900;color:#a8323e;line-height:1.35;margin:0 0 18px;min-height:1.35em;white-space:nowrap;letter-spacing:-.04em}
.opening-clock .clock-label{font-size:16px;font-weight:800;color:#42546c;margin-bottom:8px}
.opening-clock .server-time{font-size:64px;font-weight:900;letter-spacing:-.045em;line-height:1.2;color:#172b4d;margin:0;white-space:nowrap}
.opening-clock .server-time small{font-size:.4em;font-weight:800;letter-spacing:0}.booking-card .booking-button{font-size:22px;font-weight:900;min-height:62px}.booking-card>.tiny{font-size:14px}
@media(max-width:760px){.booking-card{padding:24px 14px}.booking-card>p{font-size:15px}.opening-clock{padding:20px 8px;margin:20px 0}.opening-clock .countdown{font-size:clamp(25px,7.8vw,34px)}.opening-clock .server-time{font-size:clamp(36px,11.3vw,52px)}.opening-clock .clock-label{font-size:14px}.booking-card .booking-button{font-size:20px;min-height:58px}}

@font-face{font-family:TicketHeadline;src:url("assets/fonts/Pretendard-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
.hero.ballpark-hero h1.ballpark-headline{font-family:TicketHeadline,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;letter-spacing:-.035em;text-shadow:none;font-weight:900}
.seat-update-badge{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 14px;font-size:16px;line-height:1.5;font-weight:800;color:#172b4d}.seat-update-badge strong{background:#172b4d;color:#fff;border-radius:6px;padding:5px 10px}.seat-update-badge span{background:rgba(255,255,255,.9);border-radius:6px;padding:5px 10px;border:1px solid #c9d4df}
@media(max-width:760px){.seat-update-badge{font-size:14px;gap:6px;margin-bottom:14px}.hero.ballpark-hero .eyebrow{line-height:1.6;overflow-wrap:anywhere}}

/* Baseball markers for section numbers, overview steps and session progress. */
.step-num,.flow-number,.progress-step span,.progress-step.current span,.progress-step.done span{display:inline-grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#fff url("assets/step-baseball.svg") center/100% 100% no-repeat;color:#172b4d;font-family:TicketHeadline,"Malgun Gothic",sans-serif;font-weight:900;font-size:13px;line-height:1;letter-spacing:-.04em;box-shadow:0 2px 4px #172b4d12}
.flow-number{margin-bottom:8px}.progress-step.current span{outline:2px solid #172b4d;outline-offset:3px}.progress-step.done span{outline:1px solid #8495ab;outline-offset:2px}
@media(max-width:760px){.step-num,.flow-number,.progress-step span{width:34px;height:34px;font-size:12px}.progress-steps{gap:8px;padding:16px 8px}.progress-step{gap:8px}.section-title{gap:10px}}

/* User-supplied hero artwork, with white margins cropped only in presentation. */
.hero.ballpark-hero.artwork-hero{display:flex;align-items:center;justify-content:center;padding:24px 28px;margin:24px 0;min-height:0;gap:0}
.artwork-hero::before{background-size:100% 100%;background-position:center;opacity:.4}
.artwork-hero::after{background:rgba(243,244,246,.65)}
.hero-artwork{position:relative;width:100%;max-width:860px;aspect-ratio:860/440;overflow:hidden;mix-blend-mode:multiply}
.hero-artwork img{position:absolute;display:block;width:100%;max-width:none;height:auto;left:0;top:-47.727273%}
.hero-accessible-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){.hero.ballpark-hero.artwork-hero{padding:22px 8px;margin:16px 0;min-height:0}.artwork-hero::before{background-size:100% 100%;opacity:.4}.artwork-hero::after{background:rgba(243,244,246,.65)}}

/* Queue waiting room: clear position, progress and simulated demand. */
.queue-screen{max-width:560px;margin:40px auto 48px;color:#111827}.queue-heading h2{font-size:25px;line-height:1.5;letter-spacing:-.045em;margin:0 0 10px;font-weight:800}.queue-heading h2 strong{color:#4f4fff;font-weight:900}.queue-heading>p{font-size:16px;color:#64748b;line-height:1.6;margin:0 0 24px}.queue-card{background:#fff;border-radius:20px;padding:30px 24px 24px;box-shadow:0 3px 18px #172b4d0c;border:1px solid #f1f2f4}.queue-label{text-align:center;font-weight:800;font-size:16px}.queue-card .queue-number{font-family:Arial,sans-serif;font-size:60px;font-weight:800;line-height:1.2;letter-spacing:-2px;text-align:center;color:#050505;margin:6px 0 10px;font-variant-numeric:tabular-nums}.queue-progress{height:28px;background:#f7f7f8;border-radius:30px;position:relative;overflow:hidden}.queue-progress>i{display:block;height:100%;border-radius:30px;background:#4f4fff;transition:width .1s linear}.queue-progress>span{position:absolute;right:8px;top:1px;color:#c2c5ca;font-size:22px;transform:rotate(-18deg)}.queue-metrics{border-top:1px solid #f0f1f3;padding:16px 2px 0;margin:20px 0 0;display:grid;gap:8px}.queue-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.queue-metrics dt{display:flex;align-items:center;gap:5px;font-size:16px;color:#64748b}.queue-metrics dd{margin:0;font-size:17px;color:#090909;font-weight:800;font-variant-numeric:tabular-nums}.queue-help{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #cbd5e1;background:#fff;color:#64748b;border-radius:50%;padding:0;font-size:12px}.queue-simulated{font-size:11px;border-radius:4px;background:#eef0ff;color:#5556ba;padding:2px 4px}.queue-rate-help{font-size:13px;color:#64748b;line-height:1.6;margin:15px 0 0}.queue-notice{display:flex;align-items:flex-start;gap:9px;border-radius:14px;background:#fff7f0;color:#d74700;padding:15px 18px;margin:16px 4px 12px}.queue-notice>span{font-weight:900;line-height:1.6}.queue-notice p{margin:0;font-size:13px;line-height:1.6;font-weight:700}.queue-notes{padding-left:18px;margin:10px 4px;color:#334e70;font-size:13px;line-height:1.8}.queue-notes li::marker{color:#aeb7c3}.queue-details{margin:20px 4px 0;border-top:1px solid #e2e6eb;padding-top:14px}.queue-details summary{cursor:pointer;font-size:13px;color:#64748b}.queue-details .session-summary{margin:14px 0}.queue-cancel{display:block;margin:16px auto 0}.queue-card [hidden]{display:none}
@media(max-width:600px){.queue-screen{margin:26px auto 32px}.queue-heading h2{font-size:22px}.queue-heading>p{font-size:14px;margin-bottom:22px}.queue-card{padding:26px 20px 22px;border-radius:18px}.queue-card .queue-number{font-size:56px}.queue-metrics dt{font-size:15px}.queue-notice{margin-left:0;margin-right:0;padding:14px}.queue-notes{font-size:12px}.queue-details .session-summary{gap:10px}}
@media(prefers-reduced-motion:reduce){.queue-progress>i{transition:none}}
/* Center waiting-room copy while retaining aligned label/value metrics. */
.queue-heading,.queue-rate-help,.queue-notice p,.queue-notes,.queue-details{text-align:center}
.queue-notice{justify-content:center}.queue-notice>span{flex-shrink:0}.queue-notes{list-style:none;padding-left:0}.queue-notes li+li{margin-top:5px}
/* Stadium-first booking workspace. */
body.seat-workspace{--navy:#4f4fff}.seat-workspace #app{max-width:1600px;width:100%;padding:0 24px}.seat-workspace .session-top{padding:20px 0}.seat-workspace .progress-steps{padding:12px 20px;margin-bottom:16px}.booking-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;align-items:start;background:#edf0f5;border:1px solid #e3e6ed;border-radius:16px;overflow:hidden;scroll-margin-top:12px}.booking-workspace .seat-stage{min-width:0;width:auto}.booking-workspace .seat-stage>.panel{background:#edf0f5;border:0;border-radius:0;box-shadow:none;padding:18px;margin:0;min-height:680px}.seat-stage-actions{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:13px;color:#64748b}.seat-stage-actions>span{flex:1}.seat-stage-actions .secondary{min-height:40px}.seat-stage-actions [hidden],.seat-detail[hidden]{display:none}.booking-workspace .interactive-map-scroll{max-height:72vh;min-height:420px;background:#edf0f5;border:0;overflow:auto;overscroll-behavior:contain}.booking-workspace .interactive-map{max-height:none;width:100%;display:block}.booking-workspace #mapCanvas{margin:auto;transition:width 180ms ease-out}.booking-workspace .map-toolbar{justify-content:flex-end}.booking-workspace .map-toolbar>span{display:none}.booking-workspace .map-toolbar button{background:#fff;border:0;font-size:22px;min-width:42px;min-height:42px;box-shadow:0 2px 8px #172b4d14}.booking-workspace .seat-side{position:sticky;top:12px;display:flex;flex-direction:column;gap:0;min-width:0;background:#fff;padding:24px 20px;max-height:calc(100vh - 24px);overflow:auto}.booking-workspace .seat-side>.panel{padding:0 0 22px;margin:0 0 22px;border:0;border-bottom:1px solid #edf0f5;border-radius:0;box-shadow:none}.booking-workspace .seat-side h3{font-size:20px;line-height:1.5;margin:0 0 20px}.booking-workspace #grades{max-height:50vh;overflow:auto}.booking-workspace .grade-row{padding:17px 8px;border:0;border-radius:8px;background:white;color:#73757d;font-size:14px;gap:12px}.booking-workspace .grade-row>span:first-child{flex:1;text-align:left}.booking-workspace .grade-row>span:last-child{white-space:nowrap;font-weight:800}.booking-workspace .grade-row.active{background:#f0efff;color:#4f4fff}.booking-workspace .grade-row i{width:12px!important;height:12px!important;border-radius:50%!important}.booking-workspace .region-controls{margin-top:20px}.booking-workspace .region-list{max-height:160px;overflow:auto}.booking-workspace.is-detail #mapWrap,.booking-workspace.is-detail .region-controls,.booking-workspace.is-detail #regionList{display:none}.booking-workspace.is-detail .seat-side>.panel:first-child{display:none}.booking-workspace.is-detail .selected-panel{order:-1;min-height:280px}.booking-workspace .seat-grid-wrap{max-height:66vh;overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:14px;padding:16px}.booking-workspace .seat-grid{transition:zoom 180ms ease-out}.booking-workspace .seat-cell{border-radius:50%;background:#7c6aff;border:1px solid #7462ef;color:#fff;box-shadow:none;font-size:10px}.booking-workspace .seat-cell.sold{background:#eceef3;border-color:#eceef3;color:transparent;opacity:1}.booking-workspace .seat-cell.chosen{background:#4f4fff;border:2px solid #242494;box-shadow:0 0 0 3px #c9c5ff;color:white}.booking-workspace .seat-cell.returned{background:#f8c982;color:#513716;border-color:#e5b56a}.booking-workspace .shape-field{background:#edf0f5;color:#64748b}.booking-workspace .simulation-note{font-size:12px;line-height:1.7}.detail-zoom{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:12px 0}.detail-zoom .secondary{min-width:42px;min-height:42px;font-size:22px;background:white}.booking-workspace .selection-list{min-height:100px}.booking-workspace .selection-list>.muted{display:flex;align-items:center;justify-content:center;min-height:100px;text-align:center;color:#9ca3af}.booking-workspace #finish{background:#4f4fff;min-height:54px;font-size:17px}.booking-workspace #finish:disabled{background:#dedee1;color:#fff;opacity:1}.booking-workspace .total{font-size:14px}.seat-prices{position:relative;margin:14px 0 0;background:#fff;border-radius:14px;padding:12px 16px;font-size:13px;max-width:380px}.seat-prices summary{cursor:pointer;font-weight:700}.seat-prices p{font-size:12px;color:#64748b}.seat-prices>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0}.booking-workspace.stage-expanded{grid-template-columns:minmax(0,1fr) 260px}.zoom-enter{animation:seat-zoom-in 180ms ease-out both}.zoom-return{animation:seat-zoom-out 180ms ease-out both}@keyframes seat-zoom-in{from{opacity:.25;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes seat-zoom-out{from{opacity:.25;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.seat-workspace #app{padding:0 12px}.booking-workspace,.booking-workspace.stage-expanded{display:flex;flex-direction:column}.booking-workspace>.seat-stage,.booking-workspace>.seat-side{width:100%}.booking-workspace .seat-stage>.panel{padding:12px;min-height:0}.booking-workspace .seat-side{position:static;max-height:none;padding:20px 16px}.booking-workspace .interactive-map-scroll{min-height:280px;max-height:60vh}.booking-workspace .seat-grid-wrap{max-height:55vh;padding:8px}.booking-workspace #grades{max-height:260px}.booking-workspace .seat-side h3{font-size:18px}.booking-workspace .selected-panel{position:relative}.booking-workspace .region-controls{grid-template-columns:1fr}.seat-stage-actions{font-size:12px}.booking-workspace .seat-side>.panel{width:100%}.booking-workspace.is-detail .selected-panel{min-height:0}.booking-workspace.is-detail .selection-list{min-height:60px}.booking-workspace.is-detail .selection-list>.muted{min-height:60px}.booking-workspace.stage-expanded .interactive-map-scroll{max-height:80vh}.booking-workspace.stage-expanded .seat-grid-wrap{max-height:75vh}.detail-zoom{gap:8px}.seat-workspace .progress-steps{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.zoom-enter,.zoom-return{animation:none}.booking-workspace #mapCanvas,.booking-workspace .seat-grid{transition:none}}
/* Dynamic, date-free matchup poster and opening button. */
.opening-screen{max-width:640px;margin:28px auto 50px;text-align:center;padding:24px 24px 30px;background:linear-gradient(180deg,#eceef5 0%,#f8f9fc 65%,#fff 100%);border-radius:22px}.opening-screen h2{margin:0 0 38px;font-size:23px;font-weight:900;line-height:1.5;color:#20232b}.matchup-poster{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:218px;height:288px;background:#fff;border:3px solid #fff;border-radius:17px;margin:0 auto;overflow:hidden;box-shadow:0 10px 18px #0003}.poster-stroke{position:absolute;z-index:-1;width:150px;height:260px;transform:rotate(31deg);background:repeating-linear-gradient(90deg,transparent 0 2px,#08baf0 2px 6px,transparent 6px 9px,#132c64 9px 21px,transparent 21px 24px,#11316b 24px 35px);mask-image:linear-gradient(90deg,#000 20%,#000a 75%,transparent 100%)}.stroke-top{top:-126px;left:-51px}.stroke-bottom{bottom:-130px;right:-45px;transform:rotate(31deg) scale(-1)}.poster-content{width:100%;padding:16px 10px;background:linear-gradient(90deg,#fff0,#fff 15%,#fff 85%,#fff0)}.poster-title{display:flex;justify-content:center;align-items:baseline;gap:5px;font-family:TicketHeadline,'Arial Black','Malgun Gothic',sans-serif;font-style:italic;font-weight:900;font-size:24px;letter-spacing:-1.3px;color:#102d63;line-height:1.3;padding-bottom:10px}.poster-title strong{color:#00afe4}.poster-matchup{display:flex;align-items:center;justify-content:center;gap:9px;border-top:2px solid #08baf0;border-bottom:2px solid #08baf0;padding:13px 0}.poster-matchup>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.poster-matchup .club-logo{width:64px;height:52px;object-fit:contain}.poster-matchup>div>span{font-size:12px;color:#172b4d;font-weight:800}.poster-matchup>b{font-family:TicketHeadline,Arial,sans-serif;font-style:italic;font-size:20px;color:#172b4d}.opening-match-label{font-size:14px;line-height:1.6;margin:20px 0 36px;color:#262a32}.opening-screen .opening-button{display:block;width:100%;min-height:60px;border-radius:17px;background:#4f4fff;border:0;font-size:22px;font-weight:900;color:#fff;box-shadow:none;margin:0}.opening-screen .opening-button:disabled{background:#f0f1f6;color:#7b879c;opacity:1}.opening-timing{margin-top:16px;font-variant-numeric:tabular-nums}.opening-status{font-size:19px;font-weight:800;color:#172b4d;min-height:29px}.opening-server{font-size:14px;color:#64748b;margin-top:5px}.opening-server #clock{font-size:19px;font-weight:800;color:#172b4d;margin-left:5px}.opening-server small{font-size:12px}.opening-hint{font-size:14px;line-height:1.8;color:#64748b;margin:16px 0 0}
@media(max-width:600px){.opening-screen{margin:18px auto 30px;padding:24px 14px;border-radius:16px}.opening-screen h2{font-size:20px;margin-bottom:28px}.matchup-poster{width:202px;height:268px}.opening-match-label{font-size:13px;margin-bottom:28px}.opening-screen .opening-button{font-size:20px;min-height:58px}.opening-status{font-size:18px}.opening-hint{font-size:13px}}

.stadium-capacity{font-size:12px!important;color:#526780!important;font-weight:700;margin-top:3px}.capacity-note{padding:0 20px;font-size:11px;line-height:1.6;color:#b8c7dc}.capacity-note a{text-decoration:underline}
/* Center each practice overview step on desktop and mobile. */
.flow-item{text-align:center;padding-left:8px;padding-right:8px}
.flow-item .flow-number{display:grid;margin:0 auto 8px}

/* Reference seating layout: map, grade picker, persistent actions. */
.seat-workspace #app{max-width:1920px;padding:0 20px}.booking-workspace{grid-template-columns:minmax(0,1fr) 380px;border-radius:0}.booking-workspace .seat-stage>.panel{position:relative;padding-bottom:72px}.booking-workspace .seat-topline{font-size:14px}.booking-workspace #seatElapsed{font-size:18px;font-weight:800;color:#4f4fff;font-variant-numeric:tabular-nums}.booking-workspace .grade-row{min-height:58px;font-size:16px}.booking-workspace .auto-controls{margin-bottom:12px}.booking-workspace #autoAssign{margin-bottom:10px;min-height:50px;border-color:#4f4fff;color:#4f4fff}.booking-workspace #manualSelect{min-height:50px;background:#4f4fff}.booking-workspace:not(.is-detail) .selected-panel{display:none}.booking-workspace.is-detail .auto-panel{display:none}.booking-workspace .zone-hotspot.grade-highlight{stroke:#514dff;stroke-width:2;fill:#514dff;fill-opacity:.12}.booking-workspace .seat-prices{position:absolute;bottom:16px;left:16px;z-index:6;box-shadow:0 3px 16px #172b4d20;margin:0;max-width:min(380px,calc(100% - 32px));max-height:60vh;overflow:auto}.booking-workspace .seat-prices[open]{border:1px solid #ddd}.booking-workspace .seat-prices summary{min-height:24px}.booking-workspace .map-toolbar{position:sticky;top:0;z-index:4}.booking-workspace .selection-list li{padding:16px 8px}.booking-workspace .selection-list button{min-width:40px;min-height:40px}.booking-workspace .legend{flex-wrap:wrap}.booking-workspace .seat-side{overscroll-behavior:contain}.booking-workspace .seat-grid-wrap{touch-action:pan-x pan-y pinch-zoom}
@media(min-width:901px){.booking-workspace .seat-side{height:calc(100dvh - 150px);min-height:600px}.booking-workspace .auto-panel{margin-top:auto!important}.booking-workspace.is-detail .selected-panel{flex:1;display:flex;flex-direction:column}.booking-workspace.is-detail .selection-list{flex:1}.booking-workspace .interactive-map-scroll{height:calc(100dvh - 270px)}}
@media(max-width:900px){.seat-workspace #app{padding:0 8px}.booking-workspace{padding-bottom:140px}.booking-workspace .seat-side{border-radius:20px 20px 0 0}.booking-workspace .seat-side:before{content:'';width:36px;height:4px;background:#d8dbe3;border-radius:4px;margin:0 auto 16px}.booking-workspace .seat-topline{flex-wrap:wrap;gap:8px}.booking-workspace #seatElapsed{font-size:16px}.booking-workspace .auto-panel{position:fixed;bottom:0;left:0;right:0;z-index:40;background:white;padding:10px 16px calc(12px + env(safe-area-inset-bottom))!important;margin:0!important;box-shadow:0 -3px 18px #172b4d12;display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-workspace .auto-panel h3{display:none}.booking-workspace .auto-controls{grid-column:1/-1;display:flex;margin:0}.booking-workspace .auto-controls select{min-height:36px;flex:1;min-width:0}.booking-workspace #autoAssign{margin:0}.booking-workspace #manualSelect{font-size:14px}.booking-workspace.is-detail #finish{position:fixed;bottom:0;left:0;width:100%;z-index:40;border-radius:0;padding-bottom:calc(16px + env(safe-area-inset-bottom));min-height:64px}.booking-workspace.is-detail{padding-bottom:68px}.booking-workspace .grade-row{font-size:15px;min-height:52px}.booking-workspace .seat-stage>.panel{padding-bottom:66px}.booking-workspace .interactive-map-scroll{height:45dvh;min-height:260px}.booking-workspace.choosing-region #regionList{outline:2px solid #7770ff;outline-offset:3px;border-radius:8px}.booking-workspace .seat-grid-wrap{max-height:58dvh}.booking-workspace .seat-prices{max-height:45dvh}}
