@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("./assets/fonts/Inter.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url("./assets/fonts/Inter-Italic.ttf") format("truetype")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url("./assets/fonts/JetBrainsMono.ttf") format("truetype")}
/* UG palette and glass components adapted from the user's figma_ug_tennis_showcase.html.
   The live application uses real match/inventory data instead of prototype fixtures. */
:root{--ug-blue:#002147;--ug-deep:#00122a;--ug-surface:#0b1d3a;--ug-gold:#d4af37;--ug-light:#e6ca65;--ug-line:#d4af3738;--ug-muted:#9eacc2}
html,body{background:var(--ug-deep);color:#f1f5fc;font-family:Inter,system-ui,sans-serif}button:focus-visible,select:focus-visible,input:focus-visible{outline-color:var(--ug-light)}button{border-color:var(--ug-line);border-radius:12px}button:hover{background:#173655}#clubShell{background:radial-gradient(ellipse at 65% 0,#002d5c80,transparent 65%),linear-gradient(160deg,#002147,#00122a 65%,#020a19);color:#f1f5fc}.club-nav{height:76px;border-bottom:1px solid var(--ug-line);background:#00122ad6;padding:0 5vw}.club-nav button{color:#fff}.club-brand{gap:12px;letter-spacing:.2px}.club-brand .ug-mark{border:0;border-radius:10px;background:var(--ug-gold);color:var(--ug-deep);font-size:17px;font-weight:950;letter-spacing:-1px;padding:0;width:43px;height:43px;display:grid;place-items:center;box-shadow:0 0 24px #d4af3724}.club-brand>b{display:block;font-size:20px;line-height:1.1}.club-brand>b>span{border:0;display:block;font-size:8px;padding:5px 0 0;color:var(--ug-gold);letter-spacing:2px}.club-nav #clubStep{color:var(--ug-muted);font-size:9px;letter-spacing:1.6px}.club-nav #clubCredits{border:1px solid var(--ug-line);border-radius:12px;padding:10px 15px;color:var(--ug-light);font:700 11px "JetBrains Mono",ui-monospace,monospace;background:#0b1d3a}.club-footer{background:#00122a;border-color:var(--ug-line);color:#8193b1;font-size:8px;letter-spacing:1px}.club-sheet{padding-top:35px}.club-eyebrow{color:var(--ug-gold)}.sheet-heading h2{color:white;font-weight:900;font-style:italic;font-size:clamp(25px,3vw,38px)}.club-card{background:linear-gradient(140deg,#0b1d3ac7,#06152cd9);border:1px solid var(--ug-line);border-radius:20px;box-shadow:0 15px 45px #00000013;backdrop-filter:blur(16px)}.club-card h3{font-weight:750;color:#e8eefa}.muted{color:var(--ug-muted);line-height:1.8}.club-sheet button:not(.club-primary){background:#06172dc9;color:#e2e9f5;border:1px solid var(--ug-line);border-radius:11px}.club-sheet button:hover:not(:disabled):not(.club-primary){background:#17324e;border-color:#d4af3780}.club-primary,.primary{background:var(--ug-gold);color:var(--ug-deep);font-weight:900;box-shadow:0 0 24px #d4af3722;border:1px solid #f6d76d99;border-radius:13px;padding:16px 20px}.club-primary:hover,.primary:hover,.club-sheet .club-primary:hover{background:var(--ug-light);color:var(--ug-deep)}.club-sheet [aria-pressed="true"]{background:#d4af3714!important;border-color:var(--ug-gold)!important;box-shadow:0 0 18px #d4af3712}.choice-row button{border-radius:13px!important}.choice-row button span{color:#9cadc4}.control-preview span{color:#a9bad0}.control-preview b{color:#ead17c}.club-card label{color:#c6d3e7;font-size:11px}.club-sheet select,.dialog select{background:#00122a;color:#e5eaf5;border:1px solid var(--ug-line);border-radius:9px;padding:11px}.club-sheet input[type=range],.dialog input{accent-color:var(--ug-gold)}.club-sheet output{color:var(--ug-gold);font-family:"JetBrains Mono",ui-monospace,monospace}.kit-row{border-color:#d4af371a}.kit-row span{color:#9cadc4}.kit-row b{color:#e3e9f5}.kit-summary .club-eyebrow{font-size:10px}.kit-summary .club-primary{font-size:10px}.kit-summary{background:linear-gradient(155deg,#002147b3,#07172ee6)}.locker-toolbar select{border-color:var(--ug-line)}.locker-status{color:var(--ug-light)}.asset-card{background:#0b1d3a99;border-color:var(--ug-line);border-radius:17px}.asset-card.equipped{border-color:#d4af3790;box-shadow:0 0 24px #d4af370b}.asset-art,.equipped .asset-art{background:radial-gradient(ellipse at center,#173c58,#07172c);height:170px}.equipped .asset-art{background:radial-gradient(ellipse at center,#5c52284d,#07172c)}.asset-art>span{background:#00122ac9;color:var(--ug-light);border-color:#d4af3750;border-radius:5px}.asset-copy small{color:var(--ug-gold)}.asset-copy h3{color:white}.asset-copy p{color:#9bacbf}.asset-copy button{color:var(--ug-light)!important}.player-picker{gap:16px}.player-picker button{border-radius:18px!important;overflow:hidden;background:linear-gradient(125deg,#0b1d3a,#002147)!important}.player-picker img{background:radial-gradient(ellipse at center,#d4af3733,#00122a00);height:150px;width:125px;object-position:50% 15%}.player-picker b{color:#fff;font-weight:800}.player-picker small{color:#a1b0c5}.player-picker [aria-pressed=true]{background:linear-gradient(125deg,#d4af371f,#002147)!important}
/* Real lobby built from the prototype's profile, tournament hero, tiles and bottom navigation. */
.ug-lobby{max-width:1380px;margin:auto;padding:30px 5vw 24px;min-height:100%;display:flex;flex-direction:column;gap:25px}.ug-player-bar{display:flex;align-items:center;justify-content:space-between;gap:20px}.ug-profile{display:flex;align-items:center;gap:13px}.ug-profile>img{height:51px;width:51px;object-fit:cover;object-position:50% 5%;border:2px solid var(--ug-gold);border-radius:14px;background:#143758}.ug-profile strong{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.ug-profile div>span{display:block;font-size:10px;color:var(--ug-gold);font-weight:600}.ug-profile-badge{font-size:8px;border:1px solid #d4af3766;color:var(--ug-gold);border-radius:4px;padding:2px 4px;margin-left:5px}.ug-player-record{text-align:right;display:flex;flex-direction:column;gap:7px}.ug-player-record>span{font-size:8px;letter-spacing:1.4px;color:#a7b5c8}.ug-player-record>strong{font:700 14px "JetBrains Mono",ui-monospace,monospace;color:var(--ug-gold)}.ug-player-record i{color:#56718f;font-style:normal;margin:0 7px}.ug-lobby-main{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;flex:1}.ug-lobby-copy{max-width:580px}.ug-championship{background:radial-gradient(ellipse at 100% 0,#d4af371c,transparent 60%),linear-gradient(130deg,#0b2446dd,#07172ddd);border:1px solid #d4af3760;border-radius:24px;padding:30px;position:relative;box-shadow:0 15px 50px #0002}.ug-badge{background:var(--ug-gold);color:var(--ug-deep);border-radius:18px;padding:5px 10px;font-size:8px;letter-spacing:1px;font-weight:900;white-space:nowrap}.ug-motto{font:700 8px "JetBrains Mono",ui-monospace,monospace;color:var(--ug-gold);margin-left:12px;white-space:nowrap}.ug-championship h1{font-size:clamp(39px,4.8vw,68px);font-weight:950;font-style:italic;line-height:1.03;letter-spacing:-2.5px;color:#fff;margin:28px 0 17px}.ug-championship h1 em{color:var(--ug-gold)}.ug-championship p{font-size:13px;line-height:1.8;color:#b4c2d7;max-width:350px}.ug-match-facts{display:flex;gap:23px;border-top:1px solid #d4af3726;margin-top:24px;padding-top:20px}.ug-match-facts>div+div{border-left:1px solid var(--ug-line);padding-left:23px}.ug-match-facts small{display:block;font-size:8px;letter-spacing:.8px;color:#91a5bf;margin-bottom:7px}.ug-match-facts b{color:var(--ug-light);font-size:10px;font-family:"JetBrains Mono",ui-monospace,monospace}.ug-lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.ug-lobby-actions>.club-primary{grid-column:1/-1;font-size:12px;padding:19px 22px}.ug-secondary-card{padding:17px 15px;background:#00122acc;border:1px solid var(--ug-line);border-radius:17px;display:flex;align-items:center;flex-direction:column;gap:7px}.ug-secondary-card:hover{border-color:var(--ug-gold);background:#0b284b}.ug-action-icon{color:var(--ug-gold);font-size:24px;line-height:1}.ug-secondary-card b{font-size:11px;color:#f5f6fb}.ug-secondary-card small{font-size:9px;color:#9cacc2}.ug-hero-players{height:580px;position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:radial-gradient(ellipse at 50% 50%,#12446c77,transparent 60%)}.ug-hero-orbit{position:absolute;left:10%;right:10%;top:20%;aspect-ratio:1;border:1px solid #d4af372b;border-radius:50%;box-shadow:0 0 0 40px #d4af3705,0 0 0 80px #d4af3703}.ug-hero-orbit:after{content:'';position:absolute;inset:25%;border:1px solid #d4af372b;border-radius:50%}.ug-hero-tag{position:absolute;top:26px;left:0;right:0;text-align:center;font:600 9px "JetBrains Mono",ui-monospace,monospace;letter-spacing:2px;color:var(--ug-gold)}.ug-hero-players>img{position:absolute;bottom:40px;width:74%;height:94%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 15px 35px #0005)}.ug-hero-female{left:-7%;z-index:2}.ug-hero-male{right:-12%;z-index:1;opacity:.9}.ug-hero-surface{position:absolute;bottom:0;left:8%;right:8%;background:linear-gradient(90deg,#0b1d3a99,#002147aa);border:1px solid var(--ug-line);border-radius:14px;padding:14px;text-align:center;backdrop-filter:blur(15px);z-index:3}.ug-hero-surface span{display:block;font-size:9px;color:white;letter-spacing:1.3px;margin-bottom:6px}.ug-hero-surface b{font:600 8px "JetBrains Mono",ui-monospace,monospace;color:var(--ug-gold);letter-spacing:1px}.ug-bottom-nav{display:flex;justify-content:space-around;align-items:center;border:1px solid var(--ug-line);border-radius:18px;padding:9px;background:#00122abf;backdrop-filter:blur(16px);margin-top:12px}.ug-bottom-nav>button{background:none!important;box-shadow:none;border:0!important;border-radius:12px;color:#92a7c3;min-width:65px;padding:4px 18px}.ug-bottom-nav span{font-size:21px;line-height:23px;display:block}.ug-bottom-nav small{display:block;font-size:9px;font-weight:650;margin-top:5px}.ug-bottom-nav [aria-current=page]{color:var(--ug-gold)}.ug-bottom-nav>button:hover{color:var(--ug-light);background:#d4af370b!important}.ug-records{max-width:900px}.ug-standings{margin:30px 0}.ug-standing{display:flex;align-items:center;gap:20px;margin-bottom:13px;padding:23px}.ug-rank{font:800 21px "JetBrains Mono",ui-monospace,monospace;color:var(--ug-gold)}.ug-standing>div{flex:1}.ug-standing>div>b{font-size:13px}.ug-standing>div>small{display:block;font-size:10px;color:#9eafc4;margin-top:7px}.ug-standing>strong{font:800 22px "JetBrains Mono",ui-monospace,monospace;color:var(--ug-gold)}.ug-standing>strong>small{font-size:9px}
/* The live court retains its real geometry and controls, with the supplied HUD styling. */
body>header{background:#00122a;border-color:var(--ug-line)}.brand{font-size:20px;font-weight:900;font-style:italic;letter-spacing:-.7px;color:#fff}.brand span{color:var(--ug-gold);font-size:8px}.session{color:var(--ug-gold);font-size:8px}.header-actions button{font-size:10px;background:#0b1d3a;border-color:var(--ug-line)}.scoreboard{background:#0b1d3ad9;border:1px solid #d4af3766;border-radius:17px;padding:11px 13px;width:275px;backdrop-filter:blur(16px);box-shadow:0 10px 30px #0003}.score-row,.score-row:nth-child(2){background:none;color:#edf2ff;border:0;height:30px;grid-template-columns:5px 1fr 36px;gap:9px;margin-bottom:4px;font-size:11px}.score-row b{background:#00122acc;color:var(--ug-gold);border:1px solid #d4af3733;border-radius:6px;font:700 14px "JetBrains Mono",ui-monospace,monospace;padding:5px}.jersey{height:6px;width:6px;border-radius:50%;background:var(--ug-gold)}.jersey.white{background:#8398b1}.score-row small{color:var(--ug-gold)}.score-meta{background:none;border-top:1px solid var(--ug-line);padding:8px 0 0;margin-top:6px;color:#aabbd1;font-size:8px;letter-spacing:1px}.score-meta span{color:var(--ug-gold)}.top-right{align-items:center}.top-right button{border-radius:12px;border-color:#d4af3766;background:#0b1d3ad9;color:var(--ug-gold)}.speed-badge{padding:10px 13px;border:1px solid var(--ug-line);background:#00122acc;color:var(--ug-gold);font:500 10px "JetBrains Mono",ui-monospace,monospace;border-radius:10px;backdrop-filter:blur(12px)}.shot-hud{border:1px solid #d4af3755;border-radius:16px;background:#0b1d3ac9;backdrop-filter:blur(12px);padding:13px;top:95px}.hud-top{color:var(--ug-light)}.power-label,.power-label b{color:var(--ug-light)}.meter{border:1px solid #d4af3744;background:#00122a;height:10px;padding:1px}.meter i{border-radius:4px;background:linear-gradient(90deg,var(--ug-gold),var(--ug-light))}.hud-bottom b i{background:var(--ug-gold)}.player-power{background:#0b1d3ae8;border-color:var(--ug-gold);border-radius:12px;box-shadow:0 0 20px #d4af3722}.player-power>div:first-child{color:var(--ug-light)}.player-power-track{background:#00122a}.player-power-track i{background:var(--ug-gold)}.control-legend{background:#00122abf;color:#ead17c;border:1px solid var(--ug-line);border-radius:10px}.joystick{border-color:#d4af3777;background:#00122a70;backdrop-filter:blur(8px)}.knob{background:#d4af3777;border-color:#e6ca65cc}.stick-guide{border-color:#d4af3744}.joystick span{color:var(--ug-light)}.touch-sprint{border-color:#d4af3788;color:var(--ug-gold);background:#0b1d3ac9;border-radius:16px}.touch-sprint.charging{background:#d4af3770}.shot-buttons button{background:#0b1d3ac9;border:1px solid #d4af3780;border-radius:17px;color:var(--ug-light);box-shadow:0 5px 15px #0002;backdrop-filter:blur(12px)}.shot-buttons button small{color:#e8eef8;font-weight:650}.shot-buttons button.charging,.shot-buttons button:active{background:#d4af3780;border-color:var(--ug-light);box-shadow:0 0 20px #d4af3744}.court-caption{color:#e9edf6}.court-caption span:last-child{color:var(--ug-light)}.overlay{background:#00122ab0}.dialog{background:linear-gradient(155deg,#002147ef,#06152df5);border:1px solid #d4af3766;border-radius:24px;box-shadow:0 20px 80px #0005}.eyebrow{color:var(--ug-gold)}.dialog h1{font-style:italic;font-weight:950;color:#fff}.dialog p{color:#aebfd6}.dialog input{accent-color:var(--ug-gold)}.event{color:white}.event small{color:var(--ug-light)}.victory-badge{width:84px;height:84px;margin:0 auto 24px;display:grid;place-items:center;border:2px solid var(--ug-gold);border-radius:23px;background:#d4af3722;color:var(--ug-gold);font-weight:950;font-size:32px;box-shadow:0 0 30px #d4af3733}#overlay .dialog{text-align:center}#overlay h1{font-size:39px}.reward-card{border:1px solid var(--ug-line);background:#00122a66;border-radius:14px;padding:17px;margin:22px 0}.reward-card>span{display:flex;justify-content:space-between;padding:8px 0;font-size:10px;color:#b3c2d7;gap:15px}.reward-card b{color:var(--ug-gold);font:700 13px "JetBrains Mono",ui-monospace,monospace}.result-lobby{width:100%;margin-top:10px;padding:12px;font-weight:750;background:#00122a;border-color:var(--ug-line)}
@media(max-width:1050px){.ug-lobby{padding:25px 4vw}.ug-lobby-main{gap:15px}.ug-hero-players{height:490px}.ug-championship{padding:23px}.ug-motto{display:none}.ug-match-facts{gap:15px}.ug-match-facts>div+div{padding-left:15px}.ug-profile-badge{display:none}}
@media(max-width:700px){.club-nav{height:64px;padding:0 18px;gap:10px}.club-brand .ug-mark{width:36px;height:36px;font-size:14px;display:grid}.club-brand>b{font-size:16px}.club-brand>b>span{display:block;font-size:6px;letter-spacing:1.3px}.club-nav #clubCredits{padding:9px 11px;font-size:9px}.club-footer{font-size:7px;letter-spacing:0;padding:10px 16px}.club-sheet{padding:25px 17px 35px}.club-card{padding:21px;border-radius:18px}.sheet-heading h2{font-size:24px}.ug-lobby{padding:20px 18px;gap:23px}.ug-lobby-main{display:flex;flex-direction:column;gap:0}.ug-lobby-copy{width:100%}.ug-championship{padding:25px 22px}.ug-championship h1{font-size:39px;letter-spacing:-1.6px;margin-top:24px}.ug-championship p{font-size:12px}.ug-match-facts{gap:14px}.ug-match-facts b{font-size:9px}.ug-lobby-actions{gap:11px}.ug-lobby-actions>.club-primary{font-size:11px;padding:18px 15px}.ug-secondary-card{padding:16px 12px}.ug-hero-players{display:none}.ug-bottom-nav{margin-top:0;padding:9px 4px;width:100%}.ug-bottom-nav>button{padding:4px 12px;min-width:58px}.ug-profile>img{width:45px;height:45px}.ug-profile strong{font-size:12px}.ug-profile div>span{font-size:9px}.ug-player-record>strong{font-size:12px}.ug-player-record>span{font-size:7px}.ug-player-record i{margin:0 3px}.ug-standing{padding:19px 15px;gap:13px}.ug-standing>div>b{font-size:11px}.ug-standing>strong{font-size:19px}.ug-standing>strong>small{font-size:7px}.ug-rank{font-size:16px}.player-picker img{width:100%;height:150px}.asset-art{height:145px}.player-picker button{padding:12px}.brand{font-size:16px}.brand span{display:none}.scoreboard{width:210px;padding:8px 10px;left:12px;top:12px;border-radius:14px}.score-row{font-size:9px;height:25px;grid-template-columns:4px 1fr 28px;gap:7px}.score-row b{font-size:12px;padding:4px}.score-meta{font-size:7px;letter-spacing:.6px}.speed-badge{display:none}.shot-hud{top:auto;bottom:32px;border-radius:12px;padding:9px}.header-actions button{font-size:9px}.top-right button{border-radius:10px}.control-legend{font-size:7px}.dialog{padding:25px}#overlay h1{font-size:30px}}
@media(max-height:550px) and (min-width:701px){.club-nav{height:54px}.ug-lobby{padding-top:18px}.ug-lobby-main{gap:25px}.ug-championship{padding:20px}.ug-championship h1{font-size:45px;margin:20px 0 12px}.ug-hero-players{height:450px}.ug-lobby-actions>.club-primary{padding:15px 18px}.ug-secondary-card{padding:13px}.shot-hud{top:76px;padding:10px}.club-brand .ug-mark{height:34px;width:34px}.club-brand>b{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
