/* Comic club scorecards, using the game's existing type and ink palette. */
.score-feedback-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.score-award{position:fixed;z-index:35;pointer-events:none;transform:translate(-50%,-50%);max-width:calc(100vw - 32px);padding:9px 18px;border:2px solid var(--bg);border-radius:9px 13px 8px 11px;background:var(--gold-hi);color:var(--bg);box-shadow:3px 4px 0 #0006;font:400 clamp(18px,2vw,22px)/1.25 var(--font-display);white-space:nowrap;text-align:center;overflow:hidden}
.score-award[data-side="1"]{background:#fff1d8}
.score-award-content{display:flex;flex-direction:column;align-items:center;gap:5px}
.score-award-event{font:400 clamp(30px,5vw,52px)/1.1 var(--font-display);white-space:normal;overflow-wrap:anywhere;max-width:100%}
.score-award:not([data-kind="point"]){padding:14px 24px;border-width:3px;background:var(--gold-hi);font-size:clamp(22px,2.5vw,28px);box-shadow:4px 6px 0 #0006}
.score-award-token{position:fixed;z-index:35;pointer-events:none;display:grid;place-items:center;transform:translate(-50%,-50%);width:44px;height:44px;border:2px solid var(--bg);border-radius:50%;background:var(--gold-hi);color:var(--bg);box-shadow:2px 3px 0 #0006;font:900 20px/1 var(--font-ui)}
.score-award-token[data-side="1"]{background:#fff1d8}
.score-award-token:not([data-kind="point"]){width:56px;height:56px;border-width:3px;background:var(--gold-hi);font-size:26px;box-shadow:3px 4px 0 #0006}
#app .scoreboard{--score-ink:#15302a;background:#fff3d9;color:var(--score-ink);border:3px solid #0b1a18;border-radius:12px 16px 11px 13px;box-shadow:3px 4px 0 #0b1a18}
#app .scoreboard .score-header{background:#ffb84d;color:var(--score-ink);border-bottom:2px solid #0b1a18;font-weight:900}
#app .scoreboard .score-row{background:#fff3d9;border-top:1px solid #e6c28b}
#app .scoreboard #score-row-bot{background:#f8e6c4}
#app .scoreboard .player-name{color:var(--score-ink);font-weight:900}
#app .scoreboard .serve-marker{background:#ffb84d;box-shadow:0 0 0 1px #15302a,inset 0 -1px 0 #b7691f}
#app .scoreboard strong{background:#ffe0a3;color:var(--score-ink);border-left:2px solid #d3a767}
#app .scoreboard strong.score-games{background:none;color:#744b23;border-left:1px solid #d3a767}
#app .scoreboard[data-server="0"] #score-row-you strong:last-child,#app .scoreboard[data-server="1"] #score-row-bot strong:last-child{background:#ffb84d;color:var(--score-ink)}
#app .scoreboard .score-footer{background:#f4deb8;color:#5b4228;border-top:1px solid #d3a767}
#app .scoreboard .match-format{color:#5b4228}
@media(max-height:480px){.score-award{padding:7px 12px;font-size:18px}.score-award:not([data-kind="point"]){padding:9px 17px;font-size:24px}}
.match-result{--victory:#ffd347;background:radial-gradient(ellipse at 18% 12%,#335967 0,transparent 58%),#112e35;padding:clamp(14px,3vw,34px)}
.match-result .result-layout{border:4px solid #0b272b;border-radius:20px 28px 18px 24px;box-shadow:8px 9px 0 #071b23;background:#fff1d8;overflow:visible}
.match-result .result-stage{border-right:3px solid #173d38;border-radius:16px 0 0 18px;overflow:hidden}
.match-result .result-stage-heading{background:#254d4b;border-bottom:3px solid #173d38;padding:18px 25px}
.match-result .result-stage-heading>span{color:#ffe392}
.match-result .result-winner{font-family:var(--font-display);color:#fff1d8}
.match-result .result-content{border-radius:0 23px 14px 0;padding:24px 28px;background:linear-gradient(175deg,#fff7e5,#ffedc9)}
.match-result .result-eyebrow{display:inline-block;color:#173d38;background:#ffce54;border:2px solid #173d38;border-radius:5px 8px 4px 6px;padding:5px 9px;transform:rotate(-2deg);font-size:10px}
.match-result .result-content h1{font-size:clamp(32px,3.8vw,49px);color:#224e43;text-shadow:2px 3px 0 #dfc7a0;line-height:1.15;margin-top:4px}
.match-result[data-won="false"] .result-content h1{color:#874642}
.match-result .result-score{display:inline-block;color:#173d38;background:#fffaf0;border:3px solid #173d38;box-shadow:4px 4px 0 #e4b96e;border-radius:7px 12px 6px 10px;padding:8px 17px;font-size:clamp(36px,4vw,52px);transform:rotate(1deg);margin-top:10px}
.result-set-scores{font-weight:900;letter-spacing:1px;font-variant-numeric:tabular-nums;margin:12px 0 0;color:#425b37}
.match-result .result-stat-head{margin-bottom:9px;gap:8px}
.match-result .result-stat-head h2{font-family:var(--font-display);font-size:19px;font-weight:400}
.match-result .result-stat-head>span{background:#f2dfb7;border-radius:5px;padding:4px 7px;font-weight:800;color:#425b37}
.match-result .result-stat-table td{position:relative;padding:10px 5px}
.match-result .result-stat-table td span{position:relative;z-index:1}
.match-result .result-stat-table td::before{content:"";position:absolute;bottom:5px;right:3px;height:5px;width:var(--stat-share,0);max-width:calc(100% - 6px);background:#dfc2a1;border-radius:3px}
.match-result .result-stat-table td[data-leading="true"]::before{background:#68a790}
.match-result .result-stat-table th{line-height:1.3}
.match-result .result-stat-table thead th{background:#eadaba;padding:7px 5px;border:0}
.match-result .result-stat-table thead th:first-child{border-radius:6px 0 0 6px}
.match-result .result-stat-table thead th:last-child{border-radius:0 6px 6px 0}
.match-result .result-extra summary,.result-bracket summary{min-height:44px;align-content:center;font-weight:900;cursor:pointer;color:#254d43}
.match-result .result-highlight{gap:7px;font-weight:800;line-height:1.4;margin-top:13px}
.match-result .result-highlight>*{display:block;padding:7px 9px;background:#f4deaa;border:1.5px solid #b6a878;border-radius:6px;color:#42573d}
.match-result .result-highlight strong{background:#e1e9b0;transform:rotate(-1deg)}
.match-result .result-series{margin-top:15px;padding-top:12px}
.result-bracket{font-size:12px;border-top:1px dashed #acaf8d;margin-top:12px}
.result-bracket p{font-size:11px;margin:0}.result-bracket h3{font-size:13px;margin:10px 0 4px}.result-bracket ul{padding-left:18px;margin:4px 0;line-height:1.7}
.ball-readability{position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;box-shadow:0 0 0 1.5px #102022;pointer-events:none;box-sizing:border-box}
.length-options .event-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
#app #length-screen .length-options .match-mode button{white-space:normal;min-width:0;min-height:90px;height:auto;display:flex;flex-direction:column;gap:7px;justify-content:center;padding:14px 24px;font-size:18px;color:#173d38;background:#fff3d8;border:3px solid #173d38;border-radius:14px 8px 16px 10px;box-shadow:3px 4px 0 #173d38;filter:none}
#app #length-screen .length-options .match-mode button[aria-pressed="true"]{background:#ffcf62;outline:3px solid #e5f58c;outline-offset:3px}
#app #length-screen .length-options .match-mode button .selection-mark{top:6px;right:6px;width:19px;height:19px;font-size:12px;border-width:1.5px}
#app .length-options .match-mode button small{display:block;font:800 12px/1.4 var(--font-ui);letter-spacing:0;text-transform:none}
#app #length-screen .length-options .setup-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:720px}
#app #length-screen .length-options{justify-content:flex-start;gap:16px}
.match-estimate{font-weight:900;color:#ffdfa0;text-align:center;margin:16px 0 8px;line-height:1.5}
.tournament-preview{padding:14px 16px;background:#fff0c7;color:#173d38;border:3px solid #173d38;border-radius:8px 14px 6px 10px;box-shadow:4px 4px 0 #173d38;max-width:650px;margin:15px auto}
.tournament-preview strong{font:400 16px/1.5 var(--font-display)}.tournament-preview p{color:#425b37;margin:8px 0 0}
.music-vocals{display:flex;gap:12px;align-items:center;padding:12px 8px;margin:10px 0;border:2px dashed #638878;border-radius:8px;color:#fff4d6;cursor:pointer}
.music-vocals input{width:22px;height:22px;accent-color:#efac45;flex-shrink:0}.music-vocals span{display:grid;gap:4px}.music-vocals small{font-size:12px;line-height:1.4;color:#cbdac9}
.keyboard-settings{margin:18px 0 10px;border-top:1px solid #638878;padding-top:8px}.keyboard-settings summary{cursor:pointer;min-height:44px;align-content:center;font-weight:900}.keyboard-settings p{font-size:12px;color:#d5e3d3}
.binding-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:16px;align-items:start;margin-top:20px}
.binding-group{min-width:0;margin:0;padding:8px 12px 12px;border:1px solid #638878;border-radius:8px;background:#ffffff04}
.binding-group legend{padding:0 6px;color:#ffcf83;font-size:15px;font-weight:900}
.binding-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;min-height:54px}
.binding-key{flex-shrink:0}
#app[data-touch="true"] .keyboard-settings{display:none}
@media(pointer:coarse){.keyboard-settings{display:none}}
@media(max-width:820px){.binding-grid{grid-template-columns:1fr}.binding-group{padding-inline:16px}}
.binding-key{min-width:74px;min-height:44px;padding:5px;border:2px solid #173d38;border-radius:6px;background:#fff1d8;color:#173d38;font-weight:900}.binding-key:focus-visible{outline:3px solid #ffb340;outline-offset:3px}
@media(max-width:760px) and (min-height:541px){
 .match-result .result-stage{border-right:0;border-bottom:3px solid #173d38;border-radius:16px 22px 0 0}
 .match-result .result-content{border-radius:0 0 13px 18px;padding:20px 17px}.match-result .result-content h1{font-size:32px}.match-result .result-stage-heading{border:0;padding:16px 12px}
 .match-result .result-stat-table{font-size:13px}.match-result .result-extra .result-stat-table th:first-child{width:54%}
 #app #length-screen .length-options .setup-choices{grid-template-columns:1fr;gap:12px}
 #app #length-screen .length-options .setup-choices button{flex-direction:row;justify-content:space-between;min-height:68px;gap:12px;font-size:17px;text-align:left;padding:15px 25px 15px 13px}
 #app .length-options .setup-choices small{max-width:48%;text-align:right;font-size:11px}
 #app .length-options .event-options{gap:12px;margin-bottom:4px}#app #length-screen .length-options .event-options button{font-size:15px;padding:12px 8px;min-height:88px}.tournament-preview strong{font-size:13px}.match-estimate{font-size:12px}
}
@media(max-width:360px){.match-result .result-actions{grid-template-columns:1fr;gap:8px}.binding-grid{grid-template-columns:1fr}}
@media(max-height:540px) and (orientation:landscape){.match-result .result-content{padding:18px 20px}.match-result .result-content h1{font-size:30px}.match-result .result-score{font-size:32px;padding:5px 12px}.match-result .result-details{margin-top:16px}}

/* Shared online choices and readiness stay together on narrow screens. */
#app #online-panel[data-in-room="true"] #room-waiting{width:100%;align-self:start}
#app #online-panel .lobby-readiness{display:grid;gap:8px;margin:14px 0;text-align:left}
#app #online-panel .lobby-readiness span{padding:10px 12px;border:2px solid var(--edge-strong);border-radius:12px;background:var(--glass);font-size:13px;font-weight:800}
#app #online-panel #lobby-ready{width:100%;min-height:48px;margin-bottom:12px}
#app #online-panel #lobby-ready[aria-pressed="true"]{background:var(--lime);color:#142927}
#app #online-panel #lobby-skins{overflow-wrap:anywhere}

/* Club posters and distinct gecko banners, with live text over blank artwork. */
#app #length-screen{gap:14px;padding-top:22px}
#app #length-screen .setup-head h2{font-size:clamp(26px,3.2vw,38px)}
#app #length-screen .length-options{width:min(940px,100%);min-width:0;align-self:stretch;justify-content:flex-start;gap:16px;padding:10px 14px 20px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#88a293 transparent}
#app #length-screen .length-options .event-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin:0}
#app #length-screen .length-options .event-options .event-card{--card-accent:#ffb65a;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:0;padding:19px 24px 24px;border:4px solid #0b2628;border-radius:40px 18px 38px 22px;background:radial-gradient(ellipse at 5% 83%,#ffb65a44 0 7px,transparent 8px),radial-gradient(ellipse at 9% 91%,#ffb65a44 0 4px,transparent 5px),linear-gradient(150deg,#345e4c,#173a35);box-shadow:2px 5px 0 #d48737,3px 9px 0 #0b2628;color:#fff4da;transform:rotate(-.6deg);filter:none;outline:0;transition:border-color .18s,box-shadow .18s,translate .18s}
#app #length-screen .length-options .event-options .event-card[data-event="tournament"]{--card-accent:#f5d779;border-radius:20px 42px 22px 38px;transform:rotate(.7deg);background:radial-gradient(ellipse at 92% 81%,#f5d77944 0 7px,transparent 8px),radial-gradient(ellipse at 88% 90%,#f5d77944 0 4px,transparent 5px),linear-gradient(150deg,#51563b,#243c31)}
#app #length-screen .length-options .event-options .event-card::before{content:"";position:absolute;inset:6px;border:2px solid #fff2cd58;border-radius:inherit;pointer-events:none}
#app #length-screen .length-options .event-options .event-card[aria-pressed="true"]{border-color:#e5f58c;background:radial-gradient(ellipse at 5% 83%,#ffb65a44 0 7px,transparent 8px),radial-gradient(ellipse at 9% 91%,#ffb65a44 0 4px,transparent 5px),linear-gradient(150deg,#345e4c,#173a35);box-shadow:0 0 0 2px #102d29,2px 5px 0 #d48737,3px 9px 0 #0b2628;outline:0;filter:none}
#app #length-screen .length-options .event-options .event-card[data-event="tournament"][aria-pressed="true"]{background:radial-gradient(ellipse at 92% 81%,#f5d77944 0 7px,transparent 8px),radial-gradient(ellipse at 88% 90%,#f5d77944 0 4px,transparent 5px),linear-gradient(150deg,#51563b,#243c31)}
#app #length-screen .length-options .event-options .event-card:hover{translate:0 -3px;border-color:#fff4da}
#app #length-screen .length-options .event-options .event-card:focus-visible{outline:3px solid #fff4da;outline-offset:5px}
#app #length-screen .event-kicker{align-self:flex-start;margin:0;font:900 10px/1.3 var(--font-ui);letter-spacing:1.3px;text-transform:uppercase;color:var(--card-accent)}
#app #length-screen .event-art{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;height:clamp(150px,22dvh,200px);margin:5px 0 0;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at 50% 70%,#b0e4a52e,transparent 70%)}
#app #length-screen .event-art img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;image-rendering:pixelated;transform:none;filter:none}
#app #length-screen .event-duel{gap:0;align-items:flex-end}
#app #length-screen .duel-court{position:absolute;inset:auto 0 0;width:100%;height:58%;z-index:-1;opacity:.85}
#app #length-screen .duel-fighter{position:relative;display:flex;align-items:flex-end;justify-content:center;width:50%;height:100%;padding-bottom:6px}
#app #length-screen .event-duel img{flex:none;width:auto;max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 0 #102f2b55);transform:none}
#app #length-screen .duel-rival img[data-facing="right"]{transform:scaleX(-1)}
#app #length-screen .duel-fighter:not(.duel-rival) img[data-facing="left"]{transform:scaleX(-1)}
#app #length-screen .duel-versus{position:absolute;left:50%;top:42%;translate:-50% -50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:3px solid #102f2b;border-radius:14px 8px 16px 7px;background:#ffbd58;color:#18382d;box-shadow:2px 4px 0 #102f2b;font:400 22px/1 var(--font-display);rotate:-8deg}
#app #length-screen .event-cup{background:radial-gradient(ellipse at 50% 55%,#f7dc7a30,transparent 65%)}
#app #length-screen .cup-bracket{position:absolute;inset:0;width:100%;height:100%;color:#f5d779;opacity:.4;z-index:-1}
#app #length-screen .event-cup>img{width:auto;height:82%;max-width:65%;align-self:flex-start;filter:drop-shadow(0 5px 0 #102f2b55)}
#app #length-screen .cup-podium{position:absolute;bottom:3px;left:50%;translate:-50% 0;width:56%;height:23%;display:flex;align-items:flex-end;justify-content:center;gap:3px;z-index:-1}
#app #length-screen .cup-podium span{width:33%;height:65%;border:2px solid #17382f;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#b7893f,#edd083);box-shadow:0 4px 0 #102f2b}
#app #length-screen .cup-podium span:nth-child(2){height:100%;background:linear-gradient(90deg,#dbac52,#ffe5a0)}
#app #length-screen .cup-podium span:nth-child(3){height:48%}
#app #length-screen .length-options .event-options .event-card strong{font:400 clamp(24px,3vw,32px)/1.2 var(--font-display);color:#fff4da;letter-spacing:-.5px}
#app #length-screen .length-options .event-options .event-card small{display:block;font:700 13px/1.5 var(--font-ui);color:#d4e4d5;max-width:none;padding:0;text-align:center}
#app #length-screen .event-stamp{position:absolute;top:15px;right:20px;background:#fff1d8;color:#244335;padding:5px 9px;border:2px solid #0b2628;border-radius:8px 4px 9px 5px;font:900 10px/1.3 var(--font-ui);transform:rotate(2deg)}
#app #length-screen .event-check{position:absolute;right:17px;bottom:17px;display:none;place-items:center;width:25px;height:25px;border:2px solid #7b9487;border-radius:50%;color:transparent;background:#17342e;line-height:1;font-weight:900}
#app #length-screen .event-card[aria-pressed="true"] .event-check{display:grid;background:#e5f58c;border-color:#e5f58c;color:#18382d}
#app #length-screen .duration-head{text-align:center}
#app #length-screen .duration-head h3{margin:0;font:400 21px/1.35 var(--font-display);color:#fff1d8}
#app #length-screen .duration-head p{margin:5px 0 0;font:600 12px/1.5 var(--font-ui);color:#d0dfd3}
#app #length-screen .length-options .format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:none;padding:4px 2px}
#app #length-screen .length-options .format-options button{--format-art:url('./assets/ui/setup-comic-v3/duration-quick.webp');position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-content:center;justify-content:stretch;gap:4px 8px;min-height:180px;padding:56px 48px 54px;border:0;border-radius:0;background:transparent var(--format-art) center/100% 100% no-repeat;box-shadow:none;outline:0;transform:none;filter:none;color:#173d38;text-align:left}
#app #length-screen .length-options .format-options button[data-scoring-mode="set"]{--format-art:url('./assets/ui/setup-comic-v3/change-skin.webp')}
#app #length-screen .length-options .format-options button[data-scoring-mode="bestof3"]{--format-art:url('./assets/ui/setup-comic-v3/duration-long-roomy.webp')}
#app #length-screen .length-options .format-options button[aria-pressed="true"]{background:transparent var(--format-art) center/100% 100% no-repeat;outline:0;filter:drop-shadow(0 0 2px #e5f58c) drop-shadow(0 0 2px #e5f58c)}
#app #length-screen .length-options .format-options button:hover{translate:0 -2px}
#app #length-screen .length-options .format-options button:focus-visible{outline:none;filter:drop-shadow(0 0 2px #fff4da) drop-shadow(0 0 4px #ffb65a);text-decoration:underline;text-underline-offset:3px}
#app #length-screen .format-kicker{grid-column:1;grid-row:1;font:800 9px/1.3 var(--font-ui);letter-spacing:.6px;text-transform:uppercase;color:#6a664c}
#app #length-screen .length-options .format-options button strong{grid-column:1/-1;grid-row:2;font:400 19px/1.3 var(--font-display);color:#173d38}
#app #length-screen .length-options .format-options button small{grid-column:2;grid-row:3;max-width:none;font:900 13px/1.3 var(--font-ui);color:#173d38;text-align:right;white-space:nowrap}
#app #length-screen .format-scope{grid-column:1;grid-row:3;font:700 9px/1.3 var(--font-ui);color:#52644e}
#app #length-screen .length-options .format-options button .selection-mark{width:22px;height:22px;font-size:14px;top:43%;right:9%;border:2px solid #173d38;box-shadow:0 2px 0 #173d3833}
#app #length-screen .match-estimate{margin:0;font:800 12px/1.5 var(--font-ui);color:#f1dfac;text-align:center}
#app #length-screen .tournament-preview{width:100%;max-width:none;margin:0;padding:10px 16px;border:1px solid #799887;border-radius:14px;background:#173b35c9;color:#ffdfa0;box-shadow:none}
#app #length-screen .tournament-preview strong{font:400 14px/1.5 var(--font-display)}
#app #length-screen .tournament-preview p{margin:3px 0 0;font:600 12px/1.5 var(--font-ui);color:#d4e4d5}
#app #length-screen .setup-footer{width:min(760px,100%);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:20px;align-items:center}
#app #length-screen .setup-footer :is(.text-button,.primary){position:relative;display:flex;align-items:center;justify-content:center;gap:14px;height:86px;min-height:86px;padding:20px 28px 28px;border:0;border-radius:0;background:transparent url('./assets/ui/setup-comic-v3/back.webp') center/100% 100% no-repeat;color:#173d38;box-shadow:none;font:400 17px/1.3 var(--font-display);filter:none;transform:none}
#app #length-screen .setup-footer :is(.text-button,.primary)::before,#app #length-screen .setup-footer :is(.text-button,.primary)::after{content:none;background:none}
#app #length-screen .setup-footer .primary{width:100%;height:100px;min-height:100px;background-image:url('./assets/ui/setup-comic-v3/select-roomy.webp');padding:30px 54px 26px;white-space:nowrap}
#app #length-screen .setup-footer :is(.text-button,.primary):hover{filter:brightness(1.08);translate:0 -2px}
#app #length-screen .setup-footer :is(.text-button,.primary):focus-visible{outline:none;text-decoration:underline;text-underline-offset:5px;filter:drop-shadow(0 0 2px #fff4da) drop-shadow(0 0 4px #ffb65a)}
#app #arena-screen .match-summary{grid-column:1/-1;margin:0;font-size:12px}
@media(max-width:760px){
 #app #length-screen{padding-inline:14px;gap:12px}
 #app #length-screen .setup-head{padding-inline:10px}
 #app #length-screen .setup-head h2{font-size:27px}
 #app #length-screen .length-options{gap:14px;padding:8px 5px 18px}
 #app #length-screen .length-options .event-options{gap:12px}
 #app #length-screen .length-options .event-options .event-card{padding:14px 10px 38px;gap:6px;border-radius:28px 13px 26px 16px}
 #app #length-screen .length-options .event-options .event-card[data-event="tournament"]{border-radius:16px 30px 15px 28px}
 #app #length-screen .event-art{height:110px;margin-top:18px}
 #app #length-screen .duel-versus{width:30px;height:30px;font-size:15px;border-width:2px;box-shadow:1px 2px 0 #102f2b}
 #app #length-screen .event-kicker{font-size:9px;letter-spacing:.5px;align-self:center}
 #app #length-screen .event-stamp{top:34px;right:auto;left:50%;translate:-50% 0;white-space:nowrap;font-size:9px;padding:3px 7px}
 #app #length-screen .length-options .event-options .event-card strong{font-size:21px;letter-spacing:-.5px}
 #app #length-screen .length-options .event-options .event-card small{font-size:11px;line-height:1.4}
 #app #length-screen .event-check{width:21px;height:21px;bottom:10px;right:12px}
 #app #length-screen .duration-head h3{font-size:19px}
 #app #length-screen .length-options .format-options{grid-template-columns:1fr;gap:12px}
 #app #length-screen .length-options .format-options button{min-height:166px;padding:46px 48px 51px;gap:3px 12px}
 #app #length-screen .format-kicker{grid-column:1;grid-row:1}
 #app #length-screen .format-scope{grid-column:1;grid-row:3;text-align:left;padding-right:0;font-size:9px}
 #app #length-screen .length-options .format-options button strong{font-size:19px}
 #app #length-screen .length-options .format-options button small{font-size:13px}
 #app #length-screen .setup-footer :is(.text-button,.primary){height:68px;min-height:68px;padding:16px 17px 23px;font-size:14px}
 #app #length-screen .setup-footer{gap:12px}
 #app #length-screen .setup-footer .primary{height:84px;min-height:84px;padding:26px 24px 22px;gap:10px;font-size:14px}
 #app #length-screen .setup-footer .primary{width:auto}
}
@media(max-width:360px){
 #app #length-screen .length-options .event-options{grid-template-columns:1fr}
 #app #length-screen .event-art{height:145px}
 #app #length-screen .length-options .event-options .event-card strong{font-size:27px}
 #app #length-screen .setup-footer .primary{gap:8px;padding-inline:20px;font-size:13px}
}
@media(max-height:540px) and (min-width:761px){
 #app #length-screen .event-art{height:110px}
 #app #length-screen .length-options .event-options .event-card{padding-block:12px}
}
@media(prefers-reduced-motion:reduce){#app #length-screen .length-options .event-options .event-card{transition:none}}
@media(min-width:761px) and (min-height:541px) and (max-height:820px){
 #app #length-screen .length-options{gap:6px;padding-bottom:14px}
 #app #length-screen .event-art{height:110px}
 #app #length-screen .length-options .event-options .event-card{padding-block:12px 13px}
 #app #length-screen .length-options .format-options button{min-height:128px;padding-block:30px}
 #app #length-screen .setup-footer :is(.text-button,.primary){height:76px;min-height:76px;padding-block:18px 25px}
 #app #length-screen .setup-footer .primary{height:96px;min-height:96px;padding:30px 54px 26px}
}
@media(forced-colors:active){
 #app #length-screen :is(.format-options button,.setup-footer button){background:ButtonFace;color:ButtonText;border:2px solid ButtonText}
 #app #length-screen .format-options button[aria-pressed="true"]{border-color:Highlight;outline:2px solid Highlight}
 #app #length-screen :is(.format-options button,.setup-footer button):focus-visible{outline:3px solid Highlight;outline-offset:3px;filter:none}
}
.online-difficulty #online-level-note{font-size:13px;line-height:1.5;margin:12px 0 0;color:var(--muted)}
#app #online-panel .online-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#app #online-panel .online-levels button{min-height:84px;padding:12px 6px;font-size:13px;flex-direction:column;line-height:1.3;background-size:100% 100%}
#app #online-panel .online-levels small{font-size:10px;line-height:1.4;margin-top:6px}
#app [data-online-level="bambini"]{--control-frame:url('./assets/ui/comic-controls-neutral/phone-cards-1.webp')}
#app [data-online-level="club"]{--control-frame:url('./assets/ui/comic-controls-neutral/phone-cards-2.webp')}
#app [data-online-level="pro"],#app [data-scoring-mode="bestof3"]{--control-frame:url('./assets/ui/comic-controls-neutral/phone-cards-3.webp')}
#app #online-panel .online-levels .selection-mark{top:0;right:0;width:18px;height:18px;font-size:12px;border-width:1px}
#app #online-panel .online-modes [data-scoring-mode="bestof3"]{background-size:100% 100%;min-height:100px;padding:12px 18px}

/* Two steps: connection first, shared selection after joining the room. */
#app #online-panel[data-in-room="false"] #online-setup{display:block;max-width:560px}
#app #online-panel .lobby-equipment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#app #online-panel .lobby-equipment .online-skin-preview{width:100%;min-width:0;align-content:start}
#app #online-panel .lobby-equipment img{width:100%;height:150px;object-fit:contain}
#app #online-panel .lobby-equipment p{font-size:12px;text-align:center;margin:6px 0;line-height:1.5;color:var(--text)}
#app #online-panel #change-online-skin{font-size:12px;min-height:44px;padding:8px}
#app #online-panel #lobby-other-image[hidden]{display:none}
#app #online-panel #online-customize[hidden],#app #online-panel #online-connect[hidden]{display:none}
#app #online-panel #lobby-skins:empty{display:none}
