:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:#163754;background:#edf7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,select{cursor:pointer}button{border:0;border-radius:12px;padding:11px 16px;font-weight:750;transition:transform .1s,background .15s}button:active{transform:translateY(2px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ffae3d;outline-offset:3px}input,select{border:1px solid #d5e4ee;border-radius:10px;background:white;color:#193b58;padding:9px 12px;min-width:0}input:focus{outline:2px solid #53a8d2}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid #dceaf2}.brand{display:flex;gap:10px;align-items:center;font-weight:850;font-size:18px}.brand-icon{display:grid;place-items:center;background:#1c7aad;color:white;width:38px;height:38px;border-radius:12px;font-size:26px}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:3px;color:#6088a0}.header-tools{display:flex;gap:8px;align-items:center}.quiet{background:#e4f0f7;color:#466b82}.primary{background:#187caf;color:white;box-shadow:0 4px 0 #105b88}.secondary{background:#fff8dc;color:#76551d;box-shadow:0 3px 0 #e1ca7c}main{max-width:1240px;margin:auto;padding:18px 28px 12px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.heading small{font-size:9px;color:#7396aa;letter-spacing:2px;font-weight:800}h1{margin:5px 0 0;font-size:29px;letter-spacing:-1px}h1 span{font-size:10px;font-weight:650;letter-spacing:1.5px;color:#89a8bb;margin-left:8px}.nickname{display:flex;align-items:center;gap:10px;font-size:12px;color:#67879c}.nickname input{width:170px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px}.game{min-width:0;background:white;border:1px solid #dce8ef;border-radius:22px;padding:14px;box-shadow:0 12px 36px #3c789b0d}.scorebar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 12px}.scorebar>div{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.scorebar>div:last-child{justify-content:flex-end}.scorebar span:not(.target){max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750}.scorebar b{font:800 28px ui-monospace,monospace}.dot{width:10px;height:10px;border-radius:50%;flex:none}.yellow{background:#edbf45}.blue{background:#63b1d1}.target{text-align:center;font-size:11px;color:#50748b;white-space:nowrap}.target span{display:block;font-size:8px!important;letter-spacing:1px;margin-top:3px}.court{position:relative;overflow:hidden;aspect-ratio:900/440;border-radius:14px;background:#b5e9f0;isolation:isolate}canvas{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.screen{position:absolute;inset:0}.home{background:linear-gradient(90deg,#e6f8fffa,#e6f8ffb0 48%,transparent 72%);padding:clamp(16px,3vw,38px)}.welcome{width:58%}.welcome>small{font-size:9px;letter-spacing:1.5px;color:#457d9c;font-weight:800}.welcome h2{font-size:clamp(22px,3vw,36px);line-height:1.3;letter-spacing:-1.4px;margin:12px 0 8px}.welcome p{font-size:13px;line-height:1.65;color:#53809a;margin:0 0 16px}.start-actions{display:flex;flex-direction:column;gap:10px;max-width:240px}.start-actions button{display:flex;justify-content:space-between;align-items:center}.difficulty{margin-top:14px;display:flex;gap:10px;align-items:center;font-size:11px;color:#61869c}.difficulty select{padding:5px 10px;font-size:12px}.matchbar{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:40px;padding:5px 2px}.matchbar>span{font-size:10px;color:#6d8c9e}.matchbar>div{display:flex;gap:5px}.matchbar button{font-size:10px;padding:7px 9px}.controls{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf3f7;padding-top:10px;touch-action:none;user-select:none;-webkit-user-select:none}.controls>div{display:flex;gap:8px}.controls button{height:58px;min-width:62px;padding:8px 18px;background:#e9f2f8;color:#446f8b;box-shadow:0 3px 0 #d1e0e9;touch-action:none;-webkit-touch-callout:none}.controls button.active{background:#bfdeef;transform:translateY(2px)}.controls small{display:block;font:9px ui-monospace,monospace;color:#7292a8;margin-top:5px}.controls .jump{background:#e0f2fa;color:#257598}.controls .spike{background:#ffeab1;color:#78521c;box-shadow:0 3px 0 #e7cf8a}.controls-hint{font-size:10px;color:#89a3b3}.layout aside{padding:22px 14px 0}.tip-icon{font-size:30px;color:#dfb341;margin-bottom:16px}aside>small{font-size:8px;color:#7a9db1;letter-spacing:1.5px}aside h2{font-size:23px;line-height:1.5;letter-spacing:-.8px}aside ol{list-style:none;padding:0;counter-reset:tips}aside li{position:relative;padding-left:30px;margin:22px 0;font-size:12px}aside li:before{counter-increment:tips;content:'0' counter(tips);position:absolute;left:0;top:1px;color:#69a3c5;font:11px ui-monospace,monospace}aside p{font-size:11px;color:#7996a8;line-height:1.8;margin-top:7px}.note{border-top:1px solid #d9e8f1;padding-top:16px;font-size:10px;line-height:1.8;color:#7494a8}.stamp{display:block;margin-top:24px;font-size:8px;letter-spacing:2px;color:#8eacbd;line-height:1.8}.lobby{background:#f9fcff;padding:20px;display:flex;flex-direction:column;gap:10px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title small{font-size:8px;letter-spacing:2px;color:#8eabba}.panel-title h2{font-size:21px;margin:4px 0}.lobby .quiet{padding:7px 10px;font-size:11px}#createForm{display:flex;gap:8px}#createForm input{flex:1;width:0;font-size:12px}#createForm button{font-size:12px;padding:8px 12px}.list-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7998ad}.rooms{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:7px}.room-row{background:white;border:1px solid #deebf3;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:12px}.room-row>div{flex:1;min-width:0}.room-row h3{font-size:13px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row p{font-size:10px;color:#819cad;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row button{font-size:11px;padding:8px 12px}.empty{text-align:center;padding:22px;color:#809cab;font-size:12px;line-height:1.8}.pagination{display:flex;gap:12px;justify-content:center;align-items:center;font-size:11px}.match-overlay{display:grid;place-items:center;background:#edf9ff70;backdrop-filter:blur(2px)}.match-card{background:#ffffffed;border:1px solid white;box-shadow:0 12px 40px #25627c15;border-radius:20px;padding:22px;width:min(380px,88%);text-align:center}.match-card small{font-size:9px;letter-spacing:2px;color:#75a0b7}.match-card h2{font-size:25px;margin:9px 0}.match-card p{font-size:12px;line-height:1.6;color:#6b8b9f}.match-card button{min-width:130px;margin-top:10px}.players{display:flex;gap:12px;justify-content:center;margin:14px 0}.player-slot{background:#f0f7fb;border-radius:10px;padding:10px;flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}.player-slot small{display:block;font-size:10px;letter-spacing:0;margin-top:5px}.countdown{position:absolute;inset:0;display:grid;place-items:center;font:900 70px ui-monospace,monospace;color:white;text-shadow:0 4px #4582a1;pointer-events:none}#notice{font-size:12px;min-height:24px;padding:8px 4px;color:#b45d38}dialog{border:0;border-radius:20px;padding:24px;max-width:90%;color:#163754}dialog::backdrop{background:#12385166}dialog h2{margin-top:0}dialog p{font-size:13px;line-height:1.7}dialog>div{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr) 190px;gap:12px}.layout aside{padding:12px 8px}.welcome h2{font-size:28px}.welcome p{margin-bottom:10px}.welcome>small{font-size:8px}.home{padding:24px}.controls-hint{display:none}}
@media(max-width:800px){header{padding:12px 16px}main{padding:14px 16px}.layout{display:block}.layout aside{display:none}.court{max-height:calc(100dvh - 300px);min-height:260px}.home{padding:24px}.welcome h2{font-size:30px}.game{padding:12px}h1{font-size:25px}}
@media(max-width:520px){header{padding:10px 12px;gap:8px}.brand{font-size:13px;gap:6px}.brand-icon{width:29px;height:29px;font-size:20px}.brand small{font-size:6px;letter-spacing:.8px}.header-tools{gap:5px}.header-tools select{max-width:92px;font-size:11px;padding:7px}.header-tools button{font-size:9px;padding:9px 7px}main{padding:10px 10px 5px}.heading{margin-bottom:10px}.heading small,h1 span{display:none}h1{font-size:21px}.nickname{font-size:10px;gap:5px}.nickname input{width:133px;font-size:11px;padding:8px}.game{padding:8px;border-radius:16px}.scorebar{padding:3px 3px 8px}.scorebar>div{gap:6px}.scorebar span:not(.target){max-width:70px;font-size:11px}.scorebar b{font-size:24px}.target{font-size:10px}.target span{font-size:6px!important}.court{aspect-ratio:auto;height:calc(100dvh - 263px);max-height:440px;min-height:245px}canvas{object-fit:contain;background:linear-gradient(#b5e9f0 0%,#dcf7fa 70%,#f8df9c 70%)}.home{padding:22px;background:linear-gradient(90deg,#e6f8fffa,#e6f8ffca 60%,#e6f8ff40)}.welcome{width:74%}.welcome h2{font-size:30px;margin-top:12px}.welcome p{font-size:12px;margin-bottom:16px}.start-actions{max-width:225px}.start-actions button{font-size:13px}.difficulty{font-size:10px}.matchbar>span{font-size:9px}.controls{gap:8px;padding-top:8px}.controls>div{gap:6px}.controls button{min-width:54px;height:57px;padding:8px 12px;font-size:13px}.controls small{font-size:8px}.controls .spike{min-width:77px}.lobby{padding:12px;gap:9px}.panel-title h2{font-size:19px}.list-head{font-size:9px}.room-row{padding:9px}.match-card{padding:16px}.match-card h2{font-size:22px}.players{gap:8px}.match-card p{font-size:11px}.matchbar{min-height:38px}#notice{font-size:10px;padding:5px 2px}}
@media(max-height:620px) and (min-width:600px){header{padding:6px 14px}.brand small,.heading small,h1 span{display:none}main{padding:6px 14px}.heading{margin-bottom:6px}h1{font-size:20px}.layout{display:block}.layout aside{display:none}.game{padding:6px;max-width:1000px;margin:auto}.scorebar{padding:0 5px 3px}.scorebar b{font-size:20px}.target{font-size:9px}.target span{display:none}.court{height:calc(100dvh - 183px);min-height:145px;max-height:none;aspect-ratio:auto}.home{padding:10px 24px}.welcome{width:80%;display:grid;grid-template-columns:1fr 230px;column-gap:18px}.welcome>small,.welcome p{display:none}.welcome h2{font-size:26px;grid-row:1/3}.start-actions{gap:6px}.start-actions button{font-size:12px;padding:9px 14px}.difficulty{margin-top:8px}.controls{padding-top:4px}.controls button{height:38px;min-width:58px;padding:3px 18px;font-size:12px}.controls small{margin-top:0;font-size:7px}.matchbar{min-height:26px;padding:0}.match-card{padding:10px;width:min(500px,85%)}.match-card h2{font-size:19px;margin:3px}.match-card p{font-size:10px;margin:4px}.match-card small{font-size:8px}.players{margin:6px 0}.player-slot{padding:6px;font-size:10px}.match-card button{padding:8px;margin-top:3px}.lobby{padding:8px 14px;gap:5px}.panel-title{position:absolute;right:14px;top:7px}.panel-title>div{display:none}#createForm{padding-right:110px}.list-head{display:none}.pagination{position:absolute;bottom:5px;right:10px}.rooms{padding-bottom:25px}.countdown{font-size:40px}#notice{padding:2px;font-size:9px;min-height:14px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media(min-width:801px){.court{max-height:calc(100dvh - 310px)}.layout aside{padding-top:12px}.tip-icon{margin-bottom:8px}aside h2{margin:10px 0;font-size:21px}aside li{margin:16px 0}.stamp{margin-top:14px}}
/* Classic game window, with modern controls kept outside the court. */
.game{background:#d9d9d3;border:3px solid;border-color:#f9f9ec #6e7479 #6e7479 #f9f9ec;border-radius:2px;box-shadow:3px 3px 0 #71839340}.scorebar{background:#202d76;color:#fffbde;padding:7px 10px;margin-bottom:8px}.scorebar .target,.scorebar .target span{color:#c9d5ff}.scorebar b{display:none}.court{border-radius:0;background:#172a4a;aspect-ratio:432/304;max-height:calc(100dvh - 319px)}canvas{background:#172a4a}.home{padding:28px 20px;background:#23426b35;text-align:center;display:grid;place-items:center}.welcome{width:100%;display:block}.welcome>small{color:white;text-shadow:2px 2px #244164;font:900 10px monospace;letter-spacing:3px}.welcome h2{color:#fff35a;font-size:clamp(32px,4.5vw,58px);font-weight:1000;letter-spacing:-2px;-webkit-text-stroke:1px #3d4263;text-shadow:3px 3px 0 #244477,5px 5px 0 #fdf6ca;margin:12px 0}.welcome p{color:white;text-shadow:1px 1px #253859;font-weight:800;margin-bottom:16px}.start-actions{margin:0 auto;max-width:240px}.start-actions button{border-radius:2px;border:2px solid #f7f1c8;background:#233b74;color:#fff9ce;box-shadow:3px 3px #14214c}.start-actions button:hover{background:#344e90}.difficulty{justify-content:center;color:#fff7d1;text-shadow:1px 1px #1a3760}.difficulty select{border-radius:0}.match-card{border-radius:2px;border:3px solid;border-color:#ffffef #646574 #646574 #ffffef;background:#ecece0}.match-card .primary{border-radius:2px}.countdown{color:#fff15a;text-shadow:3px 3px #e84729,5px 5px #17346b}.controls button{border-radius:3px}.lobby{border-radius:0}.room-row{border-radius:4px}.matchbar>span{color:#485a69}
@media(max-width:800px){.court{max-height:calc(100dvh - 299px);min-height:260px}.welcome h2{font-size:44px}}
@media(max-width:520px){.game{border-radius:2px;padding:7px}.court{height:calc(100dvh - 279px);min-height:240px;max-height:430px}.scorebar{margin-bottom:6px;padding:5px 6px}.welcome h2{font-size:38px}.welcome p{font-size:11px}.home{padding:12px}.scorebar .target span{display:none}}
@media(max-height:620px) and (min-width:600px){.court{height:calc(100dvh - 188px);min-height:145px;max-height:none}.scorebar{padding:2px 8px;margin-bottom:4px}.home{padding:8px}.welcome{display:grid;grid-template-columns:1fr 230px;max-width:600px;gap:4px 20px}.welcome h2{font-size:36px;grid-row:1/3;margin:10px 0}.welcome>small,.welcome p{display:none}.start-actions{width:230px}.difficulty{margin-top:2px}.start-actions button{padding:7px 12px}.match-card{padding:7px}}
.court{width:100%}

.controls .down{min-width:40px;padding:8px 10px}.controls-hint{display:none}
@media(max-width:520px){.controls{gap:5px}.controls>div{gap:5px}.controls button{min-width:43px;padding:6px 9px}.controls .spike{min-width:69px}.controls .down{min-width:38px;padding:6px 7px}}
@media(max-width:350px){.controls button{min-width:37px;padding:6px}.controls .spike{min-width:65px;font-size:12px}.controls .down{min-width:32px}}
@media(max-height:620px) and (min-width:600px){.court{height:calc(100dvh - 232px)}}

/* Partner selection: soft portrait cards outside the playing surface. */
.character-bar{display:flex;align-items:center;gap:18px;padding:7px 12px;margin:0 0 14px;background:#fffdf7;border:1px solid #e8e1cf;border-radius:17px;color:#4b405e;box-shadow:0 4px 18px #6c507007}
.character-current{display:flex;align-items:center;gap:10px;flex-shrink:0}.character-avatar{width:52px;height:52px;display:grid;place-items:center;background:#fff1cb;border-radius:50%}.character-avatar img{width:56px;height:56px;object-fit:contain}.character-current small{display:block;color:#9b8ca6;font-size:8px;letter-spacing:1.7px;font-weight:850;margin-bottom:3px}.character-current strong{font-size:16px}.character-bar p{font-size:11px;line-height:1.5;color:#8c8295;margin:0;flex:1}.character-bar>button{margin-left:auto;flex-shrink:0;background:#f1eafa;color:#70518c;border:1px solid #e5d8ef;font-size:12px;border-radius:11px;padding:11px 14px}.character-bar>button span{margin-left:12px}.character-bar>button:hover:not(:disabled){background:#e6d9f6}
.score-character{width:38px;height:38px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 0 #fff8)}.room-character{display:block;width:65px;height:65px;object-fit:contain;margin:-4px auto 2px}.court canvas{image-rendering:auto}
#characterDialog{padding:0;width:min(780px,calc(100vw - 28px));max-width:780px;max-height:calc(100dvh - 32px);overflow:auto;background:#fffcf8;border:1px solid #fffb;border-radius:28px;color:#493d56;box-shadow:0 24px 100px #32234d55;--character-color:#efb72e;--character-light:#fff5cf}
#characterDialog::backdrop{background:#30273b99;backdrop-filter:blur(5px)}
.character-dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 28px 20px;border-bottom:1px solid #eee7e2;gap:12px}.character-dialog-heading small{font-size:9px;font-weight:800;letter-spacing:2px;color:#a395ad}.character-dialog-heading h2{font-size:25px;letter-spacing:-1px;margin:8px 0 0}.character-dialog-heading button{height:36px;width:36px;border-radius:50%;padding:0;background:#f1ebf0;color:#82758c}
#characterDialog .character-studio{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;padding:25px 28px;align-items:stretch}
.character-spotlight{position:relative;isolation:isolate;border-radius:24px;background:linear-gradient(150deg,#fff,var(--character-light));border:1px solid #fff;padding:18px 18px 22px;text-align:center;overflow:hidden;transition:background .2s}
.character-spotlight>img{position:relative;display:block;width:220px;height:220px;max-width:100%;margin:-2px auto 0;filter:drop-shadow(0 10px 5px #6e513119);animation:partner-float 3.2s ease-in-out infinite}
.character-orbit{position:absolute;width:190px;height:190px;border:1px solid #ffffffdd;background:#ffffff70;border-radius:50%;top:36px;left:50%;transform:translateX(-50%);z-index:-1}.character-orbit:after{content:'';position:absolute;inset:15px;border:1px dashed var(--character-color);opacity:.22;border-radius:50%}
.character-spark{position:absolute;font-size:26px;color:var(--character-color);opacity:.7;z-index:1}.spark-one{left:17px;top:37px;transform:rotate(-15deg)}.spark-two{right:15px;top:161px;font-size:32px;transform:rotate(15deg)}
.character-hero-name{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:0}.character-hero-name h3{margin:0;font-size:26px;letter-spacing:-1px}.character-hero-name span{font-size:10px;font-weight:800;background:#fff9;border:1px solid #fff;padding:5px 9px;border-radius:20px;color:#635969}.character-spotlight>strong{display:block;font-size:12px;letter-spacing:-.4px;margin-top:13px}.character-spotlight>p{color:#8a7e87;font-size:11px;line-height:1.8;margin:7px 0 0;word-break:keep-all}
.character-selection{display:flex;flex-direction:column;justify-content:center;min-width:0}.character-picker-caption{font-size:12px!important;font-weight:650;color:#9a8d9e;margin:0 0 13px}.character-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.character-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:133px;padding:8px 4px 12px;border:2px solid #eee7e2;border-radius:17px;background:#fff;color:#67576a;box-shadow:0 3px 0 #e8dfe733;transition:border-color .15s,background .15s,transform .15s}
.character-card:hover{transform:translateY(-3px);border-color:var(--character-color)}.character-card[aria-pressed=true]{border-color:var(--character-color);background:var(--character-light);box-shadow:0 4px 0 color-mix(in srgb,var(--character-color) 25%,transparent)}.character-card img{display:block;width:84px;height:84px;max-width:100%;object-fit:contain;transition:transform .15s}.character-card:hover img{transform:rotate(-5deg) scale(1.06)}.character-card strong{font-size:12px;line-height:1.5}.character-card small{font-size:9px;font-weight:550;color:#a093a4;margin-top:3px}.character-check{position:absolute;top:6px;right:6px;background:var(--character-color);color:#fff;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:10px;opacity:0}.character-card[aria-pressed=true] .character-check{opacity:1}
.character-fair{margin:19px 0 0!important;font-size:11px!important;color:#776a80;line-height:1.8!important}.character-fair>span:first-child{color:#baa5ce;margin-right:4px}.character-fair>span:last-child{font-size:10px;color:#aa9cae}
.character-dialog-footer{display:flex;align-items:center;justify-content:space-between!important;padding:17px 28px;border-top:1px solid #eee7e2;background:#fff}.character-dialog-footer>span{font-size:10px;color:#a294a9}.character-dialog-footer button{background:#765498;color:white;box-shadow:0 3px 0 #533971;padding:13px 23px;font-size:13px;border-radius:12px}.character-dialog-footer button:hover{background:#654284}
@keyframes partner-float{50%{transform:translateY(-5px) rotate(-2deg)}}
@media(min-width:801px){.court{max-height:calc(100dvh - 390px)}}
@media(max-width:800px){.character-bar{margin-bottom:10px}.court{max-height:calc(100dvh - 360px);min-height:240px}}
@media(max-width:600px){#characterDialog .character-studio{grid-template-columns:1fr;padding:14px 18px;gap:15px}.character-dialog-heading{padding:18px 20px 14px}.character-dialog-heading h2{font-size:21px}.character-spotlight{display:grid;grid-template-columns:125px 1fr;grid-template-rows:auto auto auto;align-content:center;align-items:center;text-align:left;padding:12px;min-height:146px;column-gap:10px}.character-spotlight>img{grid-row:1/4;grid-column:1;width:125px;height:125px;margin:0}.character-hero-name{justify-content:flex-start;gap:6px}.character-hero-name h3{font-size:23px}.character-spotlight>strong{font-size:11px;margin-top:7px}.character-spotlight>p{font-size:10px;margin-top:4px}.character-orbit{width:130px;height:130px;left:74px;top:14px}.spark-one{left:13px;top:17px;font-size:18px}.spark-two{left:108px;top:108px;font-size:21px}.character-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.character-card{min-height:99px;border-radius:12px;padding:7px 2px 9px}.character-card img{width:64px;height:64px}.character-card strong{font-size:10px;white-space:nowrap}.character-card small{font-size:8px}.character-check{width:13px;height:13px;top:3px;right:3px;font-size:8px}.character-fair{margin-top:12px!important}.character-fair br{display:none}.character-fair>span:last-child{display:block}.character-picker-caption{font-size:11px!important;margin-bottom:9px}.character-dialog-footer{padding:14px 18px}.character-dialog-footer button{font-size:12px;padding:12px 15px}.character-dialog-footer>span{font-size:9px}}
@media(max-width:520px){.character-bar{gap:7px;padding:5px 8px;border-radius:13px;margin-bottom:8px}.character-bar p{display:none}.character-current{gap:7px}.character-current strong{font-size:13px}.character-current small{font-size:7px;letter-spacing:1px;margin-bottom:1px}.character-avatar{width:40px;height:40px}.character-avatar img{width:46px;height:46px}.character-bar>button{padding:9px 11px;font-size:11px}.score-character{width:27px;height:27px}.court{height:calc(100dvh - 345px);max-height:400px;min-height:220px}.room-character{width:48px;height:48px}.welcome h2{font-size:34px}}
@media(max-height:620px) and (min-width:600px){.character-bar{margin-bottom:6px;padding:2px 8px}.character-avatar{width:32px;height:32px}.character-avatar img{width:38px;height:38px}.character-current small{display:none}.character-current strong{font-size:12px}.character-bar>button{padding:6px 10px;font-size:10px}.court{height:calc(100dvh - 285px);min-height:150px}.score-character{width:22px;height:22px}#characterDialog .character-studio{padding:14px 20px;grid-template-columns:190px minmax(0,1fr);gap:15px}.character-spotlight>img{width:140px;height:140px}.character-card{min-height:100px}.character-card img{height:60px;width:60px}.character-dialog-heading{padding:14px 20px}.character-dialog-heading h2{font-size:21px}.character-dialog-footer{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.character-spotlight>img{animation:none}.character-card,.character-card img{transition:none}.character-card:hover,.character-card:hover img{transform:none}}
