:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#171923;font-synthesis:none;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:#f5f6f8}button{font:inherit}.brand-bar{z-index:20;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111827f5;border-bottom:1px solid #ffffff1f;position:sticky;top:0}.brand-inner,.content-width{width:min(1080px,100% - 40px);margin:0 auto}.brand-inner{align-items:center;gap:12px;min-height:68px;display:flex}.brand-icon{border-radius:8px;width:42px;height:42px;box-shadow:0 8px 24px #00000038}.brand-name,.brand-subtitle,.eyebrow,.report-date,.state-panel p{margin:0}.brand-name{font-size:15px;font-weight:700}.brand-subtitle{color:#b6bdc9;margin-top:2px;font-size:12px}.state-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:40px 24px;display:flex}.loading-mark{border:3px solid #dfe2e8;border-top-color:#6a35ff;border-radius:50%;width:38px;height:38px;margin-bottom:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-symbol{color:#c24124;background:#ffe7df;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:18px;font-size:28px;font-weight:800;display:grid}.state-panel h1{margin:0 0 8px;font-size:23px}.state-panel p{color:#6b7280;max-width:420px;line-height:1.6}.state-panel button{color:#fff;cursor:pointer;background:#171923;border:0;border-radius:6px;margin-top:24px;padding:11px 18px;font-weight:700}.report-heading{background:#fff;padding:38px 0 34px}.heading-layout,.owner-block,.section-heading,.court-layout,.report-footer{align-items:center;display:flex}.heading-layout{justify-content:space-between;gap:24px}.owner-block{gap:16px;min-width:0}.avatar-shell{color:#6a35ff;background:#ece8ff;border:1px solid #e6e8ed;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:22px;font-weight:800;display:grid;overflow:hidden}.avatar-shell img{object-fit:cover;width:100%;height:100%}.eyebrow{color:#6a35ff;text-transform:uppercase;font-size:12px;font-weight:800}.report-heading h1,.report-section h2,.court-band h2{letter-spacing:0;margin:4px 0 0}.report-heading h1{overflow-wrap:anywhere;font-size:26px;line-height:1.25}.report-date{color:#737986;margin-top:6px;font-size:13px}.level-badge{color:#b54720;background:#fff4ee;border:1px solid #ffd3bd;border-radius:6px;flex:none;padding:8px 12px;font-size:13px;font-weight:800}.metric-band{background:#fff;border-top:1px solid #eceef2;border-bottom:1px solid #e1e4e9;padding:18px 0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;min-height:108px;padding:17px 18px}.metric-primary{background:#f3f0ff;border-color:#d8ceff}.metric-label,.metric-unit{color:#747b87;font-size:12px;display:block}.metric-item strong{margin:7px 4px 1px 0;font-size:29px;line-height:1;display:inline-block}.metric-unit{display:inline}.report-section{background:#f5f6f8;padding:44px 0}.two-column{grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:34px;display:grid}.section-heading{justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2,.court-band h2{font-size:21px}.speed-summary{text-align:right}.speed-summary span,.round-summary span,.serve-grid span{color:#737986;font-size:12px;display:block}.speed-summary strong{color:#d15527;margin-top:3px;font-size:15px;display:block}.stroke-list{gap:12px;display:grid}.stroke-row{grid-template-columns:52px minmax(0,1fr) 68px;align-items:center;gap:12px;display:grid}.stroke-row>span{font-size:14px;font-weight:700}.stroke-track,.distribution-track{background:#dfe2e7;border-radius:4px;height:8px;overflow:hidden}.stroke-track i,.distribution-track i{border-radius:inherit;background:#6a35ff;width:0;height:100%;transition:width .55s;display:block}.stroke-row strong{text-align:right;font-size:13px}.stroke-row small{color:#7b818d;font-weight:500}.stroke-chips,.round-summary,.serve-grid{gap:10px;display:grid}.stroke-chips{grid-template-columns:repeat(3,1fr);margin-top:24px}.stroke-chips>div,.serve-grid>div{background:#fff;border:1px solid #e1e4e9;border-radius:7px;padding:14px}.stroke-chips span{color:#737986;font-size:12px}.stroke-chips strong{margin-top:5px;font-size:20px;display:block}.round-panel{border-left:1px solid #dfe2e7;padding-left:32px}.round-summary{grid-template-columns:repeat(3,1fr);margin-bottom:25px}.round-summary strong{margin-bottom:4px;font-size:26px;display:block}.distribution{gap:13px;display:grid}.distribution-row{color:#5f6672;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:10px;font-size:12px;display:grid}.distribution-row strong{text-align:right;color:#171923}.distribution-blue{background:#2b7fff}.distribution-orange{background:#ef7545}.court-band{color:#fff;background:#151a22;padding:46px 0}.court-layout{justify-content:space-between;gap:44px}.court-copy{flex:0 0 240px}.court-copy .eyebrow{color:#a996ff}.court-legend{color:#c7ccd5;gap:10px;margin-top:26px;font-size:12px;display:grid}.court-legend span{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:50%;width:9px;height:9px}.my-dot,.court-point.my{background:#b9ff62}.opponent-dot,.court-point.opponent{background:#64a8ff}.serve-dot,.court-point.serve{background:#ff9b65}.tennis-court{aspect-ratio:1.72;background:#287c5b;border:10px solid #1f694c;border-radius:8px;width:min(620px,68vw);position:relative;overflow:hidden;box-shadow:0 24px 60px #0000004d}.court-line{border-color:#ffffffeb;position:absolute}.court-outline{border:2px solid #ffffffeb;inset:8%}.court-net{border-left:2px solid #ffffffeb;top:8%;bottom:8%;left:50%}.court-center{border-top:2px solid #ffffffeb;top:50%;left:28%;right:28%}.court-service-top,.court-service-bottom{border-left:2px solid #ffffffeb;top:8%;bottom:8%}.court-service-top{left:28%}.court-service-bottom{right:28%}.court-points{position:absolute;inset:8%}.court-point{border:1px solid #ffffffb3;border-radius:50%;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #00000052}.court-point.out{background:0 0;border:2px solid #ffdfd1}.court-empty{color:#ffffffb8;place-items:center;margin:0;font-size:13px;display:grid;position:absolute;inset:0}.compact-heading{margin-bottom:20px}.serve-rate{color:#22724c;font-size:27px}.serve-grid{grid-template-columns:repeat(4,1fr)}.serve-grid strong{margin-top:6px;font-size:22px;display:block}.report-footer{padding:30px 20px calc(30px + env(safe-area-inset-bottom));color:#313641;background:#fff;border-top:1px solid #e3e5e9;justify-content:center;gap:11px}.report-footer img{border-radius:7px;width:38px;height:38px}.report-footer strong,.report-footer span{display:block}.report-footer strong{font-size:13px}.report-footer span{color:#7b818d;margin-top:2px;font-size:11px}.venue-page{background:#eef4f2;min-height:calc(100vh - 68px)}.venue-content{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:calc(100vh - 68px);display:grid}.venue-offer,.venue-claim{flex-direction:column;justify-content:center;padding:clamp(42px,7vw,96px);display:flex}.venue-offer{color:#fff;background:#0d5548;position:relative;overflow:hidden}.venue-name{color:#c8f36b;margin:0 0 18px;font-size:14px;font-weight:800}.venue-offer h1{overflow-wrap:anywhere;max-width:640px;margin:0;font-size:42px;line-height:1.18}.venue-description{color:#ffffffc7;max-width:600px;margin:22px 0 0;font-size:17px;line-height:1.75}.venue-app-icon{border:1px solid #ffffff47;border-radius:8px;width:74px;height:74px;margin-top:46px;box-shadow:0 20px 45px #00000038}.venue-claim{background:#fff}.venue-claim-heading{margin-bottom:30px}.venue-claim-heading p,.venue-claim-heading h2,.venue-success h2,.venue-success p,.venue-status h1,.venue-status p,.form-message{margin:0}.venue-claim-heading p{color:#5d6974;margin-bottom:5px;font-size:13px;font-weight:700}.venue-claim-heading h2,.venue-success h2{color:#12201d;font-size:27px}.venue-field{margin-bottom:18px;display:block}.venue-field>span{color:#33413e;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.venue-field input{color:#12201d;width:100%;min-width:0;height:50px;font:inherit;background:#fff;border:1px solid #cfd8d5;border-radius:6px;outline:none;padding:0 14px}.venue-field input:focus{border-color:#167965;box-shadow:0 0 0 3px #16796521}.code-field{grid-template-columns:minmax(0,1fr) 116px;gap:10px;display:grid}.code-field button,.claim-action,.primary-action,.venue-status button{cursor:pointer;border:0;border-radius:6px;height:50px;font-weight:750}.code-field button{color:#0d6655;background:#edf4f2;border:1px solid #b8c8c4;font-size:13px}.claim-action,.primary-action{color:#fff;background:#13211e;place-items:center;width:100%;margin-top:8px;text-decoration:none;display:grid}.code-field button:disabled,.claim-action:disabled{cursor:default;opacity:.48}.form-message{color:#b33a25;margin:-4px 0 14px;font-size:13px;line-height:1.5}.form-message.success{color:#13705c}.venue-success{text-align:center}.success-symbol{color:#14705c;background:#dff4df;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:28px;font-weight:800;display:grid}.venue-success p{color:#67716f;margin-top:10px;line-height:1.6}.venue-success .primary-action{margin-top:28px}.venue-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:40px 24px;display:flex}.venue-status .loading-mark{border-top-color:#167965}.venue-status h1{font-size:23px}.venue-status p{color:#66716e;max-width:420px;margin-top:9px;line-height:1.6}.venue-status button{color:#fff;background:#13211e;margin-top:24px;padding:0 18px}@media (width<=760px){.brand-inner,.content-width{width:min(100% - 28px,1080px)}.brand-inner{min-height:62px}.report-heading{padding:28px 0 24px}.heading-layout{align-items:flex-start}.report-heading h1{font-size:21px}.avatar-shell{width:50px;height:50px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item{min-height:98px;padding:15px}.metric-item strong{font-size:25px}.report-section,.court-band{padding:34px 0}.two-column{grid-template-columns:1fr;gap:34px}.round-panel{border-top:1px solid #dfe2e7;border-left:0;padding:32px 0 0}.court-layout{flex-direction:column;align-items:stretch;gap:25px}.court-copy{flex-basis:auto}.court-legend{grid-template-columns:repeat(3,auto);gap:14px;margin-top:16px}.tennis-court{width:100%}.serve-grid{grid-template-columns:repeat(2,1fr)}.venue-page,.venue-content,.venue-status{min-height:calc(100vh - 62px)}.venue-content{grid-template-columns:1fr}.venue-offer,.venue-claim{padding:38px 24px}.venue-offer{justify-content:flex-end;min-height:330px}.venue-offer h1{font-size:32px}.venue-description{margin-top:16px;font-size:15px}.venue-app-icon{width:58px;height:58px;margin:0;position:absolute;top:30px;right:24px}.venue-claim{justify-content:flex-start;min-height:440px}}@media (width<=430px){.level-badge{display:none!important}.stroke-row{grid-template-columns:45px minmax(0,1fr) 62px;gap:8px}.stroke-chips>div,.serve-grid>div{padding:12px}.court-legend{grid-template-columns:1fr 1fr}.code-field{grid-template-columns:minmax(0,1fr) 108px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
