:root{color:#1c1c1e;font-synthesis:none;text-rendering:optimizelegibility;--page:#f2f2f7;--surface:#fff;--surface-subtle:#f7f7fa;--ink:#1c1c1e;--muted:#636366;--tertiary:#8e8e93;--hairline:#3c3c432e;--hairline-strong:#3c3c4347;--blue:#007aff;--blue-hover:#006ee6;--blue-soft:#007aff1c;--danger:#b42318;--danger-soft:#fff2f1;background:#f2f2f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px}body{background:var(--page);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,select{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.viewer-open{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.booking-shell{width:min(860px,100% - 48px);margin:0 auto;padding:28px 0 40px}.booking-intro{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(22px);backdrop-filter:saturate(180%)blur(22px);background:#f2f2f7e6;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;margin:0 0 22px;padding:8px 2px;display:grid;position:sticky;top:0}.brand-mark{background:var(--blue);color:#fff;border-radius:9px;place-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:grid}.booking-intro h1{letter-spacing:-.035em;margin:0;font-size:32px;font-weight:700;line-height:1.12}.booking-intro>div>p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.booking-context{color:var(--tertiary);white-space:nowrap;font-size:12px;font-weight:500}.booking-card{gap:16px;width:100%;min-width:0;display:grid}.location-card,.form-section,.submit-row{border:.5px solid var(--hairline);background:var(--surface);border-radius:12px}.location-card{align-items:center;gap:13px;padding:16px 20px;display:flex}.location-card>span{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:9px;flex:0 0 38px;place-items:center;display:grid}.location-card svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:20px;height:20px}.location-card small{color:var(--tertiary);margin-bottom:2px;font-size:11px;font-weight:500;display:block}.location-card strong{font-size:15px;font-weight:600;display:block}.location-card p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.45}.form-section{min-width:0;padding:22px}.section-heading{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:17px;display:grid}.section-heading>span{background:var(--blue-soft);width:26px;height:26px;color:var(--blue);border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.section-heading h2{letter-spacing:-.015em;margin:1px 0 0;font-size:17px;font-weight:650;line-height:1.35}.section-heading p{color:var(--tertiary);margin:3px 0 0;font-size:12px;line-height:1.45}.select-wrap{display:block;position:relative}.select-wrap:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:19px;right:17px;transform:rotate(45deg)}.select-wrap select{appearance:none;border:1px solid var(--hairline);background:var(--surface);width:100%;min-height:48px;color:var(--ink);border-radius:9px;padding:0 44px 0 14px;font-size:14px}.select-wrap select:hover{border-color:var(--hairline-strong)}.jd-preview{border:.5px solid var(--hairline);background:var(--surface-subtle);border-radius:9px;margin-top:12px;padding:16px}.jd-preview-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.jd-preview-top>span{color:var(--muted);font-size:12px;font-weight:600}.jd-preview-top small{color:var(--tertiary);font-size:12px}.jd-preview h3{max-width:650px;color:var(--ink);letter-spacing:-.02em;text-wrap:pretty;margin:14px 0 7px;font-size:18px;font-weight:650;line-height:1.48}.jd-preview p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.jd-preview button{min-height:44px;color:var(--blue);background:0 0;border:0;align-items:center;gap:4px;margin:7px 0 -7px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.jd-preview button:hover{text-decoration:underline}.jd-preview button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:17px;height:17px}.jd-preview .jd-required-link{color:#d70015;text-align:left;background:#ff3b3014;border:1px solid #d7001538;border-radius:9px;justify-content:space-between;gap:12px;width:100%;min-height:58px;margin:14px 0 0;padding:9px 12px;text-decoration:none}.jd-preview .jd-required-link:hover{background:#ff3b301f;text-decoration:none}.jd-required-link>span{gap:2px;display:grid}.jd-required-link strong{letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.3}.jd-required-link small{color:#b70012c7;font-size:12px;font-weight:550;line-height:1.35}.jd-preview .jd-required-link svg{stroke-width:2px;flex:none;width:20px;height:20px}.date-strip{scrollbar-width:none;scroll-snap-type:x proximity;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;min-width:0;padding:2px;display:grid;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.date-strip button{scroll-snap-align:start;border:1px solid var(--hairline);background:var(--surface);min-width:86px;min-height:64px;color:var(--muted);white-space:nowrap;border-radius:9px;padding:8px 7px}.date-strip button span{font-size:11px;display:block}.date-strip button strong{color:var(--ink);margin-top:5px;font-size:13px;font-weight:600;display:block}.date-strip button:hover{border-color:var(--hairline-strong);background:var(--surface-subtle)}.date-strip button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.date-strip button.selected strong{color:var(--blue)}.time-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.time-grid button{border:1px solid var(--hairline);background:var(--surface);min-height:48px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:9px;padding:5px 4px;font-size:13px}.time-grid button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.time-grid button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:650}.time-grid button:disabled{cursor:not-allowed;background:var(--page);color:var(--tertiary);border-color:#0000}.time-grid button small{margin-top:1px;font-size:10px;font-weight:500;display:block}.time-grid[aria-busy=true] button{cursor:wait}.slot-feedback{min-height:18px;margin-top:10px}.slot-feedback p{color:var(--tertiary);margin:0;font-size:11px;line-height:1.5}.slot-feedback .slot-loading{color:var(--muted)}.slot-feedback .slot-error{color:var(--danger);font-weight:600}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-grid label>span{color:var(--muted);margin:0 0 7px;font-size:13px;font-weight:600;display:block}.field-grid label small{color:var(--tertiary);font-size:11px;font-weight:400}.field-grid input{border:1px solid var(--hairline);background:var(--surface);width:100%;min-height:48px;color:var(--ink);border-radius:9px;padding:0 13px;font-size:14px}.field-grid input::placeholder{color:var(--tertiary)}.field-grid input:hover{border-color:var(--hairline-strong)}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #b4231838;border-radius:9px;padding:11px 13px;font-size:13px;font-weight:600}.submit-row{justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.submit-row p{color:var(--muted);margin:0;font-size:12px}.primary-button,.secondary-button{border-radius:9px;min-height:44px;padding:0 18px;font-size:14px;font-weight:600}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary-button:hover{border-color:var(--blue-hover);background:var(--blue-hover)}.primary-button:active{transform:scale(.99)}.primary-button:disabled{cursor:wait;opacity:.48}.secondary-button{border:1px solid var(--hairline);background:var(--surface);color:var(--blue)}.secondary-button:hover{background:var(--surface-subtle)}.secondary-button.full{width:100%}.page-footnote{color:var(--tertiary);text-align:center;margin:18px 0 0;font-size:11px}.success-shell{place-items:center;min-height:100vh;padding-top:28px;padding-bottom:28px;display:grid}.success-card{border:.5px solid var(--hairline);background:var(--surface);text-align:center;border-radius:12px;width:min(520px,100%);padding:34px}.success-mark{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 18px;display:grid}.success-mark svg{fill:none;stroke:currentColor;stroke-width:2px;width:27px;height:27px}.success-card h1{letter-spacing:-.03em;margin:0;font-size:27px;font-weight:700}.success-card h1:focus{outline:none}.success-lead{max-width:380px;color:var(--muted);margin:11px auto 21px;font-size:13px;line-height:1.65}.booking-summary{border-top:.5px solid var(--hairline);margin:0 0 18px}.booking-summary div{border-bottom:.5px solid var(--hairline);text-align:left;grid-template-columns:86px 1fr;gap:16px;padding:14px 2px;display:grid}.booking-summary dt{color:var(--tertiary);font-size:12px}.booking-summary dd{color:var(--ink);margin:0;font-size:13px;font-weight:600}.booking-summary dd small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;line-height:1.5;display:block}.success-note{color:var(--tertiary);margin:15px 0 0;font-size:10px}.jd-viewer{z-index:1000;background:#e5e5ea;height:100dvh;position:fixed;inset:0;overflow:hidden}.jd-viewer>header{z-index:2;border-bottom:.5px solid var(--hairline);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#f9f9f9ed;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:9px max(18px,50vw - 450px);display:grid;position:sticky;top:0}.jd-viewer header small{color:var(--tertiary);font-size:10px;font-weight:600;display:block}.jd-viewer header h2{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:16px;font-weight:650;overflow:hidden}.jd-viewer header a{min-height:44px;color:var(--blue);background:0 0;border:0;border-radius:9px;align-items:center;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.jd-viewer header a:hover{background:var(--blue-soft)}.icon-button{width:44px;height:44px;color:var(--muted);background:#d1d1d6;border:0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:#c7c7cc}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:18px;height:18px}.jd-pages{height:calc(100dvh - 70px);padding:24px 16px 60px;overflow-y:auto}.jd-pages figure{width:min(820px,100%);margin:0 auto 22px}.jd-pages img{border:.5px solid var(--hairline);background:var(--surface);width:100%;height:auto;display:block;box-shadow:0 1px 2px #0000000d}.jd-pages figcaption{color:var(--tertiary);text-align:center;margin-top:7px;font-size:11px}@media (max-width:700px){.booking-shell{width:100%;padding:0 12px calc(22px + env(safe-area-inset-bottom))}.booking-intro{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;min-height:66px;margin:0 -12px 16px;padding:8px 12px}.brand-mark{width:40px;height:40px;font-size:17px}.booking-intro h1{font-size:27px}.booking-intro>div>p{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.booking-context{display:none}.booking-card{gap:12px}.form-section{padding:18px}.location-card{padding:14px 16px}.section-heading{margin-bottom:15px}.date-strip{grid-template-columns:repeat(7,86px);margin-inline:-2px;padding-bottom:7px}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.time-grid button{min-height:48px}.field-grid{grid-template-columns:1fr;gap:13px}.submit-row{z-index:30;width:calc(100% + 24px);margin:0 -12px calc(-22px - env(safe-area-inset-bottom));padding:10px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#f9f9f9ed;border-bottom:0;border-left:0;border-right:0;border-radius:0;gap:8px;display:grid;position:sticky;bottom:0}.submit-row p{text-align:center;min-height:18px}.primary-button{width:100%;min-height:48px}.success-card{padding:30px 22px}.jd-viewer>header{min-height:64px;padding:8px 12px}.jd-viewer header h2{max-width:185px;font-size:14px}.jd-pages{height:calc(100dvh - 64px);padding:12px 7px 40px}.jd-pages figure{margin-bottom:12px}}@media (max-width:370px){.form-section{padding:16px}.time-grid{gap:6px}.time-grid button{font-size:12px}.booking-summary div{grid-template-columns:76px 1fr;gap:10px}}@media (hover:none) and (pointer:coarse){button,select,input,a{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
