:root{--camon-brand: #1d2bf1;--camon-brand-dark: #1620c4;--camon-brand-light: #dde0fe;--camon-brand-tint: #eff1fe;--camon-point: #a8fd30;--camon-point-dark: #84d810;--camon-court: #1a1f7a;--camon-court-deep: #0a0d33;--camon-hero-bg: #232e9e;--camon-line: rgb(255 255 255 / .12);--camon-accent-warn: #ea580c;--camon-danger: #b91c1c;--camon-success: #15803d;color-scheme:light;--camon-bg: #f7f7f7;--camon-surface: #ffffff;--camon-text: #222222;--camon-ink: #222222;--camon-muted: #6c6c6c;--camon-border: #e4e4e4;--camon-border-subtle: #e4e4e4;--camon-label: #484848;--camon-subtle: #9c9c9c;--camon-pill-border: #c7c7c7;--camon-count-bg: #f2f2f2;--header-bg: var(--camon-hero-bg);--header-border: transparent;--header-shadow: none;--header-logo: #fff;--header-link: rgb(255 255 255 / .72);--header-link-active: #fff;--hero-bg: var(--camon-hero-bg);--hero-text: #fff;--hero-text-shadow: none;--hero-overlay: none;--hero-backdrop-opacity: .5;--hero-backdrop-stroke: rgb(255 255 255 / .16);--hero-backdrop-stroke-dim: rgb(255 255 255 / .08);--hero-pattern-fill: rgb(255 255 255 / .1);--hero-search-bg: var(--camon-surface);--hero-search-border: rgb(255 255 255 / .3);--hero-search-text: var(--camon-text);--hero-search-placeholder: var(--camon-muted);--hero-search-icon: var(--camon-muted);--hero-search-shadow: 0 6px 20px rgb(10 13 51 / .25);--hero-search-focus-ring: 0 0 0 3px rgb(168 253 48 / .5);--hero-pill-text: #fff;--hero-pill-bg: rgb(255 255 255 / .25);--hero-pill-border: rgb(255 255 255 / .28);--hero-hint: rgb(255 255 255 / .72);--hero-tab-inactive: rgb(255 255 255 / .6);--hero-tab-active: #fff;--hero-tab-active-icon: var(--camon-point);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgb(15 23 42 / .08);--shadow-md: 0 4px 12px rgb(15 23 42 / .1);--shadow-lg: 0 8px 24px rgb(15 23 42 / .12);--shadow-card: var(--shadow-sm);--font-sans: "Spoqa Han Sans Neo", -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 17px;--topbar-h: 64px;--content-max: 1280px;--content-read: 700px;--page-gutter: 32px}[data-theme=dark]{color-scheme:dark;--camon-bg: #070a24;--camon-surface: #11163f;--camon-text: #f1f5f9;--camon-muted: rgb(255 255 255 / .7);--camon-border: rgb(255 255 255 / .14);--header-bg: linear-gradient(180deg, var(--camon-court-deep) 0%, var(--camon-court) 100%);--header-border: var(--camon-line);--header-shadow: 0 4px 24px rgb(10 13 51 / .45);--header-logo: #fff;--header-link: rgb(255 255 255 / .72);--header-link-active: #fff;--hero-bg: linear-gradient(125deg, var(--camon-court-deep) 0%, #141a6b 45%, #232a9e 100%);--hero-text: #fff;--hero-text-shadow: 0 1px 12px rgb(10 13 51 / .55);--hero-overlay: linear-gradient(180deg, rgb(10 13 51 / .15) 0%, rgb(10 13 51 / .75) 72%, var(--camon-court-deep) 100%);--hero-backdrop-opacity: .62;--hero-backdrop-stroke: rgb(255 255 255 / .2);--hero-backdrop-stroke-dim: rgb(255 255 255 / .08);--hero-search-bg: rgb(255 255 255 / .14);--hero-search-border: rgb(255 255 255 / .35);--hero-search-text: #fff;--hero-search-placeholder: rgb(255 255 255 / .7);--hero-search-icon: rgb(255 255 255 / .7);--hero-search-shadow: none;--hero-search-focus-ring: 0 0 0 3px rgb(29 43 241 / .35);--hero-pill-text: var(--camon-brand-light);--hero-pill-bg: rgb(255 255 255 / .12);--hero-pill-border: rgb(255 255 255 / .2);--hero-hint: rgb(255 255 255 / .7);--hero-tab-inactive: rgb(255 255 255 / .6);--hero-tab-active: #fff;--hero-tab-active-icon: var(--camon-brand-light)}.page-container{width:100%;max-width:var(--content-max);margin-left:auto;margin-right:auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--camon-text);background:var(--camon-surface)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);background:var(--camon-surface);border-bottom:1px solid var(--camon-border)}.topbar-inner{display:flex;align-items:center;height:var(--topbar-h);gap:32px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.global-search-bar{display:flex;align-items:center;gap:8px;width:100%}.global-search-bar__input{flex:1;min-width:0;padding:8px 12px;border-radius:999px;border:1px solid var(--camon-border);font-size:14px}.global-search-bar--hero{margin-top:16px;max-width:560px}.global-search-bar--hero .global-search-bar__input{padding:12px 16px;font-size:15px}.sport-hero-search.global-search-bar--hero{margin-top:20px}.topbar--sport .global-search-bar__input{background:#ffffff1a;border-color:#ffffff38;color:#fff}.topbar--sport .global-search-bar__input::placeholder{color:#ffffff8c}.global-search-page__head h1{margin:0 0 8px}.global-search-page__panel{margin-bottom:24px}.global-search-page__status{margin:12px 0 0}.global-search-page__examples{margin:12px 0 0;padding-left:1.2rem}.global-search-page__examples a{color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.global-search-beginner-block{margin-bottom:28px;display:flex;flex-direction:column;gap:20px}.global-search-beginner-block__head{margin:0}.global-search-beginner-block .home-beginner-cards{margin-top:4px}.global-search-beginner-guide__steps{list-style:decimal;padding-left:1.25rem}.global-search-videos{margin-top:8px}.global-search-videos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;list-style:none;margin:0;padding:0}.global-search-video-card{overflow:hidden;padding:0;display:flex;flex-direction:column}.global-search-video-card__embed{position:relative;aspect-ratio:16 / 9;background:#222}.global-search-video-card__embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.global-search-video-card__body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.global-search-video-card__title{margin:0;font-size:15px;font-weight:600}.notifications-page h1{margin:0}.notifications-list{display:grid;gap:12px}.notifications-item{display:flex;flex-direction:column;gap:8px}.notifications-item p{margin:0}.notifications-item--active{border-color:#1d2bf166}.notifications-item__actions{display:flex;justify-content:flex-end}.personal-nudge-toast{background:#f3f6fc;border-bottom:1px solid var(--camon-border);color:var(--camon-text)}.personal-nudge-toast__inner{display:flex;align-items:center;gap:12px;padding:10px 0}.personal-nudge-toast__icon{flex:0 0 auto;font-size:1.1rem;line-height:1}.personal-nudge-toast__content{flex:1 1 180px;min-width:0}.personal-nudge-toast__label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--camon-brand-dark)}.personal-nudge-toast__text{margin:2px 0 0;font-size:.9rem;line-height:1.45}.personal-nudge-toast__cta{flex:0 0 auto;white-space:nowrap}.personal-nudge-toast__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--camon-muted);font-size:1.35rem;line-height:1;cursor:pointer}.personal-nudge-toast__close:hover{background:#0f172a0f;color:var(--camon-text)}@media(max-width:720px){.personal-nudge-toast__inner{flex-wrap:wrap;align-items:flex-start;padding:12px 0}.personal-nudge-toast__content{flex:1 1 calc(100% - 76px)}.personal-nudge-toast__cta{margin-left:28px}}.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.topbar-logo{font-weight:700;font-size:1.1rem;color:var(--camon-brand-dark);white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center}.topbar-logo-img{height:34px;width:auto;display:block}.topbar-nav{display:flex;gap:4px;flex:1;justify-content:flex-start;min-width:0;flex-wrap:wrap}.auth-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:40vh;padding:32px 16px;color:var(--camon-muted)}.auth-loading-screen__spinner{width:28px;height:28px;border:3px solid var(--camon-border);border-top-color:var(--camon-brand);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.payment-demo-notice{margin:8px 0 0;padding:8px 10px;border-radius:var(--radius-md);background:#fffbeb;color:#92400e;font-size:.82rem;line-height:1.45}.bank-transfer-pending{margin-top:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.bank-transfer-pending__amount{margin:0;font-size:1.125rem;font-weight:700}.bank-transfer-pending__details{margin:4px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.875rem}.bank-transfer-pending__details dt{margin:0;color:var(--camon-text-muted)}.bank-transfer-pending__details dd{margin:0;font-weight:600}.bank-transfer-pending__missing{color:var(--camon-danger, #c62828)}.badge-warn{display:inline-block;width:fit-content;padding:4px 10px;border-radius:var(--radius-full);background:color-mix(in srgb,#f59e0b 18%,white);color:#92400e;font-size:.75rem;font-weight:700}.notifications-page__clarifier{margin-top:4px;font-size:.85rem}.home-instructors-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;border:.5px solid var(--camon-line);border-radius:var(--radius-lg);background:var(--camon-surface)}.home-instructor-skeleton{min-height:300px}.chat-room-empty{padding:24px 16px}.mobile-block__web{border:none;background:none;cursor:pointer;font:inherit;text-align:center}.topbar-link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;color:var(--camon-muted);font-size:15px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.topbar-link:hover{color:var(--camon-text);background:#f7f7f7}.topbar-link.active{color:var(--camon-brand-dark);font-weight:600;border-bottom-color:var(--camon-brand)}.feature-remark{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--camon-lime, #d4f542);color:#1a2e0a;font-size:.625rem;font-weight:700;line-height:1.35;letter-spacing:.03em;vertical-align:middle;transform:translateY(-1px);flex-shrink:0}.btn:has(.feature-remark){display:inline-flex;align-items:center;justify-content:center;gap:4px}.topbar-link .feature-remark,.dropdown-menu__label .feature-remark{margin-left:0}.dropdown-menu__label,.home-intent-tabs__btn,.lang-switcher{display:inline-flex;align-items:center;gap:6px}.lang-switcher-label{font-size:12px;color:#ffffffbf;white-space:nowrap}.lang-switcher-select{font-size:13px;font-family:inherit;padding:4px 8px;border-radius:6px;border:1px solid rgb(255 255 255 / .25);background:#ffffff1a;color:#fff;cursor:pointer}.lang-switcher-select option{color:var(--camon-text);background:var(--camon-surface)}.main-content{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:24px 32px 48px}.account-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-xl);align-items:start}.account-nav{position:sticky;top:calc(var(--topbar-h) + var(--space-lg));display:flex;flex-direction:column;gap:var(--space-md)}.account-nav__title{margin:0;font-size:var(--fs-xl);font-weight:700;color:var(--camon-ink)}.account-nav__menu{display:flex;flex-direction:column;gap:var(--space-xs)}.account-nav__link{display:block;width:100%;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);background:none;color:var(--camon-label);font-family:inherit;font-size:var(--fs-md);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease}.account-nav__link:hover{background:var(--camon-bg)}.account-nav__link.active{background:var(--camon-brand-tint);color:var(--camon-brand);font-weight:600}.account-nav__divider{height:1px;margin:var(--space-xs) 0;background:var(--camon-border)}.account-nav__logout{color:var(--camon-muted)}.account-content{min-width:0}@media(max-width:720px){.account-shell{grid-template-columns:1fr;gap:var(--space-lg)}.account-nav{position:static;gap:var(--space-sm)}.account-nav__menu{flex-direction:row;flex-wrap:nowrap;gap:var(--space-xs);overflow-x:auto;-webkit-overflow-scrolling:touch}.account-nav__link{flex:0 0 auto;width:auto;padding:var(--space-sm) var(--space-md);white-space:nowrap}.account-nav__divider{flex:0 0 auto;width:1px;height:auto;margin:0 var(--space-xs);align-self:stretch}}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.section-header h2{margin:0;font-size:18px;font-weight:600}.section-header__hint{margin:4px 0 0}.global-search-venues__group+.global-search-venues__group{margin-top:8px;padding-top:28px;border-top:1px solid var(--camon-border)}.section-link{border:none;background:none;padding:0;cursor:pointer;font-size:14px;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.section-link--all{color:var(--camon-brand);text-decoration:none}.section-link--all:after{content:" →"}.section-link--soft{color:var(--camon-muted);font-size:var(--fs-sm);font-weight:400;text-decoration:none}.section-link--soft:after{content:"›";margin-left:var(--space-xs);font-size:var(--fs-xl);line-height:0;vertical-align:-.1em}.section-header--link-only{justify-content:flex-end}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px}.image-card{display:flex;flex-direction:column;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.image-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0f172a1f}.image-card__main{display:flex;flex-direction:column;flex:1;min-width:0;color:inherit;text-decoration:none}a.image-card__main{cursor:pointer}a.image-card__main:focus-visible{outline:2px solid var(--camon-brand);outline-offset:-2px}.image-card__media{position:relative;overflow:hidden;background:var(--camon-border)}.image-card__media img,.image-card__portrait{display:block;width:100%;height:100%;object-fit:cover}.image-card__portrait{aspect-ratio:4 / 5;object-position:top center}.image-card__portrait--empty{background:var(--camon-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--camon-muted)}.image-card__portrait-empty-label{font-size:var(--fs-xs);font-weight:500}.image-card--instructor{background:transparent;border:none;border-radius:0;overflow:visible}.image-card--instructor:hover{transform:none;box-shadow:none}.image-card--instructor .image-card__media{border-radius:var(--radius-lg);overflow:hidden;transition:transform .15s ease}.image-card--instructor:hover .image-card__media{transform:translateY(-3px)}.image-card--instructor .image-card__body{padding:8px 2px 0;gap:4px}.image-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.image-card__badge{font-size:11px;font-weight:600;line-height:1.4;padding:3px 10px;border-radius:var(--radius-full);background:#ffffffe0;color:var(--camon-text);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.image-card__badge--alert{background:#ffedd5;color:var(--camon-accent-warn)}.image-card__body{flex:1;display:flex;flex-direction:column;gap:6px;padding:14px 15px 15px}.image-card__eyebrow{margin:0;font-size:12px;font-weight:500;color:var(--camon-label)}.image-card__title{margin:0;font-size:15px;font-weight:600;line-height:1.35;color:var(--camon-ink)}.image-card__meta{margin:0;font-size:12px;color:var(--camon-label);line-height:1.5}.image-card__people{display:inline-flex;align-items:center;gap:5px}.image-card__people svg{flex-shrink:0}.image-card__footer{padding:0 15px 15px}.image-card__footer--row{display:flex;align-items:center;justify-content:space-between;gap:10px}.image-card__price{font-size:13px;font-weight:700;color:var(--camon-ink);font-variant-numeric:tabular-nums}.card-image-wrap{aspect-ratio:16 / 9;background:var(--camon-border);overflow:hidden}.card-image{width:100%;height:100%;object-fit:cover;display:block}.location-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.location-label{font-size:14px;color:var(--camon-muted)}.empty-state.compact{padding:24px 16px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full)}.badge-brand{background:var(--camon-count-bg);color:var(--camon-label);border:.5px solid var(--camon-line)}.badge-muted{background:var(--camon-count-bg);color:var(--camon-muted);border:.5px solid var(--camon-line)}.badge-level-beginner,.badge-level-intermediate,.badge-level-advanced{background:var(--camon-count-bg);color:var(--camon-label);border:.5px solid var(--camon-line)}.badge-bookable{background:#d1fae5;color:var(--camon-success)}.badge-warn{background:#ffedd5;color:var(--camon-accent-warn)}.card-title{font-weight:600;font-size:1rem;margin:0}.card-meta{font-size:14px;color:var(--camon-muted);font-variant-numeric:tabular-nums}.card-actions{display:flex;gap:8px;margin-top:8px}.card-actions--split{flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 20px;border-radius:var(--radius-md);border:none;font-weight:600;cursor:pointer}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--camon-brand);color:#fff;border-radius:var(--radius-full)}.btn-primary:hover:not(:disabled){background:var(--camon-brand-dark)}.btn-secondary{background:transparent;border:1px solid var(--camon-pill-border);color:var(--camon-ink)}.btn-ghost{background:transparent;color:var(--camon-ink);border:none;padding:0 12px}.btn-danger{background:var(--camon-danger);color:#fff}.notice-banner{background:var(--camon-brand-light);color:var(--camon-text);padding:10px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px}.hero{margin-bottom:28px}.hero h1{margin:0 0 12px;font-size:28px}.search-row{display:flex;gap:12px;max-width:560px}.search-row input{flex:1;height:40px;padding:0 14px;border:1px solid #9c9c9c;border-radius:var(--radius-md)}.search-row input:focus{outline:2px solid var(--camon-brand);outline-offset:0}.map-split{display:grid;grid-template-columns:1.5fr 1fr;gap:0;align-items:stretch;min-height:calc(100vh - var(--topbar-h) - 48px);margin:-24px -32px 0;max-width:none;width:calc(100% + 64px)}.map-panel{position:relative;min-height:480px;height:100%;background:#e4e4e4}.map-panel-loading{display:grid;place-items:center;height:100%;min-height:inherit;color:var(--camon-muted);font-size:15px}.venue-map,.kakao-map-container,.naver-map-container,.google-map-container,.osm-fallback-map{width:100%;height:100%;min-height:inherit;z-index:0}.osm-fallback-map{position:relative}.osm-fallback-map__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;place-items:center;align-content:center;gap:8px;color:var(--camon-muted);font-size:14px;font-weight:600;background-color:#ededed;background-image:linear-gradient(rgb(15 23 42 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(15 23 42 / .05) 1px,transparent 1px);background-size:32px 32px}.osm-fallback-map__frame{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:inherit;border:0}.map-panel-loading.err{color:var(--camon-danger, #dc2626);text-align:center;padding:16px}.map-list{background:var(--camon-surface);overflow-y:auto;padding:16px}.map-list-item{display:flex;gap:var(--space-md);align-items:stretch;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--camon-border);background:var(--camon-surface);overflow:hidden;margin-bottom:var(--space-lg);cursor:pointer;transition:background .15s ease}.map-list-item__thumb-wrap{flex:0 0 104px;align-self:flex-start;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;background:var(--camon-count-bg)}.map-list-item__thumb{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.map-list-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.map-list-item__body>strong{font-size:15px;font-weight:500;line-height:1.35;color:var(--camon-text)}.map-list-item__badge{align-self:flex-start;margin-top:var(--space-xs);font-size:11px;font-weight:500;line-height:1;padding:3px 8px;border-radius:4px}.map-list-item__badge--bookable{color:var(--camon-brand);background:color-mix(in srgb,var(--camon-brand-light) 50%,#fff)}.map-list-item__badge--directory{color:var(--camon-muted);background:var(--camon-count-bg)}.map-list-item__meta{margin:0;color:var(--camon-muted);font-weight:400}.map-list-item__policy{margin:2px 0 0;font-size:12px;line-height:1.45;color:var(--camon-muted)}.map-list-item__actions{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.map-list-item__price{font-size:14px;font-weight:600;color:var(--camon-text);white-space:nowrap}.map-list-item__action{margin-left:auto;width:auto;height:auto;padding:8px 16px;font-size:13px;border-radius:var(--radius-full);white-space:nowrap;pointer-events:none}.map-list-item__action--info{background:var(--camon-surface);border:1px solid var(--camon-pill-border);color:var(--camon-ink)}.map-list-item:hover{background:var(--camon-surface-muted, #f7f7f7)}.map-list-item.selected{border:1.5px solid var(--camon-ink);background:var(--camon-surface)}.card,.form-card,.game-create-section,.game-create-aside-card,.checkout-card{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg)}.card{padding:20px}.form-card{padding:24px;max-width:720px}.form-grid{display:grid;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{height:40px;padding:0 12px;border:1px solid #9c9c9c;border-radius:var(--radius-md)}.form-grid textarea{height:auto;min-height:80px;padding:10px 12px}.error-banner{background:#fef2f2;color:var(--camon-danger);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px}.info-banner{background:var(--camon-brand-light);color:var(--camon-text);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:.9rem}.venue-deposit-unavailable{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius-md);background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.venue-deposit-unavailable__title{margin:0 0 6px;font-weight:600;font-size:.95rem}.venue-deposit-unavailable__body{margin:0 0 8px;font-size:.9rem;line-height:1.45}.venue-deposit-unavailable__hint{margin:0 0 10px;color:#b45309}.venue-deposit-unavailable__cta{margin-top:4px}.host-court-banner{margin:0 0 20px;padding:14px 16px;border-radius:var(--radius-md);border-left:3px solid var(--camon-border)}.host-court-banner--pending{background:#fffbeb;border-left-color:#d97706;color:#92400e}.host-court-banner--confirmed{background:#ecfdf5;border-left-color:#059669;color:#065f46}.host-court-banner--cancelled{background:#fef2f2;border-left-color:var(--camon-danger);color:#991b1b}.host-court-banner__title{margin:0 0 8px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}.host-court-banner__body,.host-court-banner__deadline,.host-court-banner__total{margin:0 0 8px;font-size:14px;line-height:1.5}.host-court-banner__holds{margin:0 0 10px;padding-left:18px;font-size:14px;line-height:1.5}.host-court-banner__hold-time,.host-court-banner__hold-amount{font-weight:500}.host-court-banner__bank-toggle{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.host-court-banner__bank-details{margin:10px 0 0;display:grid;gap:8px;font-size:14px}.host-court-banner__bank-details dt{font-size:12px;font-weight:600;opacity:.85}.host-court-banner__bank-details dd{margin:0}.host-court-banner__cta{margin-top:10px}.host-court-banner__bank-card{margin-top:12px}.host-court-banner__missing-bank{margin:8px 0 0}.activity-card__bank-transfer{margin-top:10px}.game-detail-court-holds{margin:0;padding-left:18px}.game-detail-court-hold-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}.game-detail-court-hold-badge--pending{background:#fffbeb;color:#b45309}.game-detail-court-hold-badge--confirmed{background:#ecfdf5;color:#047857}.empty-state{text-align:center;padding:48px 24px;color:var(--camon-muted)}.tabs{display:flex;gap:8px;margin-bottom:20px}.tab{padding:8px 16px;border-radius:8px;border:1px solid var(--camon-border);background:var(--camon-surface);cursor:pointer}.tab.active{background:var(--camon-brand-light);border-color:var(--camon-brand);color:var(--camon-brand-dark);font-weight:600}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.slot-btn{padding:10px 8px;border-radius:8px;border:1px solid var(--camon-border);background:var(--camon-surface);cursor:pointer;font-size:13px;text-align:center}.slot-btn.available:hover{border-color:var(--camon-pill-border)}.slot-btn.selected{background:var(--camon-brand-light);border-color:var(--camon-brand)}.slot-btn.unavailable{cursor:not-allowed}.slot-btn.unavailable.venue-slot-card--watchable{cursor:pointer}.slot-btn.time-sale:not(.selected){border-color:var(--camon-border)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:100;display:flex;justify-content:flex-end}.drawer{width:440px;max-width:100%;box-sizing:border-box;background:var(--camon-surface);height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0f172a1f;overflow:hidden}.drawer-body{flex:1;overflow-y:auto;padding:24px}.drawer-footer{border-top:1px solid var(--camon-border);padding:16px 20px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));background:#f7f7f7;box-sizing:border-box;flex-shrink:0}.drawer-footer-actions{display:flex;flex-direction:column;gap:10px;width:100%}.drawer-footer-actions .btn{display:flex;width:100%;max-width:100%;box-sizing:border-box;flex:none;height:auto;min-height:44px;padding:12px 16px;white-space:normal;text-align:center;line-height:1.3}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0f172a1f;min-width:180px;z-index:60}.dropdown-menu button,.dropdown-menu a{display:block;width:100%;text-align:left;padding:10px 16px;border:none;background:none;cursor:pointer}.dropdown-menu button:hover,.dropdown-menu a:hover{background:#f7f7f7}.dropdown-menu__label{margin:0;padding:8px 16px 4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--camon-muted)}.dropdown-menu__divider{height:1px;margin:4px 0;background:var(--camon-border)}.dropdown-menu__link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--camon-text);text-decoration:none;font-size:14px;font-weight:500}.dropdown-menu__link.active{color:var(--camon-brand-dark);font-weight:600}.dropdown-menu--profile{min-width:220px}.dropdown-menu--profile .dropdown-menu__link{padding:10px 16px}.dropdown-menu__badge{flex-shrink:0;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#e25b45;color:#fff;font-size:.65rem;font-weight:700;line-height:18px;text-align:center}.mobile-block{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:var(--camon-surface)}.mobile-block h1{font-size:22px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-page--pickleball{padding:0;align-items:stretch;justify-content:stretch;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,460px);background:var(--camon-court-deep)}.auth-page__hero{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,64px);overflow:hidden;color:#fff;background:radial-gradient(ellipse 90% 70% at 20% 20%,rgb(29 43 241 / .18),transparent 55%),linear-gradient(145deg,var(--camon-court-deep) 0%,var(--camon-hero-bg) 52%,var(--camon-court) 100%)}.auth-page__hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-14deg,transparent,transparent 46px,rgb(255 255 255 / .025) 46px,rgb(255 255 255 / .025) 47px);pointer-events:none}.auth-court-backdrop{position:absolute;right:-8%;bottom:-10%;width:min(72%,420px);opacity:.9;pointer-events:none}.auth-court-backdrop__court{stroke:#ffffff47;stroke-width:1.5;fill:#ffffff08}.auth-court-backdrop__line{stroke:#ffffff3d;stroke-width:1.2}.auth-court-backdrop__line--kitchen{stroke:#ffffff57;stroke-width:1.4}.auth-court-backdrop__line--dim{stroke-dasharray:5 4;stroke:#ffffff29}.auth-court-backdrop__ball{fill:#fde68a;stroke:#ffffffd9;stroke-width:1.2}.auth-court-backdrop__paddle{stroke:var(--camon-brand);stroke-width:2.4;fill:none}.auth-court-backdrop__paddle--alt{stroke:#ffffffb8}.auth-court-backdrop__player{stroke:#ffffffc7;stroke-width:2;fill:none}.auth-page__hero-copy{position:relative;z-index:1;max-width:28rem}.auth-page__hero-title{margin:16px 0 10px;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.auth-page__hero-sub{margin:0 0 20px;font-size:1rem;line-height:1.55;color:#ffffffc7}.auth-page__features{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.auth-page__features li{padding:7px 12px;border-radius:999px;border:1px solid rgb(255 255 255 / .18);background:#ffffff14;font-size:.82rem;font-weight:600;color:#ffffffeb}.auth-brand-mark{display:inline-block;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--camon-brand) 0%,#1620c4 100%);box-shadow:inset 0 0 0 2px #ffffff47,0 8px 24px #1d2bf159;flex-shrink:0}.auth-brand-mark--sm{width:32px;height:32px;border-radius:7px}.auth-page__panel{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px);background:var(--camon-surface)}.auth-card{width:100%;max-width:400px;background:var(--camon-surface);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card)}.auth-card--login{max-width:420px;padding:clamp(28px,4vw,36px);border:1px solid var(--camon-border);box-shadow:0 1px 2px #0f172a0a,0 16px 40px #0f172a14}.auth-card__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.auth-card__eyebrow{margin:0 0 2px;font-size:.78rem;font-weight:600;color:var(--camon-label)}.auth-card__title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.auth-form{display:grid;gap:16px;margin-top:4px}.auth-form__field{display:flex;flex-direction:column;gap:6px}.auth-form__label{font-size:.82rem;font-weight:600;color:#484848}.auth-form__field input{height:44px;padding:0 14px;border:1px solid #c7c7c7;border-radius:var(--radius-md);background:#fff;transition:border-color .15s,box-shadow .15s}.auth-form__field input:focus{outline:none;border-color:var(--camon-brand);box-shadow:0 0 0 3px #1d2bf12e}.auth-form__submit{width:100%;height:46px;margin-top:4px;font-size:.95rem;border-radius:var(--radius-full);box-shadow:0 8px 20px #1d2bf147}.auth-form__submit.btn-secondary{box-shadow:none}.auth-form__submit-inner{display:inline-flex;align-items:center;justify-content:center;gap:10px}.admin-social-stack{display:flex;flex-direction:column;gap:var(--space-xl);margin-top:var(--space-2xl)}.admin-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;border:1px solid var(--camon-border);border-radius:10px;background:var(--camon-surface);color:var(--camon-text);font-size:.95rem;font-weight:500;cursor:pointer;font-family:inherit}.admin-social-btn:hover:not(:disabled){background:var(--camon-surface-2, #f7f7f7)}.admin-social-btn:disabled{opacity:.65;cursor:not-allowed}.admin-social-btn__icon{display:inline-flex;align-items:center;justify-content:center}.admin-social-btn--light{background:var(--camon-surface);color:var(--camon-text);border-color:var(--camon-border)}.admin-social-btn--dark{background:#000;color:#fff;border-color:#000}.admin-social-btn--dark:hover:not(:disabled){background:#1a1a1a}.admin-social-btn--kakao{background:#fee500;color:#191919;border-color:#fee500}.admin-social-btn--kakao:hover:not(:disabled){background:#f5dc00}.auth-social-stack{display:flex;flex-direction:column;gap:12px;margin-top:8px}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.auth-social-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.auth-social-btn:disabled{opacity:.65;cursor:not-allowed}.auth-social-btn__icon{display:inline-flex;align-items:center;justify-content:center}.auth-footer--center{text-align:center;margin-top:16px}.auth-page__panel--solo{grid-column:1 / -1;justify-content:center}.auth-page__panel--solo .auth-card{max-width:420px;width:100%}.auth-forgot__text,.auth-footer__link{color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:600}.auth-footer__link:hover{text-decoration:underline;text-underline-offset:2px}@media(max-width:860px){.auth-page--pickleball{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-page__hero{min-height:220px;padding:28px 24px 32px}.auth-court-backdrop{right:-12%;bottom:-18%;width:min(58%,280px);opacity:.75}.auth-page__hero-title{font-size:1.55rem}.auth-page__panel{padding:24px 20px 32px;align-items:flex-start}.auth-card--login{max-width:none}.auth-card__head{display:none}}@media(max-width:860px){.auth-page--pickleball .auth-tagline{display:none}}.login-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.login-split__form-side{position:relative;display:flex;flex-direction:column;background:var(--camon-surface);padding:clamp(24px,4vw,48px)}.login-split__logo{position:absolute;top:clamp(24px,4vw,40px);left:clamp(24px,4vw,48px);display:inline-flex}.login-split__logo img{height:38px;width:auto;filter:invert(1)}.login-split__form-wrap{flex:1;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:360px}.auth-forgot__text--quiet{font-weight:400;font-size:13px;color:var(--camon-muted)}.auth-forgot__text--quiet:hover{color:var(--camon-text);text-decoration:underline;text-underline-offset:2px}.login-split__media{position:relative;overflow:hidden;background:var(--camon-hero-bg)}.login-split__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}.login-split__court{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;place-items:center;opacity:.85}.login-split__court .auth-court-backdrop{position:static;inset:auto;width:min(78%,360px);opacity:1}@media(max-width:860px){.login-split{grid-template-columns:1fr}.login-split__media{display:none}.login-split__form-side{padding-top:clamp(72px,16vw,96px)}}.auth-resume-hint{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--camon-brand-light);color:var(--camon-brand-dark);font-size:.88rem;line-height:1.45}.booking-auth-prompt{padding:4px 0 8px}.booking-auth-prompt__text{margin:0 0 6px;font-weight:600}.booking-auth-prompt__actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.booking-auth-prompt__actions .btn{width:100%;box-sizing:border-box}table.data-table{width:100%;border-collapse:collapse;background:var(--camon-surface);border-radius:var(--radius-lg);overflow:hidden}table.data-table th,table.data-table td{padding:12px 14px;border-bottom:1px solid var(--camon-border);text-align:left;font-size:14px}table.data-table th{background:#f7f7f7;font-weight:600}.topbar--sport{background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--header-shadow)}.topbar--sport .topbar-logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.05rem;letter-spacing:-.02em}.topbar-mark{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--camon-brand) 0%,#4f5bff 100%);box-shadow:inset 0 0 0 2px #ffffff40;flex-shrink:0}.topbar--sport .topbar-inner{gap:20px}.topbar--sport .topbar-link{color:#ffffffb8;border-bottom-color:transparent;padding:8px 12px;font-size:14px}.topbar--sport .topbar-link:hover{color:#fff;background:#ffffff14}.topbar--sport .topbar-link.active{color:#fff;font-weight:600;border-bottom-color:var(--camon-brand);background:#1d2bf11f}.topbar--sport .btn-secondary{border-color:#ffffff59;color:#fff;background:#ffffff0f}.topbar--sport .dropdown-menu{border-color:var(--camon-border)}html[lang=en] .topbar--sport .topbar-inner{gap:16px}html[lang=en] .topbar--sport .topbar-link{padding:6px 10px;font-size:13px}html[lang=en] .topbar--sport .topbar-logo-suffix{display:none}html[lang=en] .topbar--sport .topbar-user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-btn{display:inline-flex;align-items:center;padding:0;border:none;background:none;border-radius:var(--radius-full);cursor:pointer}.topbar-user-btn .profile-avatar{width:36px;height:36px;border:1px solid var(--camon-line);font-size:var(--fs-sm);transition:border-color .15s ease,box-shadow .15s ease}.topbar-user-btn:hover .profile-avatar{border-color:var(--header-link-active)}.topbar-user-btn:focus-visible{outline:none}.topbar-user-btn:focus-visible .profile-avatar{border-color:var(--header-link-active);box-shadow:0 0 0 3px var(--camon-point)}.topbar-get-app{white-space:nowrap}.lang-switcher--compact .lang-switcher-select{min-width:72px}.lang-switcher--profile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);width:100%}.lang-switcher--profile .lang-switcher-label{font-size:var(--fs-lg);font-weight:500;color:var(--camon-ink)}.lang-switcher-hint{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--camon-muted)}.lang-switcher--profile .lang-switcher-select{width:auto;min-width:160px;margin-top:var(--space-xs);padding:var(--space-sm) var(--space-xl) var(--space-sm) var(--space-md);font-size:var(--fs-sm);border-radius:var(--radius-md);border:1px solid var(--camon-border);color:var(--camon-text);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--camon-surface);background-image:linear-gradient(45deg,transparent 50%,var(--camon-subtle) 50%),linear-gradient(135deg,var(--camon-subtle) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.profile-sidebar__locale{padding:16px 18px;border-bottom:1px solid var(--camon-border)}.site-footer{--footer-required-bg: #fff3bf;--footer-required-text: #92400e;border-top:1px solid var(--camon-border);background:#fff;margin-top:auto}.site-footer-inner{max-width:1040px;margin:0 auto;padding:var(--space-3xl) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl);font-family:inherit}.site-footer-logo{display:inline-flex}.site-footer-logo img{height:30px;width:auto;filter:invert(1)}.site-footer-biz{display:flex;flex-direction:column;gap:var(--space-sm)}.site-footer-biz-line{margin:0;font-size:var(--fs-sm);line-height:1.7;color:var(--camon-muted);transition:color .15s ease}.site-footer-biz-line:hover{color:var(--camon-text)}.site-footer-sep{margin:0 var(--space-sm);color:var(--camon-border)}.footer-required{background:var(--footer-required-bg);color:var(--footer-required-text);font-weight:600;padding:1px var(--space-xs);border-radius:var(--radius-sm)}.site-footer-required-note{margin:0;font-size:var(--fs-xs);color:var(--camon-muted)}.site-footer-copyright{margin:var(--space-xs) 0 0;font-size:var(--fs-xs);color:var(--camon-muted)}.site-footer-apps{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-footer-apps-label{font-size:var(--fs-sm);color:var(--camon-muted)}.site-footer-app-btn{white-space:nowrap}.site-footer-cols{display:flex;gap:var(--space-3xl);flex-wrap:wrap}.site-footer-col{display:flex;flex-direction:column;gap:var(--space-sm)}.site-footer-col-title{font-weight:600;color:var(--camon-text);font-size:var(--fs-sm)}.site-footer-col a{color:var(--camon-muted);font-size:var(--fs-sm);text-decoration:none;transition:color .15s ease}.site-footer-col a:hover{color:var(--camon-text)}@media(max-width:640px){.site-footer-inner{padding:var(--space-2xl) var(--space-lg)}.site-footer-sep{margin:0 6px}}.main-content:has(.page-home){max-width:none;padding:0}.main-content:has(.map-page){max-width:none;padding:0;margin:0;background:var(--camon-surface);flex:1 1 auto;height:calc(100dvh - var(--topbar-h));max-height:calc(100dvh - var(--topbar-h));min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-home-feed{padding-top:32px;padding-bottom:48px}.sport-hero{position:relative;background:linear-gradient(125deg,var(--camon-court-deep) 0%,var(--camon-hero-bg) 45%,var(--camon-court) 100%);color:#fff;padding:28px 0 0;overflow:hidden}.sport-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 100% 0%,rgb(29 43 241 / .22),transparent 55%),repeating-linear-gradient(-12deg,transparent,transparent 48px,rgb(255 255 255 / .03) 48px,rgb(255 255 255 / .03) 49px);pointer-events:none}.sport-hero-inner{position:relative;display:flex;flex-direction:column;gap:0;padding-bottom:20px}.sport-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:40px;align-items:end}.sport-hero-copy{min-width:0}.sport-hero-title{margin:0 0 8px;font-size:clamp(1.625rem,2.8vw,2.125rem);font-weight:700;line-height:1.2;letter-spacing:-.03em}.sport-hero-sub{margin:0 0 16px;font-size:1rem;color:#ffffffc7;max-width:36em}.sport-hero-location{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#ffffffd9}.sport-hero-hint{margin:8px 0 0;font-size:13px;color:#fcd34d}.sport-hero-search-panel{min-width:0}.sport-hero-search-label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:#ffffffa6}.sport-hero-search{display:flex;gap:10px}.sport-hero-search input{flex:1;height:48px;padding:0 16px;border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-md);background:#ffffff1a;color:#fff}.sport-hero-search input::placeholder{color:#ffffff73}.sport-hero-search input:focus{outline:2px solid var(--camon-brand);outline-offset:0;border-color:transparent}.btn-on-dark{color:#ffffffe6!important}.btn-on-dark:hover{background:#ffffff1a!important}.level-filter-bar{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);padding:20px 24px;position:relative;z-index:2;box-shadow:0 12px 40px #0f172a1a}.discovery-panel{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:20px;padding:24px 28px 20px;margin-bottom:-24px;transform:translateY(24px);position:relative;z-index:3;box-shadow:0 4px 6px #0f172a0a,0 20px 48px #0f172a1f}.discovery-panel--hero-first{margin-bottom:28px;transform:none;padding:22px 24px 18px}.sport-hero-inner .sport-hero-grid{margin-top:24px}.discovery-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0}.discovery-panel-title{margin:0 0 4px;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.discovery-panel-desc{margin:0;font-size:14px;color:var(--camon-muted)}.discovery-panel-link{font-size:14px;font-weight:600;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap;padding-top:4px}.discovery-scroll--unified{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.discovery-scroll--unified .discovery-tile{flex:0 0 84px;width:84px;min-height:92px;padding:10px 6px 8px}.discovery-scroll--unified::-webkit-scrollbar{height:4px}.discovery-scroll--unified::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:4px}.discovery-tile{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:12px 8px 10px;border-radius:var(--radius-lg);border:1.5px solid var(--camon-border);background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;min-height:100px;position:relative}.discovery-tile:hover{border-color:#c7c7c7;transform:translateY(-2px);box-shadow:0 6px 16px #0f172a14}.discovery-tile.active{border-width:2px;box-shadow:0 4px 14px #0f172a1a}.discovery-tile--neutral.active{background:#f2f2f2;border-color:#6c6c6c}.discovery-tile--beginner .discovery-tile-icon{background:#dcfce7;color:#15803d}.discovery-tile--beginner.active{background:#f0fdf4;border-color:#16a34a}.discovery-tile--intermediate .discovery-tile-icon{background:#fef9c3;color:#a16207}.discovery-tile--intermediate.active{background:#fefce8;border-color:#ca8a04}.discovery-tile--advanced .discovery-tile-icon{background:#fee2e2;color:#b91c1c}.discovery-tile--advanced.active{background:#fef2f2;border-color:#dc2626}.discovery-tile--brand .discovery-tile-icon{background:var(--camon-brand-light);color:var(--camon-muted)}.discovery-tile--brand.active{background:linear-gradient(160deg,#e6faf8,#ccf0ed);border-color:var(--camon-brand)}.discovery-tile-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f2f2f2;color:var(--camon-text)}.discovery-tile-icon svg{width:24px;height:24px}.discovery-tile-label{font-size:13px;font-weight:700;line-height:1.2;text-align:center}.discovery-tile-sub{font-size:11px;color:var(--camon-muted);line-height:1.2;text-align:center}.discovery-tile-count{position:absolute;top:8px;right:8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0f172a14;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.discovery-tile.active .discovery-tile-count{background:var(--camon-court);color:#fff}.discovery-tile--brand.active .discovery-tile-count{background:var(--camon-brand);color:#fff}.discovery-panel-foot{padding-top:16px;margin-top:18px;border-top:1px solid var(--camon-border)}.discovery-panel-foot--compact{margin-top:16px;padding-top:14px}.discovery-foot-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.discovery-foot-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex:1;min-width:0}.discovery-foot-count{font-size:14px;color:var(--camon-muted)}.discovery-foot-count strong{color:var(--camon-text);font-weight:700}.discovery-foot-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.discovery-summary{margin:0;font-size:14px;color:var(--camon-text)}.discovery-summary--muted{color:var(--camon-muted);font-size:13px}.discovery-summary-tags{display:flex;gap:6px}.discovery-summary-tag{padding:3px 10px;border-radius:999px;background:var(--camon-brand-light);color:var(--camon-brand-dark);font-size:12px;font-weight:700}.discovery-clear{border:none;background:none;color:var(--camon-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.discovery-clear:hover{color:var(--camon-brand-dark)}.btn-ghost-map{white-space:nowrap}.page-home-feed{padding-top:52px}.level-filter-bar--embedded{margin-bottom:-20px;transform:translateY(20px)}.level-filter-bar--sticky{position:sticky;top:calc(var(--topbar-h) + 12px);z-index:40;margin-bottom:24px}.level-filter-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:16px;row-gap:4px;margin-bottom:14px}.level-filter-title{margin:0;grid-column:1;grid-row:1;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.level-filter-desc{margin:0;grid-column:1 / -1;grid-row:2;font-size:14px;color:var(--camon-muted)}.level-filter-bar--embedded .level-filter-header{grid-template-columns:1fr;margin-bottom:12px}.level-filter-more{grid-column:2;grid-row:1;font-size:14px;font-weight:600;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap}.level-filter-pills{display:flex;flex-wrap:wrap;gap:10px}.level-pill{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--radius-full);border:1px solid var(--camon-pill-border);background:var(--camon-surface);color:var(--camon-label);cursor:pointer;font-weight:600;font-size:15px;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s,color .12s}.level-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.level-pill-mine{border-color:var(--camon-brand);background:var(--camon-brand-light);color:var(--camon-brand-dark)}.level-pill-mine[aria-pressed=true],.level-pill-mine.active{background:var(--camon-brand);color:#fff}.level-pill-count{font-size:13px;font-weight:700;color:var(--camon-muted)}.level-pill.active .level-pill-count{color:var(--camon-ink);opacity:.7}.level-pill-count--zero{opacity:.4}.level-pill:disabled{opacity:.45;cursor:default}.level-pill:disabled:hover{transform:none;box-shadow:none}.level-pill--overlay{min-height:auto;padding:4px 10px;font-size:12px;border-radius:6px;border-width:0;box-shadow:none}.level-pill--overlay:hover{transform:none}.chip{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--radius-full);border:1px solid var(--camon-pill-border);background:var(--camon-surface);color:var(--camon-label);font-family:inherit;font-size:var(--fs-lg);font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s,transform .12s,box-shadow .12s}.chip:hover{border-color:var(--camon-pill-border);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.chip:disabled{opacity:.5;cursor:default}.chip--on,.level-pill.active,.pref-chip.active{background:transparent;border-color:var(--camon-ink);color:var(--camon-ink)}.chip--compact{min-height:34px;padding:0 16px;font-size:var(--fs-sm);font-weight:500}.chip__count{font-size:var(--fs-sm);font-weight:700;padding:2px 8px;border-radius:var(--radius-full);background:var(--camon-count-bg);color:var(--camon-label)}.chip--on .chip__count{background:var(--camon-brand-light);color:var(--camon-brand-dark)}.chip__count--zero{opacity:.4}.chip--removable{cursor:default;gap:2px;min-height:32px;padding:0 4px 0 12px;font-size:var(--fs-sm);font-weight:500;background:var(--camon-brand-light);border-color:transparent;color:var(--camon-brand)}.chip--removable:hover{border-color:transparent;transform:none;box-shadow:none}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--camon-brand);cursor:pointer}.chip__remove:hover{background:#1d2bf124}.games-filter__applied .chip--removable{background:var(--surface-muted, #f2f2f2);color:var(--camon-text)}.games-filter__applied .chip--removable .chip__remove{color:var(--camon-muted)}.games-filter__applied .chip--removable .chip__remove:hover{background:#0f172a14}.filter-result-hint{margin:0 0 24px;padding:0;font-size:14px;color:var(--camon-muted)}.page-home-feed .content-section{margin-bottom:40px}.page-home-feed .content-section:last-child{margin-bottom:0}@media(max-width:900px){:root{--page-gutter: 20px}.sport-hero-grid{grid-template-columns:1fr;gap:24px}.home-hero-backdrop{height:140px;opacity:.85}.home-hero-backdrop__svg{width:160%;min-width:640px;opacity:.5}.discovery-panel{margin-bottom:0;transform:none;padding:20px 16px 16px}.discovery-scroll--unified .discovery-tile{flex:0 0 76px;width:76px;min-height:86px}.discovery-tile-icon{width:40px;height:40px}.page-home-feed{padding-top:28px}.page-home-feed:has(>.home-intent-panel--games){padding-top:16px}}.card-today{color:var(--camon-brand-dark);font-weight:700}.card-dot{opacity:.5}.btn-block{width:100%}.btn-sm{height:36px;padding:0 14px;font-size:14px}.page-games-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.btn-create-game{height:auto;padding:11px 17px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:500}.games-filter{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.games-filter__row{display:flex;flex-wrap:wrap;gap:8px}.games-filter__menu{position:relative}.games-filter__trigger{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--camon-border);border-radius:var(--radius-full);background:var(--camon-surface);font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--camon-muted);white-space:nowrap;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.games-filter__trigger:hover{border-color:var(--camon-pill-border)}.games-filter__trigger.is-active{border-color:var(--camon-ink);background:var(--camon-surface);color:var(--camon-ink)}.games-filter__chevron{flex-shrink:0;color:var(--camon-muted)}.games-filter__trigger.is-active .games-filter__chevron{color:var(--camon-ink)}.games-filter__pop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:184px;max-height:320px;overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.games-filter__opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:var(--fs-md);color:var(--camon-text);text-align:left;cursor:pointer}.games-filter__opt:hover{background:var(--camon-bg)}.games-filter__opt.is-selected{background:var(--camon-count-bg);color:var(--camon-ink);font-weight:600}.games-filter__opt-label{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.games-filter__opt-sub{font-size:var(--fs-sm);font-weight:400;color:var(--camon-muted)}.games-filter__opt-count{flex-shrink:0;font-size:var(--fs-sm);color:var(--camon-muted);font-variant-numeric:tabular-nums}.games-filter__opt.is-selected .games-filter__opt-count{color:var(--camon-muted)}.games-filter__applied{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.games-filter__count{font-size:var(--fs-md);color:var(--camon-muted)}.games-filter__count strong{color:var(--camon-text);font-weight:700}.games-filter__reset{border:none;background:none;padding:4px 2px;font-size:var(--fs-sm);color:var(--camon-muted);text-decoration:underline;cursor:pointer}.games-filter__reset:hover{color:var(--camon-text)}@media(max-width:600px){.page-games-header{flex-direction:column;align-items:flex-start}}.page-games .discovery-panel{margin-bottom:24px;transform:none}.page-games-results{position:relative;z-index:0;margin-bottom:40px}.page-games-results .card-grid{margin-top:0}.main-content:has(.page-games--map){max-width:none;padding:0;margin:0;background:var(--camon-surface);flex:1 1 auto;height:calc(100dvh - var(--topbar-h));max-height:calc(100dvh - var(--topbar-h));min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-games--map{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow:hidden;padding:var(--page-gutter);box-sizing:border-box}.page-games--map .page-games-header{flex:0 0 auto;margin-bottom:8px;gap:12px}.page-games--map .page-eyebrow,.page-games--map .page-subtitle{display:none}.page-games--map .page-title{font-size:22px;margin:0}.page-games--map .games-filter{flex:0 0 auto;margin-bottom:8px}.page-games--map .error-banner{flex:0 0 auto;margin:0 0 8px}.page-games--map .games-map-empty{flex:1 1 auto;min-height:0;display:grid;place-content:center;margin:0}.games-map-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.55fr);gap:var(--space-lg);align-items:stretch;flex:1 1 0;min-height:0;overflow:hidden}.games-map-skeleton{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.55fr);gap:var(--space-lg);flex:1 1 0;min-height:0;overflow:hidden}.games-map-skeleton__map{border-radius:var(--radius-lg);background:var(--camon-surface-2, #f7f7f7);animation:activity-pulse 1.2s ease-in-out infinite}.games-map-skeleton__list{display:flex;flex-direction:column;gap:12px;padding:16px 0;overflow:hidden}.games-map-skeleton__row{flex:0 0 auto;height:64px;border-radius:var(--radius-md);background:var(--camon-surface-2, #f7f7f7);animation:activity-pulse 1.2s ease-in-out infinite}@media(max-width:720px){.games-map-skeleton{grid-template-columns:1fr;grid-template-rows:minmax(0,36dvh) minmax(0,1fr)}}.games-map-panel{min-height:0;height:100%;overflow:hidden;border-radius:var(--radius-lg)}.games-map-panel.map-panel{min-height:0}.games-map-panel .venue-map,.games-map-panel .google-map-container,.games-map-panel .kakao-map-container,.games-map-panel .naver-map-container,.games-map-panel .map-provider-fallback{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important}.games-map-panel .map-panel-loading{position:absolute;top:0;right:0;bottom:0;left:0}.games-map-sidebar{display:flex;flex-direction:column;gap:0;min-height:0;height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--camon-surface)}.games-list-top{flex:0 0 auto;padding:16px 16px 0}.games-list-titlebar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:12px}.games-list-count{flex-shrink:0;font-size:var(--fs-sm);color:var(--camon-muted);white-space:nowrap}.games-list-count strong{color:var(--camon-text);font-weight:700}.games-create-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 16px;border-radius:var(--radius-full);font-size:var(--fs-lg);font-weight:600;margin-bottom:12px}.games-create-cta svg{flex-shrink:0}.games-list-top .games-filter{margin-bottom:var(--space-xl)}.games-map-sidebar__head{flex:0 0 auto;padding:12px 16px 10px;border-bottom:1px solid var(--camon-border)}.games-map-sidebar__head:has(.games-detail-head){border-bottom:none}.games-map-sidebar__title{margin:0 0 4px;font-size:16px;font-weight:500}.games-map-sidebar__hint{margin:0}.games-detail-head{display:flex;flex-direction:column;gap:6px}.games-detail-head__back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:0;border:none;background:none;font-size:var(--fs-sm);font-weight:400;color:var(--camon-muted);cursor:pointer}.games-detail-head__back svg{flex-shrink:0}.games-detail-head__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.games-detail-head__name{margin:0;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.games-detail-head__count{flex-shrink:0;font-size:var(--fs-sm);font-weight:400;color:var(--camon-muted);white-space:nowrap}.games-venue-list{list-style:none;margin:0;padding:8px;border-bottom:1px solid var(--camon-border);flex:0 0 auto}.games-venue-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.games-venue-list__item:hover{background:var(--camon-surface-muted, #f7f7f7)}.games-venue-list__item--active{border-color:var(--camon-brand);background:var(--camon-brand-light)}.games-venue-list__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.games-venue-list__main strong{font-size:var(--fs-lg);font-weight:700;color:var(--camon-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.games-venue-list__count{flex-shrink:0;font-size:12px;font-weight:700;color:var(--camon-brand-dark);white-space:nowrap}.games-map-sidebar__matches{flex:0 0 auto;padding:12px 16px 20px}.games-map-sidebar__prompt{margin:8px 0 0;text-align:center}.games-map-sidebar__matches-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.games-map-sidebar__matches-head h3{margin:0;font-size:15px;font-weight:700}.games-map-sidebar__cards{display:flex;flex-direction:column;gap:12px}.games-map-empty{margin-top:0;padding:32px 16px;text-align:center}@media(max-width:1024px){.page-games--map{padding:0}.games-map-layout{grid-template-columns:1fr;grid-template-rows:minmax(200px,36dvh) minmax(0,1fr)}.games-map-panel{grid-row:1;min-height:0;border-radius:0}.games-map-sidebar{grid-row:2;border-left:0;min-height:0}.games-create-cta{width:fit-content}.games-map-sidebar{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.games-list-top,.games-map-sidebar__head,.games-venue-list,.games-map-sidebar__matches{padding-left:0;padding-right:0}}.venue-filter-bar{margin-bottom:16px}.venue-filter-title{margin:0 0 10px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1a2420)}.discovery-scroll--venues{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.discovery-scroll--venues .discovery-tile--venue{flex:0 0 120px;width:120px;height:116px;min-height:116px;padding:0;gap:0;align-items:center;justify-content:center;box-sizing:border-box}.discovery-scroll--venues .discovery-tile-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:12px 10px 14px;box-sizing:border-box}.discovery-scroll--venues .discovery-tile--venue-all .discovery-tile-body{gap:10px;padding-bottom:16px}.discovery-scroll--venues .discovery-tile-icon{flex-shrink:0}.discovery-scroll--venues .discovery-tile-text{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:100%;min-width:0;min-height:2.35em;text-align:center}.discovery-scroll--venues .discovery-tile--venue-all .discovery-tile-text{min-height:0;justify-content:center}.discovery-scroll--venues .discovery-tile-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.3;text-align:center}.discovery-scroll--venues .discovery-tile-sub{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;text-align:center;font-weight:600;color:var(--camon-brand-dark)}.discovery-scroll--venues .discovery-tile-count{top:6px;right:6px;z-index:1}.page-eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--camon-label)}.page-title{margin:0 0 8px;font-size:1.75rem;font-weight:500;letter-spacing:-.03em}.page-subtitle{margin:0;color:var(--camon-muted)}.empty-actions{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.content-section{margin-bottom:40px}.auth-card--wide{max-width:520px}.auth-sub{margin:0 0 12px;font-size:14px;color:var(--camon-muted)}.register-steps{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--camon-muted)}.register-step.active{color:var(--camon-brand-dark)}.register-step-divider{flex:1;height:1px;background:var(--camon-border)}.register-actions{display:flex;gap:10px;margin-top:8px}.register-actions .btn{flex:1}.preference-picker{display:flex;flex-direction:column;gap:20px}.preference-group{border:none;margin:0;padding:0}.preference-group legend{display:flex;align-items:center;gap:8px;width:100%;font-weight:400;font-size:14px;margin-bottom:8px}.preference-hint{font-size:12px;font-weight:400;color:var(--camon-muted)}.preference-chips{display:flex;flex-wrap:wrap;gap:8px}.pref-chip{min-height:36px;padding:0 14px;border-radius:var(--radius-full);border:1px solid var(--camon-pill-border);background:var(--camon-surface);color:var(--camon-label);font-size:14px;font-weight:600;cursor:pointer}.profile-panel .pref-chip{border-color:var(--camon-border);color:var(--camon-muted);font-weight:500}.profile-panel .pref-chip.active{background:transparent;border-color:var(--camon-ink);color:var(--camon-ink)}.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.category-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--camon-border);background:var(--camon-surface);font-size:14px;font-weight:600;cursor:pointer;color:var(--camon-text)}.category-chip:hover{border-color:var(--camon-pill-border)}.category-chip.active,.category-chip--accent.active{background:color-mix(in srgb,var(--camon-brand-tint) 40%,#fff);border-color:var(--camon-brand);color:var(--camon-brand)}.category-chip--accent{border-color:var(--camon-brand)}.category-chip--link{background:transparent;color:var(--camon-brand-dark)}.category-chip-count{font-size:12px;padding:1px 7px;border-radius:999px;background:#0f172a14}.category-chip.active .category-chip-count{background:#fff3}.filter-clear-btn{margin-left:12px;border:none;background:none;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:600;cursor:pointer;font-size:14px}.game-detail-page{max-width:var(--content-max);margin:0 auto}.game-detail-back{display:inline-block;margin-bottom:16px}.game-detail-layout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.game-detail-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow-card)}.game-detail-hero .card-image-wrap{aspect-ratio:21 / 9;max-height:280px}.game-detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(to top,rgb(6 31 28 / .85) 0%,transparent 55%)}.game-detail-eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9;margin-bottom:8px}.game-detail-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.game-detail-header h1{margin:0 0 8px;font-size:1.75rem;line-height:1.25}.game-detail-venue-line{margin:0;font-size:1.05rem;color:var(--camon-muted)}.game-detail-header{margin-bottom:24px}.game-detail-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.game-detail-edit-btn{flex-shrink:0}.app-shell:has(.game-detail-page){background:var(--camon-surface)}.game-detail-section{margin-bottom:32px}.game-detail-section+.game-detail-section{border-top:1px solid var(--camon-border);padding-top:32px}.game-detail-section h2{margin:0 0 14px;font-size:1rem;font-weight:700;color:var(--camon-text)}.game-detail-dl{margin:0;display:flex;flex-direction:column;gap:14px}.game-detail-row{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start}.game-detail-row dt{margin:0;font-size:13px;font-weight:400;color:var(--camon-muted)}.game-detail-row dd{margin:0;font-size:15px;line-height:1.5;font-weight:400;color:var(--camon-text)}.game-detail-sub{display:block;margin-top:4px}.game-detail-capacity{display:flex;flex-direction:column;gap:8px}.game-detail-capacity-bar{height:8px;border-radius:999px;background:var(--camon-border);overflow:hidden}.game-detail-capacity-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--camon-brand),var(--camon-brand-dark));transition:width .3s ease}.game-detail-capacity-text{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.game-detail-spots-open{font-weight:600;color:var(--camon-brand-dark)}.game-detail-venue-card{padding:18px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface)}.game-detail-venue-name{margin:0 0 6px;font-size:1.1rem;font-weight:700}.game-detail-venue-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.game-detail-policy-note{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--camon-muted)}.game-detail-venue-links{display:flex;flex-wrap:wrap;gap:8px}.game-detail-sidebar{position:sticky;top:calc(var(--topbar-h) + 24px)}.game-detail-join-card{padding:22px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface);box-shadow:var(--shadow-card)}.game-detail-join-card h2{margin:0 0 12px;font-size:1.1rem}.game-detail-join-price{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:var(--camon-court)}.game-detail-join-price span{font-size:1rem;font-weight:600;color:var(--camon-muted);margin-left:4px}.game-detail-join-meta{margin-bottom:8px!important}.game-detail-hint{margin:16px 0;font-size:13px;line-height:1.55;color:var(--camon-muted)}.game-detail-join-actions{display:flex;flex-direction:column;gap:8px}.game-detail-host-leave-hint{margin:8px 0 0;text-align:center;line-height:1.45}.game-detail-chat-link{display:inline-block;margin-top:14px;font-size:14px}@media(max-width:960px){.game-detail-layout{grid-template-columns:1fr}.game-detail-sidebar{position:static}.game-detail-row{grid-template-columns:1fr;gap:4px}}.game-detail-host{display:flex;align-items:center;gap:12px;border-top:1px solid var(--camon-border);padding-top:32px}.game-detail-host-name{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:400;color:var(--camon-text)}.game-detail-host-level{margin:4px 0 0;font-size:14px;color:var(--camon-muted)}.match-host-card{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:.5px solid var(--camon-line);border-bottom:.5px solid var(--camon-line)}.match-host-card--compact{padding:14px 0}.match-host-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--camon-brand-light);display:flex;align-items:center;justify-content:center}.match-host-card--compact .match-host-avatar{width:44px;height:44px}.match-host-avatar img{width:100%;height:100%;object-fit:cover}.match-host-initials{font-size:.95rem;font-weight:700;color:var(--camon-brand)}.match-host-body{flex:1;min-width:0}.match-host-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.match-host-name-row strong{font-size:1.05rem}.match-host-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.match-host-note{margin:8px 0 0;font-size:.875rem;color:var(--text-muted, #666666);line-height:1.45}.game-create-page{max-width:var(--content-max);margin:0 auto;background:var(--camon-surface)}.page-header{margin:8px 0 24px}.page-header__back{display:inline-block;margin-bottom:12px;color:var(--camon-muted);text-decoration:none}.page-header .page-title{margin-bottom:4px}.page-header .page-subtitle{font-size:var(--fs-md);color:var(--camon-muted)}.game-create-stepbar{display:flex;gap:6px;margin-top:14px}.game-create-stepbar__seg{flex:1;height:3px;border-radius:var(--radius-full);background:var(--camon-border)}.game-create-stepbar__seg.is-active{background:var(--camon-brand)}.game-create-layout{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:28px;align-items:start}.game-create-form{display:flex;flex-direction:column;gap:24px}.game-create-section{padding:20px 22px}.game-create-section--flat{border:none;padding-left:0;padding-right:0}.game-create-section h2{margin:0 0 16px;font-size:1rem;font-weight:600}.game-create-venue-preview{display:grid;grid-template-columns:120px 1fr;gap:14px;margin-bottom:16px;align-items:center}.game-create-venue-preview .card-image-wrap{border-radius:10px;height:72px}.game-create-venue-name{margin:0 0 4px;font-weight:600}.game-create-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.game-create-field:last-child{margin-bottom:0}.game-create-field span{font-size:.875rem;font-weight:500;color:var(--text-muted, #666666)}.game-create-field input,.game-create-field select,.game-start-datetime-picker__trigger{width:100%;height:48px;padding:0 16px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface);font-size:1rem}.game-start-datetime-picker{position:relative}.game-start-datetime-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:inherit;color:var(--camon-ink);cursor:pointer;text-align:left}.game-start-datetime-picker__trigger:focus-visible{outline:2px solid var(--camon-brand);outline-offset:2px}.game-start-datetime-picker__pop{position:absolute;top:calc(100% + 8px);left:0;z-index:60;display:flex;align-items:flex-start;gap:12px}@media(max-width:900px){.game-start-datetime-picker__pop{flex-direction:column;max-width:calc(100vw - 48px)}}.game-create-form input[type=number]::-webkit-outer-spin-button,.game-create-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.game-create-form input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.game-create-page .form-chip-select legend,.game-create-page .pref-chip,.game-create-page .game-create-schedule-readonly .game-create-schedule-value{font-weight:500}.game-create-page .game-create-field input[type=number]{max-width:200px}.game-create-page .game-create-stepper{display:inline-flex;align-items:center;gap:var(--space-sm)}.game-create-page .game-create-stepper__btn{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--camon-pill-border);background:var(--camon-surface);color:var(--camon-ink);font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.game-create-page .game-create-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.game-create-page .game-create-stepper__input{width:64px;height:44px;padding:0 var(--space-sm);text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.game-create-page .game-create-stepper__input::-webkit-outer-spin-button,.game-create-page .game-create-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.game-create-page .game-create-stepper__unit{color:var(--camon-muted);font-size:.9rem;font-weight:400}.game-create-page .game-create-field input:focus,.game-create-page .game-create-field input:focus-visible{outline:2px solid var(--camon-ink);outline-offset:2px}.game-create-page .game-create-stepper__btn:focus-visible{outline:2px solid var(--camon-ink);outline-offset:2px}.game-create-page .game-create-field{gap:var(--space-sm)}.game-create-page .form-chip-select legend{margin-bottom:var(--space-sm)}.game-create-page .form-chip-select__hint{margin:calc(-1 * var(--space-xs)) 0 var(--space-sm)}.game-create-page .game-create-field>span:not(.field-hint),.game-create-page .game-cover-upload .form-label,.game-create-page .form-chip-select legend{font-size:1rem;font-weight:400;color:var(--camon-text)}.game-create-page .game-create-step-toolbar--details{margin-bottom:var(--space-xl)}.game-create-page .game-create-section>.game-create-field,.game-create-page .game-create-section>.form-chip-select,.game-create-page .game-create-section>.game-cover-upload{margin:0 0 var(--space-xl);padding-bottom:var(--space-xl)}.game-create-fee-box{margin:var(--space-md) 0 var(--space-xl);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--camon-bg);color:var(--camon-muted);text-align:center;font-size:var(--fs-2xs);font-weight:400}.game-create-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.game-create-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px}.game-create-aside-card{padding:18px 20px}.game-create-aside-card h2{margin:0 0 14px;font-size:1rem;font-weight:600}.game-create-preview-title{margin:0 0 4px;font-size:1.1rem;font-weight:600}.game-create-preview-list{margin:12px 0 0;padding-left:1.1rem;font-size:.9rem;color:var(--text-muted, #666666);line-height:1.6}.game-create-fee-note{margin:0;font-size:var(--fs-2xs);font-weight:400;color:var(--camon-muted)}.game-create-preview>h2{font-weight:400;color:var(--camon-muted)}.game-create-progress-row{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;font-size:.9rem;color:var(--camon-text)}.game-create-progress-row svg{flex-shrink:0;color:var(--camon-muted);margin-top:calc((1lh - 16px)/2)}.game-create-cta{margin-top:16px;padding-top:16px}.game-create-cta__nav .btn-secondary{margin-right:auto}@media(max-width:900px){.game-create-layout{grid-template-columns:1fr}.game-create-aside{position:static}.game-create-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;margin-top:0;background:var(--camon-surface);border:none;box-shadow:0 -2px 8px #0000000f;border-radius:0;padding:12px var(--page-gutter);padding-bottom:max(12px,env(safe-area-inset-bottom))}.game-create-page{padding-bottom:88px}.venue-slot-selection-bar.game-create-slots__selection{position:static}.game-create-field-row,.game-create-venue-preview{grid-template-columns:1fr}}.venue-detail-page{max-width:var(--content-max);margin:0 auto}.venue-detail-back{display:inline-block;margin-bottom:16px}.venue-detail-hero.venue-photo-gallery{margin-bottom:20px}.venue-photo-gallery{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:#222}.venue-photo-gallery__viewport{position:relative;background:#222}.venue-photo-gallery__track{display:flex;align-items:center;gap:10px;min-height:200px;padding:12px;box-sizing:border-box}.venue-photo-gallery--one .venue-photo-gallery__track,.venue-photo-gallery--two .venue-photo-gallery__track{justify-content:center;overflow:hidden}.venue-photo-gallery--many .venue-photo-gallery__track{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-inline:8px}.venue-photo-gallery--many .venue-photo-gallery__track::-webkit-scrollbar{display:none}.venue-photo-gallery--many .venue-photo-gallery__track:focus-visible{outline:2px solid var(--camon-brand);outline-offset:-2px}.venue-photo-gallery__slide{flex:0 0 auto;height:280px;max-height:320px;margin:0;display:flex;align-items:center;justify-content:center}.venue-photo-gallery--one .venue-photo-gallery__slide{max-width:100%}.venue-photo-gallery--two .venue-photo-gallery__slide{max-width:calc(50% - 5px)}.venue-photo-gallery--many .venue-photo-gallery__slide{scroll-snap-align:start}.venue-photo-gallery__slide img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block;vertical-align:middle}.venue-photo-gallery__counter{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:#0f172aa6;pointer-events:none;z-index:1}.venue-photo-gallery__badge{position:absolute;left:12px;bottom:12px;z-index:1;pointer-events:none;display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-sm);font-weight:400}.venue-photo-gallery__badge svg{flex-shrink:0}.venue-photo-gallery__dots{display:flex;justify-content:center;gap:8px;padding:10px 12px;background:var(--camon-surface);border-top:1px solid var(--camon-border)}.venue-photo-gallery__dot{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:var(--camon-border);cursor:pointer;transition:transform .15s ease,background .15s ease}.venue-photo-gallery__dot--active{background:var(--camon-brand);transform:scale(1.25)}.venue-photo-gallery__dot:focus-visible{outline:2px solid var(--camon-brand);outline-offset:2px}.venue-photo-gallery__main{position:relative;aspect-ratio:16 / 10;max-height:320px;background:#e4e4e4}.venue-photo-gallery__main img{width:100%;height:100%;object-fit:contain;display:block}.venue-photo-gallery__thumbs{display:none}.venue-photo-grid-hint{margin:0 0 12px}.venue-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.venue-photo-grid__item{position:relative;display:block;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--camon-border)}.venue-photo-grid__item img{width:100%;height:100%;object-fit:cover}.venue-photo-grid__label{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;background:var(--camon-brand-dark)}.venue-detail-header h1{margin:0 0 8px;font-size:1.75rem}.venue-detail-header .page-title{margin-bottom:2px;line-height:1.15}.venue-detail-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--camon-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.venue-detail-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:400;color:var(--camon-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.venue-detail-tab--active{color:var(--camon-ink);border-bottom-color:var(--camon-ink)}.venue-detail-tab__count{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--camon-brand-light);color:var(--camon-brand-dark)}.venue-detail-panel{display:flex;flex-direction:column;gap:20px}.venue-detail-panel--info{max-width:var(--content-read)}@media(min-width:900px){.venue-detail-panel--reviews{display:grid;grid-template-columns:minmax(260px,300px) 1fr;gap:24px;align-items:start}.venue-detail-panel--reviews .venue-summary-card{position:sticky;top:16px}}.venue-summary-card{padding:18px 20px}.venue-summary-card--compact{padding:14px 16px}.venue-summary-card__eyebrow{margin:0 0 12px;font-size:var(--fs-lg);font-weight:500;color:var(--camon-text)}.venue-summary-card__rating{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--camon-border)}.venue-summary-card__rating-btn{border:none;background:none;padding:0;font:inherit;cursor:pointer;text-align:left}.venue-summary-card__rating-btn:disabled{cursor:default}.venue-summary-card__reviews-link{margin-left:auto;font-size:13px}.venue-summary-card__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin:0}.venue-summary-card__facts>div{display:flex;gap:12px;align-items:flex-start;min-width:0}.venue-summary-fact__icon{flex-shrink:0;color:var(--camon-ink)}.venue-summary-fact__icon svg{width:24px;height:24px;display:block}.venue-summary-fact__text{display:flex;flex-direction:column;gap:2px;min-width:0}.venue-summary-card__facts dt{margin:0;font-size:12px;font-weight:400;color:var(--camon-muted)}.venue-summary-card__facts dd{margin:0;font-size:14px;font-weight:500;line-height:1.35}.venue-summary-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}.venue-summary-card__chips li{font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);background:var(--camon-count-bg);color:var(--camon-label);border:.5px solid var(--camon-line)}.venue-summary-card__distance{margin:12px 0 0;font-size:13px;font-weight:400;color:var(--camon-muted)}.venue-summary-card__actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--camon-border);align-items:flex-start}.venue-info-extra{display:flex;flex-direction:column;gap:12px;margin-top:16px}.venue-map-links{display:flex;flex-wrap:wrap;gap:8px}.venue-map-link{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-full);font-weight:500}.venue-map-link__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.venue-map-link__icon svg{width:18px;height:18px;display:block}.venue-facility-accordion{display:flex;flex-direction:column;gap:8px}.venue-facility-accordion__item{border:1px solid var(--camon-border);border-radius:var(--radius-md);background:var(--camon-surface);overflow:hidden}.venue-facility-accordion__item[open]{border-color:var(--camon-brand-light);box-shadow:var(--shadow-card)}.venue-facility-accordion__summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:600}.venue-facility-accordion__summary::-webkit-details-marker{display:none}.venue-facility-accordion__label{flex:1;font-size:15px}.venue-facility-accordion__badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--camon-brand-light);color:var(--camon-brand-dark)}.venue-facility-accordion__body{padding:0 16px 16px;border-top:1px solid var(--camon-border)}.venue-facility-accordion__media{margin-top:12px}.venue-reviews-page{display:flex;flex-direction:column;gap:16px;min-width:0}.venue-reviews-page__hero{padding:20px}.venue-reviews-page__score{display:flex;align-items:center;gap:16px}.venue-reviews-page__score-value{font-size:2.5rem;font-weight:700;line-height:1;color:var(--camon-brand-dark);min-width:3.5rem}.venue-reviews-page__compose-cta{margin-top:0}.review-compose__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.review-card__more{margin-top:4px;font-size:13px}.venue-description{line-height:1.6;white-space:pre-wrap;margin:0}.venue-facilities-guide{padding:0}.venue-facility-overview{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none}.venue-facility-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:999px;background:var(--camon-surface);border:1px solid var(--camon-border);font-size:13px;font-weight:600;color:var(--camon-text)}.venue-facility-chip--photo{border-color:var(--camon-brand-light);background:var(--camon-brand-light)}.venue-facility-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:none;color:var(--camon-ink);flex-shrink:0}.venue-facility-icon svg{width:22px;height:22px}.venue-facility-icon--xs{width:28px;height:28px;border-radius:8px}.venue-facility-icon--xs svg{width:16px;height:16px}.venue-facility-icon--sm{width:36px;height:36px;border-radius:10px;margin-bottom:10px}.venue-facility-icon--sm svg{width:20px;height:20px}.venue-facility-list{list-style:none;margin:0;padding:0}.venue-facility-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--camon-border)}.venue-facility-row:last-child{border-bottom:0}.venue-facility-row .venue-facility-icon{width:24px;height:24px;border-radius:0;margin:0}.venue-facility-row .venue-facility-icon svg{width:24px;height:24px}.venue-facility-row__text{min-width:0}.venue-facility-row__label{margin:0;font-size:15px;font-weight:500;color:var(--camon-ink)}.venue-facility-row__desc{margin:3px 0 0;font-size:13px;color:var(--camon-muted);line-height:1.5}.venue-facility-showcase{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.venue-facility-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;border:1px solid var(--camon-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--camon-surface)}.venue-facility-feature__media{display:flex;flex-direction:column;min-width:0;background:#222}.venue-facility-feature__hero{display:block;position:relative;aspect-ratio:4 / 3;overflow:hidden}.venue-facility-feature__hero img{width:100%;height:100%;object-fit:cover}.venue-facility-feature__counter{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:#0f172ab8}.venue-facility-feature__thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto;background:#f2f2f2}.venue-facility-feature__thumb{flex:0 0 56px;width:56px;height:44px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:transparent}.venue-facility-feature__thumb--active{border-color:var(--camon-brand)}.venue-facility-feature__thumb img{width:100%;height:100%;object-fit:cover}.venue-facility-feature__body{display:flex;flex-direction:column;justify-content:center;padding:20px;min-width:0}.venue-facility-feature__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.venue-facility-feature__head h3{margin:0;font-size:1.05rem}.venue-facility-feature__meta{margin:4px 0 0;font-size:12px;color:var(--camon-muted)}.venue-facility-feature__desc{margin:0;line-height:1.65;color:var(--camon-text);white-space:pre-wrap}.venue-facility-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.venue-facility-tile{padding:16px;border:1px solid var(--camon-border);border-radius:var(--radius-md);background:var(--camon-surface)}.venue-facility-tile h3{margin:0 0 6px;font-size:.95rem}.venue-facility-tile p{margin:0;font-size:13px;line-height:1.55;color:var(--camon-muted);white-space:pre-wrap}@media(max-width:768px){.venue-facility-feature{grid-template-columns:1fr}.venue-facility-feature__body{padding:16px}}@media(max-width:640px){.venue-facilities-guide{padding:0}.venue-photo-gallery__slide{height:220px;max-height:240px}}.venue-info-card{margin-top:16px;padding:20px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface);box-shadow:var(--shadow-card)}.venue-info-location{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--camon-border)}.venue-info-location-label{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--camon-muted)}.venue-info-address{margin:0;font-size:16px;font-weight:600;line-height:1.45;color:var(--camon-text)}.venue-info-distance{margin:8px 0 0;font-size:14px;font-weight:600;color:var(--camon-brand-dark)}.venue-info-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px;margin:0}.venue-info-fact{display:flex;flex-direction:column;gap:4px;min-width:0}.venue-info-fact dt{margin:0;font-size:12px;font-weight:500;color:var(--camon-muted)}.venue-info-fact dd{margin:0;font-size:15px;font-weight:600;line-height:1.4;color:var(--camon-text)}.venue-info-callout{margin-top:16px;padding:0;background:transparent;border-left:none;border-radius:0}.venue-info-callout-title{margin:0 0 4px;font-size:12px;font-weight:500;color:var(--camon-muted)}.venue-info-callout-body{margin:0;font-size:14px;line-height:1.55;color:var(--camon-muted)}.venue-info-link{color:var(--camon-brand);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;word-break:break-all}.venue-info-link:hover{text-decoration:underline}.venue-info-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--camon-border)}.date-strip-picker-wrap{margin-bottom:4px}.date-strip-bar{position:relative;padding:12px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface)}.date-cal__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.date-cal__month{font-size:16px;font-weight:600;color:var(--camon-ink);letter-spacing:-.01em}.date-cal__more-wrap{position:relative}.date-cal__calbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:var(--radius-md);background:none;color:var(--camon-ink);cursor:pointer}.date-cal__calbtn:hover,.date-cal__calbtn.active{background:var(--camon-count-bg)}.date-cal__row{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.date-cal__cell{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0;border:0;background:none;cursor:pointer}.date-cal__cell:disabled{cursor:default}.date-cal__wd{font-size:13px;font-weight:400;color:var(--camon-muted)}.date-cal__wd--weekend{color:#ef4444}.date-cal__num-wrap{position:relative;display:flex;align-items:center;justify-content:center}.date-cal__mark{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:9px;font-weight:400;color:var(--camon-subtle);white-space:nowrap}.date-cal__num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:16px;font-weight:400;color:var(--camon-ink)}.date-cal__cell:hover:not(:disabled) .date-cal__num:not(.date-cal__num--selected){background:var(--camon-count-bg)}.date-cal__num--selected{background:var(--camon-ink);color:#fff;font-weight:500}.date-cal__num--past{color:var(--camon-pill-border);text-decoration:line-through}.date-strip-hint{margin:0 0 10px;font-size:12px}.date-strip-outside{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--camon-brand-light);border:1px solid var(--camon-brand)}.date-strip-outside-text{display:flex;flex-direction:column;gap:2px}.date-strip-outside-label{font-size:12px;font-weight:600;color:var(--camon-brand-dark)}.date-strip-outside-text strong{font-size:16px;color:var(--camon-text)}.venue-detail-section{margin-top:28px}.venue-detail-section--open-play .venue-open-play-grid{margin-top:8px}.venue-open-play-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.venue-open-play-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.venue-detail-section>h2{margin:0 0 12px;font-size:var(--fs-lg);font-weight:500;color:var(--camon-text)}.court-vacancy-watch__title{margin:0 0 4px;font-size:var(--fs-lg);font-weight:500;color:var(--camon-text)}.court-vacancy-watch__cta{border-radius:var(--radius-full);font-weight:500}.venue-detail-vacancy-watch{margin-top:20px;padding-top:20px;padding-bottom:var(--space-xl);border-top:1px solid var(--camon-border)}.venue-detail-panel--info .venue-summary-card{padding-top:4px;padding-left:0;padding-right:0}.venue-detail-panel--info .venue-info-panel>.venue-detail-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--camon-border)}.venue-detail-section-head{margin-bottom:14px}.venue-detail-section-head h2{margin:0 0 4px;font-size:var(--fs-lg);font-weight:500}.venue-detail-selected-day{margin:0}.venue-detail-slots-summary{margin:14px 0 18px;font-size:14px;font-weight:600;color:var(--camon-brand-dark)}.venue-detail-page .venue-detail-slots-summary{color:var(--camon-ink);font-weight:400}.venue-detail-empty{padding:32px 16px;text-align:center;color:var(--camon-muted);border:1px dashed var(--camon-border);border-radius:var(--radius-lg)}.venue-detail-court-block{margin-bottom:24px}.venue-detail-court-title{margin:0 0 10px;font-size:15px;font-weight:700}.venue-detail-slot-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.venue-detail-slot-grid .venue-slot-card.available:not(.selected):hover{border-color:var(--camon-subtle);background:var(--camon-count-bg)}.venue-slot-card{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1px;min-height:58px;padding:14px 10px 12px}.venue-slot-card>.ui-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:1}.venue-slot-card .venue-slot-footer>.ui-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:1}.venue-slot-card--open-match .venue-slot-footer>.ui-badge,.venue-slot-card--open-match>.ui-badge{position:static;transform:none}.venue-slot-endrange{font-size:11px;font-weight:400;color:var(--camon-muted);line-height:1.2;text-align:center}.venue-slot-price-note{margin:0 0 10px;font-size:13px;color:var(--camon-muted)}.venue-slot-footer{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding-top:4px}.venue-slot-footer--open-match{padding-top:8px;margin-top:6px;border-top:1px solid color-mix(in srgb,var(--camon-brand) 28%,#e4e4e4)}.venue-slot-open-match-badge{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--camon-brand) 14%,#fff);color:var(--camon-brand)}.venue-slot-footer-cta{margin-top:2px;text-align:center;font-size:11px;font-weight:700;line-height:1.3;color:var(--camon-brand)}.venue-slot-price--muted{color:#9c9c9c;font-weight:500}.venue-slot-open-match-spots{font-weight:600}.venue-slot-time{font-size:15px;font-weight:400;color:var(--camon-ink);text-align:center;line-height:1.25}.venue-slot-meta{font-size:12px;color:var(--camon-ink)}.venue-slot-price{font-size:14px;font-weight:400;color:var(--camon-ink);margin-top:auto}.venue-slot-badge{align-self:flex-start;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);background:var(--camon-accent-warn);color:#fff}.venue-slot-badge-muted{background:var(--camon-border);color:var(--camon-muted)}.venue-slot-card.unavailable{background:#f2f2f2;border-color:#c7c7c7;border-style:dashed;box-shadow:none}.venue-slot-card--watchable{cursor:pointer}.venue-slot-card--watchable:hover{border-color:var(--camon-pill-border)}.venue-slot-card--watching{border-color:var(--camon-border)}.venue-slot-status.venue-slot-status--watch,.venue-slot-status.venue-slot-status--watching{align-self:flex-start;font-weight:400}.venue-slot-status--watch{background:var(--camon-count-bg);color:var(--camon-muted)}.venue-slot-status--watching{background:var(--camon-brand);color:#fff}.venue-slot-card.unavailable:hover{border-color:#c7c7c7}.venue-slot-card.unavailable.venue-slot-card--sold-out{background:transparent;border-style:solid;opacity:.55}.venue-slot-card--open-match{cursor:pointer;border-color:color-mix(in srgb,var(--camon-brand) 45%,#c7c7c7);background:color-mix(in srgb,var(--camon-brand) 8%,#fff)}.venue-slot-card--open-match:hover{border-color:var(--camon-brand);background:var(--camon-brand-light)}.venue-slot-card--open-match-merged{min-height:112px}.venue-slot-card--open-match-merged .venue-slot-time{font-size:15px;line-height:1.25}.venue-slot-status--open-match{background:var(--camon-brand);color:#fff}.venue-slot-open-match-title{display:block;font-size:.8125rem;font-weight:700;color:var(--camon-ink, #222222);line-height:1.25;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venue-slot-card.unavailable .venue-slot-time{color:#484848;font-weight:600}.venue-slot-card.unavailable .venue-slot-meta{color:#6c6c6c}.venue-slot-card.unavailable .venue-slot-price{color:#9c9c9c;font-weight:500}.ui-badge{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:3px 8px;border-radius:var(--radius-full);border:1px solid transparent;font-size:11px;font-weight:400;line-height:1;white-space:nowrap}.venue-slot-card .ui-badge--sale,.venue-slot-card .ui-badge--action,.venue-slot-card .ui-badge--status{align-self:center}.ui-badge__icon{flex-shrink:0}.ui-badge--sale{background:var(--camon-accent-warn);color:#fff}.ui-badge--status{background:transparent;border-color:var(--camon-pill-border);color:var(--camon-muted)}.ui-badge--muted{background:var(--camon-count-bg);color:var(--camon-muted)}.venue-slot-status{align-self:stretch;text-align:center;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.03em;padding:3px 10px;border-radius:var(--radius-full)}.venue-slot-status--sold-out{background:#484848;color:#fff}.venue-slot-status--past{background:#e4e4e4;color:#484848;border:1px solid #c7c7c7}.venue-detail-slots-hint{margin:0 0 12px}.venue-slot-selection-bar{position:sticky;bottom:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.venue-slot-selection-bar__info{display:flex;flex-direction:column;gap:4px;min-width:0}.venue-slot-selection-bar__warn{font-size:.8125rem;color:var(--camon-accent-warn)}.venue-slot-selection-bar__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.venue-booking-summary__cta{display:flex;gap:8px;margin-top:14px}.venue-booking-summary__cta .btn-primary{flex:1;min-width:150px}.venue-booking-layout .game-create-aside-card h2{font-weight:400}.venue-summary-price{margin:8px 0 0;font-size:1rem;font-weight:400;color:var(--camon-text)}.venue-summary-timehint{margin-top:8px}.venue-booking-mobile-bar{display:none}@media(max-width:900px){.venue-booking-layout .game-create-aside{display:none}.venue-booking-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px var(--page-gutter);padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--camon-surface);box-shadow:0 -2px 8px #0000000f}.venue-booking-mobile-bar__info{display:flex;flex-direction:column;min-width:0}.venue-booking-mobile-bar .btn-primary{flex-shrink:0}.venue-detail-page{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}.checkout-view{position:fixed;inset:var(--topbar-h) 0 0 0;z-index:40;background:var(--camon-surface);overflow-y:auto;display:flex;flex-direction:column}.checkout-card{padding:20px;margin-bottom:16px}.checkout-view__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;width:100%;max-width:1120px;margin:0 auto;box-sizing:border-box;padding:20px var(--page-gutter) 8px;background:var(--camon-surface)}.checkout-view__back{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--camon-border);background:var(--camon-surface);color:var(--camon-ink);cursor:pointer}.checkout-view__back:hover{background:var(--camon-bg)}.checkout-view__title{margin:0;font-size:1.15rem;font-weight:600}.checkout-view__grid{flex:1;width:100%;max-width:1120px;margin:0 auto;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;padding:12px var(--page-gutter) 48px;align-items:start}.checkout-section-title{margin:0 0 12px;font-size:1rem;font-weight:600}.checkout-pay__method{margin:0;font-weight:500;color:var(--camon-text)}.checkout-pay__note{margin:4px 0 0;font-size:13px;color:var(--camon-muted)}.checkout-coupon__row{display:flex;align-items:center;gap:8px;margin-top:6px}.checkout-coupon__row input{flex:1;max-width:320px;padding:10px 14px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface)}.checkout-result{margin-top:20px}.checkout-view__summary{position:sticky;top:84px;border:1px solid var(--camon-border);border-radius:var(--radius-lg);padding:20px;background:var(--camon-surface)}.checkout-view__summary .booking-drawer-summary{border:none;padding:0;margin:0;background:transparent;box-shadow:none}.checkout-view__summary strong{font-weight:400;color:var(--camon-text)}.checkout-view__summary .booking-drawer-summary__label{color:var(--camon-muted)}.checkout-refund{margin-top:14px;padding-top:14px;border-top:1px solid var(--camon-border)}.checkout-refund .card-meta{font-size:13px}.checkout-price-rows{margin-top:14px;padding-top:14px;border-top:1px solid var(--camon-border)}.checkout-price-row{display:flex;justify-content:space-between;gap:12px;font-weight:400;color:var(--camon-text)}.checkout-price-row+.checkout-price-row{margin-top:8px}.checkout-price-row--total{font-weight:500}.checkout-view__footer{margin-top:20px}@media(max-width:900px){.checkout-view__grid{grid-template-columns:1fr;gap:20px}.checkout-view__summary{position:static}}.date-strip-row{display:flex;align-items:flex-start;gap:8px}.date-strip-scroll{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.date-strip-more-wrap{position:relative;flex-shrink:0}.date-strip-calendar-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;animation:date-popover-in .15s ease-out}.date-strip-picker-wrap--compact .date-strip-calendar-popover{top:0;bottom:auto}@keyframes date-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inline-calendar{display:flex;flex-direction:column;gap:var(--space-sm);width:406px;max-width:calc(100vw - 32px);padding:33px;border:1px solid rgb(229 231 235 / .85);border-radius:32px;background:var(--camon-surface);box-shadow:0 24px 24px #00000024,0 0 .5px #0000000a}.inline-calendar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px}.inline-calendar-title{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 10px;border:none;background:none;font-family:inherit;cursor:pointer}.inline-calendar-month{font-size:var(--fs-md);font-weight:700;color:var(--camon-text)}.inline-calendar-title__chevron{width:16px;height:16px;flex-shrink:0;color:var(--camon-text);transition:transform .15s ease}.inline-calendar-title--open .inline-calendar-title__chevron{transform:scaleY(-1)}.inline-calendar-nav-group{display:inline-flex;align-items:center;gap:var(--space-md)}.inline-calendar-nav{display:inline-flex;padding:0;border:none;background:none;cursor:pointer;color:var(--camon-text)}.inline-calendar-nav:disabled{opacity:.3;cursor:not-allowed}.inline-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.inline-calendar-weekday{text-align:center;font-size:var(--fs-xs);font-weight:400;color:var(--camon-muted)}.inline-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.inline-calendar-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid transparent;border-radius:999px;background:transparent;font-size:var(--fs-md);font-weight:500;cursor:pointer;font-family:inherit;color:var(--camon-text)}.inline-calendar-day:hover:not(:disabled){background:var(--camon-border)}.inline-calendar-day.other-month{color:#d4d4d4}.inline-calendar-day.today{border-color:var(--camon-text);font-weight:700}.inline-calendar-day.selected{background:var(--camon-brand);color:#fff;font-weight:700;border-color:var(--camon-brand)}.inline-calendar-day.selected.today{border-color:var(--camon-brand)}.inline-calendar-day:disabled{opacity:.5;cursor:not-allowed}.inline-calendar-footer{display:flex;align-items:center;justify-content:flex-start}.inline-calendar-footer__btn{height:36px;padding:0 15px;border:1px solid var(--camon-border);border-radius:999px;background:#ffffffb3;font-family:inherit;font-size:var(--fs-md);font-weight:400;color:var(--camon-text);cursor:pointer}.inline-calendar-footer__btn:hover{background:var(--camon-bg)}.inline-calendar-years{display:flex;align-items:center}.inline-calendar-year{height:36px;padding:0 15px;border:1px solid var(--camon-border);border-radius:999px;background:#ffffffb3;font-family:inherit;font-size:var(--fs-md);font-weight:400;color:var(--camon-text);cursor:pointer}.inline-calendar-year:hover{background:var(--camon-bg)}.inline-calendar-year--active{border-color:#000;cursor:default}.inline-calendar-months{flex:1 1 auto;min-height:291px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:6px}.inline-calendar-month-cell{display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;background:transparent;font-family:inherit;font-size:var(--fs-md);font-weight:500;color:#2b2b2b;cursor:pointer}.inline-calendar-month-cell:hover:not(:disabled){background:var(--camon-border)}.inline-calendar-month-cell:disabled{color:#d4d4d4;cursor:not-allowed}.inline-calendar-month-cell.selected{background:var(--camon-brand);color:#fff;font-weight:700;box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -2px #3b82f61a}.date-strip-scroll::-webkit-scrollbar{height:4px}.date-strip-chip{flex:0 0 auto;min-width:72px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--camon-border);background:#fff;cursor:pointer;text-align:center;scroll-snap-align:center;font-family:inherit;transition:border-color .15s,background .15s}.date-strip-chip-more{border-style:dashed;background:#00b4a80a}.date-strip-weekday-more{font-size:18px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.date-strip-chip:hover{border-color:var(--camon-pill-border)}.date-strip-chip.active{background:#fff;border-color:var(--camon-ink);color:var(--camon-ink)}.date-strip-weekday{display:block;font-size:11px;font-weight:500;color:var(--camon-muted);text-transform:uppercase}.date-strip-chip.active .date-strip-weekday{color:var(--camon-ink)}.date-strip-label{display:block;font-size:14px;font-weight:500;margin-top:2px}.date-strip-picker-wrap--compact .date-strip-more-wrap{align-self:stretch;display:flex;align-items:center}.date-strip-picker-wrap--compact .date-strip-bar{padding:0;border:none;border-radius:0;background:none}.game-create-slots .venue-detail-slots-summary{padding-bottom:var(--space-xl);margin-bottom:var(--space-xl);border-bottom:1px solid var(--camon-border);font-weight:400;color:var(--camon-text)}.game-create-slots .venue-detail-court-title{font-weight:400}.date-strip-picker-wrap--compact .date-strip-outside{display:none}.date-strip-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:none;color:var(--camon-ink);cursor:pointer}.date-strip-icon-btn:focus-visible{outline:none;background:var(--camon-count-bg)}@media(max-width:640px){.venue-info-facts{grid-template-columns:1fr}}.app-shell:has(.chat-shell){height:100dvh;max-height:100dvh;overflow:hidden}.main-content:has(.chat-shell){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:12px var(--page-gutter) 16px}.chat-shell{display:grid;grid-template-columns:320px 1fr;grid-template-rows:minmax(0,1fr);gap:0;flex:1;min-height:0;height:100%;width:100%;max-width:none;border:1px solid var(--camon-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--camon-surface);box-shadow:var(--shadow-card)}.chat-sidebar{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;border-right:1px solid var(--camon-border);background:#fafafa}.chat-sidebar-header{flex:0 0 auto;padding:18px 16px 12px;border-bottom:1px solid var(--camon-border)}.chat-sidebar-header h1{margin:0;font-size:1.25rem}.chat-sidebar-empty{padding:24px 16px;color:var(--camon-muted);font-size:14px}.chat-room-list{list-style:none;margin:0;padding:8px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.chat-room-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:background .15s}.chat-room-item:hover{background:#00b4a814}.chat-room-item.active{background:var(--camon-brand-light);border:1px solid var(--camon-brand)}.chat-room-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--camon-brand),var(--camon-brand-dark))}.chat-room-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chat-room-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.chat-room-title{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-time{flex:0 0 auto;font-size:11px;color:var(--camon-muted)}.chat-room-preview{font-size:13px;color:var(--camon-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-main{display:flex;flex-direction:column;min-height:0;height:100%;min-width:0;overflow:hidden;background:#f5f5f5}.chat-main-empty,.chat-main-loading{margin:auto;text-align:center;padding:48px 24px}.chat-main-empty-title{margin:0 0 8px;font-size:1.1rem;font-weight:700}.chat-conversation{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.chat-conversation-header{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:14px 20px;border-bottom:1px solid var(--camon-border);background:var(--camon-surface)}.chat-conversation-title{margin:0;font-size:1rem;font-weight:700;flex:1}.chat-conversation-error{flex:0 0 auto;margin:8px 16px 0}.chat-thread{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-thread-inner{display:flex;flex-direction:column;gap:10px;min-height:100%;padding:20px 20px 12px;justify-content:flex-end}.chat-thread-inner--empty{justify-content:center;align-items:center}.chat-thread-empty{margin:0;text-align:center;max-width:280px}.chat-message-row{display:flex;align-items:flex-end;gap:8px;max-width:min(72%,520px)}.chat-message-row.mine{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.chat-message-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--camon-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--camon-muted)}.chat-bubble{padding:10px 14px;border-radius:16px 16px 16px 4px;background:var(--camon-surface);border:1px solid var(--camon-border);box-shadow:0 1px 2px #0f172a0a}.chat-bubble.mine{border-radius:16px 16px 4px;background:var(--camon-brand-light);border-color:var(--camon-brand)}.chat-bubble-sender{display:block;font-size:11px;font-weight:700;color:var(--camon-brand-dark);margin-bottom:4px}.chat-bubble-text{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-bubble-time{display:block;margin-top:6px;font-size:10px;color:var(--camon-muted);text-align:right}.chat-bubble-image{display:block;max-width:min(280px,100%);max-height:240px;border-radius:8px;margin-bottom:4px}.chat-bubble-file{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px dashed var(--camon-border);background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:var(--camon-brand-dark);font-family:inherit}.chat-attachment-placeholder{padding:24px;font-size:12px;color:var(--camon-muted);background:var(--camon-border);border-radius:8px}.chat-compose{display:flex;align-items:flex-end;gap:8px;flex:0 0 auto;padding:12px 16px 16px;border-top:1px solid var(--camon-border);background:var(--camon-surface)}.chat-compose-file-input{display:none}.chat-compose-attach{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--camon-border);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--camon-brand-dark);font-family:inherit}.chat-compose-attach:hover{border-color:var(--camon-pill-border);background:var(--camon-brand-light)}.chat-compose-input{flex:1;min-height:40px;max-height:120px;padding:10px 14px;border:1px solid var(--camon-border);border-radius:20px;resize:none;font-family:inherit;font-size:14px;line-height:1.4}.chat-compose-input:focus{outline:none;border-color:var(--camon-brand)}.chat-compose-send{flex:0 0 auto;border-radius:20px;min-width:72px}.sport-hero-location__pin{width:1rem;height:1rem;flex-shrink:0;opacity:.9}.sport-hero--hub .sport-hero-location{display:inline-flex;align-items:center;gap:6px}.sport-hero-location__label{font-weight:600;color:inherit}.sport-hero--hub{position:relative;padding:0;overflow:hidden}.sport-hero--hub .sport-hero-inner--on-backdrop{position:relative;z-index:2;padding-top:var(--space-3xl);padding-bottom:var(--space-xl)}.sport-hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;background:url(/figma/hero-bg-lines.svg) center top / cover no-repeat}.sport-hero--hub .sport-hero-copy--minimal{text-align:center}.sport-hero-title__accent{color:var(--camon-point)}.sport-hero--hub .sport-hero-meta--top{justify-content:center;width:min(600px,100%);margin-left:auto;margin-right:auto;margin-top:var(--space-2xl)}.sport-hero--hub .sport-hero-meta--top .sport-hero-hint{flex-basis:100%;width:100%;text-align:center;margin-top:var(--space-sm)}.sport-hero--hub .sport-hero-title,.sport-hero--hub .sport-hero-sub,.sport-hero--hub .sport-hero-location{text-shadow:0 1px 12px rgb(6 31 28 / .55)}.sport-hero-hub{display:flex;flex-direction:column;gap:0}.hero-search{display:flex;align-items:center;gap:10px;margin-top:var(--space-lg);align-self:center;width:min(480px,100%);max-width:480px;height:50px;box-sizing:border-box;padding:5px 5px 5px 18px;background:#ffffff24;border:1px solid rgb(255 255 255 / .35);border-radius:999px;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-search__icon{flex-shrink:0;width:18px;height:18px;color:#ffffffb3;transition:color .18s ease}.hero-search__input{flex:1;min-width:0;align-self:stretch;padding:0;font-size:var(--fs-lg);font-family:inherit;color:#fff;background:transparent;border:none;transition:color .18s ease}.hero-search__input::placeholder{color:#ffffffb3}.hero-search__input:focus{outline:none}.hero-search__button{flex-shrink:0;width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--camon-brand);cursor:pointer;transition:background .18s ease}.hero-search__button:hover{background:#1d2bf114}.hero-search__button-icon{width:20px;height:20px}.hero-search:focus-within{background:#fff;border-color:var(--camon-brand);box-shadow:0 0 0 3px #1d2bf140}.hero-search:focus-within .hero-search__icon{color:var(--camon-brand-dark)}.hero-search:focus-within .hero-search__input{color:var(--camon-text)}.hero-search:focus-within .hero-search__input::placeholder{color:var(--camon-muted)}.hero-loc-pill__icon{width:16px;height:16px;flex-shrink:0}.hero-loc-pill{display:inline-flex;align-items:center;gap:var(--space-xs);height:34px;box-sizing:border-box;padding:0 14px;border-radius:var(--radius-full);font-size:var(--fs-md);font-weight:500;font-family:inherit;line-height:1.4;color:var(--camon-brand-light);background:#ffffff1f;border:1px solid rgb(255 255 255 / .28);text-shadow:none;transition:background .18s ease,border-color .18s ease}.hero-loc-pill--action,.hero-loc-pill--map{cursor:pointer}.hero-loc-pill--action:hover,.hero-loc-pill--map:hover{background:#ffffff38;border-color:#ffffff57}.hero-loc-pill--map{color:#fff;background:#fff3;border-color:#ffffff5c}.hero-loc-pill .sport-hero-location__pin{opacity:1}.sport-hero--hub .sport-hero-meta--top{margin-top:var(--space-md);margin-bottom:0}.sport-hero--hub .home-intent-tabs{margin-top:var(--space-lg)}.home-hero-backdrop{position:absolute;top:0;left:0;right:0;height:clamp(160px,28vw,220px);z-index:0;pointer-events:none;overflow:hidden}.home-hero-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#061f1ceb,#061f1c8c 38%,#061f1c59 62%,#061f1c80),linear-gradient(180deg,rgb(6 31 28 / .15) 0%,rgb(6 31 28 / .75) 72%,var(--camon-court-deep) 100%)}.home-hero-backdrop__svg{position:absolute;top:50%;left:50%;width:115%;min-width:900px;height:100%;transform:translate(-50%,-50%);opacity:.62}.home-hero-backdrop__court{stroke:#ffffff38;stroke-width:1.2;fill:#ffffff05}.home-hero-backdrop__line{stroke:#fff3;stroke-width:1}.home-hero-backdrop__line--dim{stroke-dasharray:5 4}.home-hero-backdrop__divider{stroke:#ffffff14;stroke-width:1}.home-hero-backdrop__stroke{stroke:#ffffffd1;stroke-width:2;fill:none}.home-hero-backdrop__paddle{stroke:var(--camon-brand);stroke-width:2.2;fill:none}.home-hero-backdrop__scribble{stroke:#1d2bf147;stroke-width:1.2;fill:none;stroke-dasharray:4 6}.home-hero-backdrop__ball{fill:#fde68a;stroke:#ffffffe6;stroke-width:1.2}.home-hero-backdrop__actor--a{animation:home-hero-backdrop-sway 3s ease-in-out infinite;transform-origin:118px 120px}.home-hero-backdrop__actor--b{animation:home-hero-backdrop-sway 2.8s ease-in-out infinite .2s;transform-origin:408px 120px}.home-hero-backdrop__actor--c{animation:home-hero-backdrop-sway 2.8s ease-in-out infinite .5s;transform-origin:492px 124px}.home-hero-backdrop__actor--d{animation:home-hero-backdrop-sway 3.2s ease-in-out infinite .1s;transform-origin:702px 116px}.home-hero-backdrop__actor--e{animation:home-hero-backdrop-sway 3.2s ease-in-out infinite .35s;transform-origin:818px 130px}.home-hero-backdrop__actor--f,.home-hero-backdrop__actor--g{animation:home-hero-backdrop-cheer 2.4s ease-in-out infinite}.home-hero-backdrop__actor--f{transform-origin:1020px 120px}.home-hero-backdrop__actor--g{transform-origin:1088px 124px;animation-delay:.3s}@keyframes home-hero-backdrop-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes home-hero-backdrop-cheer{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.home-hero-backdrop__actor--a,.home-hero-backdrop__actor--b,.home-hero-backdrop__actor--c,.home-hero-backdrop__actor--d,.home-hero-backdrop__actor--e,.home-hero-backdrop__actor--f,.home-hero-backdrop__actor--g{animation:none}}.sport-hero-meta--top{margin-top:16px}.home-intent-bar{position:relative;z-index:3;margin-top:var(--space-xl)}.home-intent-tabs{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:36px;width:min(760px,100%);margin:0 auto;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.home-intent-tabs:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:100vw;height:1px;background:var(--camon-border, #e4e4e4);z-index:0}.home-intent-tabs__btn{position:relative;z-index:1;padding:0 2px 10px;border:none;border-bottom:2.5px solid transparent;background:transparent;color:var(--camon-muted, #6c6c6c);font-family:inherit;font-size:var(--fs-lg);font-weight:400;line-height:1.2;cursor:pointer;transition:color .15s ease,border-color .15s ease}.home-intent-tabs__btn:not(.home-intent-tabs__btn--on):hover{color:var(--camon-text, #2b2b2b)}.home-intent-tabs__btn--on{color:var(--camon-brand, #1d2bf1);border-bottom-color:var(--camon-brand, #1d2bf1);font-weight:500}.topbar--sport .topbar-logo{color:var(--header-logo)}.topbar--sport .topbar-link{color:var(--header-link)}.topbar--sport .topbar-link:hover{color:var(--header-link-active);background:#ffffff14}.topbar--sport .topbar-link.active,.topbar--sport .topbar-link.active:hover{color:var(--camon-point);border-bottom-color:transparent;background:transparent}.topbar--sport .btn-ghost{color:#ffffffe6}.topbar--sport .btn-secondary{border-color:#ffffff59;color:#fff;background:#ffffff14}.topbar--sport .btn-primary{background:var(--camon-point);color:#0a0d33;border-radius:var(--radius-full)}.topbar--sport .btn-primary:hover{background:var(--camon-point-dark)}.topbar--sport .btn-ghost{color:var(--header-link);font-weight:500}.topbar--sport .btn-ghost:hover{color:var(--header-link-active);background:transparent}.topbar--sport .topbar-mark{background:var(--camon-point)}.topbar--sport .lang-switcher-label{color:var(--header-link)}.topbar--sport .lang-switcher-select{color:#fff;border-color:#ffffff40;background:#ffffff1a}.sport-hero--hub{background:var(--hero-bg);color:var(--hero-text)}.sport-hero--hub:before{background:none}.sport-hero--hub .home-hero-backdrop:after{background:var(--hero-overlay)}.sport-hero--hub .home-hero-backdrop{opacity:var(--hero-backdrop-opacity)}.sport-hero--hub .home-hero-backdrop__court,.sport-hero--hub .home-hero-backdrop__line,.sport-hero--hub .home-hero-backdrop__stroke{stroke:var(--hero-backdrop-stroke)}.sport-hero--hub .home-hero-backdrop__divider{stroke:var(--hero-backdrop-stroke-dim)}.sport-hero--hub .sport-hero-title,.sport-hero--hub .sport-hero-sub,.sport-hero--hub .sport-hero-location{text-shadow:var(--hero-text-shadow);color:var(--hero-text)}.sport-hero--hub .hero-search{background:var(--hero-search-bg);border-color:var(--hero-search-border);box-shadow:var(--hero-search-shadow)}.sport-hero--hub .hero-search__icon{color:var(--hero-search-icon)}.sport-hero--hub .hero-search__input{color:var(--hero-search-text)}.sport-hero--hub .hero-search__input::placeholder{color:var(--hero-search-placeholder)}.sport-hero--hub .hero-search:focus-within{background:var(--camon-surface);border-color:var(--camon-brand);box-shadow:var(--hero-search-focus-ring)}.sport-hero--hub .hero-loc-pill{color:var(--hero-pill-text);background:var(--hero-pill-bg);border-color:var(--hero-pill-border)}.sport-hero--hub .hero-loc-pill--action:hover{background:#ffffff38;border-color:#ffffff73}.sport-hero--hub .hero-loc-pill--map{color:var(--camon-brand);background:var(--camon-point);border-color:var(--hero-pill-border)}.sport-hero--hub .hero-loc-pill--map:hover{background:var(--camon-point-dark);border-color:var(--hero-pill-border)}.hero-loc-pill__chevron{width:16px;height:16px;flex-shrink:0}.sport-hero--split .sport-hero-split{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(40px,6vw,96px);min-height:clamp(272px,calc(25.7vw + 32px),384px)}.sport-hero--split .sport-hero-copy--left{flex:0 0 auto;width:clamp(380px,34vw,460px)}.sport-hero--split .sport-hero-inner--on-backdrop{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.sport-hero--split .sport-hero-copy--left{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.sport-hero--split .sport-hero-title{font-size:clamp(1.375rem,2.4vw,1.65rem);line-height:1.2;margin:0 0 var(--space-md)}.sport-hero--split .hero-search{align-self:flex-start;margin:0;width:100%;max-width:420px;background:#fff;border-color:#ffffff38;box-shadow:none}.sport-hero--split .hero-search__input{color:var(--camon-text)}.hero-search__field{position:relative;flex:1;min-width:0;display:flex;align-items:center;align-self:stretch}.hero-search__field .hero-search__input{width:100%}.hero-search__rotator{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:var(--fs-lg);line-height:1;color:var(--camon-muted);animation:heroRotatorIn .4s ease}@keyframes heroRotatorIn{0%{opacity:0;transform:translateY(calc(-50% + 6px))}to{opacity:1;transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.hero-search__rotator{animation:none;transform:translateY(-50%)}}.sport-hero--split .sport-hero-meta--top{width:auto;max-width:none;margin:var(--space-md) 0 0;justify-content:flex-start}.sport-hero--split .hero-loc-pill,.sport-hero--split .hero-loc-pill--map{height:auto;padding:0;gap:var(--space-sm);background:transparent;border:none;color:#fff}.sport-hero--split .hero-loc-pill:hover,.sport-hero--split .hero-loc-pill--map:hover{background:transparent;border:none}.hero-loc-pill__badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:999px;border:1px solid rgb(255 255 255 / .5);color:#fff;transition:background .18s ease}.sport-hero--split .hero-loc-pill--action:hover .hero-loc-pill__badge,.sport-hero--split .hero-loc-pill--map:hover .hero-loc-pill__badge{background:#ffffff26}.hero-loc-pill__text{font-size:var(--fs-md);font-weight:500;color:#fff;white-space:nowrap}.sport-hero-figure{position:relative;flex:0 0 auto;width:clamp(260px,28vw,381px);aspect-ratio:381 / 337;line-height:0}.sport-hero-figure__photo{position:absolute;left:50%;top:50%;width:108%;height:auto;transform:translate(-50%,-50%) rotate(-15deg)}.sport-hero-figure__wave{position:absolute;left:-8%;bottom:2%;width:118%;height:auto;z-index:1}.sport-hero-figure__spark{position:absolute;top:2%;left:1%;width:22%;height:auto;z-index:2}@media(max-width:900px){.sport-hero--split .sport-hero-split{flex-direction:column;gap:var(--space-xl);min-height:0}.sport-hero--split .sport-hero-copy--left{max-width:none;width:100%}.sport-hero--split .hero-search{max-width:none}.sport-hero-figure{width:213px;max-width:100%;order:-1}}@media(max-width:600px){.sport-hero-figure{display:none}}.home-intent-panel{margin-top:16px}.home-intent-panel--book .court-booking-hero{margin-top:var(--space-2xl);margin-bottom:0}.home-intent-panel__hint{margin:0 0 8px;font-size:13px;color:#ffffffc7}.home-intent-panel--learn,.home-intent-panel--games{margin-bottom:8px}.page-home-feed:has(>.home-intent-panel--games){padding-top:16px}.home-games-date-filter{margin-bottom:14px}.home-games-date-filter--calendar-open{position:relative;z-index:60}.home-games-date-filter__calendar-popover{position:fixed;top:0;left:0;right:auto;z-index:60}.home-games-date-filter__row{justify-content:center;align-items:flex-start;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.home-games-date-filter__row::-webkit-scrollbar{height:4px}.home-games-date-filter__group{display:flex;flex-shrink:0;gap:8px}.home-games-date-filter__group--weekdays{gap:6px}.home-games-date-filter .date-strip-chip{box-sizing:border-box;width:76px;min-width:76px;max-width:76px;min-height:72px;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.home-games-date-filter .date-strip-chip--range,.home-games-date-filter .date-strip-chip--weekday,.home-games-date-filter .date-strip-chip--pick{width:76px;min-width:76px;max-width:76px}.home-games-date-filter__more-wrap{flex-shrink:0}.home-games-date-filter .date-strip-label{width:100%;margin-top:0;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-games-date-filter .date-strip-chip--pick-idle{padding-block:10px;justify-content:center}.home-games-date-filter .date-strip-chip--pick-idle .home-games-date-filter__pick-icon{margin-bottom:3px}.home-games-date-filter__pick-icon{display:inline-flex;flex-shrink:0;height:16px;margin-bottom:2px;opacity:.85}.home-games-date-filter .date-strip-chip.active .home-games-date-filter__pick-icon{opacity:1}.home-games-date-filter .date-strip-chip--weekday.weekend:not(.active) .date-strip-label{color:#ef4444}.home-games-date-filter__divider{align-self:center;width:1px;height:44px;background:var(--camon-border);flex-shrink:0}.home-games-date-filter__count{display:block;margin-top:2px;font-size:12px;font-weight:600;line-height:1.2;color:var(--camon-label)}.home-games-date-filter .date-strip-chip.active .home-games-date-filter__count{color:inherit;opacity:.82}.home-beginner-panel{margin-bottom:24px}.home-beginner-panel__lead{margin:0 0 14px;font-size:.95rem;color:var(--camon-text)}.home-beginner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin-bottom:16px}.home-beginner-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:17px 18px;text-align:left;border-radius:var(--radius-lg);border:1px solid var(--camon-border);background:var(--camon-surface);color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.home-beginner-card:hover{border-color:var(--camon-pill-border);box-shadow:0 4px 16px #0f172a14}.home-beginner-card__text{display:flex;flex-direction:column;gap:5px;min-width:0}.home-beginner-card__eyebrow{font-size:12px;font-weight:500;line-height:1.4;color:var(--camon-label)}.home-beginner-card__title{font-size:15px;font-weight:500;line-height:1.65;color:var(--camon-ink)}.home-beginner-card__icon{width:22px;height:22px;flex-shrink:0;color:var(--camon-muted)}.home-beginner-card__step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--camon-brand-light);color:var(--camon-brand);font-size:12px;font-weight:700}.home-beginner-guide{padding:12px 14px;border-radius:var(--radius-lg);border:.5px solid var(--camon-line);background:var(--camon-surface-2, #f7f7f7)}.home-beginner-guide summary{cursor:pointer;font-weight:600;font-size:.9rem}.home-beginner-guide__list{margin:10px 0 8px;padding-left:1.2rem;font-size:.85rem;color:var(--camon-muted)}.home-games-peek{margin-top:8px;padding-top:12px;border-top:1px solid var(--camon-border)}.home-games-peek__toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--camon-border);border-radius:var(--radius-md);background:var(--camon-surface);font-size:.9rem;font-weight:600;color:var(--camon-text);cursor:pointer;text-align:left}.home-games-peek__toggle:hover{border-color:var(--camon-pill-border)}.home-games-peek__chevron{color:var(--camon-muted);font-size:.85rem}.home-games-peek__body{margin-top:12px}.home-games-peek__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}@media(max-width:720px){.home-beginner-cards{grid-template-columns:1fr}.sport-hero-hub__grid{gap:14px}.home-intent-tabs__btn{font-size:12px;padding:9px 6px}}.sport-hero--booking{padding:32px 0 0}.sport-hero--booking .sport-hero-inner{padding-bottom:24px}.sport-hero--booking .sport-hero-copy{margin-bottom:4px}.sport-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:52px}.sport-hero-map-link{background:#ffffff1f!important;border-color:#ffffff47!important;color:#fff!important}.sport-hero-map-link:hover{background:#fff3!important}.court-booking-hero{margin-top:var(--space-lg);margin-bottom:0;color:var(--camon-text);width:100%}.court-booking-hero-form{display:flex;align-items:stretch;gap:var(--space-md)}.court-booking-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;align-items:stretch;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg)}.court-booking-hero-submit{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px var(--space-xl);background:var(--camon-brand);border:none;border-radius:var(--radius-full);color:#fff;font-family:inherit;font-size:var(--fs-lg);font-weight:600;white-space:nowrap;cursor:pointer;transition:background .18s ease}.court-booking-hero-submit:hover{background:var(--camon-brand-dark)}.court-booking-hero-submit:disabled{opacity:.6;cursor:default}.court-booking-hero-submit__icon{width:17px;height:17px;flex-shrink:0}.court-booking-hero-range{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm);margin:var(--space-md) 0 0;font-size:var(--fs-sm)}.court-booking-hero-range__label{font-weight:400;color:var(--camon-muted)}.court-booking-hero-range__value{font-weight:500;color:var(--camon-text)}.court-booking-hero-error{margin-top:12px}.court-booking-results-section{margin-bottom:28px}.court-booking-results-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}.court-booking-results-head h2{margin:0}.page-home-feed .discovery-panel{margin-bottom:28px;transform:none}.court-booking-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding:17px 18px;background:transparent;border:none;cursor:pointer}.court-booking-field+.court-booking-field{border-left:1px solid var(--camon-border)}.court-booking-field__label{font-size:var(--fs-xs);font-weight:400;line-height:1.4;color:var(--camon-muted)}.court-booking-field__value{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.court-booking-field__input{flex:1;min-width:0;border:none;background:transparent;padding:0;font-family:inherit;font-size:var(--fs-xl);font-weight:600;color:var(--camon-ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.court-booking-field__input:focus{outline:none}.court-booking-field__input::-webkit-calendar-picker-indicator{display:none}.court-booking-field__icon{width:22px;height:22px;flex-shrink:0;color:var(--camon-muted)}.court-booking-field__icon--mask{display:inline-block;background-color:currentColor;-webkit-mask:url(/figma/duration-icon.svg) center / contain no-repeat;mask:url(/figma/duration-icon.svg) center / contain no-repeat}.court-booking-field--button{position:relative;padding:0}.court-booking-field__trigger{display:flex;flex-direction:column;gap:5px;width:100%;padding:17px 18px;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer;color:var(--camon-text)}.court-booking-field__trigger:focus-visible{outline:none}.court-booking-field__valtext{font-size:var(--fs-xl);font-weight:600;color:var(--camon-ink)}.court-booking-field__valtext--placeholder{color:var(--camon-muted)}.court-booking-fields .court-booking-field:focus-within,.court-booking-fields .court-booking-field.court-booking-field--active{border:1px solid var(--camon-ink);border-radius:var(--radius-lg);position:relative;z-index:2}.court-booking-field:focus-within+.court-booking-field,.court-booking-field--active+.court-booking-field{border-left-color:transparent}.court-booking-calendar-pop,.court-booking-time-pop,.court-booking-duration-pop{position:absolute;top:calc(100% + var(--space-sm));z-index:50}.court-booking-calendar-pop,.court-booking-time-pop{left:0}.court-booking-duration-pop{right:0}.court-time-picker{display:flex;flex-direction:column;width:406px;max-width:calc(100vw - 32px);height:483px;padding:33px;background:var(--camon-surface);border:1px solid rgb(229 231 235 / .85);border-radius:32px;box-shadow:0 24px 24px #00000024,0 0 .5px #0000000a;box-sizing:border-box}.court-time-picker__tabs{flex-shrink:0;display:flex;gap:20px;margin-bottom:var(--space-md);border-bottom:1px solid var(--camon-border)}.court-time-tab{padding:0 0 10px;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;background:none;font-family:inherit;font-size:15px;font-weight:400;color:var(--camon-muted);cursor:pointer}.court-time-tab.is-active{color:var(--camon-brand);font-weight:500;border-bottom-color:var(--camon-brand)}.court-time-picker__body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;gap:24px;overflow-y:auto;scrollbar-width:thin}.court-time-picker__section{flex-shrink:0;min-height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}.court-time-slot{display:flex;align-items:center;justify-content:center;min-width:0;border:1px solid var(--camon-pill-border);border-radius:var(--radius-lg);background:var(--camon-surface);font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--camon-text);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.court-time-slot:hover:not(.is-off):not(.is-selected){border-color:var(--camon-brand)}.court-time-slot.is-selected{background:var(--camon-brand-light);border-color:var(--camon-brand);color:var(--camon-brand)}.court-time-slot.is-off{border-color:var(--camon-border);color:var(--camon-subtle);cursor:default}.court-duration-list{min-width:168px;margin:0;padding:6px;list-style:none;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.court-duration-opt{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--camon-text);text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.court-duration-opt:hover{background:var(--camon-bg)}.court-duration-opt.is-selected{background:var(--camon-brand-light);color:var(--camon-brand-dark);font-weight:600}.court-duration-opt__check{flex-shrink:0;color:var(--camon-brand);visibility:hidden}.court-duration-opt.is-selected .court-duration-opt__check{visibility:visible}.court-booking-quick-presets{margin-bottom:8px}.court-booking-results-head{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.court-booking-sort--compact{display:inline-flex;align-items:center;gap:6px;margin:0}.court-booking-sort__icon{width:1rem;height:1rem;color:var(--camon-muted);flex-shrink:0}.court-booking-sort--compact select{min-width:0;padding:6px 8px;border:1px solid var(--camon-border);border-radius:8px;font-family:inherit;background:#fff}.court-booking-range{margin:12px 0 0}.court-booking-sorted-hint{margin:12px 0 0;font-size:13px}.court-booking-results{display:flex;flex-direction:column;gap:12px;margin-top:8px}.court-booking-result-card{display:flex;align-items:stretch;gap:14px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--camon-border);background:#fff;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;overflow:hidden}.court-booking-result-card:hover{border-color:var(--camon-pill-border);box-shadow:0 4px 16px #0000000f}.court-booking-result-card>.card-image-wrap{flex:0 0 112px;width:112px;min-width:112px;max-width:112px;height:84px;aspect-ratio:unset;border-radius:10px;align-self:center}.court-booking-result-card>.card-image-wrap .card-image{width:100%;height:100%;object-fit:cover}.court-booking-result-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.court-booking-result-body strong{display:block;font-size:1rem;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.court-booking-result-body .card-meta{margin:0;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.court-booking-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:13px}@media(max-width:900px){.court-booking-hero-form{flex-wrap:wrap}.court-booking-fields{flex-basis:100%}.court-booking-hero-submit{width:100%;justify-content:center}.sport-hero-meta{margin-top:48px}}@media(max-width:768px){.court-booking-fields{grid-template-columns:1fr}.court-booking-field+.court-booking-field{border-left:none;border-top:1px solid var(--camon-border)}}@media(max-width:480px){.court-booking-result-card>.card-image-wrap{flex:0 0 96px;width:96px;min-width:96px;max-width:96px;height:72px}}@media(max-width:768px){.topbar,.topbar-inner{height:auto}.topbar-inner{min-height:var(--topbar-h);flex-wrap:wrap;gap:8px 16px;padding-top:10px;padding-bottom:10px}.topbar-logo{order:1}.topbar-actions{order:2}.topbar-nav{order:3;flex-basis:100%;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.topbar-nav::-webkit-scrollbar{display:none}.topbar--sport .topbar-link{white-space:nowrap}.sport-hero-title{font-size:clamp(1.375rem,6vw,1.75rem)}.hero-search{width:100%;max-width:none}.home-intent-tabs{gap:24px;padding:0}.home-intent-tabs__label{white-space:nowrap}}.venue-preset-banner{margin-bottom:24px;padding:16px;border-radius:12px;background:var(--camon-brand-light);border:1px solid var(--camon-brand)}.venue-preset-banner h2{margin:0 0 8px;font-size:1.1rem}.venue-preset-courts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.venue-preset-court-btn{flex:1 1 auto;min-width:140px}@media(max-width:900px){.main-content:has(.chat-shell){padding:8px var(--page-gutter) 12px}.chat-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.chat-sidebar{max-height:220px;height:auto;border-right:none;border-bottom:1px solid var(--camon-border)}}.star-rating{display:inline-flex;align-items:center;gap:2px;color:var(--camon-muted);font-size:.85rem}.star-rating--md{font-size:1rem}.star-rating__star--on{color:#f5a623}.star-rating__star--half{color:#f5a623;opacity:.55}.star-rating__value,.star-rating__count{margin-left:4px;color:var(--camon-muted)}.venue-reviews-section .review-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.review-card,.review-compose,.peer-review-card{padding:16px}.review-card__head,.peer-review-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.review-field{display:flex;flex-direction:column;gap:6px;margin:10px 0}.review-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.review-tag{border:1px solid var(--camon-border);background:var(--camon-surface);border-radius:999px;padding:4px 10px;font-size:.85rem;cursor:pointer}.review-tag--active{border-color:var(--camon-brand);color:var(--camon-brand)}.review-reply{margin-top:10px;padding:10px;border-left:3px solid var(--camon-border);background:var(--camon-surface-alt, rgba(0, 0, 0, .03))}.peer-review-panel{margin-top:24px;display:flex;flex-direction:column;gap:12px}.review-check{display:flex;align-items:center;gap:8px;margin:8px 0}.pending-review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.pending-review-item{padding:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.court-booking-sort{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.court-booking-sort-label{display:flex;align-items:center;gap:8px}.court-booking-sort-label select{min-width:120px}.form-step-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.form-step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--camon-brand);color:#fff;font-size:.85rem;font-weight:700;flex-shrink:0}.form-step-head h2{margin:0}.field-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--text-muted, #666666)}.form-chip-select{border:none;margin:0 0 16px;padding:0}.form-chip-select legend{font-size:.9rem;font-weight:600;margin-bottom:8px}.form-chip-select__hint{margin:-4px 0 10px;font-size:.8rem;color:var(--text-muted, #666666)}.game-create-footnote{margin-top:12px;text-align:center}.star-rating-input{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 12px}.star-rating-input__label{font-size:.9rem;font-weight:600;width:100%}.star-rating-input__stars{display:flex;gap:4px}.star-rating-input__btn{border:none;background:transparent;font-size:1.75rem;line-height:1;color:#ccc;cursor:pointer;padding:2px;transition:color .15s,transform .1s}.star-rating-input__btn--on{color:#f5a623}.star-rating-input__btn:hover:not(:disabled){transform:scale(1.08)}.star-rating-input--disabled .star-rating-input__btn{cursor:not-allowed;opacity:.6}.star-rating-input__value{font-size:.85rem;color:var(--text-muted, #666666)}.success-banner{padding:10px 14px;border-radius:8px;background:#e8f5ef;color:var(--camon-text);font-size:.9rem}.review-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.review-progress-badge{font-size:.85rem;font-weight:600;color:var(--camon-brand);white-space:nowrap}.review-progress-bar{height:6px;border-radius:999px;background:#e4e4e4;overflow:hidden;margin-bottom:12px}.review-progress-bar>span{display:block;height:100%;background:var(--camon-brand);border-radius:999px;transition:width .25s ease}.venue-reviews-section--highlight .review-compose--pulse{animation:review-highlight-pulse 1.2s ease 2;box-shadow:0 0 0 2px #0d7a5f59}@keyframes review-highlight-pulse{0%,to{box-shadow:0 0 0 2px #0d7a5f33}50%{box-shadow:0 0 0 4px #0d7a5f73}}.peer-review-card--done{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.pending-reviews-page{max-width:var(--content-max);margin:0 auto}.pending-reviews-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.pending-reviews-summary{margin:0 0 20px;font-size:.95rem;color:var(--text-muted, #666666)}.pending-review-item{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.pending-review-item__body{flex:1;min-width:200px}.topbar-link{position:relative}.topbar-badge{position:absolute;top:-4px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e25b45;color:#fff;font-size:.65rem;font-weight:700;line-height:18px;text-align:center}.my-activity-page{max-width:var(--content-max);margin:0 auto;padding-bottom:48px}.my-activity-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.my-activity-header .page-subtitle{display:none}.my-activity-header__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.my-lessons-page .my-activity-header .page-subtitle{display:block;margin:6px 0 0;max-width:36rem}.activity-summary{display:flex;align-items:center;gap:24px;padding:16px 20px;margin-bottom:16px;border-radius:12px;background:linear-gradient(135deg,#e8f5ef,#f6faf8);border:1px solid #d4ebe3}.activity-summary__item{display:flex;flex-direction:column;gap:2px}.activity-summary__value{font-size:1.5rem;font-weight:700;color:var(--camon-brand);line-height:1.2}.activity-summary__label{font-size:.85rem;color:var(--text-muted, #666666)}.activity-summary__divider{width:1px;height:36px;background:#c5ddd4}.activity-pending-banner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;margin-bottom:16px;border-left:4px solid var(--camon-border)}.activity-vacancy-link{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;padding:14px 16px}.activity-vacancy-link__title{margin:0 0 4px;font-weight:600;font-size:.95rem}.activity-pending-intro{margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-md);background:#fffbeb;color:#92400e}.my-activity-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:4px;border-bottom:1px solid var(--border, #e4e4e4)}.my-activity-tab{display:inline-flex;align-items:center;gap:8px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;border-radius:0;padding:10px 4px;font-size:.95rem;cursor:pointer;color:var(--text-muted, #666666);transition:color .15s,border-color .15s}.my-activity-tab--active{background:transparent;border-bottom-color:var(--camon-brand);color:var(--camon-brand);font-weight:600}.my-activity-tab__count{display:inline-flex;min-width:22px;justify-content:center;padding:2px 7px;border-radius:999px;background:#ededed;font-size:.75rem;font-weight:600}.my-activity-tab--active .my-activity-tab__count{background:#d4ebe3;color:var(--camon-brand)}.my-activity-filters{margin-bottom:20px}.activity-filter-chip{border:1px solid var(--border, #e0e0e0);background:#fff;border-radius:999px;padding:8px 14px;font-size:.88rem;cursor:pointer;color:var(--text-muted, #666666)}.activity-filter-chip--on{background:transparent;border-color:var(--camon-ink);color:var(--camon-ink);font-weight:600}.activity-timeline{display:flex;flex-direction:column;gap:28px}.activity-date-group{display:flex;flex-direction:column;gap:12px}.activity-date-label{margin:0;font-size:.95rem;font-weight:700;color:var(--text, #1a2e28);letter-spacing:-.02em}.activity-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}.activity-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border, #e4e4e4);background:#fff;box-shadow:0 1px 3px #1a2e280f;transition:box-shadow .15s,transform .15s}.activity-card:hover{box-shadow:0 4px 14px #1a2e2814}.activity-card--highlight{border-color:#0d7a5f73;box-shadow:0 0 0 1px #0d7a5f1f}.activity-card--court{border-top:3px solid #3d8b7a}.activity-card--match{border-top:3px solid #5b7fd4}.activity-card--lesson{border-top:3px solid var(--camon-brand)}.activity-card--lesson .activity-card__icon{background:var(--camon-brand-light)}.activity-card__status--pending{background:#fef3c7;color:#92400e}.activity-card__footer-group{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.activity-card__footnote{font-size:.85rem;color:var(--text-muted, #6c6c6c);padding:4px 0}.my-lessons-timeline-item{display:flex;flex-direction:column;gap:10px}.lesson-review-form__title{margin:0 0 6px;font-size:1rem}.lesson-review-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.activity-card__link{display:flex;gap:14px;padding:16px 16px 12px;text-decoration:none;color:inherit;flex:1}.activity-card__link:hover{text-decoration:none}.activity-card__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:1.35rem;background:#f5f5f5}.activity-card--court .activity-card__icon{background:#e8f3ef}.activity-card--match .activity-card__icon{background:#eef2fb}.activity-card__body{flex:1;min-width:0}.activity-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.activity-card__type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #666666)}.activity-card__status{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#ededed;color:var(--text-muted, #666666)}.activity-card__status--confirmed{background:#e8f5ef;color:var(--camon-brand-dark)}.activity-card__status--completed{background:#ededed;color:#666}.activity-card__status--cancelled{background:#fdeeed;color:#a33b2e}.activity-card__badges{display:flex;flex-wrap:wrap;gap:4px}.activity-card__title{margin:0 0 4px;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--text, #1a2e28)}.activity-card__venue{margin:0 0 6px;font-size:.88rem;color:var(--text-muted, #666666)}.activity-card__schedule{margin:0 0 8px;font-size:.92rem;font-weight:600;color:var(--text, #2a4038)}.activity-card__time-sub{font-weight:400;color:var(--text-muted, #666666)}.activity-card__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.82rem;color:var(--text-muted, #666666)}.activity-card__footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--border, #f2f2f2);background:#fafcfb}.activity-empty{padding:40px 24px;text-align:center}.activity-empty__title{margin:0 0 20px;font-size:1rem;color:var(--text-muted, #666666)}.activity-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.home-feed-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px}.home-feed-skeleton__card{border:1px solid var(--camon-border);border-radius:var(--radius-lg);background:var(--camon-surface);overflow:hidden;padding-bottom:16px;animation:activity-pulse 1.2s ease-in-out infinite}.home-feed-skeleton__media{aspect-ratio:16 / 9;background:var(--camon-border)}.home-feed-skeleton__line{height:12px;margin:12px 16px 0;border-radius:6px;background:var(--camon-border)}.home-feed-skeleton__line--lg{height:16px;width:70%}.home-feed-skeleton__line--sm{width:40%}@media(prefers-reduced-motion:reduce){.home-feed-skeleton__card{animation:none}}.activity-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}.activity-skeleton{min-height:160px;animation:activity-pulse 1.2s ease-in-out infinite}@keyframes activity-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(max-width:640px){.activity-card-grid,.activity-skeleton-grid{grid-template-columns:1fr}.activity-summary{justify-content:space-around}}.venue-rating-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 4px}.venue-rating-line--btn{border:none;background:none;padding:0;font:inherit;cursor:pointer;text-align:left}.venue-rating-line__link{font-size:13px;font-weight:600;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.topbar-nav-group{display:inline-flex;align-items:center;gap:4px}.topbar-nav-group-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--camon-muted);margin-right:4px}.topbar-nav-divider{width:1px;height:20px;background:var(--camon-border);margin:0 6px;align-self:center}.page-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 12px;padding:0;font-size:13px;font-weight:400;color:var(--camon-muted)}.page-breadcrumb li:not(:last-child):after{content:"›";margin-left:6px;color:var(--camon-muted)}.page-breadcrumb__link{color:var(--camon-muted);text-decoration:none;font-weight:500}button.page-breadcrumb__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;cursor:pointer}.page-breadcrumb__current{color:var(--camon-muted);font-weight:400}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f171473;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-dialog{position:relative;max-width:400px;width:100%;padding:20px;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.confirm-dialog h2{margin:0 0 8px;font-size:1.1rem}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-danger{background:#c62828;color:#fff;border:none}.btn-danger:hover{background:#b71c1c}.error-banner--retry{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.court-booking-quick-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.court-booking-quick-presets .chip{min-height:34px;padding:0 16px;font-size:var(--fs-sm);font-weight:500}.court-booking-quick-label{font-size:var(--fs-xs);font-weight:700;color:#ffffffd9}.map-split.map-page{display:flex;flex-direction:column;grid-template-columns:unset;flex:1 1 auto;min-height:0;height:100%;max-height:100%;margin:0;width:100%;max-width:none;overflow:hidden}.map-page .map-split__body{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.55fr);grid-template-rows:minmax(0,1fr);gap:var(--space-lg);padding:var(--page-gutter);box-sizing:border-box;flex:1 1 0;min-height:0;height:0;overflow:hidden;align-items:stretch}.map-page .map-panel{grid-row:1;grid-column:2;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-lg);position:relative;background:#e4e4e4}.map-panel__my-location{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:50%;background:#fff;color:var(--camon-brand-dark);box-shadow:0 2px 10px #0f172a2e;cursor:pointer}.map-panel__my-location.is-active,.map-panel__my-location.is-active:hover:not(:disabled){background:var(--camon-ink);color:#fff}.map-panel__my-location:hover:not(:disabled){background:var(--camon-surface-muted, #f7f7f7)}.map-panel__my-location:disabled{opacity:.6;cursor:wait}.map-list__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.map-list__header .map-list__title{margin:0;flex:1 1 auto;min-width:0}.map-list__location-pill{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:48%;padding:6px 10px;border:1px solid var(--camon-border);border-radius:999px;background:var(--camon-surface, #fff);color:var(--camon-text-secondary, var(--camon-muted));font:inherit;font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-list__location-pill.is-active,.map-list__location-pill.is-active:hover:not(:disabled){background:var(--camon-ink);border-color:var(--camon-ink);color:#fff}.map-list__location-pill:hover:not(:disabled){border-color:var(--camon-brand);color:var(--camon-brand-dark)}.map-list__location-pill:disabled{opacity:.7;cursor:wait}.map-list__geo-banner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-md);background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;line-height:1.45}.map-list__geo-banner p{margin:0}.map-list__geo-banner .btn{font-size:13px;padding:6px 12px}.map-provider-fallback .map-panel-loading.err{position:absolute;top:12px;left:12px;right:12px;z-index:5;margin:0}.map-provider-fallback{position:relative;width:100%;height:100%;min-height:inherit}.map-list__place-search{margin-bottom:12px}.map-list__place-search-label{display:block;font-size:11px;font-weight:600;color:#484848;margin-bottom:4px}.map-list__place-search .place-autocomplete-host{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-md);padding:4px 8px}.map-list__place-search-error{margin:6px 0 0;font-size:12px;color:#b91c1c}.map-place-search--naver,.map-place-search--kakao{display:flex;align-items:center;gap:6px;height:48px;box-sizing:border-box;padding:5px 5px 5px 16px;background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-full);transition:border-color .18s ease,box-shadow .18s ease}.map-place-search--naver:focus-within,.map-place-search--kakao:focus-within{border-color:var(--camon-brand);box-shadow:0 0 0 3px #1d2bf12e}.map-place-search--naver .map-place-search__input,.map-place-search--kakao .map-place-search__input{flex:1;min-width:0;align-self:stretch;border:none;border-radius:0;background:transparent;padding:0;font-size:var(--fs-md);font-family:inherit;color:var(--camon-ink)}.map-place-search--naver .map-place-search__input:focus,.map-place-search--kakao .map-place-search__input:focus{outline:none}.map-place-search--naver .map-place-search__input::placeholder,.map-place-search--kakao .map-place-search__input::placeholder{color:var(--camon-muted)}.map-place-search--naver .map-place-search__go,.map-place-search--kakao .map-place-search__go{flex-shrink:0;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--camon-brand);cursor:pointer;transition:background .15s ease}.map-place-search--naver .map-place-search__go:hover:not(:disabled),.map-place-search--kakao .map-place-search__go:hover:not(:disabled){background:#1d2bf114}.map-place-search--naver .map-place-search__go:disabled,.map-place-search--kakao .map-place-search__go:disabled{color:var(--camon-muted);cursor:default}.map-place-search__go-icon{width:20px;height:20px}.map-list__query{width:100%;margin-bottom:10px;padding:10px 12px;border:1px solid var(--camon-border);border-radius:10px;font-size:14px;background:var(--camon-surface)}.venue-map-marker{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto}.venue-map-marker__name-wrap{display:inline-flex;align-items:center;gap:4px;max-width:148px}.venue-map-marker__badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:18px;text-align:center;color:#fff;background:var(--camon-ink);border-radius:var(--radius-full)}.venue-map-marker--selected .venue-map-marker__badge{color:var(--camon-ink);background:var(--camon-surface)}.venue-map-marker--has-count .venue-map-marker__name{max-width:112px}.venue-map-marker__name{display:block;max-width:136px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.25;color:var(--camon-ink);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--camon-surface);border:.5px solid var(--camon-line);border-radius:var(--radius-full);box-shadow:0 2px 8px #0f172a29}.venue-map-marker--selected .venue-map-marker__name{color:var(--camon-surface);background:var(--camon-ink);border-color:var(--camon-ink)}.venue-map-marker__pin{width:12px;height:12px;border-radius:50%;background:var(--camon-ink);border:2px solid var(--camon-surface);box-shadow:0 1px 4px #0f172a59;flex-shrink:0}.venue-map-marker--partner .venue-map-marker__pin{background:var(--camon-brand)}.venue-map-marker--directory .venue-map-marker__pin{background:#6c6c6c}.venue-map-marker--partner .venue-map-marker__name{border-color:color-mix(in srgb,var(--camon-brand) 28%,var(--camon-line))}.venue-map-marker--selected .venue-map-marker__pin{width:14px;height:14px}.venue-map-marker--selected.venue-map-marker--partner .venue-map-marker__pin{background:var(--camon-brand-dark)}.venue-map-marker--selected.venue-map-marker--directory .venue-map-marker__pin{background:var(--camon-ink)}.venue-map-marker-google-label,.venue-map-marker-google-label--selected{padding:2px 6px!important;border-radius:var(--radius-full)!important;box-shadow:0 2px 8px #0f172a29!important}.venue-map-marker-google-label{background:var(--camon-surface)!important;border:.5px solid var(--camon-line)!important}.venue-map-marker-google-label--selected{background:var(--camon-ink)!important;border-color:var(--camon-ink)!important}.venue-map-marker-google-label--partner:not(.venue-map-marker-google-label--selected){border-color:color-mix(in srgb,var(--camon-brand) 28%,var(--camon-line))!important}.venue-map-marker-google-label--selected.venue-map-marker-google-label--partner{background:var(--camon-brand-dark)!important;border-color:var(--camon-brand-dark)!important}.map-page .map-panel .venue-map,.map-page .map-panel .google-map-container,.map-page .map-panel .kakao-map-container,.map-page .map-panel .naver-map-container,.map-page .map-panel .map-provider-fallback{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;z-index:0}.map-page .map-panel-loading{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;height:auto}.map-page .map-list{grid-row:1;grid-column:1;min-width:0;min-height:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.map-filters{display:flex;flex-wrap:wrap;gap:8px;margin:var(--space-lg) 0}.map-page .map-filters .chip{font-weight:400}.map-list__title{margin:0 0 12px;font-size:18px}.map-list-detail{margin-top:16px;padding-top:16px}.game-detail-subtabs{display:flex;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--camon-border)}.game-detail-subtab{padding:10px 14px;border:none;background:transparent;font:inherit;font-weight:600;color:var(--camon-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.game-detail-subtab--active{color:var(--camon-brand-dark);border-bottom-color:var(--camon-brand)}.game-detail-mobile-bar{display:none}.booking-drawer-summary{margin-bottom:16px;padding:14px 16px}.booking-drawer-summary__label{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--camon-muted)}.booking-drawer-summary__price{margin:8px 0 0;font-size:1.25rem;font-weight:700;color:var(--camon-brand-dark)}.game-create-step-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-sm);flex-wrap:wrap;position:relative;z-index:2}.game-create-step-toolbar--tight{margin-bottom:var(--space-xs)}.game-create-step-toolbar .form-step-head{margin-bottom:0;flex:1;min-width:0}.game-create-step-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:0;flex-shrink:0}.game-create-step-toolbar .form-step-head h2{font-weight:500}.game-create-step-actions .btn{font-weight:500;gap:6px;border-radius:var(--radius-full)}.game-create-step-actions .btn-primary{border:1px solid transparent}.game-create-field .game-create-required{margin-left:var(--space-xs);font-size:1rem;line-height:1;font-weight:400;color:var(--camon-muted)}.game-create-cta-hint{margin:0 0 var(--space-sm);font-size:var(--fs-2xs);color:var(--camon-muted);text-align:center}.game-create-step-actions--footer{margin-top:var(--space-xl)}.game-create-step-actions--footer .btn-secondary{margin-right:auto}.game-create-slots__nav{margin-top:12px}.game-create-slots__nav .btn-secondary{margin-right:auto}.game-create-step-indicator{margin:8px 0 0}.game-create-venue-summary{margin-bottom:12px;padding:10px 12px;border-radius:var(--camon-radius-md);background:var(--camon-surface-muted, #f7f7f7);border:1px solid var(--camon-border-subtle)}.game-create-venue-summary strong{display:block;margin-bottom:2px}.game-create-slot-intro{margin:0 0 12px}.game-create-venue-summary--plain{padding:0 0 12px;margin-bottom:var(--space-xl);border:none;border-bottom:1px solid var(--camon-border);border-radius:0;background:none}.game-create-slot-mount .game-create-slots{margin-top:0;padding-top:0}.game-create-venue-summary--plain strong{font-size:var(--fs-md);font-weight:400;margin-bottom:var(--space-xs)}.game-create-venue-summary--plain .card-meta{margin:0}.game-create-map{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;width:100%}.game-create-map__panel{height:360px;border-radius:var(--camon-radius-md);overflow:hidden;border:1px solid var(--camon-border-subtle)}.game-create-map__panel .venue-map,.game-create-map__panel .google-map-container,.game-create-map__panel .kakao-map-container,.game-create-map__panel .naver-map-container,.game-create-map__panel .map-provider-fallback{width:100%;height:100%}.game-create-map__search-wrap{position:relative;z-index:5}.game-create-map__results-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;border:1px solid var(--camon-border);border-radius:var(--camon-radius-md);background:var(--camon-surface);box-shadow:0 10px 28px #0f172a24;overflow:hidden}.game-create-map__results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--camon-border-subtle);background:color-mix(in srgb,var(--camon-surface-muted, #f5f5f5) 55%,white)}.game-create-map__results-head{margin:0;font-size:.8125rem;font-weight:600;color:var(--camon-text)}.game-create-map__results-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--camon-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.game-create-map__results-close:hover{background:#0f172a0f;color:var(--camon-text)}.game-create-map__results-empty{margin:0;padding:14px 12px;font-size:.8125rem;color:var(--camon-muted)}.game-create-map__results{margin:0;padding:6px;list-style:none;max-height:min(280px,42vh);overflow-y:auto}.game-create-map__result{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px;border:none;border-radius:var(--camon-radius-sm);background:transparent;text-align:left;font-family:inherit;cursor:pointer;transition:background .12s ease}.game-create-map__result+.game-create-map__result,.game-create-map__results li+li .game-create-map__result{margin-top:2px}.game-create-map__result:hover{background:var(--camon-surface-muted, #f5f5f5)}.game-create-map__result.is-selected{background:color-mix(in srgb,var(--camon-brand-light) 75%,white)}.game-create-map__result-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;min-width:0}.game-create-map__result-name{flex:1;min-width:0;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--camon-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-create-map__result-badge{flex-shrink:0;max-width:5.5rem;padding:2px 7px;border-radius:var(--radius-full);font-size:.625rem;font-weight:700;line-height:1.4;text-align:center;color:var(--camon-muted);background:color-mix(in srgb,var(--camon-muted) 10%,white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-create-map__result-badge--partner{color:var(--camon-brand-dark, var(--camon-brand));background:color-mix(in srgb,var(--camon-brand-light) 80%,white)}.game-create-map__result-meta{font-size:.75rem;line-height:1.4;color:var(--camon-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}.game-create-map__search-error{margin:0;padding:6px 10px;border-radius:var(--camon-radius-sm);background:color-mix(in srgb,var(--camon-danger, #c62828) 12%,white);color:var(--camon-danger, #c62828);font-size:.8125rem}.game-create-map__status{margin:0}.game-create-map__loading{display:grid;place-items:center;height:100%;color:var(--camon-text-muted);font-size:.875rem}.game-create-map__selected{padding:12px 14px;border-radius:var(--camon-radius-md);background:var(--camon-surface, #fff);border:1px solid var(--camon-border-subtle)}.game-create-map__selected strong{display:block;margin-bottom:2px}.game-create-map__badge{margin:4px 0 0}.game-create-map__badge--partner{color:var(--camon-brand);font-weight:600}.game-create-venue-intro,.game-create-directory-hint{margin:0 0 12px}.game-create-slots{margin-top:16px;padding-top:16px;border-top:1px solid var(--camon-border-subtle)}.game-create-slots__head{margin:0 0 var(--space-lg)}.game-create-slots__head p{margin:0}.game-create-slots__grid .venue-slot-card.unavailable.venue-slot-card--sold-out{background:transparent;border-style:solid;opacity:.55}.game-create-slots__grid .venue-slot-status--sold-out{background:var(--camon-surface);color:var(--camon-muted);border:1px solid var(--camon-border)}.game-create-slots__grid .slot-btn.time-sale:not(.selected):not(.gc-slot--preview){border-color:var(--camon-border);background:var(--camon-surface)}.game-create-slots__grid .slot-btn.selected{border-color:var(--camon-brand);background:var(--camon-brand-light)}.game-create-slots__grid{--gc-tint-confirmed: color-mix(in srgb, var(--camon-brand) 12%, #fff);--gc-tint-preview: color-mix(in srgb, var(--camon-brand) 6%, #fff)}.game-create-slots__grid .slot-btn.gc-slot--endpoint,.game-create-slots__grid .slot-btn.gc-slot--fill{border-color:var(--camon-brand);background:var(--gc-tint-confirmed)}.game-create-slots__grid .slot-btn.gc-slot--preview{border-color:var(--gc-tint-preview);background:var(--gc-tint-preview)}.game-create-slots__grid .slot-btn.gc-slot--locked{background:transparent;border-style:solid;opacity:.55;cursor:not-allowed}.game-create-slots__grid .venue-slot-status{align-self:center}.game-create-slots__grid .venue-slot-status--sale{align-self:flex-start;background:var(--camon-accent-warn);color:#fff}.venue-slot-price__original{display:block;font-size:var(--fs-2xs);font-weight:400;color:var(--camon-muted);text-decoration:line-through}.game-create-slots__past-note{margin:0 0 8px;font-size:var(--fs-sm);color:var(--camon-muted)}.game-create-slots__selection{margin-top:12px;flex-direction:column;align-items:stretch}.game-create-slots__court-list{margin:6px 0 0;padding:0;list-style:none}.game-create-slots__court-list li+li{margin-top:4px}.game-create-slots__min-hint{display:block;margin-top:4px;color:var(--camon-warning, #c47a00)}.game-create-schedule-readonly .game-create-schedule-value{margin:6px 0 4px;font-weight:600}.game-cover-upload{display:flex;flex-direction:column;gap:8px}.game-cover-upload--inline .game-cover-upload__inline-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.game-cover-upload--inline .game-cover-upload__inline-label,.game-cover-upload--inline .game-cover-upload__hint{margin:0}.game-cover-upload__zone{position:relative;aspect-ratio:16 / 9;max-width:400px;border:1px dashed var(--camon-border, #c7c7c7);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--camon-surface-muted, #f7f7f7)}.game-cover-upload__zone--drag{border-color:var(--camon-brand, #0ea5e9);background:#0ea5e90f}.game-cover-upload__preview{display:block;width:100%;height:100%;object-fit:cover}.game-cover-upload__reset{display:inline-block;margin-top:var(--space-xs);padding:0;border:none;background:none;color:var(--camon-muted);font-size:var(--fs-md);cursor:pointer}.game-cover-upload__reset:hover{color:var(--camon-text);text-decoration:underline}.game-cover-upload__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);height:100%;padding:16px;text-align:center;color:var(--camon-muted)}.game-cover-upload__zone:not(.game-cover-upload__zone--has-preview):hover{border-color:var(--camon-subtle);background:var(--camon-bg)}.game-cover-upload__zone--has-preview{cursor:pointer}.game-cover-upload__zone--has-preview .game-cover-upload__preview{transition:opacity .15s}.game-cover-upload__zone--has-preview:hover .game-cover-upload__preview{opacity:.85}.game-cover-upload__delete{position:absolute;right:10px;bottom:10px;padding:4px 10px;border:none;border-radius:999px;background:#0f172ab8;color:#fff;font-size:12px;cursor:pointer}.game-cover-upload__change{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:#0f172ab8;color:#fff;font-size:12px}.game-cover-upload__gallery{display:flex;flex-direction:column;gap:8px}.game-cover-upload__thumbs{display:flex;flex-wrap:wrap;gap:8px}.game-cover-upload__thumb{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;width:72px;height:54px;cursor:pointer;background:none}.game-cover-upload__thumb img{width:100%;height:100%;object-fit:cover;display:block}.game-cover-upload__thumb--active{border-color:var(--camon-brand, #0ea5e9)}.game-cover-upload__err{color:var(--camon-danger, #dc2626);margin:0;font-size:13px}.game-detail-cover-edit{padding:16px}.page-profile{max-width:960px;margin:0 auto}.page-profile__intro{margin-bottom:24px}.profile-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:24px;align-items:start}.profile-sidebar{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;position:sticky;top:88px}.profile-identity{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px 20px;background:linear-gradient(180deg,var(--camon-brand-light) 0%,var(--camon-surface) 72%);border-bottom:1px solid var(--camon-border)}.profile-avatar-editor{position:relative;margin-bottom:14px}.profile-avatar-editor__camera{position:absolute;right:2px;bottom:2px;width:28px;height:28px;border-radius:50%;border:2.5px solid var(--camon-surface);background:var(--camon-brand);color:var(--camon-surface);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0f171433}.profile-avatar-editor__camera:disabled{opacity:.6;cursor:wait}.profile-flow{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-card,.profile-panel{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg)}.profile-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center;padding:var(--space-xl);border-width:.5px}.profile-card__identity{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-card__name-input{width:100%;max-width:200px;margin:0;padding:var(--space-xs) var(--space-sm);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;text-align:center;font-family:inherit;font-size:var(--fs-xl);font-weight:500;color:var(--camon-ink)}.profile-card__name-input:hover{border-color:var(--camon-border)}.profile-card__name-input:focus{outline:none;border-color:var(--camon-brand);background:var(--camon-surface)}.profile-card__email{margin:var(--space-xs) 0 0;font-size:var(--fs-sm);color:var(--camon-muted);word-break:break-all}.profile-card__remove-photo{margin-top:var(--space-sm)}.profile-card__uploading{margin:var(--space-xs) 0 0}.profile-card__stats{margin:0;padding:0;display:flex;flex-direction:column;justify-content:center}.profile-stat-row{padding:var(--space-md) 0;border-top:.5px solid var(--camon-border)}.profile-stat-row:first-child{border-top:none;padding-top:0}.profile-stat-row:last-child{padding-bottom:0}.profile-stat-row dt{margin:0 0 3px;display:flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--camon-muted)}.profile-stat-row dd{margin:0;font-size:var(--fs-xl);font-weight:600;color:var(--camon-ink)}.profile-stat-row dd.profile-stat-dupr--unlinked{font-size:var(--fs-md);font-weight:400;color:var(--camon-subtle)}.profile-stat-info{display:inline-flex;align-items:center;cursor:help;color:var(--camon-subtle)}.profile-panel{overflow:hidden}.profile-panel--locale,.profile-settings,.profile-panel.profile-withdraw{padding:var(--space-xl)}.profile-settings__block--divided{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:.5px solid var(--camon-border)}.profile-settings__title{margin:0 0 2px;font-size:var(--fs-lg);font-weight:500;color:var(--camon-ink)}.profile-settings__desc{margin:0 0 var(--space-md);font-size:var(--fs-xs);line-height:1.45;color:var(--camon-muted)}.profile-phone-verified{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);font-weight:600}.profile-phone-verified__badge{font-size:var(--fs-xs);font-weight:700;color:var(--camon-brand);background:color-mix(in srgb,var(--camon-brand) 12%,transparent);padding:2px 8px;border-radius:999px}.profile-phone-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-phone-actions__row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.profile-alimtalk-opt-in{display:flex;align-items:flex-start;gap:var(--space-sm);margin:0;font-size:var(--fs-sm);line-height:1.45}.profile-alimtalk-opt-in input{margin-top:3px}.profile-panel.profile-withdraw{margin-top:0}.profile-photo-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-identity__name{margin:0 0 4px;font-size:1.25rem;font-weight:700;color:var(--camon-brand-dark);line-height:1.3}.profile-name-field{display:flex;flex-direction:column;gap:6px;width:100%;margin:0 0 8px}.profile-name-field__label{font-size:12px;font-weight:600;color:var(--camon-muted)}.profile-name-field__input{width:100%;padding:10px 12px;border:1px solid var(--camon-border);border-radius:10px;font-size:1.1rem;font-weight:700;color:var(--camon-brand-dark);background:var(--camon-surface)}.profile-name-field__input:focus{outline:2px solid var(--camon-brand);outline-offset:1px}.profile-name-field__save{align-self:flex-start;margin-bottom:4px}.profile-identity__email{margin:0;font-size:13px;color:var(--camon-muted);word-break:break-all}.profile-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-bottom:1px solid var(--camon-border)}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;text-align:center;border-right:1px solid var(--camon-border)}.profile-stat:last-child{border-right:none}.profile-stat dt{margin:0;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--camon-muted)}.profile-stat dd{margin:0;font-size:15px;font-weight:700;color:var(--camon-brand-dark)}.profile-sidebar__photo-meta{padding:14px 18px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.profile-sidebar__photo-meta .card-meta{margin:0;font-size:12px}.profile-text-btn{border:none;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--camon-muted);text-decoration:underline;cursor:pointer}.profile-text-btn:hover:not(:disabled){color:var(--camon-brand-dark)}.profile-sidebar__footer{margin-top:auto;padding:14px 18px 18px;border-top:1px solid var(--camon-border)}.profile-account{margin-top:var(--space-sm)}.confirm-dialog__actions--split{justify-content:space-between}.withdraw-dialog__submit{background:var(--camon-surface);border:1px solid var(--camon-border);color:var(--camon-muted);font-weight:400}.withdraw-dialog__cancel{background:var(--camon-ink);border:1px solid var(--camon-ink);color:var(--camon-surface);font-weight:500}.profile-account__label{margin:0 0 var(--space-sm);font-size:var(--fs-sm);font-weight:600;color:var(--camon-muted)}.profile-account__withdraw{padding:0;border:none;background:none;font-size:var(--fs-sm);color:var(--camon-muted);cursor:pointer}.profile-account__withdraw:hover{text-decoration:underline}.profile-withdraw__password{display:block;margin:12px 0 4px}.profile-main{display:flex;flex-direction:column;min-height:320px;padding:0;overflow:hidden}.profile-panel-head{padding:22px 24px 0;border-bottom:1px solid var(--camon-border);background:var(--camon-surface)}.profile-panel-head__title{margin:0 0 6px;font-size:1.1rem;font-weight:500}.profile-panel-head__desc{margin:0 0 18px;font-size:14px;color:var(--camon-muted);line-height:1.5}.profile-panel-body{flex:1;padding:20px 24px}.profile-panel-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--camon-border);background:#fafafa}.profile-panel-head--action{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.profile-pref-save{flex-shrink:0;margin-top:2px;border-radius:var(--radius-full)}.profile-avatar{border-radius:50%;background:var(--camon-brand-light);color:var(--camon-brand-dark);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:3px solid var(--camon-surface);box-shadow:0 4px 16px #0f17141f}.profile-avatar--lg{width:96px;height:96px;font-size:2rem;font-weight:700}.profile-avatar--md{width:48px;height:48px;font-size:1rem;font-weight:700}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar__initials{line-height:1}@media(max-width:768px){.profile-layout{grid-template-columns:1fr}.profile-sidebar{position:static}}.auth-tagline{margin:0 0 12px;color:var(--camon-muted);font-size:14px}.auth-forgot,.auth-footer{margin-top:12px;font-size:14px}.chat-main-empty-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}.mobile-block__stores{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.mobile-block__web{display:inline-block;margin-top:20px}@media(max-width:1100px){.topbar-get-app{display:none}}@media(min-width:1025px){.main-content:has(.map-page){height:auto;max-height:none;min-height:calc(100dvh - var(--topbar-h));overflow:visible}.map-split.map-page{height:auto;max-height:none;overflow:visible}.map-page .map-split__body{grid-template-rows:auto;height:auto;flex:none;overflow:visible}.map-page .map-list{height:auto;max-height:none;overflow:visible}.map-page .map-panel{position:sticky;top:calc(var(--topbar-h) + var(--page-gutter));height:calc(100dvh - var(--topbar-h) - var(--page-gutter) * 2);align-self:start}}@media(min-width:1025px){.main-content:has(.page-games--map){height:auto;max-height:none;min-height:calc(100dvh - var(--topbar-h));overflow:visible}.page-games--map{height:auto;overflow:visible}.games-map-layout{grid-template-rows:auto;flex:none;overflow:visible}.games-map-sidebar{height:auto;max-height:none;overflow:visible}.games-map-panel{position:sticky;top:calc(var(--topbar-h) + var(--page-gutter));height:calc(100dvh - var(--topbar-h) - var(--page-gutter) * 2);align-self:start}}@media(max-width:1024px){.topbar-nav-group-label,.map-page .map-list__location-pill{display:none}.main-content:has(.map-page){height:calc(100dvh - var(--topbar-h));max-height:calc(100dvh - var(--topbar-h))}.map-page .map-split__body{grid-template-columns:1fr;grid-template-rows:minmax(200px,36dvh) minmax(0,1fr);padding:0}.map-page .map-panel{grid-column:1;grid-row:1;min-height:0;max-height:none;border-radius:0}.map-page .map-list{grid-column:1;grid-row:2;min-height:0;height:auto;max-height:none;overflow-y:auto;padding:var(--space-lg) var(--page-gutter)}.game-detail-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:12px 16px;background:var(--camon-surface);border-top:1px solid var(--camon-border);box-shadow:0 -8px 24px #0f17141f}.game-detail-page{padding-bottom:88px}}.venue-lessons-list{display:flex;flex-direction:column;gap:12px}.venue-lessons-instructors{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:16px}.instructor-detail-page{width:100%;margin:0;padding-bottom:88px}.instructor-detail-page--loading{padding-bottom:48px}.instructor-detail-page__body{display:flex;flex-direction:column;gap:20px}.instructor-detail-page__empty{display:flex;flex-direction:column;gap:12px;padding-top:8px}.instructor-detail-layout{display:flex;flex-direction:column;gap:20px}.instructor-detail-layout__primary,.instructor-detail-layout__secondary{display:flex;flex-direction:column;gap:20px;min-width:0}.instructor-detail-layout--single{display:block}.instructor-detail-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;margin:-24px -32px 0;padding:10px 32px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border, #e4e4e4)}.instructor-detail-toolbar__back{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:var(--surface-muted, #f2f2f2);color:var(--text, #2b2b2b);text-decoration:none;font-size:1.1rem;line-height:1}.instructor-detail-toolbar__back:hover{background:#e4e4e4}.instructor-detail-toolbar__title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instructor-detail-profile-card{overflow:hidden;padding:0;border:1px solid var(--camon-border);box-shadow:var(--shadow-card)}.instructor-detail-profile-card__media{background:linear-gradient(160deg,var(--camon-brand-light) 0%,color-mix(in srgb,var(--camon-brand-light) 45%,#fff) 48%,#fff 100%);display:flex;justify-content:center;padding:20px 20px 0}.instructor-detail-profile-card__photo{width:min(200px,56vw);aspect-ratio:3 / 4;object-fit:cover;object-position:top center;border-radius:14px;box-shadow:0 8px 24px #0f172a1f;display:block}.instructor-detail-profile-card__photo--empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#e4e4e4,#c7c7c7);font-size:2.5rem;font-weight:700;color:#6c6c6c}.instructor-detail-profile-card__body{padding:18px 18px 20px}.instructor-detail-profile-card__name{margin:0 0 6px;font-size:1.45rem;line-height:1.25}.instructor-detail-profile-card__headline{margin:0 0 8px;font-size:1rem;font-weight:500;color:var(--camon-brand-dark);line-height:1.45}.instructor-detail-profile-card__meta{margin:0 0 12px;font-size:.88rem;color:var(--text-muted, #6c6c6c);line-height:1.45}.instructor-detail-profile-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.instructor-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}.instructor-detail-stats__item{padding:10px 12px;border-radius:10px;background:var(--surface-muted, #f7f7f7);border:1px solid var(--border, #e4e4e4)}.instructor-detail-stats__item dt{margin:0 0 4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #6c6c6c)}.instructor-detail-stats__item dd{margin:0;font-size:.95rem;font-weight:600;color:var(--text, #2b2b2b);line-height:1.3}.instructor-detail-section{margin:0}.instructor-detail-section--programs{border:1px solid var(--camon-brand-light);background:linear-gradient(180deg,var(--camon-brand-light) 0%,var(--camon-surface) 120px)}.instructor-detail-section.card{padding:16px 18px}.instructor-detail-section.card h2,.instructor-detail-section__head h2{margin:0 0 8px;font-size:1.05rem}.instructor-detail-section__head{margin-bottom:12px}.instructor-detail-section__hint{margin:0;font-size:.88rem;color:var(--text-muted, #6c6c6c);line-height:1.5}.instructor-detail-venues{display:flex;flex-direction:column;gap:10px}.instructor-venue-card{display:flex;gap:12px;padding:14px 16px;align-items:flex-start}.instructor-venue-card__icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--camon-brand-light);position:relative}.instructor-venue-card__icon:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:2px;background:var(--camon-brand)}.instructor-venue-card__icon--directory{background:#f2f2f2}.instructor-venue-card__icon--directory:after{border-radius:50%;background:#6c6c6c}.instructor-venue-card__body{flex:1;min-width:0}.instructor-venue-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.instructor-venue-card__name{display:block;font-size:1rem;margin:0 0 6px;line-height:1.3}.instructor-venue-card__cta{flex-shrink:0;white-space:nowrap}.instructor-venue-card__lessons-link{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:500;color:var(--camon-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.instructor-venue-card__lessons-link:hover{text-decoration:underline}.instructor-venue-card--compact{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;background:transparent;border:none;box-shadow:none}.instructor-venue-card__compact-text{display:flex;flex-direction:column;gap:2px;min-width:0}.instructor-venue-card__compact-label{font-size:.72rem;color:var(--text-muted, #6c6c6c);text-transform:uppercase;letter-spacing:.04em}.instructor-venue-card__compact-text strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instructor-detail-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border, #e4e4e4);box-shadow:0 -4px 20px #0f172a0f}.instructor-detail-sticky-cta__inner{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--page-gutter)}.instructor-detail-empty-venues{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.instructor-detail-bio{margin:0;line-height:1.7;white-space:pre-wrap;color:var(--text, #2b2b2b);font-size:.95rem}.instructor-detail-certs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.instructor-detail-certs li{padding:12px 14px;border-radius:10px;background:var(--surface-muted, #f7f7f7);border:1px solid var(--border, #e4e4e4)}.instructor-detail-cert-name{font-weight:600;margin-right:6px}.instructor-detail-cert-level{color:var(--text-muted, #6c6c6c);font-size:.9rem}.instructor-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.instructor-detail-skeleton{border-radius:10px;background:linear-gradient(90deg,#e4e4e4,#f2f2f2,#e4e4e4);background-size:200% 100%;animation:instructor-detail-shimmer 1.2s ease-in-out infinite}.instructor-detail-skeleton--btn{width:36px;height:36px;border-radius:999px}.instructor-detail-skeleton--photo{width:min(200px,56vw);aspect-ratio:3 / 4;margin:20px auto 0}.instructor-detail-skeleton--title{height:28px;width:60%;margin:0 0 8px}.instructor-detail-skeleton--line{height:16px;width:80%;margin:0 0 16px}.instructor-detail-skeleton--stat{height:52px}.instructor-detail-skeleton--block{height:120px;margin-top:12px}.instructor-detail-stats--skeleton{padding:0 18px 18px}@keyframes instructor-detail-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(min-width:640px){.instructor-detail-profile-card{display:grid;grid-template-columns:200px 1fr;align-items:stretch}.instructor-detail-profile-card__media{padding:20px;align-items:center}.instructor-detail-profile-card__photo,.instructor-detail-profile-card__photo--empty{width:100%;max-width:180px}.instructor-detail-profile-card__body{display:flex;flex-direction:column;justify-content:center}.instructor-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.instructor-programs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.instructor-programs-list__item{flex-direction:column;align-items:stretch}.instructor-programs-list__info{flex:1}.instructor-programs-list__item .btn{align-self:flex-start;margin-top:8px}}@media(min-width:900px){.instructor-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:28px;align-items:start}.instructor-detail-layout__secondary{position:sticky;top:calc(var(--topbar-h) + 56px)}.instructor-detail-profile-card{grid-template-columns:minmax(200px,260px) 1fr}.instructor-detail-profile-card__photo,.instructor-detail-profile-card__photo--empty{max-width:240px}.instructor-detail-sticky-cta{display:none}.instructor-detail-page{padding-bottom:32px}}@media(max-width:899px){.instructor-detail-layout__secondary .instructor-detail-section.card:first-child{margin-top:0}}.home-instructors-section__sub{margin:4px 0 0;font-size:.9rem;font-weight:400;color:var(--text-muted, #6c6c6c)}.home-instructors-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.home-instructors-scroll__item{flex:0 0 200px;scroll-snap-align:start}.instructors-browse-page{max-width:720px}.instructors-browse-header{margin-bottom:20px}.instructors-browse-header h1{margin:0 0 8px}.instructors-browse-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:16px}.venue-lesson-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px}.venue-lesson-card__price{font-weight:700;font-size:1.1rem;margin:0 0 8px}.lesson-program-page{max-width:720px}.lesson-session-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.lesson-session-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.lesson-review-form{padding:16px 18px}.lesson-review-stars{display:flex;gap:4px}.lesson-review-star{border:none;background:none;font-size:1.5rem;color:#c7c7c7;cursor:pointer;padding:0;line-height:1}.lesson-review-star--on{color:#f59e0b}.instructor-lesson-reviews{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.instructor-lesson-review{padding:12px 0;border-bottom:1px solid var(--border, #e4e4e4)}.instructor-lesson-review:last-child{border-bottom:none;padding-bottom:0}.instructor-lesson-review__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.instructor-lesson-review__rating{color:#f59e0b;letter-spacing:1px}.instructor-lesson-review__body{margin:6px 0 0;line-height:1.55;font-size:.92rem}.lessons-browse-page__head{margin-bottom:14px}.lessons-browse-page__head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.lessons-browse-page__head-main h1{margin:0}.lessons-browse-page__subtitle{margin:8px 0 0}.lessons-browse-levels{margin:0 0 16px}.lessons-browse-levels .level-filter-bar--compact{margin:0;background:transparent;border:none;box-shadow:none;padding:0}.lessons-browse-levels .level-filter-header--title-hidden{display:none}.lessons-browse-levels .level-filter-pills{gap:6px;justify-content:flex-start}.lessons-browse-levels .level-pill{min-height:0;padding:var(--space-sm) var(--space-lg);font-size:.8rem}.lessons-browse-panel{margin-bottom:16px;padding:16px 0}.lessons-browse-panel__hint{margin:14px 0 0}.level-filter-header--title-hidden .level-filter-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.level-filter-bar--compact .level-filter-header{margin-bottom:0}.level-filter-bar--compact .level-filter-pills{gap:8px}.lessons-browse-tabs{display:flex;gap:24px;margin-bottom:14px;border-bottom:1px solid var(--camon-border)}.lessons-browse-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 2px 10px;margin-bottom:-1px;border:none;border-bottom:2.5px solid transparent;background:transparent;color:var(--camon-muted);font-family:inherit;font-size:var(--fs-lg);font-weight:400;line-height:1.2;cursor:pointer;transition:color .15s ease,border-color .15s ease}.lessons-browse-tab:not(.lessons-browse-tab--on):hover{color:var(--camon-text)}.lessons-browse-tab--on{color:var(--camon-brand);border-bottom-color:var(--camon-brand);font-weight:500}.lessons-browse-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lessons-browse-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px}.lessons-browse-list li:not(:last-child) .lessons-browse-card{border-bottom:1px solid var(--camon-border)}.lessons-browse-card__levels{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.lessons-browse-page__result-meta{margin:0 0 12px}.instructors-browse-list__item{position:relative}.instructors-browse-list__distance{margin:0 0 4px;font-size:.85rem}.lessons-browse-card__actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.lessons-browse-card__actions .btn-secondary{border-radius:var(--radius-full)}.lesson-series-item{border-left:3px solid var(--camon-border)}.instructor-programs-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.instructor-programs-list__item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--camon-border);border-radius:var(--radius-md);background:var(--camon-surface)}.instructor-programs-list__info{min-width:0}.instructor-programs-list__info strong{display:block;margin-bottom:4px}.profile-calendar-panel{margin-bottom:24px}.profile-calendar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.coach-portal-page{max-width:min(760px,100%)}.coach-portal-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.coach-portal-page-header__identity{display:flex;gap:14px;align-items:flex-start;min-width:0}.coach-portal-page-header__avatar{width:52px;height:64px;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#e4e4e4,#c7c7c7);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#6c6c6c}.coach-portal-page-header__avatar img{width:100%;height:100%;object-fit:cover;object-position:top center}.coach-portal-page-header__eyebrow{margin:0 0 2px;font-size:.78rem;font-weight:600;color:var(--camon-label)}.coach-portal-page-header__meta{margin:4px 0 0;font-size:.85rem}.coach-portal-page-header__actions{flex-shrink:0}.coach-portal-panel{background:var(--camon-surface);border:1px solid var(--camon-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.coach-portal-panel__tabs{margin:0;padding:0;border-bottom:1px solid var(--camon-border)}.coach-portal-panel__body{padding:20px 24px 32px}.coach-portal-panel__body .instructor-profile-form__footer{margin:0 -24px -32px;padding:14px 24px}.coach-portal-page .form-tab-nav{margin-bottom:16px}.coach-portal-page .form-tab-nav--attached{margin-bottom:0}.coach-portal-page .form-tab-nav-inner{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0f172a0f}.coach-portal-page .form-tab-nav--attached .form-tab-nav-inner{gap:0;padding:0 8px;background:#f7f7f7;border-radius:0;box-shadow:none;border-bottom:none}.coach-portal-page .form-tab-nav__tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;min-width:88px;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:#6c6c6c;font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.coach-portal-page .form-tab-nav--attached .form-tab-nav__tab{flex:1 1 0;min-width:72px;padding:14px 10px;border-radius:0;border-bottom:3px solid transparent;margin-bottom:-1px}.coach-portal-page .form-tab-nav__tab:hover{background:#f2f2f2;color:#484848}.coach-portal-page .form-tab-nav--attached .form-tab-nav__tab:hover:not(.active){background:#fff9}.coach-portal-page .form-tab-nav__tab.active{background:var(--camon-brand-light);color:var(--camon-brand-dark);font-weight:600}.coach-portal-page .form-tab-nav--attached .form-tab-nav__tab.active{background:var(--camon-surface);color:var(--camon-brand-dark);border-bottom-color:var(--camon-brand)}.coach-portal-page .btn-sm{padding:6px 12px;font-size:.8rem;height:auto}.coach-portal-page .btn-secondary{background:var(--camon-surface);color:var(--camon-text);border:1px solid #c7c7c7}.coach-portal-page .btn-secondary:hover{background:var(--camon-bg)}.coach-portal-page input:not([type=checkbox]):not([type=radio]),.coach-portal-page select,.coach-portal-page textarea{padding:9px 12px;border:1px solid #c7c7c7;border-radius:8px;background:var(--camon-surface);color:var(--camon-text);min-height:38px}.coach-portal-page input:focus,.coach-portal-page select:focus,.coach-portal-page textarea:focus{outline:2px solid var(--camon-brand-light);border-color:var(--camon-brand)}.coach-portal-page .status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.coach-portal-page .status-badge--neutral{background:#f2f2f2;color:#484848}.coach-portal-page .instructor-lessons-tab__toolbar,.coach-portal-page .instructor-bookings-tab__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.coach-portal-page .instructor-bookings-tab__head-main{min-width:0}.coach-portal-page .instructor-lessons-tab__title,.coach-portal-page .instructor-bookings-tab__title{margin:0 0 4px;font-size:1.05rem}.coach-portal-page .instructor-lessons-tab__desc,.coach-portal-page .instructor-bookings-tab__desc{margin:0;font-size:.88rem}.coach-portal-page .instructor-lessons-tab__actions,.coach-portal-page .instructor-bookings-tab__actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.coach-portal-page .instructor-lesson-open--embedded,.coach-portal-page .coach-portal-offline-form{margin-bottom:16px;padding:16px;border:1px solid var(--camon-border);border-radius:var(--radius-md);background:#f7f7f7}.coach-portal-page .instructor-venues-empty{padding:12px 0}.coach-portal-page .instructor-venues-empty__hint{margin:4px 0 0;font-size:.85rem}.coach-portal-page .instructor-venue-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.coach-portal-page .instructor-venue-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--camon-border);border-radius:8px;background:#f7f7f7}.coach-portal-page .instructor-venue-card__main{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.coach-portal-page .activity-empty.coach-portal-panel,.coach-portal-page .activity-skeleton.coach-portal-panel{padding:24px}.coach-portal-form{padding:18px 20px;margin-bottom:16px}.coach-portal-form__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coach-portal-form__head h2{margin:0;font-size:1.05rem}.coach-portal-form__ends{margin:0 0 12px}.coach-portal-form__actions{display:flex;justify-content:flex-end;margin-top:12px}.coach-portal-form .form-row{display:grid;gap:12px;margin-bottom:12px}.coach-portal-form .form-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-portal-form .form-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.coach-portal-form .form-row--2,.coach-portal-form .form-row--3{grid-template-columns:1fr}}.coach-portal-recurring{display:flex;gap:8px;align-items:flex-start;margin:12px 0}.coach-portal-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;align-items:start}.coach-portal-sessions,.coach-portal-detail{padding:16px 18px}.coach-portal-panel__title{margin:0 0 12px;font-size:1rem}.coach-portal-session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.coach-portal-session{width:100%;text-align:left;border:1px solid var(--border-subtle, #e4e4e4);border-radius:10px;padding:12px 14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}.coach-portal-session:hover{border-color:#9c9c9c}.coach-portal-session--active{border-color:var(--camon-brand);box-shadow:0 0 0 1px var(--camon-brand);background:#f6faf9}.coach-portal-session__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.82rem;color:#6c6c6c}.coach-portal-session__title{margin:0 0 6px;font-weight:600;font-size:.95rem;color:#222}.coach-portal-session__meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;font-size:.8rem;color:#6c6c6c}.coach-portal-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.coach-portal-status--open{background:#dcfce7;color:#166534}.coach-portal-status--full{background:#fef3c7;color:#92400e}.coach-portal-status--cancelled{background:#fee2e2;color:#991b1b}.coach-portal-status--completed{background:#e4e4e4;color:#484848}.coach-portal-detail__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.coach-portal-detail__head .coach-portal-panel__title{margin-bottom:4px}.coach-portal-detail__stats{display:flex;gap:20px;margin:0 0 12px;padding:12px 14px;border-radius:8px;background:#f7f7f7}.coach-portal-detail__stats dt{font-size:.75rem;color:#6c6c6c;margin-bottom:2px}.coach-portal-detail__stats dd{margin:0;font-weight:600;font-size:1rem}.coach-portal-detail__actions{margin-bottom:16px}.coach-portal-cancel-btn{color:#b91c1c}.coach-portal-bookings-block h3{margin:0 0 10px;font-size:.92rem}.coach-portal-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.coach-portal-booking{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e4e4e4;border-radius:8px;background:#fff}.coach-portal-booking__main{display:flex;flex-direction:column;gap:2px;min-width:0}.coach-portal-booking__phone{font-size:.85rem;color:var(--camon-brand);text-decoration:none}.coach-portal-booking__phone:hover{text-decoration:underline}.coach-portal-booking__side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.coach-portal-empty{padding:24px 12px;text-align:center;color:#6c6c6c}.coach-portal-empty p{margin:0 0 12px}.coach-portal-skeleton-list{display:flex;flex-direction:column;gap:8px}.coach-portal-session-skeleton{height:72px}.coach-portal-booking-skeleton{height:56px}@media(max-width:860px){.coach-portal-grid{grid-template-columns:1fr}}.coach-portal-page .form-row{display:flex;gap:12px;flex-wrap:wrap}.coach-portal-page .form-row--2>.form-field,.coach-portal-page .form-row--3>.form-field{flex:1;min-width:0}.coach-portal-page .form-row--3{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:720px){.coach-portal-page .form-row--2,.coach-portal-page .form-row--3{flex-direction:column}}.coach-portal-page .muted{color:var(--camon-muted)}.coach-portal-page .form-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--camon-border)}.coach-portal-page .form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.coach-portal-page .form-section-title{margin:0 0 4px;font-size:1rem;font-weight:600}.coach-portal-page .form-section-desc{margin:0 0 16px;font-size:.85rem}.coach-portal-page .form-field{display:block;margin-bottom:14px}.coach-portal-page .form-field:last-child{margin-bottom:0}.coach-portal-page .form-field input:not([type=checkbox]):not([type=radio]),.coach-portal-page .form-field select,.coach-portal-page .form-field textarea{display:block;width:100%;margin-top:4px}.coach-portal-page .form-label{display:block;font-size:.8rem;font-weight:600;color:#484848}.coach-portal-page .form-hint{display:block;margin-top:4px;font-size:.78rem}.coach-portal-page .form-check{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-bottom:10px;cursor:pointer}.coach-portal-page .chip-grid{display:flex;flex-wrap:wrap;gap:8px}.coach-portal-page .chip-grid--compact .chip{padding:5px 10px;font-size:.78rem}.coach-portal-page .chip{padding:6px 12px;border-radius:999px;border:1px solid #c7c7c7;background:#fff;font-size:.8rem;cursor:pointer;color:#484848}.coach-portal-page .chip:hover{border-color:var(--camon-pill-border)}.coach-portal-page .btn-link{border:none;background:none;color:var(--camon-ink);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.coach-portal-page .btn-link:hover{color:var(--camon-brand-dark)}.coach-portal-page .instructor-profile-form{padding:0}.coach-portal-page .instructor-profile-hero{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:20px;align-items:start;margin-bottom:8px}@media(max-width:640px){.coach-portal-page .instructor-profile-hero{grid-template-columns:1fr}}.coach-portal-page .instructor-profile-hero__fields .form-section{padding-top:0;margin-bottom:0;border-bottom:none}.coach-portal-page .instructor-photo-upload__zone{position:relative;aspect-ratio:3 / 4;max-height:260px;border:2px dashed #c7c7c7;border-radius:var(--radius-md);background:#f7f7f7;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.coach-portal-page .instructor-photo-upload__zone:hover,.coach-portal-page .instructor-photo-upload__zone--drag{border-color:var(--camon-brand);background:var(--camon-brand-light)}.coach-portal-page .instructor-photo-upload__zone--has-preview{border-style:solid;border-color:var(--camon-border)}.coach-portal-page .instructor-photo-upload__preview{width:100%;height:100%;object-fit:cover;object-position:top center}.coach-portal-page .instructor-photo-upload__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;text-align:center}.coach-portal-page .instructor-photo-upload__icon{width:40px;height:40px;border-radius:50%;background:#e4e4e4;position:relative}.coach-portal-page .instructor-photo-upload__icon:after{content:"";position:absolute;top:10px;right:12px;bottom:14px;left:12px;border:2px solid #9c9c9c;border-radius:4px;box-shadow:inset 0 -6px 0 -2px #9c9c9c}.coach-portal-page .instructor-photo-upload__cta{font-size:.82rem;color:#6c6c6c;line-height:1.4}.coach-portal-page .instructor-photo-upload__change{position:absolute;inset:auto 0 0;padding:8px;font-size:.78rem;text-align:center;background:linear-gradient(transparent,#0f172aa6);color:#fff}.coach-portal-page .instructor-photo-upload__guide{margin:8px 0 0;font-size:.78rem;line-height:1.45}.coach-portal-page .instructor-photo-upload__err{margin:6px 0 0;font-size:.82rem;color:var(--camon-danger)}.coach-portal-page .instructor-photo-upload__url-toggle{margin-top:6px}.coach-portal-page .instructor-photo-upload__url-field{margin-top:8px}.coach-portal-page .instructor-profile-form .form-section{padding-bottom:20px;margin-bottom:20px}.coach-portal-page .instructor-profile-form__empty-hint{margin:0 0 8px;font-size:.85rem}.coach-portal-page .instructor-cert-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.coach-portal-page .instructor-cert-list__item{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;padding:10px;background:#f7f7f7;border:1px solid var(--camon-border);border-radius:var(--radius-md)}@media(max-width:520px){.coach-portal-page .instructor-cert-list__item{grid-template-columns:1fr}}.coach-portal-page .instructor-profile-form__footer{position:sticky;bottom:0;margin:0 -24px -32px;padding:14px 24px;background:linear-gradient(180deg,#ffffffd9,#fff 24%);border-top:1px solid var(--camon-border);display:flex;justify-content:flex-end;z-index:2}.instructor-lesson-list__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.instructor-lesson-list__stat{padding:12px 14px;background:#f7f7f7;border:1px solid #e4e4e4;border-radius:10px}.instructor-lesson-list__stat--wide{grid-column:1 / -1}.instructor-lesson-list__stat-value{display:block;font-size:1.15rem;font-weight:700}.instructor-lesson-list__stat-label{display:block;margin-top:2px;font-size:.78rem;color:#6c6c6c}.instructor-lesson-list__programs{display:flex;flex-direction:column;gap:12px}.instructor-lesson-list__program{padding:14px 16px}.instructor-lesson-list__program-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.instructor-lesson-list__program-title-btn{padding:0;border:none;background:none;text-align:left;cursor:pointer}.instructor-lesson-list__program-title{margin:0;font-size:1rem}.instructor-lesson-list__program-meta{margin:0 0 10px}.instructor-lesson-list__sessions{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.instructor-lesson-list__session{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.88rem}.instructor-lesson-list__program-actions{display:flex;flex-wrap:wrap;gap:8px}.lessons-manage-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.lessons-manage-tabs__btn{border:1px solid #e4e4e4;background:#fff;border-radius:999px;padding:6px 14px;font-size:.85rem;cursor:pointer}.lessons-manage-tabs__btn--on{border-color:var(--camon-brand);background:#f0fdf9;color:var(--camon-brand-dark);font-weight:600}.lessons-manage-tabs__link-out{margin-left:auto}.coach-portal-table-wrap{overflow-x:auto}.coach-portal-table{width:100%;border-collapse:collapse;font-size:.88rem}.coach-portal-table th,.coach-portal-table td{padding:10px 12px;border-bottom:1px solid #e4e4e4;text-align:left;vertical-align:top}.coach-portal-session-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px}.coach-portal-offline-form{padding:14px 16px;margin-bottom:12px}.instructor-lesson-bookings__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.lessons-manage-detail__sessions-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.player-terms-agree{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:.875rem;line-height:1.45;color:var(--text-secondary, #6c6c6c)}.player-terms-agree input{margin-top:3px;flex-shrink:0}.player-terms-agree__text a{color:var(--brand-primary, #0b6bcb);text-decoration:underline}.player-terms-modal .player-terms-agree{margin:12px 0 20px}.legal-page{max-width:var(--content-max);margin:0 auto;padding:0 0 48px}.legal-page__article{max-width:720px;margin:0 auto;padding:24px}.legal-page__header h1{margin:0 0 8px}.legal-page__subtitle{margin:0 0 4px;font-size:.95rem;color:var(--text-secondary, #6c6c6c)}.legal-page__article-title{margin:0 0 10px;font-size:1.05rem;font-weight:600}.legal-page__section{margin-top:20px;line-height:1.6}.legal-page__body{margin:0;white-space:pre-line}.legal-page__back{margin-top:28px}.page-home{--home-l1-size: clamp(1.35rem, 4vw, 1.65rem);--home-l1-weight: 700;--home-l1-lh: 1.2;--home-l1-tracking: -.02em;--home-l1-action-size: 1rem;--home-l1-action-weight: 700;--home-l2-size: 1.0625rem;--home-l2-weight: 700;--home-l2-lh: 1.3;--home-l3-size: .8125rem;--home-l3-weight: 500;--home-l3-lh: 1.4;--home-l3-color: var(--camon-muted)}.page-home .home-l1{font-size:var(--home-l1-size);font-weight:var(--home-l1-weight);line-height:var(--home-l1-lh);letter-spacing:var(--home-l1-tracking)}.page-home .home-l1-action{font-size:var(--home-l1-action-size);font-weight:var(--home-l1-action-weight)}.page-home .home-l2{font-size:var(--home-l2-size);font-weight:var(--home-l2-weight);line-height:var(--home-l2-lh);margin:0}.page-home .home-l3{font-size:var(--home-l3-size);font-weight:var(--home-l3-weight);line-height:var(--home-l3-lh);color:var(--home-l3-color)}.page-home .home-l3-link{font-size:var(--home-l3-size);font-weight:600;line-height:var(--home-l3-lh);color:var(--camon-brand-dark);text-decoration:none}.page-home .home-l3-link:hover{color:var(--camon-brand)}.page-home .sport-hero--hub .home-l3,.page-home .sport-hero--hub .sport-hero-location.home-l3{color:var(--hero-pill-text)}.page-home .sport-hero--hub .sport-hero-location__label{font-size:var(--home-l3-size);font-weight:600;color:var(--hero-pill-text)}.page-home .sport-hero--hub .sport-hero-hint.home-l3{color:var(--hero-hint)}.page-home .sport-hero--hub .sport-hero-title.home-l1{font-size:var(--home-l1-size);font-weight:var(--home-l1-weight);line-height:var(--home-l1-lh);letter-spacing:var(--home-l1-tracking);margin-bottom:0}.page-home .sport-hero--split .sport-hero-title.home-l1{margin-bottom:var(--space-md)}.page-home-feed .section-header>h2,.page-home-feed .section-header>div>h2,.page-home .court-booking-results-head>h2,.page-home .discovery-panel-title{font-size:var(--home-l2-size);font-weight:var(--home-l2-weight);line-height:var(--home-l2-lh);margin:0}.page-home-feed .section-link,.page-home .discovery-panel-link.home-l3-link{font-size:var(--home-l3-size)}.page-home .court-booking-result-body>.card-meta,.page-home .court-booking-result-meta,.page-home .court-booking-hero-range.home-l3{font-size:var(--home-l3-size);color:var(--home-l3-color)}.page-home .court-booking-result-body strong.home-l2{font-size:var(--home-l2-size);font-weight:var(--home-l2-weight)}.page-home .home-intent-tabs__btn .home-intent-tabs__label{font-size:var(--fs-lg);font-weight:inherit;line-height:1.2;color:inherit}.page-home .home-games-peek__toggle.home-l3{font-size:var(--home-l3-size);font-weight:600;color:var(--camon-text)}.page-home .home-games-more-link,.page-home .home-games-more-link a{font-size:var(--home-l3-size)}.page-home .home-beginner-guide summary.home-l3,.page-home .home-beginner-guide__list.home-l3{font-size:var(--home-l3-size);color:var(--home-l3-color)}.page-home .sport-hero-hint,.page-home-feed .empty-state>p{font-size:var(--home-l3-size);color:var(--home-l3-color)}.page-home .court-booking-preset-chip.home-l3,.page-home .court-booking-sort--compact select.home-l3{font-size:var(--home-l3-size)}
