/* Shared controls and touch-browser defaults. Preserve native semantics and keyboard input. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Keep the logo outside the card while the form scrolls inside its bounds. */
html body #authModal[open]{box-sizing:border-box;height:var(--auth-viewport-height,100dvh);top:var(--auth-viewport-top,0px);bottom:auto;padding:16px;overflow:hidden;}
html body #authModal .auth-dialog{display:flex;flex-direction:column;box-sizing:border-box;min-height:0;height:auto;max-height:calc(var(--auth-viewport-height,100dvh) - 88px - env(safe-area-inset-bottom));overflow:visible;}
html body #authModal .auth-stage{min-height:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
html body #authModal .auth-view{flex-shrink:0;}
html body #authModal .legal-consent-all{min-width:0;max-width:100%;box-sizing:border-box;}
html body #authModal .legal-consent-copy{min-width:0;overflow-wrap:anywhere;}
@media(pointer:coarse){html body #workspaceModeRibbon,html body .legacy-mode-carousel,html body .legacy-mode-carousel .legacy-mode-card{touch-action:pan-x pan-y!important;}html body .legacy-mode-carousel{overflow-x:auto!important;-webkit-overflow-scrolling:touch;}}
button,input[type=button],input[type=submit],select{-webkit-appearance:none;appearance:none}
input[type=checkbox],input[type=radio]{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box;display:inline-block;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;flex:0 0 22px;margin:0;vertical-align:middle;border:1.5px solid #9b9fa3!important;border-radius:7px;background:#f0f1f1!important;box-shadow:inset 0 1px 1px #ffffffb3;cursor:pointer}
input[type=radio]{border-radius:50%}
input[type=checkbox]:checked{border-color:#065dfd!important;background:#065dfd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat!important}
input[type=radio]:checked{border:6px solid #065dfd!important;background:#fff!important}
input:focus-visible,select:focus-visible{outline:2px solid #065dfd;outline-offset:3px}
input:disabled{opacity:.5;cursor:default}
@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select{font-size:max(16px,1em)}button,a{-webkit-tap-highlight-color:transparent}}
@supports(-webkit-touch-callout:none){
 body{overscroll-behavior-y:none}
 .auth-stage,.grid-popup-body{-webkit-overflow-scrolling:touch}
 .grid-popup{max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px)}
 .grid-popup-body{min-height:0;overflow-y:auto}
}

html body [data-open-legal]{background:transparent;border:0;box-shadow:none;padding:0;color:#065dfd;font:inherit;text-decoration:underline;cursor:pointer}
.platform-select{border:1px solid #fff;border-radius:28px;padding:20px;background:#eceded;color:#151516;box-shadow:0 20px 70px #0003;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.platform-select::backdrop{background:#15151666;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.platform-select header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.platform-select button{font:inherit;border:1px solid #fff;border-radius:22px;padding:12px 16px;background:#ffffff80;color:#151516;min-height:44px}
.platform-select [role=option]{display:block;width:100%;margin-top:6px;text-align:left}
.platform-select [aria-selected=true]{background:#151516;color:#fff}
.platform-select button:disabled{opacity:.4}

@media(pointer:coarse){.grid-card img,.grid-card-header button,.grid-resize,.tour-drag-handle{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.grid-card img{-webkit-user-drag:none}}
