/* Approved action family: one bevel, live lettering, semantic colours. */
button[data-ui-surface]{position:relative;isolation:isolate;border:0!important;border-radius:0!important;clip-path:none!important;background:none!important;box-shadow:none!important;min-height:56px;font-family:BrawlItalic,sans-serif;color:#fff;paint-order:stroke fill;-webkit-text-stroke:1px #120f24;text-shadow:0 2px #120f24;gap:12px;padding:12px 20px}
button[data-ui-surface]>.ui-surface{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
button[data-ui-surface]::before,button[data-ui-surface]::after{display:none!important}
button[data-ui-tone=primary],button[data-ui-tone=neutral]{color:#1c1404;-webkit-text-stroke:0;text-shadow:none}
button[data-ui-surface] svg{fill:#fff;stroke:#120f24;stroke-width:1.3;width:32px;height:32px;filter:drop-shadow(0 2px #120f24)}
button[data-ui-surface]:focus-visible{outline:3px solid #91e5ff;outline-offset:3px}
button[data-ui-surface]:disabled{color:#c9cde6;cursor:default}
button[data-ui-surface]:active:not(:disabled){transform:translateY(2px)}
#loading.v2 .bottom-dock .action[data-ui-surface]{font-family:BrawlItalic;font-weight:normal;gap:12px;line-height:1;padding:8px 16px;overflow:visible}
#loading.v2 #guest[data-ui-surface]{font-size:calc(50px * var(--button-scale))}
#loading.v2 #sign-in[data-ui-surface],#loading.v2 #news-open[data-ui-surface]{width:calc(190px * var(--button-scale));height:calc(64px * var(--button-scale));font-size:calc(25px * var(--button-scale));aspect-ratio:auto}
#loading.v2 #guest[data-ui-surface]>svg{display:block;width:calc(52px * var(--button-scale));height:calc(52px * var(--button-scale))}
#loading.v2 .bottom-dock .action[data-ui-surface]>svg{display:block;width:calc(34px * var(--button-scale));height:calc(34px * var(--button-scale))}
#loading.v2 #guest[data-ui-surface] #play-caption{display:inline;visibility:visible;color:#1c1404;font-size:inherit}
#loading.v2 .content{width:calc(380px * var(--button-scale) + var(--button-gap))}
dialog button.close[data-ui-surface]{width:48px;height:48px;min-height:48px;padding:0;font-size:30px}
dialog .action[data-ui-surface]{min-height:64px;font-size:27px;width:100%;max-width:100%}
@media(orientation:landscape) and (min-height:541px){
 #loading.v2 .content{left:12%;top:calc(65px * var(--header-scale) + 64px)}
 #loading.v2 .content .logo{width:100%;height:auto;flex:1 1 0;max-height:330px}
 #loading.v2 .footer{left:12%}
}
@media(orientation:portrait){#loading.v2 .content .logo{width:100%;max-height:300px;height:calc(260px * var(--button-scale))}}
@media(orientation:landscape) and (max-height:540px){
 #loading.v2 .content{left:7%;top:84px;bottom:24px;width:42%;display:flex;justify-content:center}
 #loading.v2 .content .logo{position:fixed;left:55%;top:100px;width:37%;height:45%;max-height:none;margin:0}
 #loading.v2 .bottom-dock{width:100%;grid-template-columns:1fr 1fr;gap:10px}
 #loading.v2 #guest[data-ui-surface]{width:100%;height:72px;font-size:36px}
 #loading.v2 #sign-in[data-ui-surface],#loading.v2 #news-open[data-ui-surface]{width:100%;height:54px;font-size:20px;gap:6px;padding:6px}
 #loading.v2 .footer{left:57%;bottom:22px;right:4%;height:56px}
 #loading.v2 .repeat-tag{display:none}
}

.motion-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.motion-pair .action{margin-top:0}

#loading.v2 .bottom-dock .action[data-ui-surface]{color:white;paint-order:stroke fill;-webkit-text-stroke:1.8px #120f24;text-shadow:0 2px #120f24}
#loading.v2 #guest[data-ui-surface]{color:#1c1404;-webkit-text-stroke:0;text-shadow:none}
#loading.v2 .bottom-dock .action[data-ui-surface] svg{fill:#fff!important;stroke:#120f24;stroke-width:1.5}
button[data-ui-surface]>.ui-surface{overflow:visible}

#loading.v2 .bottom-dock .action[data-ui-surface]>.ui-action-icon{display:block;flex:none;object-fit:contain;width:calc(34px * var(--button-scale));height:calc(34px * var(--button-scale));filter:none;margin:0}
#loading.v2 #guest[data-ui-surface]>.ui-action-icon{width:calc(52px * var(--button-scale));height:calc(52px * var(--button-scale))}

/* Reference-measured action slots. Icon and label coordinates come from the
   same concept_actions.json consumed by the native shared button renderer. */
#loading.v2 #sign-in[data-ui-surface]{width:calc(190px * var(--button-scale));height:calc(56px * var(--button-scale));min-height:44px}
#loading.v2 #news-open[data-ui-surface]{width:calc(212px * var(--button-scale));height:calc(56px * var(--button-scale));min-height:44px}
#loading.v2 .bottom-dock :is(#sign-in,#news-open)[data-ui-surface]{padding:0;gap:0;filter:none}
#loading.v2 .bottom-dock :is(#sign-in,#news-open)[data-ui-surface]>.ui-action-icon{position:absolute;object-fit:contain}
#loading.v2 .bottom-dock .ui-action-label{position:absolute;display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;letter-spacing:0;-webkit-text-stroke:1.4px #101222;text-shadow:0 1px #101222}
#loading.v2 .content{width:calc(402px * var(--button-scale) + var(--button-gap))}
#loading.v2 .notification{right:calc(10px * var(--button-scale));top:calc(-5px * var(--button-scale));border:2px solid #101222;width:calc(23px * var(--button-scale));height:calc(23px * var(--button-scale));font-size:calc(17px * var(--button-scale))}
@media(orientation:landscape) and (min-height:541px){
 #loading.v2{--launch-row-width:calc(934px * var(--button-scale) + 3 * var(--button-gap))}
 #loading.v2 .content{left:50%;transform:translateX(-50%);width:var(--launch-row-width);top:calc(65px * var(--header-scale) + 64px);bottom:32px}
 #loading.v2 .content .logo{width:calc(430px * var(--button-scale));height:calc(270px * var(--button-scale));flex:0 0 auto;object-position:center;margin:0 auto}
 #loading.v2 .bottom-dock{margin-top:auto;width:calc(654px * var(--button-scale) + 2 * var(--button-gap));height:calc(80px * var(--button-scale));display:flex;align-items:center;gap:var(--button-gap)}
 #loading.v2 #sign-in{order:0}
 #loading.v2 #guest[data-ui-surface]{order:1;width:calc(252px * var(--button-scale));height:calc(80px * var(--button-scale));font-size:calc(42px * var(--button-scale))}
 #loading.v2 #news-open{order:2}
 #loading.v2 .footer{left:calc(50% + var(--launch-row-width) / 2 - 280px * var(--button-scale));right:auto;bottom:calc(32px + 12px * var(--button-scale));height:calc(56px * var(--button-scale));width:calc(280px * var(--button-scale))}
 #loading.v2 .season-chip{width:100%;height:100%}
 #loading.v2 .repeat-tag{display:none}
 #loading.v2 .readiness{left:calc(190px * var(--button-scale) + var(--button-gap));transform:none;top:0;width:calc(252px * var(--button-scale));height:calc(80px * var(--button-scale))}
}
@media(orientation:landscape) and (min-height:541px) and (max-width:1199px){#loading.v2{--button-scale:.8;--button-gap:14px}}
@media(orientation:landscape) and (max-height:540px){
 #loading.v2 .content{width:42%}
 #loading.v2 #sign-in[data-ui-surface],#loading.v2 #news-open[data-ui-surface]{width:100%;height:54px}
}

/* One approved reference canvas: coordinates owned by launcher-layout.json. */
#loading.v2 .approved-launch-canvas{position:absolute;background:url('launcher-approved-scene.png') center/100% 100% no-repeat;isolation:isolate}
#loading.v2 .approved-launch-canvas :is(.content,.bottom-dock,.actions,.footer){display:contents!important}
#loading.v2 .approved-launch-canvas .launch-header{position:absolute!important;display:block!important}
#loading.v2 .approved-launch-canvas .logo{object-fit:contain;object-position:center;filter:none;animation:none}
#loading.v2 :is(.scene,.shade,.shine,.beam,.particles,#launch-art,#launch-fx,.wall-tag,.version,.tip){display:none!important}
#loading.v2 .launch{background:#050d25}
#loading.v2 .approved-launch-canvas button{filter:none!important}
#loading.v2 .approved-launch-canvas .action>.ui-action-icon{position:absolute;object-fit:contain}
#loading.v2 .approved-launch-canvas #guest .ui-action-label{-webkit-text-stroke:0;color:#080e16;text-shadow:none}
#loading.v2 .approved-launch-canvas #launch-season{clip-path:none;background:none!important;border:0;box-shadow:none;padding:0}
#loading.v2 .approved-launch-canvas .season-chip>img{position:absolute;left:calc(16px * var(--season-unit));top:calc(20px * var(--season-unit));width:calc(46px * var(--season-unit));height:calc(46px * var(--season-unit));filter:brightness(0) saturate(100%) invert(86%) sepia(94%) saturate(1200%) hue-rotate(350deg)}
#loading.v2 .approved-launch-canvas .season-chip>span{position:absolute;left:calc(69px * var(--season-unit));top:calc(14px * var(--season-unit));width:calc(215px * var(--season-unit));font-size:calc(20px * var(--season-unit));line-height:1.2;color:#66e0ff}
#loading.v2 .approved-launch-canvas .season-chip strong{font-size:inherit}
#loading.v2 .approved-launch-canvas .season-chip b{font-size:calc(16px * var(--season-unit))}
#loading.v2 .approved-launch-canvas .season-progress{margin:calc(4px * var(--season-unit)) 0 0;gap:calc(10px * var(--season-unit))}
#loading.v2 .approved-launch-canvas .season-progress i{height:calc(7px * var(--season-unit));transform:none}
#loading.v2 .approved-launch-canvas .season-progress small{font-size:calc(15px * var(--season-unit))}
#loading.v2 .approved-launch-canvas .readiness{padding:4px 8px;grid-template-columns:16px 1fr;gap:1px 4px}
#loading.v2 .approved-launch-canvas .loading-spinner{width:16px;height:16px}
#loading.v2 .approved-launch-canvas .loading-title{font-size:clamp(7px,1.1vw,16px);white-space:normal}
#loading.v2 .approved-launch-canvas #status{font-size:clamp(9px,1.1vw,16px)}
#loading.v2 .approved-launch-canvas .player-chip strong,#loading.v2 .approved-launch-canvas .level-line,#loading.v2 .approved-launch-canvas .coin-chip strong{font-family:Brawl,sans-serif;font-weight:normal}
#loading.v2 .approved-launch-canvas .readiness .loading-title{font-size:16px}
#loading.v2 .approved-launch-canvas .readiness #status{font-size:15px}
