/* Court: selected dark direction and complete mobile experience. */
:root{--accent:#d2f75b;--heading:'Manrope',system-ui,sans-serif}
.field-error[hidden]{display:none}
html[data-theme=dark] h1{font-weight:800}.app-header{height:88px}.brand{font-weight:800}.app-shell{transition:opacity .3s}.booting{overflow:hidden}.booting .app-shell,.booting .bottom-nav{opacity:0;pointer-events:none}.launch-screen{display:grid;place-items:center;color:#f1f3e8;overflow:hidden}.launch-screen.finished{display:none}.launch-center{position:relative;z-index:1;transform:translateY(-22px)}.launch-logo{display:flex;align-items:center;gap:12px}.launch-ball{height:58px;width:58px;animation:ball-arrive 1.35s cubic-bezier(.2,.85,.3,1) both}.launch-word{font:800 66px/1.2 'Manrope',system-ui,sans-serif;letter-spacing:-4px;overflow:hidden;display:flex;padding-right:5px}.launch-word b{display:block;font-weight:800;animation:letter-arrive .5s cubic-bezier(.2,.75,.2,1) both;animation-delay:.33s}.launch-word b:nth-child(2){animation-delay:.39s}.launch-word b:nth-child(3){animation-delay:.45s}.launch-word b:nth-child(4){animation-delay:.51s}.launch-word b:nth-child(5){animation-delay:.57s}.launch-word b:nth-child(6){animation-delay:.63s}.launch-dot{color:#d2f75b}.launch-center>p{margin:19px 0 0;text-align:center;letter-spacing:3px;color:#9ba78d;font-size:9px;animation:launch-caption .5s .9s both}.launch-court{position:absolute;width:260px;height:430px;border:1px solid #d2f75b0c;transform:rotate(-14deg);animation:court-arrive 1s .2s both;pointer-events:none}.launch-court span{position:absolute;border:1px solid #d2f75b0c;inset:42px 45px}.launch-court span:nth-child(2){inset:50% 0 auto;height:0}.launch-court span:nth-child(3){inset:42px 50%;width:0}.launch-bottom{position:absolute;bottom:max(72px,calc(env(safe-area-inset-bottom) + 46px));left:0;right:0;text-align:center}.launch-bottom>span{display:block;height:2px;width:64px;background:#344126;margin:0 auto 19px;position:relative;overflow:hidden}.launch-bottom>span:after{content:'';position:absolute;inset:0;background:#d2f75b;transform-origin:left;animation:launch-progress 1.65s .1s both}.launch-bottom p{color:#6d7b5d;font-size:7px;letter-spacing:1.6px}.launch-screen.exiting{animation:launch-exit .2s linear both}
@keyframes ball-arrive{0%{opacity:0;transform:translate(-130px,-45px) rotate(-220deg) scale(.75)}18%{opacity:1}53%{transform:translate(0,9px) rotate(18deg) scale(1.06,.93)}72%{transform:translate(0,-8px) rotate(-7deg) scale(.98,1.03)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}@keyframes letter-arrive{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}@keyframes launch-caption{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes court-arrive{from{opacity:0;transform:rotate(-25deg) scale(.9)}to{opacity:1;transform:rotate(-14deg) scale(1)}}@keyframes launch-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes launch-exit{to{opacity:0;transform:scale(1.025)}}
.page.enter{animation:page-enter .25s ease-out both}.lobby-card{animation:card-enter .3s ease-out both}.lobby-card:nth-child(2){animation-delay:.035s}.lobby-card:nth-child(3){animation-delay:.07s}.lobby-card:nth-child(4){animation-delay:.105s}.sheet[open]{animation:sheet-enter .24s cubic-bezier(.2,.75,.25,1) both}.sheet.closing{animation:sheet-leave .16s ease-in both}.primary:active,.secondary:active,.icon-button:active{transform:scale(.975)}@keyframes page-enter{from{opacity:.35}to{opacity:1}}@keyframes card-enter{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-leave{to{opacity:0;transform:translateY(16px)}}
.map-days{display:flex;align-items:center;gap:7px;margin:0 0 18px}.map-days button{min-height:44px;min-width:84px;border:1px solid var(--line);border-radius:7px;padding:8px 14px;font-size:11px;font-weight:600;color:var(--muted)}.map-days button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.map-days>span{margin-left:auto;font-size:10px;color:var(--muted)}.mine-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 25px}.overview-stat{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:18px 20px}.overview-stat strong{font-size:28px;line-height:1.2;font-weight:800;display:block}.overview-stat small{font-size:11px;color:var(--muted);display:block;margin-top:7px}.overview-stat.highlight strong{color:var(--accent)}.profile-overview{max-width:620px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:20px}.profile-overview>div{padding:16px;text-align:center;background:var(--surface)}.profile-overview strong{font-size:21px;display:block}.profile-overview small{font-size:10px;color:var(--muted)}.profile-settings{max-width:620px;margin:0 0 36px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.profile-settings>button,.notification-setting{display:flex;align-items:center;gap:14px;min-height:78px;width:100%;padding:18px 20px;text-align:left;border-bottom:1px solid var(--line)}.profile-settings>button:last-child{border-bottom:0}.profile-settings strong{display:block;font-size:12px;font-weight:600}.profile-settings small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.profile-settings .icon:first-child{color:var(--accent)}.profile-settings button>.icon:last-child{margin-left:auto;color:var(--muted)}.notification-setting input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}.notification-setting i{margin-left:auto;width:36px;height:21px;border-radius:50px;position:relative;background:var(--line);flex-shrink:0;transition:background .2s}.notification-setting i:before{content:'';position:absolute;height:15px;width:15px;left:3px;top:3px;border-radius:50%;background:var(--muted);transition:transform .2s}.notification-setting input:checked+i{background:var(--accent)}.notification-setting input:checked+i:before{background:var(--accent-text);transform:translateX(15px)}.notification-setting input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.profile-card{margin-bottom:20px}
.lobby-topline{display:flex;align-items:center;gap:12px;margin:22px 0}.back-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--text);flex-shrink:0}.back-button .icon{transform:rotate(180deg);width:18px}.lobby-topline>div{font-weight:700;font-size:13px}.lobby-topline small{display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:3px;letter-spacing:1px}.invite-button{display:flex;align-items:center;gap:7px;min-height:44px;margin-left:auto;padding:8px 13px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:11px}.invite-button .icon{height:16px;width:16px}.lobby-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:28px;align-items:start}.lobby-main>h1{font-size:31px;line-height:1.25;margin-bottom:13px;letter-spacing:-1px}.lobby-place{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;line-height:1.6}.lobby-place button{display:flex;align-items:center;gap:7px;min-height:44px;padding:0;text-align:left;color:var(--muted)}.lobby-place .icon{height:16px;width:16px;color:var(--accent);flex-shrink:0}.lobby-place button>.icon:last-child{width:13px;color:var(--muted)}.lobby-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.lobby-facts>div{min-width:0;padding:14px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.lobby-facts .icon{height:17px;width:17px;color:var(--accent);margin-bottom:10px}.lobby-facts strong{display:block;font-size:13px;font-weight:700;white-space:nowrap}.lobby-facts small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.lobby-section-block{margin:26px 0}.block-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.block-title h2{font-size:17px;font-weight:700;letter-spacing:-.3px}.block-title>span{color:var(--muted);font-size:11px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.team-tile{padding:16px 13px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;min-height:83px;text-align:left;min-width:0;overflow-wrap:anywhere}.team-tile .avatar{height:38px;width:38px;font-size:14px}.team-tile strong{font-size:12px;display:block;line-height:1.5}.team-tile small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.team-tile .host-mark{font-size:8px;color:var(--accent);letter-spacing:.4px;display:block;margin-top:4px}.team-tile.vacant{background:transparent;border-style:dashed;color:var(--muted)}.team-tile.vacant .avatar{background:transparent;border:1px dashed var(--line);color:var(--muted)}.team-tile.vacant strong{font-weight:500;font-size:11px}.team-meter{height:3px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:14px}.team-meter span{display:block;height:100%;background:var(--accent);transition:width .3s}.game-notes{font-size:12px;line-height:1.85;color:var(--muted);padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.booking-note{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:10px;color:var(--muted)}.booking-note .icon{width:15px;height:15px;color:var(--accent)}.lobby-side{position:sticky;top:24px}.lobby-summary{background:var(--surface);padding:22px;border:1px solid var(--line);border-radius:12px}.summary-kicker{font-size:9px;color:var(--muted);letter-spacing:1.4px}.summary-time{font-size:42px;font-weight:800;letter-spacing:-1.5px;line-height:1.2;margin:11px 0 5px}.summary-time>small{font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted);margin-left:9px}.summary-location{font-size:11px;color:var(--muted);margin-bottom:19px}.lobby-summary .detail-actions{margin-top:16px}.lobby-summary .detail-status{font-size:11px}.lobby-summary .primary{font-size:11px}.lobby-summary .form-hint{font-size:10px;margin-bottom:0}.host-info{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.host-info strong{display:block;font-size:11px}.host-info small{color:var(--muted);font-size:10px}.lobby-dock{display:none}.request-list{margin-top:0;padding:18px}.request-list .player-row{padding:8px 0}.request-buttons button{width:44px;height:44px}.request-list h3{font-size:15px;margin-bottom:10px}.request-empty{font-size:12px;color:var(--muted);padding:19px;border:1px dashed var(--line);border-radius:9px}.pending-banner{display:flex;align-items:start;gap:10px;background:var(--soft);border:1px solid #d2f75b24;border-radius:9px;padding:15px 18px;margin:21px 0;color:var(--accent)}.pending-banner .icon{height:20px;width:20px;flex-shrink:0;margin-top:1px}.pending-banner strong{display:block;font-size:12px}.pending-banner p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.7}.location-meta{color:var(--muted);font-size:12px;line-height:1.8;margin:15px 0 20px}.invite-intro{color:var(--muted);font-size:12px;line-height:1.8}.invite-intro+textarea{margin:17px 0;color:var(--text);line-height:1.9;font-size:12px}.about-copy{font-size:14px;line-height:1.9;color:var(--muted)}.about-version{color:var(--accent);font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.player-profile{text-align:center;padding:13px 10px 27px}.player-profile .avatar{width:75px;height:75px;font-size:28px;border:3px solid var(--bg);margin-bottom:15px}.player-profile h2{font-size:27px}.player-profile p{font-size:12px;color:var(--muted);line-height:1.9;max-width:260px;margin:14px auto}.player-profile .level-tag{display:inline-block;font-size:11px;margin-top:10px;padding:6px 10px}.chat-context{display:flex;align-items:center;gap:10px;padding:12px 15px;margin:0 0 19px;border:1px solid var(--line);border-radius:9px;font-size:11px;background:var(--bg)}.chat-context .icon{color:var(--accent)}.chat-context strong{display:block;font-size:12px}.chat-context small{color:var(--muted);display:block;font-size:10px;margin-top:3px}.chat-bubble{animation:card-enter .25s ease-out}.chat-bubble.outgoing{animation-delay:.15s}.chat-draft{display:flex;align-items:center;gap:7px;margin-top:20px}.chat-draft input{margin:0;font-size:11px;min-width:0}.chat-draft button{height:46px;min-width:46px;background:var(--accent);color:var(--accent-text);border-radius:8px}.chat-notice{font-size:11px!important;line-height:1.7}
@media(max-width:850px){.lobby-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr);gap:20px}.lobby-facts{grid-template-columns:repeat(2,1fr)}.team-tile{padding:12px 10px;gap:8px}.team-tile .avatar{height:32px;width:32px;font-size:12px}.lobby-main>h1{font-size:27px}}
@media(max-width:600px){.app-header{height:74px}.launch-ball{height:51px;width:51px}.launch-word{font-size:60px;letter-spacing:-3.8px}.launch-center{transform:translateY(-32px)}.launch-logo{gap:10px}.launch-center>p{font-size:8px;letter-spacing:2.5px;margin-top:19px}.launch-court{width:240px;height:410px}.hero{min-height:235px!important;padding-top:21px!important;padding-bottom:23px!important}.hero h1{font-size:33px}.hero .hero-visual{height:181px;min-height:181px}.lobby-card{border-radius:12px}.card-title{font-size:17px}.card-top{font-size:10px}.lobby-grid{gap:14px}.page-heading{padding-top:25px}.page-heading h1{font-size:29px}.page-heading p{font-size:11px}.page-heading .eyebrow{font-size:8px}.map-panel{height:350px;min-height:350px}.map-panel .drawn-map{height:350px;min-height:350px}.map-days{margin-bottom:17px}.map-days button{font-size:11px;min-width:76px;padding:8px 12px}.map-days>span{font-size:9px}.map-key{font-size:9px}.mine-overview{gap:7px;margin:0 0 21px}.overview-stat{padding:14px 11px;border-radius:9px}.overview-stat strong{font-size:25px}.overview-stat small{font-size:9px;margin-top:5px}.mine-tabs{gap:6px}.mine-tabs button{font-size:10px;min-height:44px}.profile-overview>div{padding:14px 9px}.profile-overview strong{font-size:21px}.profile-overview small{font-size:9px}.profile-summary h2{max-width:160px;overflow-wrap:anywhere;line-height:1.4}.profile-card .profile-summary{gap:10px}.profile-level{font-size:9px}.profile-settings{margin-bottom:18px}.profile-settings>button,.notification-setting{min-height:75px;padding:17px 16px;gap:12px}.profile-settings small{font-size:10px}.profile-card{margin-bottom:17px}.sheet{padding-bottom:max(23px,env(safe-area-inset-bottom))}.sheet form>.primary.full{position:sticky;bottom:-1px;z-index:1;box-shadow:0 -10px 16px var(--surface)}
 .lobby-topline{margin:18px 0 19px;gap:10px}.lobby-topline>div{font-size:12px}.lobby-topline small{font-size:8px}.invite-button{padding:8px 10px;font-size:10px;gap:5px}.invite-button .icon{width:15px;height:15px}.lobby-layout{display:block}.lobby-main>h1{font-size:26px;line-height:1.3;letter-spacing:-.8px}.lobby-place{font-size:11px}.lobby-place button{font-size:11px;line-height:1.6;gap:6px}.lobby-facts{grid-template-columns:repeat(2,1fr);gap:8px;margin:17px 0 22px}.lobby-facts>div{padding:14px 13px}.lobby-facts .icon{height:18px;width:18px;margin-bottom:8px}.lobby-facts strong{font-size:14px}.lobby-facts small{font-size:11px}.lobby-section-block{margin:25px 0}.block-title h2{font-size:17px}.block-title>span{font-size:10px}.team-grid{gap:8px}.team-tile{padding:13px 11px;min-height:85px;gap:8px}.team-tile .avatar{height:33px;width:33px;font-size:12px}.team-tile strong{font-size:11px}.team-tile small{font-size:10px}.team-tile.vacant strong{font-size:10px}.team-tile .host-mark{font-size:8px}.game-notes{padding:16px;font-size:12px}.booking-note{font-size:10px}.lobby-side{display:none}.lobby-dock{display:block;position:fixed;bottom:70px;left:0;right:0;z-index:4;padding:12px 20px 13px;background:#1b2117f7;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.lobby-dock .dock-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:10px;color:var(--muted)}.dock-top strong{font-size:10px;color:var(--accent);font-weight:600}.dock-controls{display:flex;gap:8px}.dock-controls>.primary{flex:1;min-height:46px;font-size:11px}.dock-controls>.secondary{min-width:46px;font-size:10px;min-height:46px}.dock-controls>.secondary .icon{height:17px;width:17px}.lobby-dock .form-hint,.lobby-dock .detail-status{display:none}#lobby-page{padding-bottom:115px}.lobby-page-active .toast{bottom:183px}.request-list{padding:16px}.request-list .request-buttons{gap:5px}.request-buttons button{width:44px;height:44px}.request-list .player-row{gap:9px}.request-list h3{font-size:14px}.request-empty{font-size:11px;padding:16px}.pending-banner{padding:15px 14px}.pending-banner strong{font-size:12px}.pending-banner p{font-size:11px}.lobby-dock .detail-actions{margin:0}.lobby-dock .secondary.danger{min-width:44px;padding:10px}.lobby-dock .detail-actions>.primary{width:100%}.invite-intro+textarea{font-size:12px}.chat-notice{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.launch-ball,.launch-word b,.launch-center>p,.launch-court,.launch-bottom>span:after,.launch-screen.exiting,.page.enter,.lobby-card,.sheet[open],.sheet.closing,.chat-bubble{animation:none!important;opacity:1}.app-shell{transition:none}.launch-screen.exiting{opacity:1}}
