/* A viewport-sized selection screen; detailed reading lives in dialogs. */
body:not(.playing){height:100svh;min-height:0;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}
body:not(.playing) .site-header{flex:0 0 auto;min-height:52px;padding:8px 24px}
body:not(.playing) #home{flex:1;min-height:0;width:100%;display:flex;padding:0}
body:not(.playing) #home[hidden]{display:none}
.lobby{width:min(1200px,100%);height:100%;min-height:0;margin:0 auto;padding:14px 24px 10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;position:relative;overflow:hidden;border:0;border-radius:0}
/* Tall desktop windows should not stretch portraits into long columns. */
html:not(.native-app):not(.game-touch-layout) body:not(.playing) .lobby{max-height:820px}
.campaign-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 16px;z-index:1}
.campaign-heading h1{font:900 clamp(25px,3.2vw,40px)/1.05 var(--display);margin:0;letter-spacing:-.3px;transform:none;text-shadow:0 2px 8px #08151c;color:#fff3df}
.campaign-mission{grid-column:1 / -1;max-width:80ch;margin:0;color:#cad8df;font:400 13px/1.4 var(--body)}
.journey-button{border:1px solid #bf9ed477;background:#211c32e6;color:#dfb8ff;border-radius:7px;padding:8px 12px;cursor:pointer;min-height:44px;font:600 13px/1.25 var(--body);text-align:left;white-space:nowrap}
.journey-button strong{font:800 1.3em/1 var(--display);font-variant-numeric:tabular-nums}.journey-button span{font:inherit;letter-spacing:0}
.journey-button.all-restored{border-color:#a6e4ce77;background:#142b2be6;color:#a6e4ce}
@media(max-width:760px){html:not(.native-app) body:not(.playing) .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:6px 10px}}
.campaign-body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.12fr;gap:24px;min-height:0}
.selection-showcase{display:flex;flex-direction:column;min-height:0;gap:4px;background:linear-gradient(145deg,#14253888,#10212b22);border:1px solid #eff5ff12;border-radius:14px;overflow:hidden}
.selection-art{height:auto;min-height:0;flex:1;position:relative}
#selection-stage{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;max-width:none;transform:none}
#selection-watermark{font-size:clamp(30px,6vw,76px);top:15%;opacity:.08;max-width:100%;white-space:normal;line-height:1;text-align:center}
.selection-caption{bottom:6px;left:14px;right:14px;font-size:9px}.selection-caption b{margin-left:auto;font-size:9px}
.selected-info{padding:8px 16px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}
.selected-info h2{font:900 clamp(25px,3.3vw,42px)/1 Barlow,sans-serif;margin:0;color:#fff3dc;overflow-wrap:anywhere}
.selected-info>.section-kicker{grid-column:1 / -1;font-size:10px;letter-spacing:1px}
.selected-info .outline-button{font-size:10px;min-height:44px;padding:8px 10px;white-space:nowrap}
#fighter-availability{grid-column:1 / -1;grid-row:3;margin:0;font-size:11px;color:#dfb8ff;line-height:1.35}
.roster-panel{min-height:0;display:flex;flex-direction:column;gap:8px}
.roster-heading{margin:0;flex:0 0 auto;gap:4px;align-items:center}.roster-heading span{font-size:10px}.roster-heading span:last-child{font-size:9px}
.roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px;flex:1;min-height:0;margin:0}
.roster-card{height:auto;min-height:44px;min-width:0;border-radius:9px;padding:0;overflow:hidden;background:linear-gradient(150deg,#29455c99,#102535d9)}
.roster-card .portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;filter:none;transform:none}
.roster-card strong{position:absolute;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(transparent,#081722 25%);padding:12px 3px 5px;font:700 clamp(10px,1.2vw,14px)/1 Barlow,sans-serif;letter-spacing:.2px;white-space:normal}
.roster-card .card-number{left:6px;top:5px;font-size:9px;color:#ddd9ef}.roster-card .pick-mark{right:5px;top:5px;font-size:8px}
.roster-card.locked{filter:none;opacity:1;border-color:#a783c733}.roster-card.locked .portrait{filter:none;opacity:.85}
.roster-card.locked.selected{border-color:#cf9aff;box-shadow:0 0 0 1px #cf9aff}
.roster-card.locked .card-number,.roster-card.locked .pick-mark{display:none}
.roster-card .portrait-lock{width:12px;height:14px;left:7px;right:auto;top:7px;transform:none;background:none;border-radius:0;padding:0;z-index:4;color:#e8d2ff;filter:none}
.roster-card .portrait-lock svg{width:100%;height:100%}
.roster-card .lock-label{top:4px;bottom:auto;left:4px;right:4px;color:#efdfff;background:#211831e6;padding:4px 3px 4px 18px;border-radius:4px;font:700 clamp(7px,.8vw,10px)/1 var(--body);letter-spacing:0;min-height:20px;text-align:left;white-space:nowrap}
.next-encounter{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:6px 12px;background:#121e32e6;border:1px solid #a88ec842;border-radius:9px;min-height:64px;overflow:hidden}
#next-portrait{width:62px;height:62px;flex-shrink:0;object-fit:contain}.next-encounter>div{min-width:0}.next-encounter strong{display:block;font:800 23px/1.1 Barlow,sans-serif;color:#f1d7ff}.next-encounter .section-kicker{font-size:9px;letter-spacing:1px}
.next-encounter .rival-hint{margin:3px 0 0;font-size:11px;line-height:1.2;max-width:none;min-height:0}
.selection-actions{position:relative;inset:auto;transform:none;min-height:0;width:100%;max-width:none;padding:0;background:none;border:0;box-shadow:none;display:grid;grid-template-columns:1fr auto;gap:5px 12px;z-index:2}
.selection-actions .start-wrap{grid-column:1;min-width:0}.selection-actions .start-button{width:100%;min-height:54px;height:auto;font-size:20px;padding:12px 20px}.selection-actions .how-link{grid-column:2;grid-row:2;min-height:44px;font-size:10px;padding:4px 6px;white-space:nowrap}
.save-line{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:16px;font-size:10px;color:#a8bbb9}.save-line .text-button{font-size:10px;min-height:24px;padding:0 5px}.save-line:has(#retry-save:not([hidden])){color:#ffd992}
.lobby>.load-status{position:absolute;bottom:86px;left:20px;right:20px;z-index:4;margin:0;pointer-events:none;text-align:center;font-size:12px;background:#0b182dcc}.lobby>.load-status:empty{display:none}
#fighter-dialog,#journey-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:28px 24px;border-radius:14px;border:1px solid #526072;background:#10202e;color:#f8edd8;overflow:auto;overscroll-behavior:contain}
#fighter-dialog .fighter-profile{padding:12px 0 0;max-width:none}#fighter-dialog h2{font-size:38px;margin:12px 0}#fighter-dialog #fighter-bio{font-size:14px}#fighter-dialog .profile-move{padding:12px 0}#fighter-dialog .profile-move p{font-size:12px;line-height:1.5;color:#b8c9cf;margin:5px 0 0}
#journey-dialog h2{font:900 36px Barlow,sans-serif;margin:14px 0}#journey-dialog p{font-size:13px;line-height:1.5;color:#bbccd3}#journey-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px}#journey-list li{padding:8px 10px;border:1px solid #344858;border-radius:6px;font-size:11px;display:flex;gap:10px;align-items:center}#journey-list li b{color:#b28adb;min-width:18px}#journey-list li.restored{border-color:#537265;color:#c8efd4}#journey-list li.current{border-color:#d3aeee;background:#392648}
.boss-path{padding:14px;background:#302335;border:1px solid #775365;border-radius:8px}.boss-path strong{font-size:13px;color:#f4cbaa}.practice-panel{padding:15px 0}.practice-panel summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:700}.practice-panel .opponent-label{display:block;margin-bottom:12px}.practice-panel select{width:100%;font-size:16px}.save-explanation{font-size:11px!important}
@media(max-width:700px) and (orientation:portrait){
 body:not(.playing) .site-header{padding:5px 10px;min-height:46px;gap:8px;flex-wrap:wrap}.site-header .edition{display:none}
 .lobby{padding:8px 10px;gap:8px}.campaign-heading{gap:5px 10px}.campaign-heading h1{font-size:27px}.campaign-mission{font-size:11px;line-height:1.35}.journey-button{padding:6px 8px;font-size:10px;white-space:normal;width:115px}.journey-button strong{font-size:16px}
 .campaign-body{grid-template-columns:1fr;grid-template-rows:minmax(112px,.85fr) minmax(168px,1.15fr);gap:8px}.selection-showcase{flex-direction:row}.selection-art{flex:0 0 43%;height:100%}.selected-info{padding:10px 10px 10px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-width:0;flex:1}.selected-info h2{font-size:27px}.selected-info>.section-kicker{font-size:8px}.selected-info .outline-button{min-height:38px;font-size:10px;padding:7px 10px}.selection-caption{left:8px;right:8px;bottom:4px;font-size:7px}.selection-caption b{display:none}#selection-role{font-size:7px}#fighter-availability{font-size:10px;line-height:1.15}
 .roster-panel{gap:4px}.roster-heading span{font-size:9px}.roster-heading span:last-child{font-size:8px}.roster-grid{gap:5px}.roster-card strong{font-size:11px}.next-encounter{gap:7px;padding:4px 8px;min-height:54px}#next-portrait{width:49px;height:49px}.next-encounter strong{font-size:20px}.next-encounter .rival-hint{font-size:10px}.selection-actions{gap:3px 8px}.selection-actions .start-button{min-height:48px;padding:10px 12px;font-size:20px}.save-line{font-size:9px;min-height:12px}
}
@media(max-height:540px) and (orientation:landscape){
 body:not(.playing) .site-header{min-height:40px;padding:3px 14px}.site-header .edition{display:none}.lobby{padding:5px 12px;gap:5px;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);grid-template-rows:auto minmax(0,1fr) auto}.campaign-heading{grid-column:1 / -1;gap:2px 12px}.campaign-heading h1{font-size:24px}.campaign-mission{font-size:10px;line-height:1.2;max-width:none}.journey-button{padding:4px 8px;min-height:32px;font-size:10px}.journey-button strong{font-size:16px}
 .campaign-body{grid-column:1 / -1;grid-template-columns:.75fr 1.25fr;gap:10px}.selection-showcase{flex-direction:row}.selection-art{flex:0 0 48%;height:100%}.selected-info{padding:6px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-width:0;flex:1}.selected-info h2{font-size:24px}.selected-info .section-kicker{font-size:8px}.selected-info .outline-button{font-size:9px;padding:6px;min-height:36px}#fighter-availability{font-size:9px}.selection-caption{display:none}.roster-heading{display:none}.roster-grid{gap:4px}.roster-card strong{font-size:10px}.roster-card .card-number{font-size:8px}
 .next-encounter{grid-column:1;grid-row:3;min-height:51px;gap:6px;padding:3px 6px}#next-portrait{width:42px;height:42px}.next-encounter strong{font-size:18px}.next-encounter .section-kicker{font-size:8px}.next-encounter .rival-hint{font-size:9px;line-height:1.15}.selection-actions{grid-column:2;grid-row:3;align-self:end;gap:2px 5px}.save-line{font-size:8px;min-height:10px}.selection-actions .start-button{font-size:17px;min-height:40px;padding:8px}.selection-actions .how-link{font-size:8px;min-height:36px}
}
@media(max-height:650px) and (orientation:portrait){.lobby{gap:5px}.campaign-heading h1{font-size:23px}.campaign-heading{gap:3px 8px}.campaign-mission{font-size:10px}.journey-button{width:104px;font-size:9px}.campaign-body{grid-template-rows:minmax(72px,.65fr) minmax(158px,1.35fr);gap:5px}.selected-info h2{font-size:22px}.selected-info .section-kicker{display:none}.next-encounter .rival-hint{display:none}.next-encounter{min-height:42px}#next-portrait{height:38px;width:38px}.selection-actions .start-button{min-height:44px;font-size:17px;padding:8px;gap:6px;letter-spacing:.2px}}
@media(prefers-reduced-motion:reduce){.roster-card,.profile-enter{animation:none;transition:none}}

/* Reset the old lobby’s visual ordering and fixed canvas dimensions. */
.campaign-body>.selection-showcase{order:0}.campaign-body>.roster-panel{order:1}
.campaign-body .selection-art #selection-stage{width:100%;height:100%;left:0;top:0;bottom:auto;transform:none;object-fit:fill}
.lobby .selection-actions{flex:none}.lobby .selection-actions .how-link{display:block}

.campaign-body>.selection-showcase{margin:0}

#result-actions{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:10;display:flex;flex-flow:row nowrap;align-items:stretch;gap:8px;width:min(640px,calc(100% - 32px));margin:0;padding:10px;border:1px solid #cbdbe755;border-radius:10px;background:#08151cf2;box-shadow:0 5px 22px #0006;grid-column:auto;grid-row:auto}
#result-actions>button{flex:1;min-width:0;width:auto;min-height:48px;height:auto;padding:9px 12px;font:800 20px/1.1 var(--display);letter-spacing:.4px;gap:6px;justify-content:center;white-space:normal}
#result-actions>button span{margin:0;font-size:16px}
#result-actions #rematch-button,#result-actions #select-again{background:#233647;border:1px solid #718696;color:#fff3df}
#result-actions #continue-button{background:var(--red);color:#fff3df}
.round-ended .touch-controls{display:none!important}
/* Keep the same desktop arena size during combat and its results. */
html:not(.game-touch-layout) body.playing .game-stage{height:auto;width:min(100%,calc((100dvh - 166px)*1.777778));margin:0 auto}
@media(max-width:700px){#result-actions{bottom:7px;width:calc(100% - 18px);padding:6px;gap:6px;border-radius:7px}#result-actions>button{min-height:44px;padding:8px 5px;font-size:16px;letter-spacing:0}#result-actions>button span{font-size:12px}}

/* The unlock is a viewport overlay, never an extra row that shrinks the fight. */
dialog.result-panel {
 display:grid;position:fixed;box-sizing:border-box;flex:none;
 inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
 width:min(760px,calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:none;
 height:fit-content;min-height:0;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
 margin:auto;padding:24px;overflow:auto;overscroll-behavior:contain;
 grid-template-columns:minmax(0,1fr);gap:20px;
 border:1px solid #a0d5c766;border-radius:18px;
 background:radial-gradient(ellipse at top left,#235248,#10242e 65%);
 color:#fff3df;text-align:center;box-shadow:0 18px 70px #0008;
}
dialog.result-panel:not([open]){display:none}
dialog.result-panel::backdrop{background:#040e19b8}
.result-panel .result-summary{min-width:0;align-self:center}
.result-panel .section-kicker{display:block;font-size:11px;letter-spacing:2px;color:#a6e4ce}
.result-panel h2{font:900 clamp(28px,4.5vw,44px)/1.05 var(--display);margin:8px 0 12px;color:#ffe2a3;transform:none}
.result-panel p{font-size:14px;line-height:1.5;margin:0;color:#cad8df}
.result-panel .result-stats{grid-column:1 / -1;grid-row:auto;justify-content:center;gap:32px;display:flex;margin:0}
.result-panel .result-stats strong{font-size:26px}
.result-panel .result-stats span{font-size:9px}
.result-panel #result-actions{position:static;transform:none;width:100%;grid-column:1 / -1;grid-row:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;gap:10px}
.result-panel #result-actions>button{transform:none;min-height:48px;font-size:18px;border-radius:8px;box-shadow:0 3px 0 #07161f;touch-action:manipulation}
.result-panel:has(#rescue-reveal:not([hidden])){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:20px;row-gap:16px}
.result-panel:has(#rescue-reveal:not([hidden])) .result-summary{grid-column:2;grid-row:1;align-self:end;text-align:left}
.result-panel:has(#rescue-reveal:not([hidden])) .result-stats{display:none}
#rescue-reveal{display:contents}
#rescue-stage{grid-column:1;grid-row:1 / 3;align-self:center;width:100%;height:270px;object-fit:cover;border-radius:12px;background:radial-gradient(ellipse,#91efc02e,transparent 70%)}
.rescue-details{grid-column:2;grid-row:2;text-align:left;align-self:start}
#rescue-message{color:#d4f9dc;font-size:14px;margin:0 0 14px}
#use-rescued{min-height:44px;padding:10px 16px;font-size:14px;border:1px solid #a6e4ce88;border-radius:8px;color:#d4f9dc;background:#1b403f;touch-action:manipulation}
@media(orientation:portrait){
 dialog.result-panel{width:min(480px,calc(100% - 24px));padding:20px;gap:20px}
 .result-panel:has(#rescue-reveal:not([hidden])){grid-template-columns:minmax(0,1fr);gap:12px}
 .result-panel:has(#rescue-reveal:not([hidden])) .result-summary{grid-column:1;grid-row:1;text-align:center}
 #rescue-stage{grid-column:1;grid-row:2;height:210px;object-fit:contain}
 .rescue-details{grid-column:1;grid-row:3;text-align:center}
 .result-panel:has(#rescue-reveal:not([hidden])) #result-actions{grid-row:4}
}
@media(max-height:650px) and (orientation:portrait){
 dialog.result-panel{padding:16px}
 .result-panel h2{font-size:28px;margin:6px 0 8px}
 .result-panel p,#rescue-message{font-size:12px;line-height:1.4}
 #rescue-stage{height:150px}
 #rescue-message{margin-bottom:10px}
 .result-panel #result-actions{gap:6px}
 .result-panel #result-actions>button{font-size:16px;padding:8px 5px}
}
@media(max-height:450px) and (orientation:landscape){
 dialog.result-panel{padding:16px;gap:14px}
 .result-panel:has(#rescue-reveal:not([hidden])){grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px 18px}
 .result-panel h2{font-size:28px;margin:6px 0 8px}
 .result-panel p,#rescue-message{font-size:12px;line-height:1.4}
 #rescue-stage{height:190px}
 #rescue-message{margin-bottom:10px}
}

/* The final victory owns the arena, with every action still in reach. */
.christmas-saved .game-stage{container-type:inline-size;border-color:#efbd7280}
.christmas-saved #hud,.christmas-saved .game-controls,.christmas-saved .game-hint{display:none}
.christmas-saved .result-panel{display:none}
.finale-copy{position:absolute;top:9%;left:8%;right:8%;text-align:center;pointer-events:none;color:#fff3df;text-shadow:0 3px 16px #061822}
.finale-copy .finale-kicker{font:700 clamp(8px,1cqw,12px)/1.4 var(--body);letter-spacing:2px;color:#b7e9d6;margin:0 0 8px}
.finale-copy h2{font:900 clamp(27px,5.2cqw,66px)/.91 var(--display);letter-spacing:.5px;margin:0;color:#ffe2a3}.finale-copy h2 span{display:block;color:#fff3df}
.finale-copy p{font-size:clamp(10px,1.3cqw,16px);margin:10px 0 0}.finale-copy #finale-hero{display:none;font:600 clamp(8px,.95cqw,12px)/1.3 var(--body);color:#b7d7d1;margin-top:5px}
#finale-cheer{position:absolute;right:14px;top:14px;z-index:2;min-height:44px;padding:8px 12px;background:#132f34dd;color:#ffe2a3;border-color:#efbd7266;font-size:12px;letter-spacing:.5px;border-radius:8px}#finale-cheer span{margin-left:5px}
#result-actions #new-christmas-result{flex:1.7;background:#efbd72;color:#152831;border-color:#ffe3ad;box-shadow:none;transform:none}
#new-christmas-menu{flex:0 0 auto;margin-left:auto;font-size:12px;padding:8px 12px;min-height:44px;color:#ffe2a3;border-color:#efbd7266;border-radius:6px;background:#304033}#new-christmas-menu span{margin-left:6px}
#new-christmas-dialog{width:min(490px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:28px;border:1px solid #efbd7288;border-radius:16px;background:#10232d;color:#fff3df;overflow:auto}#new-christmas-dialog::backdrop{background:#030f19cc}
#new-christmas-dialog h2{font:900 38px/1 var(--display);margin:12px 0}#new-christmas-dialog p{font-size:14px;line-height:1.6;color:#ccdad9}.reset-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.reset-actions button{width:100%;min-height:48px;height:auto;margin:0;padding:14px;font-size:17px;transform:none}#reset-error{color:#ffb29d!important}
@media(orientation:portrait){
 body.playing #game-screen.christmas-saved .game-stage{width:min(100%,calc((100dvh - 152px)*.833333));height:auto;aspect-ratio:5/6;margin:0 auto}
 .christmas-saved .finale-copy{top:12%;left:3%;right:3%}.finale-copy h2{font-size:clamp(25px,8cqw,58px)}.finale-copy #finale-hero{display:none}.finale-copy p{margin-top:8px}
 #finale-cheer{top:5px;right:7px;font-size:10px;min-height:36px;padding:7px 10px}
 #new-christmas-menu{max-width:125px;font-size:10px;padding:8px;letter-spacing:0}
 .christmas-saved #result-actions>button{font-size:clamp(12px,3.8cqw,18px)}
}
@media(max-height:540px) and (orientation:landscape){#new-christmas-menu{font-size:10px;padding:6px;letter-spacing:0;max-width:105px}.christmas-saved #finale-cheer{top:7px;right:8px;font-size:10px}.christmas-saved .finale-copy{top:8%}}

@media(max-height:540px) and (orientation:landscape){
 :is(.native-app,.game-touch-layout) body.playing #game-screen.christmas-saved .game-stage{height:100dvh;width:min(100vw,177.7778dvh);aspect-ratio:16/9;margin:0 auto}
 .christmas-saved .finale-copy h2{font-size:clamp(24px,4.6cqw,38px)}
 .christmas-saved .finale-copy p{margin-top:5px}
 .christmas-saved .finale-copy .finale-kicker{margin-bottom:5px}
}

/* Tall desktop windows must not inherit the compact phone reset button. */
html:not(.native-app):not(.game-touch-layout) #new-christmas-menu,
html:not(.native-app):not(.game-touch-layout) #result-actions #new-christmas-result{
 min-height:56px;padding:12px 20px;font:800 24px/1.15 var(--display);letter-spacing:.5px;
 color:#152831;background:#efbd72;border-color:#ffe3ad;
}
html:not(.native-app):not(.game-touch-layout) #new-christmas-menu{min-width:244px;max-width:none;white-space:nowrap}
html:not(.native-app):not(.game-touch-layout) #new-christmas-menu span,
html:not(.native-app):not(.game-touch-layout) #new-christmas-result span{font-size:24px;color:inherit}
.match-rating{flex:0 0 100%;text-align:center;color:#b9c9d2;min-width:0}
#result-actions{flex-wrap:wrap}
.rating-stars{display:flex;justify-content:center;gap:2px}
.rating-stars button{width:36px;min-height:36px;border:0;background:transparent;color:#aab7c5;font:26px/1 sans-serif;padding:2px;cursor:pointer;touch-action:manipulation}
.rating-stars button.rated{color:#ffcf77;text-shadow:0 0 8px #ffcf7744}
.rating-stars button:focus-visible{outline:2px solid #ffcf77;outline-offset:-2px;border-radius:5px}
.result-panel .match-rating p,.match-rating p{font:11px/1.3 var(--body,sans-serif);margin:0;color:#b9c9d2}
#rating-status{display:block;font:11px/1.3 var(--body,sans-serif);min-height:0}
#rating-status:empty{display:none}
.rating-setting{display:flex;align-items:center;gap:12px;min-height:48px;font-size:17px;margin:18px 0}
.rating-setting input{width:22px;height:22px;accent-color:#f5c779}
#settings-dialog{max-width:480px}
#settings-dialog p{font-size:14px;line-height:1.5;color:#c4d1d5}
@media(max-width:600px){#web-settings{min-width:54px;min-height:36px;padding:8px 5px;font-size:8px;letter-spacing:.3px}.site-header:has(#web-settings:not([hidden])){gap:6px;padding-inline:8px}.site-header:has(#web-settings:not([hidden])) .brand{gap:6px;font-size:18px}.site-header:has(#web-settings:not([hidden])) .sound-button>span{display:none}}
@media(max-height:500px){.rating-stars button{min-height:30px;font-size:22px}.match-rating{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.match-rating p{max-width:210px}}

/* Completed adventures offer the same two fight choices in both screens. */
.selection-actions .start-wrap{display:flex;gap:10px}
.selection-actions .start-wrap>button{flex:1;min-width:0}
.selection-actions .start-wrap.postgame>button{padding-inline:8px;font-size:20px}
.start-wrap.postgame .button-arrow{display:none}
#random-button,#result-actions #random-result{background:#2e6660;border:1px solid #92d8c1;color:#fff3df}
#result-actions.postgame #new-christmas-result{order:2;flex:1 0 100%}
#result-actions.postgame .match-rating{order:3}
@media(max-width:400px){.selection-actions .start-wrap.postgame>button{font-size:18px}}

.selection-actions .start-wrap.postgame>button{min-height:44px}
