@charset "UTF-8";
:root{--paper:#fbf8ef;--ink:#3d443c;--muted:#8a8c7e;--line:#e7e6d9;--mint:#dfeee5;--green:#3f6a54;--orange:#eaa473;--cream:#f7efd8;--white:#fffefa;--shadow:0 5px 0 #e8e5d8;--radius:24px;font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #dd8d5a;outline-offset:4px}input:focus,select:focus{outline:2px solid #87b79a;outline-offset:2px}button{border:0;background:transparent}img{max-width:100%}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.header{max-width:1456px;padding:29px 52px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:11px}.brand>span{font-size:22px;font-weight:900;letter-spacing:-1px;white-space:nowrap}.brand-light{font-weight:500;margin-left:5px}.brand small{display:block;font-size:10px;font-weight:500;color:#909285;letter-spacing:.5px;margin-top:3px}.header nav{display:flex;gap:32px;align-items:center;margin-left:20px}.nav-link{font-size:14px;font-weight:700;color:#929386;padding:12px 0}.nav-link.active{color:#3f624b}.header-actions{display:flex;align-items:center;gap:17px}.online-pill{background:#eeefe4;border:1px solid #e5e7d8;border-radius:40px;padding:9px 13px;font-size:11px;color:#6f7e63;white-space:nowrap}.online-pill i,.court-label i,.eyebrow>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#80a978;margin-right:6px}.online-pill b{font-weight:700}.icon-button{display:flex;align-items:center;justify-content:center;border:1px solid #e6e6d9;background:#fffdf7;border-radius:50%;width:35px;height:35px;font-size:20px}.header-actions .icon-button{font-size:23px}main{max-width:1352px;padding:0 36px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:43px 0 31px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1px;color:#84907a;display:block}.intro .eyebrow{font-size:11px;letter-spacing:1.5px}.intro h1{font-size:44px;letter-spacing:-2.7px;line-height:1.4;margin-top:9px;font-weight:900;position:relative;display:flex;align-items:center;gap:10px}.intro h1>span{color:#7d9b79}.intro h1 svg{width:32px;height:32px;stroke:#ddb776;stroke-width:2.3;stroke-linecap:round;margin-left:4px}.intro p{font-size:14px;color:#8b8b7c;line-height:1.85;margin-top:6px;letter-spacing:-.3px}.intro-stamp{border:1.6px dashed #cfcbb2;width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8e9679;position:relative;transform:rotate(10deg);margin:0 26px}.intro-stamp span{font-size:10px;letter-spacing:2px}.intro-stamp strong{text-align:center;font-size:18px;line-height:1.3;letter-spacing:-.6px;margin-top:6px}.intro-stamp i{font-style:normal;position:absolute;right:-10px;bottom:4px;color:#d1ad6f;font-size:28px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 334px;gap:25px;align-items:start}.court-column{min-width:0}.court-card{border:1.4px solid #dedfce;background:#fffdf7;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.court-toolbar{display:flex;align-items:center;gap:10px;padding:17px 22px 0}.court-label{font-size:12px;font-weight:800;display:flex;align-items:center;white-space:nowrap}.court-label i{width:6px;height:6px;background:#9caf88}.tiny-pill{font-size:10px;font-weight:700;padding:5px 9px;background:#f2eee1;color:#91907a;border-radius:20px;white-space:nowrap}.court-toolbar>.text-button{margin-left:auto;font-size:10px;color:#929482;padding:6px 0}.text-button{font-size:12px;font-weight:700;padding:8px 0;white-space:nowrap}.text-button:hover{color:var(--green)}.danger{color:#b0816d}.scoreboard{display:flex;align-items:center;justify-content:center;gap:23px;padding:24px 24px 20px}.score-player{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.score-player>div{min-width:0}.score-player strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.score-player small{font-size:9px;color:#9c9a88;display:block;margin-top:4px}.score-player>b{font-size:31px;font-weight:800;margin-left:auto;line-height:1;min-width:30px;text-align:center;font-variant-numeric:tabular-nums}.score-player.right{text-align:right}.score-player.right>b{margin:0 auto 0 0}.score-vs{font-size:10px;color:#c0bba6}.player-dot{width:29px;height:29px;border:1.5px solid #8a8060;border-radius:45% 50% 46% 49%;flex-shrink:0;position:relative;background:#eaca8e}.player-dot:before{content:"";position:absolute;left:3px;right:3px;top:5px;height:5px;background:#a0c8b1;border-radius:5px}.player-dot:after{content:"•  •";white-space:pre;font-size:11px;position:absolute;left:7px;top:10px;color:#655c48}.player-dot.peach{background:#e9b095}.player-dot.peach:before{background:#df8d75}.canvas-wrap{aspect-ratio:1.6;position:relative;margin:0 13px;background:#dcebdc;border:1px solid #d1ddc7;border-radius:15px;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.court-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:11%;text-align:center;pointer-events:none;background:linear-gradient(180deg,#f4f7dc42,transparent 70%)}.court-overlay .overlay-tag{font-size:10px;letter-spacing:2px;font-weight:800;color:#7e9877;border:1px solid #b3c5a1;background:#f9fbe6b5;border-radius:30px;padding:5px 11px}.court-overlay h2{font-size:clamp(22px,2.6vw,37px);font-weight:900;line-height:1.33;letter-spacing:-1.8px;margin:12px 0 9px;color:#4f6b50;text-shadow:0 2px 0 #ffffff5c}.court-overlay p{font-size:11px;color:#76906b;line-height:1.6;max-width:80%}.court-overlay .button{pointer-events:auto;margin-top:16px}.court-overlay.is-live{padding-top:8%;background:none}.court-overlay.is-live h2{font-size:30px;color:#4d6544}.court-overlay.is-live p{max-width:80%}.court-overlay.is-live .overlay-tag{display:none}.court-overlay.finished h2{color:#8b623e}.court-corner{position:absolute;bottom:11px;left:12px;right:12px;display:flex;justify-content:space-between;gap:5px;pointer-events:none}.court-corner>span{font-size:8px;color:#7e835d;background:#f8f5dcdd;border:1px solid #d5d4ac85;border-radius:20px;padding:4px 8px;letter-spacing:.1px}.court-bottom{display:flex;align-items:center;justify-content:space-between;padding:17px 21px 19px;gap:8px}.keyboard-guide{font-size:9px;color:#9a9a87;display:flex;align-items:center;gap:13px}.keyboard-guide>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.keyboard-guide i{width:1px;height:13px;background:#e7e5d5}kbd{font:9px inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:18px;border:1px solid #e5e2d3;border-bottom-width:2px;background:#faf8ef;border-radius:4px;color:#8b8b76;line-height:1}.court-bottom .text-button{font-size:10px;color:#899079}.below-court{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#a2a08b;line-height:1.6;padding:15px 5px 0}.mini-spark{color:#c6ad74;font-style:normal;font-size:15px;margin-right:5px}.sidebar{display:flex;flex-direction:column;gap:11px}.profile-card{border:1px solid var(--line);border-radius:19px;padding:18px 20px;background:#f3f1e5}.section-kicker{font-size:9px;font-weight:700;color:#9a9e86;letter-spacing:1px;margin-bottom:9px}.profile-card>label{font-size:13px;font-weight:800;letter-spacing:-.5px;display:block;margin-bottom:11px}.nickname-row{display:flex;align-items:center;gap:8px;background:#fffdf7;border:1px solid #e6e3d2;border-radius:11px;padding:7px 7px 7px 9px}.profile-avatar{font-size:22px}.nickname-row input{border:0;background:transparent;min-width:0;width:100%;font-size:12px;font-weight:700;color:#64705b;outline:none}.nickname-row .icon-button{height:26px;width:26px;border-radius:8px;background:#e7ecdc;border:0;font-size:13px;flex-shrink:0}.avatar-choices{display:flex;gap:7px;margin-top:10px}.avatar-choices button{display:flex;align-items:center;gap:5px;font-size:9px;padding:5px 8px;border:1px solid transparent;border-radius:20px;color:#a19b84}.avatar-choices button.selected{background:#fffaf0;border-color:#d9d8be;color:#827656}.avatar-swatch{width:9px;height:9px;border-radius:50%;display:inline-block}.butter{background:#e8c281}.berry{background:#e5ac9a}.mode-heading{display:flex;justify-content:space-between;align-items:center;margin:9px 2px 1px}.mode-heading h2{font-size:13px;font-weight:800;letter-spacing:-.4px}.mode-heading>span{font-size:9px;color:#aba48e}.mode-card{display:flex;text-align:left;align-items:center;gap:13px;border-radius:16px;padding:17px 17px;position:relative;border:1px solid #e6dfca;transition:transform .15s,box-shadow .15s,background .15s;min-height:100px}.mode-card:hover{transform:translateY(-3px);box-shadow:0 5px 0 #e7e3d6}.mode-card:active{transform:translateY(0)}.mode-friend{background:#edb184;border-color:#daa17a;box-shadow:0 3px 0 #d7a581}.mode-friend:hover{background:#edb88f;box-shadow:0 6px 0 #d7a581}.mode-icon{font-size:26px;font-weight:500;display:flex;align-items:center;justify-content:center;height:43px;width:43px;border-radius:14px;flex-shrink:0;background:#ffffff47;color:#80613f;line-height:1}.mode-card h3{font-size:18px;font-weight:900;letter-spacing:-.8px;margin:4px 0}.mode-kicker{font-size:9px;color:#9b7352;font-weight:600;letter-spacing:.2px}.mode-card p{font-size:10px;color:#9b795d;letter-spacing:-.2px;line-height:1.5}.mode-arrow{margin-left:auto;font-size:19px;color:#98714f}.mode-random{background:#e4ece1;border-color:#d6dfce}.mode-random .mode-icon{background:#d1deca;color:#789572}.mode-random .mode-kicker,.mode-random p,.mode-random .mode-arrow{color:#8b9c80}.mode-cup{background:#f5ead1;border-color:#e7ddc1}.mode-cup .mode-icon{background:#eee0b9;color:#b6a25b}.mode-cup .mode-kicker,.mode-cup p,.mode-cup .mode-arrow{color:#aa9b6e}.mode-king{background:#eee5e7;border-color:#e4d9de}.mode-king .mode-icon{background:#e5d7dc;color:#a68a98}.mode-king .mode-kicker,.mode-king p,.mode-king .mode-arrow{color:#ab949d}.join-code-button{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9b9a85;padding:8px 4px;margin-top:0}.join-code-button strong{font-size:10px;color:#7f8871;border-bottom:1px solid #bcc4ad;padding-bottom:3px}.sidebar-note{display:flex;gap:10px;margin:4px 5px;color:#aaa68f;font-size:10px;line-height:1.7}.sidebar-note>span{font-size:25px;color:#bfc7a9}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 21px;background:var(--orange);border:1px solid #d49365;color:#684c35;border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 3px 0 #d9b18a;transition:transform .15s,filter .15s;white-space:nowrap}.button:hover{filter:brightness(1.035);transform:translateY(-1px)}.button:active{transform:translateY(2px);box-shadow:none}.button>span{margin-left:auto}.button.small{font-size:11px;padding:10px 15px;min-height:38px}.white{background:#ffffefd9;border-color:#cad4b8;color:#718366;box-shadow:0 2px 0 #b9c6a7}.mint-button{background:#deead7;border-color:#c4d2b9;color:#69815c;box-shadow:0 3px 0 #c7d4bd}.detail-card{background:var(--white);border:1px solid var(--line);padding:23px;border-radius:20px;margin-top:23px}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.detail-heading h2{font-size:21px;margin-top:5px;letter-spacing:-.7px}.invite-bar{display:flex;align-items:center;justify-content:space-between;background:#f7f5ea;border:1px dashed #dedbc8;padding:13px 16px;border-radius:12px;gap:12px}.invite-bar small{display:block;font-size:9px;color:#a4a08a}.invite-bar strong{font-size:23px;letter-spacing:4px;color:#7b886a;font-weight:800;display:block;margin-top:3px}.room-roster{display:flex;gap:12px;margin:15px 0}.roster-player{flex:1;border:1px solid #e8e6d8;border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px;font-size:12px}.roster-player .roster-status{display:block;font-size:10px;color:#9e9d88;margin-top:3px}.roster-player.self{background:#f2f6eb;border-color:#dae4ce}.room-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.room-actions p{font-size:11px;color:#999680;line-height:1.65}.king-panel{margin-top:19px;border-top:1px solid var(--line);padding-top:18px}.king-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px}.king-heading>small{color:#b38e60}.king-panel h3{font-size:11px;margin-top:16px}.king-panel ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:10px 0}.king-panel li{font-size:11px;padding:8px 11px;background:#f4f0e4;border-radius:10px}.king-panel .muted{font-size:11px}.cheer-controls{display:flex;align-items:center;gap:7px;margin-top:18px}.cheer-controls span{font-size:10px;color:#9b9c87;margin-right:auto}.cheer-controls button{width:36px;height:34px;border:1px solid #e7e4d3;border-radius:10px;font-size:19px;background:#fdfaf1}.cheer-controls button:hover{transform:translateY(-2px)}.cheers-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.cheer-bubble{position:absolute;bottom:24%;padding:8px 13px;font-size:28px;background:#fffdf0dd;border:1px solid #e0dabe;border-radius:23px;animation:float-cheer 2.7s ease-out forwards;text-align:center}.cheer-bubble small{font-size:8px;display:block;color:#817d61}.cup-section{margin-top:38px;scroll-margin-top:30px}.cup-empty{border:1px solid #e4e3d2;border-radius:22px;background:#eeefe2;display:flex;gap:23px;align-items:center;padding:29px 31px}.cup-empty h2{font-size:23px;letter-spacing:-1px;margin-top:8px}.cup-empty p{font-size:12px;color:#929783;line-height:1.8;margin-top:8px}.cup-empty>.button{margin-left:auto}.cup-illustration{font-size:45px;background:#e5e8d5;border:1px solid #d9ddc5;border-radius:28px;width:91px;height:91px;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-7deg);flex-shrink:0}.cup-illustration span,.cup-illustration i{position:absolute;color:#d5b369;font-size:22px;font-style:normal}.cup-illustration span{top:-11px;right:0}.cup-illustration i{bottom:-4px;left:-9px;font-size:17px}.cup-panel{margin-top:0;padding:28px}.cup-lobby{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:21px 0 14px}.cup-lobby strong{font-size:13px}.cup-lobby p{font-size:11px;margin-top:6px;line-height:1.6}.cup-action-buttons{display:flex;align-items:center;gap:15px}.cup-players{display:flex;flex-wrap:wrap;gap:9px}.cup-player{font-size:11px;border:1px solid #e2e2d2;border-radius:30px;padding:9px 12px;background:#f7f5eb}.cup-player.me{background:#e9efde}.bracket{display:flex;gap:24px;overflow-x:auto;padding:23px 0 5px}.bracket-round{display:flex;flex-direction:column;justify-content:space-around;gap:16px;min-width:185px;flex:1}.bracket-round h3{font-size:11px;color:#a69d80;letter-spacing:1px;text-align:center;margin-bottom:0}.bracket-match{border:1px solid #e5e0cf;border-radius:12px;background:#faf7eb;overflow:hidden;position:relative}.bracket-match>div{font-size:11px;display:flex;align-items:center;gap:6px;padding:11px 12px;min-height:38px}.bracket-match>div+div{border-top:1px solid #e8e5d4}.bracket-match .winner{background:#e5edda;font-weight:800}.bracket-match .score{margin-left:auto;font-weight:800}.bracket-match small{display:block;font-size:9px;color:#aaa086;text-align:center;padding:5px;background:#f0edde}.bracket-match button{width:100%;font-size:10px;font-weight:800;padding:7px;background:#e3ebd6;color:#778561}.cup-champion{margin-top:25px;border:1px solid #e6d5a1;border-radius:18px;background:#fff5d7;text-align:center;padding:23px;color:#a78b43;font-size:18px;font-weight:800}.little-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:40px 8px 39px;margin-top:6px}.little-rules>div{position:relative;padding-left:34px}.little-rules>div>span{position:absolute;left:0;top:1px;color:#b7b89e;font-size:11px;font-weight:800}.little-rules h3{font-size:13px;letter-spacing:-.3px;color:#7b856d}.little-rules p{font-size:11px;line-height:1.8;color:#a3a08b;margin-top:9px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1352px;margin:auto;padding:25px 36px;border-top:1px solid var(--line);font-size:10px;color:#a5a38d}.footer-brand{font-size:13px;font-weight:800;color:#858b72}footer .text-button{font-size:10px;color:#a4a18b}.dialog{border:1px solid #dedbc7;border-radius:25px;background:var(--paper);color:var(--ink);padding:36px;max-width:440px;width:calc(100% - 32px);box-shadow:0 18px 90px #44452c30;max-height:calc(100dvh - 45px)}.dialog::backdrop{background:#42544550;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:15px;top:13px;font-size:26px;color:#a39e86;line-height:1;padding:5px}.dialog-icon{font-size:31px;margin-bottom:17px}.dialog h2{font-size:24px;letter-spacing:-1px;line-height:1.4}.dialog>p{font-size:12px;color:#9b9680;line-height:1.8;margin-top:11px}.dialog form{display:flex;flex-direction:column;gap:10px;margin-top:25px}.dialog form>label{font-size:11px;font-weight:800;margin-top:5px}.dialog input,.dialog select{padding:13px 14px;width:100%;background:#fffdf8;border:1px solid #dedcc8;border-radius:10px;font-size:13px;color:#736f58}.dialog input::placeholder{color:#bab49f}.dialog form>.button{margin-top:13px}.dialog form>small{font-size:10px;line-height:1.8}.wide-dialog{max-width:650px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:25px}.help-grid h3{font-size:13px;line-height:1.6;color:#7f8b6a}.help-grid p{font-size:12px;color:#a29d83;line-height:1.9;margin-top:6px}.queue-dialog{text-align:center;padding:38px 28px;pointer-events:auto}.queue-potato{font-size:57px;animation:potato-bob .8s ease-in-out infinite alternate;margin-bottom:23px}.queue-dialog h2{font-size:21px;margin-top:12px}.queue-dialog .eyebrow{font-size:10px}.queue-dialog>p{font-size:11px}.queue-timer{font-size:35px;font-variant-numeric:tabular-nums;margin:23px 0 8px;color:#9a9d7d}.queue-dialog>.button{display:flex;width:100%;margin-top:24px}.muted{color:#a09d87;font-weight:400}.queue-dialog>.muted{font-size:11px}.toast{position:fixed;z-index:20;left:50%;bottom:28px;transform:translateX(-50%);background:#3f5545;color:#fafbef;border:1px solid #607c65;border-radius:15px;padding:13px 22px;font-size:12px;box-shadow:0 5px 25px #26382a24;max-width:calc(100% - 30px);text-align:center;line-height:1.7}.toast.error{background:#986f58;border-color:#ab8269}.connection-banner{font-size:12px;background:#f4e7d7;border:1px solid #e7d1b6;border-radius:12px;padding:13px 17px;color:#a1835d;margin-bottom:18px;line-height:1.6}.touch-controls{display:none;justify-content:space-between;gap:16px;padding:15px 2px 0;touch-action:none}.touch-controls>div{display:flex;gap:12px}.touch-controls button{height:52px;min-width:68px;border:1px solid #c9d6bd;border-bottom-width:4px;border-radius:15px;background:#e1ead7;color:#6c805b;font-size:25px;user-select:none;-webkit-user-select:none;touch-action:none}.touch-controls .jump-button{font-size:15px;min-width:100px;background:#efc6a5;border-color:#d8ad8b;color:#8b6444;font-weight:800}.touch-controls button.pressed{transform:translateY(2px);border-bottom-width:2px;filter:brightness(.95)}.mobile-only{display:none}.canvas-wrap:fullscreen{background:#dcebdc;aspect-ratio:auto;width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.canvas-wrap:fullscreen canvas{object-fit:contain}#credits-dialog>a{display:inline-block;font-size:12px;margin-top:22px;border-bottom:1px solid #a6b596;color:#80916d;padding-bottom:4px}
@keyframes potato-bob{to{transform:translateY(-8px) rotate(9deg)}}@keyframes float-cheer{0%{transform:translateY(0) rotate(-5deg);opacity:0}15%{opacity:1}to{transform:translateY(-180px) rotate(8deg);opacity:0}}@media(min-width:1500px){.canvas-wrap{aspect-ratio:1.6}}@media(max-width:1120px){.header{padding:24px 30px 20px}.header nav{gap:23px;margin-left:0}main{padding:0 28px}.play-layout{grid-template-columns:minmax(0,1fr) 294px;gap:20px}.intro h1{font-size:39px}.mode-card{padding:15px 14px;gap:10px;min-height:94px}.mode-card h3{font-size:16px}.mode-icon{width:36px;height:38px;border-radius:11px;font-size:24px}.mode-kicker{font-size:8px}.mode-card p{font-size:9px}.keyboard-guide{gap:8px}.alternate-keys{display:none!important}.keyboard-guide i{display:none}.cup-empty{padding:25px;gap:18px}.cup-empty h2{font-size:21px}.cup-empty p{font-size:11px}.cup-empty>.button{font-size:11px;padding:12px}.scoreboard{padding:22px 22px 18px;gap:15px}.score-player{gap:9px}.score-player strong{font-size:11px}.score-player small{font-size:8px}.score-player>b{font-size:27px}.score-vs{font-size:9px}.intro-stamp{margin-right:10px}.court-overlay h2{font-size:29px}.court-overlay p{font-size:10px}.court-overlay .button{margin-top:12px;padding:8px 12px;font-size:10px}.court-overlay{padding-top:7%}.below-court{flex-direction:column;gap:2px}.below-court>span+span{padding-left:20px}.profile-card{padding:17px}.brand>span{font-size:20px}.brand img{width:37px;height:37px}.brand small{font-size:8px}.header-actions{gap:9px}}@media(max-width:830px){.header{padding:20px 22px 17px}.header nav{display:none}.intro{padding:30px 0 25px}.intro h1{font-size:35px;letter-spacing:-2px;gap:7px}.intro h1 svg{width:25px}.intro p{font-size:12px}.intro .eyebrow{font-size:9px}.intro-stamp{width:85px;height:85px;margin:0 5px}.intro-stamp strong{font-size:15px}.intro-stamp span{font-size:8px}.play-layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:13px}.profile-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;column-gap:20px;padding:19px}.profile-card .section-kicker{grid-column:1}.profile-card>label{grid-column:1;margin-bottom:0}.nickname-row{grid-column:2;grid-row:1/3}.avatar-choices{grid-column:2;grid-row:3;margin-top:8px}.mode-heading{grid-column:1/-1;margin-top:10px}.mode-card{min-height:106px;padding:19px}.mode-card h3{font-size:18px}.mode-kicker{font-size:9px}.mode-card p{font-size:10px}.mode-icon{width:39px;height:42px}.join-code-button{grid-column:1/-1;padding:9px 4px}.sidebar-note{grid-column:1/-1;display:none}.court-overlay{padding-top:10%}.court-overlay h2{font-size:35px}.court-overlay p{font-size:12px}.court-overlay .button{margin-top:17px;font-size:12px;padding:11px 17px}.court-overlay.is-live h2{font-size:32px}.score-player strong{font-size:13px}.score-player small{font-size:9px}.score-player>b{font-size:32px}.scoreboard{padding:24px 32px 22px;gap:23px}.court-toolbar{padding:19px 24px 0}.court-bottom{padding:18px 24px}.keyboard-guide{font-size:10px}.keyboard-guide .alternate-keys{display:flex!important}.keyboard-guide i{display:block}.below-court{flex-direction:row;padding-bottom:3px}.below-court>span+span{padding-left:0}.cup-empty{flex-wrap:wrap;gap:20px}.cup-illustration{width:75px;height:75px;font-size:38px}.cup-empty>div:nth-child(2){flex:1}.cup-empty>.button{margin-left:95px}.little-rules{gap:15px}.little-rules p{font-size:10px}.little-rules h3{font-size:12px}footer>span{display:none}.touch-controls{display:flex}}@media(max-width:520px){main{padding:0 17px}.header{padding:17px 18px 15px;gap:10px}.brand{gap:8px}.brand>span{font-size:18px}.brand img{width:34px;height:34px}.brand small{font-size:7px;letter-spacing:.1px}.header-actions{gap:7px}.online-pill{padding:7px 9px;font-size:9px}.desktop-only{display:none}.header-actions .icon-button{height:29px;width:29px;font-size:19px}.intro{padding:27px 0 25px}.intro h1{font-size:29px;letter-spacing:-1.9px;gap:6px;margin-top:9px}.intro h1 svg{display:none}.intro .eyebrow{font-size:8px;letter-spacing:1px}.intro p{font-size:11px;line-height:1.8;margin-top:8px}.intro-stamp{width:63px;height:63px;margin:0 3px 0 8px}.intro-stamp span{font-size:6px;letter-spacing:1px}.intro-stamp strong{font-size:12px;margin-top:3px}.intro-stamp i{font-size:20px;right:-8px;bottom:-6px}.court-card{border-radius:19px}.court-toolbar{padding:14px 15px 0;gap:8px}.court-label{font-size:10px}.court-toolbar .tiny-pill{font-size:8px;padding:4px 7px}.court-toolbar>.text-button{font-size:8px}.scoreboard{padding:18px 18px 15px;gap:11px}.score-player{gap:7px}.score-player strong{font-size:10px;max-width:92px}.score-player small{font-size:7px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-player>b{font-size:25px;min-width:21px}.player-dot{width:24px;height:24px}.player-dot:after{font-size:9px;left:5px;top:8px}.player-dot:before{top:4px;height:4px}.score-vs{font-size:8px}.canvas-wrap{margin:0 9px;border-radius:12px}.court-overlay{padding-top:7%}.court-overlay h2{font-size:25px;letter-spacing:-1.3px;margin:8px 0 5px}.court-overlay .overlay-tag{font-size:7px;padding:4px 8px;letter-spacing:1px}.court-overlay p{font-size:8px}.court-overlay .button{font-size:9px;padding:7px 11px;min-height:30px;margin-top:10px;border-radius:8px}.court-overlay.is-live h2{font-size:23px}.court-overlay.is-live p{font-size:9px}.court-corner{bottom:7px;left:7px;right:7px}.court-corner>span{font-size:6px;padding:3px 5px}.court-bottom{padding:12px 15px 14px}.keyboard-guide{font-size:8px;gap:10px}.keyboard-guide .alternate-keys{display:none!important}.keyboard-guide i{display:none}.court-bottom .text-button{font-size:8px}kbd{font-size:8px;min-width:15px;height:16px}.below-court{font-size:8px;gap:8px;padding:12px 3px 0;flex-wrap:wrap}.below-court>span+span{padding-left:18px;margin-top:-6px}.touch-controls{padding-top:13px}.touch-controls button{height:48px;min-width:65px}.profile-card{column-gap:10px;padding:16px}.profile-card>label{font-size:11px}.section-kicker{font-size:8px}.nickname-row{gap:4px;padding:6px}.profile-avatar{font-size:18px}.nickname-row input{font-size:10px}.nickname-row .icon-button{width:22px;height:22px;font-size:11px}.avatar-choices{gap:2px}.avatar-choices button{font-size:8px;padding:4px 6px}.sidebar{gap:10px}.mode-card{padding:15px 12px;gap:9px;min-height:115px;align-items:flex-start;flex-direction:column;border-radius:15px}.mode-icon{width:31px;height:29px;font-size:20px;border-radius:8px;position:absolute;right:12px;top:12px}.mode-kicker{font-size:8px;max-width:calc(100% - 33px);display:block;min-height:26px;line-height:1.5}.mode-card h3{font-size:16px;letter-spacing:-.7px;margin:8px 0 4px}.mode-card p{font-size:8px;letter-spacing:-.3px}.mode-arrow{position:absolute;bottom:13px;right:12px;font-size:15px}.mode-card>div{width:100%}.mode-heading h2{font-size:12px}.mode-heading>span{font-size:8px}.join-code-button,.join-code-button strong{font-size:9px}.cup-section{margin-top:29px}.cup-empty{padding:22px 18px;gap:14px;border-radius:18px}.cup-illustration{width:53px;height:60px;border-radius:18px;font-size:30px}.cup-empty .eyebrow{font-size:7px;letter-spacing:.3px}.cup-empty h2{font-size:17px;letter-spacing:-.6px;margin-top:6px}.cup-empty p{font-size:9px;line-height:1.8;margin-top:6px}.cup-empty>.button{margin-left:67px;font-size:10px;padding:11px 14px}.detail-card{padding:17px;border-radius:17px}.detail-heading h2{font-size:18px}.detail-heading .eyebrow{font-size:8px}.detail-heading>.text-button{font-size:10px}.invite-bar{padding:11px 12px}.invite-bar strong{font-size:20px;letter-spacing:3px}.invite-bar small{font-size:8px}.invite-bar .button{padding:9px 10px;font-size:9px;min-height:34px;gap:5px}.room-roster{gap:8px}.roster-player{font-size:10px;padding:10px 8px;gap:6px}.roster-player .roster-status{font-size:8px}.room-actions p{font-size:9px}.room-actions .button{font-size:10px;gap:7px;padding:10px 12px}.king-heading{font-size:11px}.king-heading small{font-size:9px}.king-panel li{font-size:9px}.cheer-controls{gap:5px}.cheer-controls span{font-size:9px}.cheer-controls button{width:30px;height:30px;font-size:17px}.cup-lobby{align-items:flex-start;gap:10px;flex-wrap:wrap}.cup-lobby strong{font-size:12px}.cup-lobby p{font-size:9px}.cup-action-buttons{margin-left:auto}.cup-action-buttons .button{font-size:10px}.cup-action-buttons .text-button{font-size:10px}.cup-player{font-size:10px;padding:7px 10px}.bracket-round{min-width:155px}.little-rules{padding:28px 3px 30px;grid-template-columns:1fr;gap:20px}.little-rules>div{padding-left:29px}.little-rules h3{font-size:11px}.little-rules p{font-size:10px;line-height:1.8;margin-top:5px}.little-rules p br{display:none}footer{padding:21px 20px;gap:8px}.footer-brand{font-size:11px}footer .text-button{font-size:8px}.dialog{padding:29px 24px}.dialog h2{font-size:22px}.dialog>p{font-size:11px}.help-grid{grid-template-columns:1fr;gap:18px}.help-grid p{font-size:11px}.mobile-only{display:block}.queue-dialog h2{font-size:19px}.connection-banner{font-size:11px}.cheer-bubble{font-size:23px}.cup-champion{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.confirm-actions{display:flex;gap:12px;margin-top:28px}.confirm-actions .button{flex:1;font-size:12px;padding:12px}.confirm-actions .mint-button{background:#efeddf;border-color:#dad7c0;box-shadow:0 3px 0 #dfdbc8}

.forfeit-player{font-size:9px;color:#b48b73;margin-left:8px;border-left:1px solid #dcd8c2;padding-left:8px}.forfeit-player:hover{color:#915c42}

.mode-computer{background:#e5e8ef;border-color:#d6dce5}.mode-computer .mode-icon{background:#d6dce8;color:#7c8aa1;font-size:25px}.mode-computer .mode-kicker,.mode-computer p,.mode-computer .mode-arrow{color:#8a95a9}

@media(max-width:830px){.mode-king{grid-column:1/-1}}@media(max-width:520px){.mode-king{min-height:102px}}
/* Keep phone controls inside the court in portrait, landscape and fullscreen. */
#touch-toggle{margin-left:auto;font-size:10px;color:#71836b;padding:7px 9px;border:1px solid #d4ddc8;border-radius:9px}
#touch-toggle[aria-pressed="true"]{background:#e1ead7}
.court-toolbar>#fullscreen-button{margin-left:0}
.touch-controls{flex-wrap:wrap;padding:0 16px 16px;gap:10px;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.touch-hint{width:100%;font-size:11px;line-height:1.5;color:#728366;margin:0 0 2px;text-align:center}
.touch-hint small{font-size:10px;color:#999b87}
.touch-controls>div{gap:12px}
.touch-controls button{height:60px;min-width:76px;touch-action:none;-webkit-touch-callout:none}
.touch-controls .jump-button{min-width:108px}
.touch-device .touch-controls{display:flex}
.touch-device .keyboard-guide{display:none}
.touch-device .court-bottom{padding:8px 16px;justify-content:flex-end}
body.court-expanded{overflow:hidden;overscroll-behavior:none}
.court-expanded #court-card,#court-card:fullscreen{position:fixed;inset:0;z-index:50;width:100%;height:100vh;height:100dvh;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#fbf8ef}
.court-expanded .court-toolbar{padding:8px 14px 0;flex-shrink:0}
.court-expanded .scoreboard{padding:10px 18px;flex-shrink:0}
.court-expanded .canvas-wrap{flex:1;min-height:0;aspect-ratio:auto;margin:0 10px;display:flex;align-items:center;justify-content:center;background:#dcebdc}
.court-expanded .canvas-wrap canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:1.6;object-fit:contain}
.court-expanded .court-bottom{display:none}
.court-expanded .touch-controls{display:flex;flex-shrink:0;padding:10px 18px max(10px,env(safe-area-inset-bottom));align-items:center}
.court-expanded .touch-hint{width:auto;flex:1;order:1;margin:0;padding:0 8px}
.court-expanded .touch-controls>div{order:0}
.court-expanded .jump-button{order:2}
@media(any-pointer:coarse){.touch-controls{display:flex}.keyboard-guide{display:none}}
@media(max-width:900px){.touch-controls{display:flex}.keyboard-guide{display:none}}
@media(max-width:520px){#touch-toggle{font-size:8px;padding:5px}.court-toolbar{gap:6px}.court-label{font-size:9px}.touch-controls{padding:0 12px 14px}.touch-controls button{min-width:68px;height:58px}.touch-controls .jump-button{min-width:100px}.court-expanded .touch-hint{display:none}.court-expanded .touch-controls{padding:12px 14px max(12px,env(safe-area-inset-bottom))}}
@media(orientation:landscape) and (max-height:520px){.court-expanded .scoreboard{padding:4px 22px}.court-expanded .score-player>b{font-size:23px}.court-expanded .score-player small{display:none}.court-expanded .player-dot{width:23px;height:23px}.court-expanded .court-toolbar{padding-top:4px}.court-expanded .touch-controls{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.court-expanded .touch-controls button{height:50px;min-width:80px}.court-expanded .touch-controls .jump-button{min-width:110px}}

.court-ready{display:flex;margin:0 16px 14px;justify-content:center;min-height:44px;flex-shrink:0}.court-expanded .court-ready{margin:0 18px 8px;min-height:38px;padding:8px}

.canvas-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body:not(.show-buttons) .touch-controls{display:none!important}.gesture-guide{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:2;white-space:nowrap;border-radius:20px;padding:5px 9px;background:#fffdf0c9;color:#627a5a;font-size:10px;pointer-events:none;display:none}.touch-device .gesture-guide{display:block}@media(max-width:900px){.gesture-guide{display:block}}@media(max-width:520px){.gesture-guide{font-size:8px;padding:4px 7px;top:6px}}
/* PC: make the court, match actions and primary modes readable at normal zoom. */
.court-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
#fullscreen-button{display:inline-flex;align-items:center;justify-content:center;background:#f2ac62;border:2px solid #ae6b2b;color:#3b2a18;box-shadow:0 3px 0 #c18544;border-radius:12px;padding:12px 20px;font-size:18px;font-weight:900;min-height:50px;white-space:nowrap}
.pause-button,.exit-button{border-radius:12px;padding:12px 18px;font-size:16px;font-weight:800;min-height:50px;border:2px solid;white-space:nowrap}
.pause-button{background:#e5edf9;color:#304d78;border-color:#9fb4d1}.exit-button{background:#fff0e8;color:#963d2c;border-color:#d8a18c}
.pause-button:disabled{opacity:.6;cursor:default}
.court-expanded .court-toolbar{flex-wrap:wrap}.court-expanded .court-actions{gap:10px}
.court-expanded .court-bottom{display:flex;flex-shrink:0;padding:10px 20px}
.court-expanded .canvas-wrap{flex:1;min-height:0}
@media(min-width:901px){
 body{font-size:16px}
 main{max-width:1880px;padding:0 28px}
 .header{max-width:1880px;padding:18px 30px;gap:20px}
 .brand>span{font-size:25px}.brand small{font-size:12px}.header nav{gap:28px}.nav-link{font-size:17px;color:#5b6653}.online-pill{font-size:14px}.header-actions .icon-button{height:44px;width:44px}
 .intro{padding:20px 2px 22px}.intro h1{font-size:36px;margin-top:4px}.intro p{font-size:16px;color:#616c58;line-height:1.6}.intro .eyebrow{font-size:13px;letter-spacing:.6px}.intro-stamp{display:none}
 .play-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px}
 .court-toolbar{padding:16px 18px 0;gap:10px;flex-wrap:wrap}.court-label{font-size:17px}.tiny-pill{font-size:13px;color:#58654d;padding:7px 10px}.court-toolbar>#touch-toggle{display:none}
 .scoreboard{padding:18px 24px;gap:20px}.score-player{gap:12px}.score-player strong{font-size:20px;max-width:240px}.score-player small{font-size:14px;color:#5c6956;margin-top:5px}.score-player>b{font-size:40px}.score-vs{font-size:16px;color:#7d806d}.player-dot{width:36px;height:36px}.player-dot:after{font-size:14px;left:9px;top:13px}.player-dot:before{top:7px;height:6px}
 .canvas-wrap{margin:0 16px 16px}.court-corner>span{font-size:12px;color:#4a5c3e;padding:6px 10px}
 .court-bottom{margin:0 16px 16px;padding:12px 16px;background:#f0f1e4;border:1px solid #d7dcc8;border-radius:14px;gap:14px;flex-wrap:wrap}
 .keyboard-guide{display:flex!important;font-size:18px;color:#344830;gap:24px;font-weight:800}.keyboard-guide>span{gap:8px}.keyboard-guide strong{font-size:18px}.keyboard-guide kbd{font-family:inherit;font-size:20px;min-width:42px;height:42px;border:2px solid #aab69c;border-bottom-width:4px;background:#fffef5;color:#344b30;border-radius:8px}.keyboard-guide .space-key{min-width:108px;font-size:18px;padding:0 14px}
 #practice-button{display:inline-flex;align-items:center;justify-content:center;background:#365f49;color:#fffdf3;border:2px solid #294b38;box-shadow:0 3px 0 #b7c7ac;border-radius:12px;font-size:18px;font-weight:900;padding:12px 20px;min-height:52px;margin-left:auto}
 .court-overlay .overlay-tag{font-size:14px;color:#496444;padding:7px 14px}.court-overlay h2{font-size:clamp(30px,3vw,48px)}.court-overlay p{font-size:17px;color:#4c6547}.court-overlay .button{font-size:20px;padding:15px 24px;min-height:56px;background:#365f49;color:#fffdf3;border-color:#294b38}
 .below-court{font-size:14px;color:#59644e;line-height:1.7;flex-wrap:wrap;padding:0 5px 12px}.below-court>span+span{padding-left:0}
 .sidebar{gap:14px;display:flex}.sidebar>*{order:2}.sidebar .mode-heading{order:0;margin:0 2px}.sidebar .mode-computer{order:1}.sidebar .profile-card{order:5}.sidebar .sidebar-note{order:6}
 .mode-heading h2{font-size:21px}.mode-heading>span{font-size:13px;color:#636e57}.mode-card{padding:20px 18px;min-height:132px;gap:14px;border-width:2px}.mode-card h3{font-size:25px;letter-spacing:-.8px;margin:6px 0}.mode-card .mode-kicker,.mode-card p{font-size:14px;color:#515e4b;line-height:1.5;letter-spacing:0}.mode-card .mode-icon{width:48px;height:48px;font-size:30px}.mode-card .mode-arrow{font-size:24px;color:#4d6248}
 .mode-computer{background:#d9ecdd;border-color:#6b9275;box-shadow:0 4px 0 #b6cdb5}.mode-computer .mode-icon{background:#b6d3bb;color:#305c3b}.mode-computer h3{color:#244c32}.mode-computer:hover{background:#cee5d3}
 .profile-card{padding:20px}.section-kicker{font-size:13px;color:#596750}.profile-card>label{font-size:17px}.nickname-row{padding:10px}.nickname-row input{font-size:16px}.nickname-row .icon-button{width:36px;height:36px;font-size:18px}.avatar-choices button{font-size:14px}.join-code-button,.join-code-button strong{font-size:16px;color:#45613f;padding:12px 2px}.sidebar-note{font-size:14px;color:#5d6953}
 .detail-card{padding:24px}.detail-heading h2{font-size:28px}.eyebrow{font-size:13px}.text-button{font-size:16px}.roster-player{font-size:17px;padding:16px}.roster-player .roster-status,.room-actions p{font-size:15px;color:#58664f}.room-actions .button,.invite-bar .button{font-size:17px;min-height:48px}.invite-bar small{font-size:14px}.invite-bar strong{font-size:28px}.king-heading,.king-panel h3{font-size:18px}.king-heading small,.king-panel li,.cheer-controls span{font-size:15px}.cup-empty h2{font-size:28px}.cup-empty p{font-size:16px}.cup-empty>.button{font-size:17px}.cup-lobby strong{font-size:18px}.cup-lobby p,.cup-player{font-size:15px}.cup-action-buttons .button{font-size:17px}.bracket-round{min-width:210px}.bracket-round h3{font-size:18px}.bracket-match{font-size:16px}.bracket-match small{font-size:14px}.little-rules h3{font-size:18px}.little-rules p{font-size:15px;color:#5e6853}footer{font-size:15px}.footer-brand{font-size:18px}footer .text-button{font-size:15px}.toast{font-size:16px}.dialog{font-size:16px}.dialog>p,.help-grid p,.dialog label{font-size:16px}.help-grid h3{font-size:18px}.dialog .button{font-size:17px;min-height:48px}
 .court-expanded .scoreboard{padding:10px 24px}.court-expanded .court-toolbar{padding:12px 20px 0}.court-expanded .court-bottom{margin:10px 16px;padding:10px 16px}.court-expanded .canvas-wrap{margin:0 16px 12px}
}
@media(min-width:901px) and (max-width:1300px){.play-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}main{padding:0 20px}.mode-card{padding:16px 14px;gap:10px}.mode-card h3{font-size:22px}.mode-card .mode-icon{width:38px;height:42px;font-size:26px}.mode-card .mode-kicker,.mode-card p{font-size:13px}.court-label{font-size:16px}.court-actions{gap:7px}#fullscreen-button{padding:10px 14px}.pause-button,.exit-button{font-size:15px;padding:10px 12px}.keyboard-guide{gap:16px}.keyboard-guide kbd{min-width:36px;height:38px}.keyboard-guide .space-key{min-width:88px}#practice-button{font-size:16px;padding:10px 14px}}
@media(max-width:900px){.court-toolbar{flex-wrap:wrap}.court-actions{gap:6px}#fullscreen-button{font-size:14px;min-height:42px;padding:8px 12px}.pause-button,.exit-button{font-size:13px;min-height:42px;padding:8px 10px}.court-expanded .court-actions{gap:6px}.court-expanded .court-bottom{display:none}}
@media(min-width:901px){html{scroll-padding-top:12px}.canvas-wrap{height:clamp(400px,calc(100dvh - 285px),820px);aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.canvas-wrap canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:1.6}.court-expanded .canvas-wrap{height:auto;min-height:0;aspect-ratio:auto}}
.difficulty-picker{margin:0;padding:14px;border:1px solid #becfb9;border-radius:14px;background:#f0f5e9;min-width:0;grid-column:1/-1}
.difficulty-picker legend{font-size:15px;font-weight:800;color:#36533b;padding:0 6px}
.difficulty-options{display:flex;gap:8px}.difficulty-options label{flex:1;min-width:0;position:relative;cursor:pointer}
.difficulty-options input{position:absolute;width:1px;height:1px;opacity:0}
.difficulty-options span{display:flex;align-items:center;justify-content:center;min-height:44px;border:2px solid #c3d1b8;border-radius:10px;font-size:16px;font-weight:800;background:#fffdf5;color:#3d593d}
.difficulty-options input:checked+span{background:#365f49;color:#fffdf3;border-color:#365f49}
.difficulty-options label:focus-within span{outline:3px solid #df9d57;outline-offset:2px}
.sidebar .difficulty-picker{order:1}.sidebar .mode-computer{order:2}
#rally-label{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(min-width:901px){.difficulty-picker{padding:14px}.difficulty-picker legend{font-size:17px}.difficulty-options span{min-height:48px;font-size:17px}}
@media(max-width:520px){.difficulty-picker legend{font-size:13px}.difficulty-options span{font-size:14px;min-height:42px}.court-corner{flex-wrap:wrap}#rally-label{font-size:7px}}
/* Readable rules below the court. */
.below-court{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0 0;padding:17px 20px;border:2px solid #b8c9a8;border-radius:14px;background:#edf2e3;color:#34492e;font-size:18px;font-weight:800;line-height:1.65;gap:10px 20px}
.below-court .mini-spark{font-size:24px;color:#8b6a25;margin-right:8px}
.below-court>span+span{padding-left:0;margin-top:0;font-size:18px;font-weight:800;color:#34492e}
@media(max-width:520px){.below-court{padding:14px 16px;font-size:16px;gap:8px;border-radius:12px}.below-court>span+span{font-size:16px;line-height:1.7;margin-top:0;padding-left:0}.below-court .mini-spark{font-size:20px}}
@media(min-width:901px){#rally-label{font-size:14px}}
@media(max-width:900px){.sidebar>.profile-card,.sidebar>.mode-heading{order:0}.sidebar>.difficulty-picker{order:1}.sidebar>.mode-card{order:2}.sidebar>.join-code-button{order:3}.sidebar>.sidebar-note{order:4}}

/* Keep the welcome action above the game canvas and outside drag hit testing. */
.court-overlay{z-index:4;pointer-events:auto}.court-overlay.is-live{pointer-events:none}#practice-hero{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation}
.match-settings{display:flex;flex:1 1 100%;gap:16px;align-items:end;order:-1;margin:0;padding:12px 14px;border:1px solid #bac8aa;border-radius:12px;background:#fafbf3;min-width:0}.match-settings legend{font-size:17px;font-weight:800;color:#3f5c35;padding:0 6px}.match-settings legend small{font-size:12px;font-weight:500;margin-left:8px}.match-settings label{display:flex;flex:1;flex-direction:column;gap:6px;font-size:15px;font-weight:700}.match-settings select{min-width:0;width:100%;min-height:44px;padding:8px 10px;font-size:16px;border:1px solid #9faf8e;border-radius:9px;background:#fffef8;color:#35482c}.match-summary{padding:2px 22px 10px;font-size:16px;line-height:1.4;color:#49643c;font-weight:800}.start-feedback{flex:1 1 100%;font-size:16px;font-weight:800;line-height:1.5;padding:10px;background:#fff1ce;border-radius:9px;color:#6e4b19}.court-expanded #match-settings{display:none}#practice-hero{cursor:pointer}

.has-live-game #match-settings{display:none}
