@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
:root{--ink:#173c2e;--green:#1c5038;--cream:#f5f4ea;--paper:#fffef8;--muted:#677168;--line:#dddfd2;--lime:#dcecb0;--radius:22px}*{box-sizing:border-box}body{color:var(--ink);background:var(--cream);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #738c36}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.brand,.count,.qr-url{font-family:Space Grotesk,Arial,sans-serif}h1{letter-spacing:-.055em;font-weight:600;line-height:1.05}h2{letter-spacing:-.04em;font-size:30px;font-weight:600;line-height:1.2}h3{letter-spacing:-.025em;font-size:21px;line-height:1.3}p+p{margin-top:14px}.site-header{justify-content:space-between;align-items:center;gap:24px;max-width:1160px;height:112px;margin:auto;padding:0 24px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:12px;font-size:24px;font-weight:700;text-decoration:none;display:flex}.brand-ball{background:var(--green);border-radius:50%;place-items:center;width:46px;height:46px;font-size:27px;display:grid}.brand small{letter-spacing:.11em;margin-top:2px;font-family:DM Sans,Arial,sans-serif;font-size:9px;display:block}.site-header nav{gap:28px;font-size:14px;font-weight:600;display:flex}.site-header nav a{text-decoration:none}.home{max-width:1112px;margin:auto;padding:0 0 60px}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:50px;padding:36px 0 52px;display:grid}.hero-copy h1{margin:20px 0 24px;font-size:72px}.hero-copy h1 span{color:#b49f4d}.hero-copy>p{color:var(--muted);font-size:18px}.eyebrow{letter-spacing:.16em;font-size:11px;font-weight:700;line-height:1.5}.text-link{margin-top:26px;font-size:14px;font-weight:650;display:inline-block}.hero-art{border:6px solid var(--paper);background:#cbd5b6;border-radius:160px 160px 26px 26px;height:370px;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:0 10px 30px #173c2e12}.hero-art img{object-fit:cover;object-position:50% 42%;width:100%;height:100%}.art-caption{background:var(--ink);color:var(--cream);letter-spacing:.13em;text-align:center;padding:12px 16px;font-size:9px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.game-section{grid-template-columns:1.45fr 1fr;align-items:start;gap:24px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.booking{padding:32px}.section-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.pill{letter-spacing:.08em;background:#eef5dd;border:1px solid #bfd0a5;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700}.booking>h2{margin-bottom:7px}.muted{color:var(--muted)}.small{font-size:13px}.commitment{background:#eef0df;border-radius:12px;gap:14px;margin:24px 0;padding:17px;font-size:14px;display:flex}.commitment>span{font-size:24px;line-height:1.1}.commitment strong{margin-bottom:3px;display:block}.identity label,.waiver-box>label:not(.checkbox){margin-bottom:8px;font-size:14px;font-weight:600;display:block}input[type=search],input:not([type]){width:100%;color:var(--ink);background:#fff;border:1px solid #bfc8b7;border-radius:10px;min-height:48px;padding:12px 14px}input[type=search]{margin-bottom:12px}.player-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overscroll-behavior:contain;max-height:272px;overflow:auto}.player-options button{text-align:left;width:100%;min-height:48px;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #e7e9df;justify-content:space-between;padding:12px 4px;display:flex}.player-options button:hover{background:#edf0e2}.identity>.small{margin-top:14px}.identity-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:24px 0;display:flex}.link-button{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:13px;text-decoration:underline}.age{border:0;flex-wrap:wrap;gap:12px;margin:0 0 20px;padding:0;display:flex}.age legend{margin-bottom:10px;font-size:14px;font-weight:600}.age label{background:#f2f3e9;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:14px;display:flex}input[type=radio],input[type=checkbox]{accent-color:var(--green);flex-shrink:0;width:20px;height:20px;margin:0}.waiver-box{background:#f4f3e9;border:1px solid #dedfcf;border-radius:14px;padding:20px}.waiver-box h3{margin:6px 0 10px}.waiver-box>p{color:var(--muted);font-size:14px}details{margin:16px 0 10px}summary{cursor:pointer;padding:8px 0;font-size:14px;font-weight:600}.waiver-content{max-height:380px;padding:12px 0;font-size:13px;overflow:auto}.waiver-content h4{margin-bottom:15px;font-size:15px}.waiver-content p{margin:14px 0}.waiver-box>label:not(.checkbox){margin-top:24px}.checkbox{align-items:start;gap:12px;margin-top:18px;font-size:13px;line-height:1.6;display:flex}.checkbox input{margin-top:3px}.primary,.secondary{border:1px solid var(--green);border-radius:10px;justify-content:center;align-items:center;gap:15px;min-height:50px;padding:13px 20px;font-weight:650;text-decoration:none;display:inline-flex}.primary{background:var(--green);color:#fff}.primary span{margin-left:auto}.secondary{color:var(--green);background:0 0;font-size:13px}.reserve-button{letter-spacing:.04em;width:100%;min-height:58px;margin:20px 0 12px;font-size:14px}.booking-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 22px;margin-top:26px;padding-top:19px;font-size:12px;font-weight:600;display:flex}.notice{background:#edf0df;border-radius:10px;margin:20px 0;padding:18px;font-size:14px}.notice p{margin-top:8px}.error{color:#783728;background:#fff0e7;border:1px solid #e9c8b6}.error button{margin-top:12px}.loading{color:var(--muted);padding:28px 0}.reserved{text-align:center;background:#edf4dd;border-radius:14px;padding:30px 12px 24px}.success-icon{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:24px;display:grid}.reserved h3{font-size:28px}.reserved p{margin:10px 0 18px;font-size:15px}.reserved a{font-size:13px}.roster{padding:30px}.live-dot{background:#7b9b47;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #e9efdc}.roster h2{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.count{letter-spacing:-.06em;font-size:68px;line-height:1}.count-label{letter-spacing:-.03em;font-family:DM Sans,Arial,sans-serif;font-size:17px;font-weight:500}.roster-list{margin:25px 0 0;padding:0;list-style:none}.roster-list li{border-top:1px solid var(--line);align-items:center;gap:13px;padding:13px 0;font-size:15px;display:flex}.roster-number{color:#88907f;min-width:20px;font-size:11px}.tick{color:#558449;margin-left:auto}.empty{text-align:center;background:#f4f3e9;border-radius:12px;margin:28px 0;padding:32px}.empty>span{font-size:34px}.empty p{color:var(--muted);margin-top:12px;font-size:14px}.roster-bottom{border-top:1px solid var(--line);color:var(--muted);margin-top:24px;padding-top:20px;font-size:12px}.roster-bottom a{color:var(--ink);margin-top:8px;font-weight:600;display:block}footer{border-top:1px solid var(--line);max-width:1112px;color:var(--muted);gap:24px;margin:0 auto;padding:28px 0 40px;font-size:12px;display:flex}footer>a:first-child{color:var(--ink);letter-spacing:.04em;font-weight:700;text-decoration:none}footer>a:last-child{margin-left:auto}.skip{z-index:10;background:#fff;padding:12px;position:absolute;top:-80px;left:20px}.skip:focus{top:10px}.guide{max-width:1000px;margin:25px auto 60px}.page-intro{max-width:730px;margin-bottom:42px}.page-intro h1{margin:18px 0 20px;font-size:58px}.page-intro p{color:var(--muted);max-width:600px;font-size:18px}.guide-row{grid-template-columns:1fr 1fr;margin:24px 0;scroll-margin-top:30px;display:grid;overflow:hidden}.guide-row>img{object-fit:cover;width:100%;height:100%;max-height:430px}.guide-row>div{align-self:center;padding:36px}.guide-row h2,.guide-bottom h2{margin:14px 0 20px}.guide-row p,.guide-bottom p{font-size:15px}.button-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.guide-bottom{grid-template-columns:1fr 1fr;gap:24px;display:grid}.guide-bottom>.card{padding:32px}.back-cta{width:max-content;margin:32px auto 0;display:flex}.legal{max-width:780px;margin:30px auto 60px;padding:44px}.legal h1{letter-spacing:-.02em;margin:18px 0;font-size:29px;line-height:1.2}.legal>p{margin-top:24px;font-size:15px;line-height:1.8}.legal hr{border:0;border-top:1px solid var(--line);margin:30px 0}.legal>.primary{width:100%;margin-top:24px}.qr-page{text-align:center;max-width:800px;margin:24px auto 60px}.print-sign{border:1px solid var(--line);background:#fff;border-radius:20px;padding:55px 45px}.print-sign h1{margin:20px 0 10px;font-size:60px}.qr-tagline{color:var(--muted)}.print-sign h2{letter-spacing:.03em;margin:35px 0 0;font-size:28px}.qr-image{max-width:100%;height:auto;margin:0 auto;display:block}.qr-url{overflow-wrap:anywhere;margin:0 0 14px;font-size:24px;display:block}.qr-policy{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:14px}.qr-page>.primary{margin-top:22px}@media (max-width:1180px){.home,.guide,.legal,.qr-page,footer{margin-left:24px;margin-right:24px}.hero{gap:30px}.hero-copy h1{font-size:64px}.legal,.qr-page{margin-left:auto;margin-right:auto}}@media (max-width:800px){.site-header{height:95px}.hero-copy h1{font-size:50px}.hero{gap:22px}.hero-art{height:310px}.game-section{grid-template-columns:1.25fr 1fr;gap:16px}.booking,.roster{padding:24px}.game-section h2{font-size:25px}.count{font-size:54px}.count-label{font-size:14px}.legal,.qr-page{margin-left:20px;margin-right:20px}.guide-row>div{padding:24px}}@media (max-width:640px){body{font-size:15px}.site-header{gap:12px;height:86px;padding:0 20px}.brand{gap:8px;font-size:20px}.brand-ball{width:35px;height:35px;font-size:22px}.brand small{font-size:7px}.site-header nav{font-size:12px}.nav-qr{display:none}.home{margin:0 16px;padding-bottom:35px}.hero{padding:24px 8px 34px;display:block;position:relative}.hero-copy{z-index:1;max-width:78%;position:relative}.hero-copy h1{margin:14px 0 18px;font-size:48px}.hero-copy>p{font-size:15px}.hero-copy .text-link{max-width:95%;margin-top:22px;font-size:12px}.hero-art{z-index:0;opacity:.9;border-width:4px;width:118px;height:148px;position:absolute;top:20px;right:2px;transform:rotate(7deg)}.hero-art .art-caption{display:none}.hero-copy .eyebrow{font-size:9px}.game-section{flex-direction:column;gap:18px;display:flex}.booking,.roster{width:100%;padding:23px 20px}.booking h2{font-size:27px}.card{border-radius:18px}.section-top{margin-bottom:16px}.eyebrow{font-size:10px}.commitment{margin:22px 0;padding:14px}.waiver-box{padding:17px}.age{gap:8px}.age label{padding:8px 10px;font-size:13px}.roster h2{font-size:28px}.count{font-size:60px}.count-label{font-size:17px}.empty{padding:20px}.booking-links{gap:12px}.guide{margin:22px 16px 36px}.page-intro{padding:0 8px}.page-intro h1{font-size:43px}.page-intro p{font-size:16px}.guide-row,.guide-bottom{grid-template-columns:1fr}.guide-row>img{height:270px}.guide-row>div,.guide-bottom>.card{padding:26px}.legal{margin:20px 16px 35px;padding:25px}.legal h1{font-size:24px}.legal>p{overflow-wrap:anywhere;font-size:14px}.qr-page{margin:22px 16px 35px}.print-sign{padding:32px 18px}.print-sign h1{font-size:36px}.print-sign h2{margin-top:26px;font-size:23px}.qr-url{font-size:20px}footer{flex-wrap:wrap;gap:10px 20px;margin:0 20px;padding:24px 0}footer span{flex-basis:100%;order:3}}@page{size:letter;margin:.45in}@media print{body{color:#132c23;background:#fff}.site-header,footer,.no-print,.skip{display:none!important}.qr-page{max-width:none;margin:0}.print-sign{break-inside:avoid;border:0;border-radius:0;padding:.2in}.print-sign h1{font-size:48pt}.print-sign h2{font-size:22pt}.qr-image{width:4.6in;height:4.6in}.qr-policy{font-size:12pt}.qr-url{font-size:20pt}.qr-tagline{font-size:12pt}}@media (max-width:640px){.hero-copy{max-width:100%}.hero-copy h1{max-width:calc(100% - 130px);font-size:44px}}.signup-trigger{width:100%;margin-top:16px}.signup-dialog{border:1px solid var(--line);width:min(460px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:var(--paper);border-radius:18px;padding:28px;overflow:auto}.signup-dialog::backdrop{background:#132c2380}.signup-dialog h2{margin-bottom:12px}.signup-dialog label{margin:20px 0 8px;font-weight:600;display:block}.signup-dialog .small{margin-top:12px}.signup-dialog .button-row{justify-content:flex-end}.wechat-share{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.wechat-share>p{margin-top:8px}.wechat-share textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:280px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;margin:16px 0;padding:12px;font-size:14px;line-height:1.7;display:block}.wechat-share button{width:100%}
