/* Native controls, keyboard access and reduced motion. */
[hidden] { display: none !important; }
:is(a, button, input, textarea, [tabindex]):focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 4px; }
.webapp-li-item-row[role="button"] { cursor: pointer; }
.filter-button:focus-visible { outline-offset: -4px; }
html.app-dialog-open { overflow: hidden; }
#app-dialog { width: min(440px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #3b3e45; border-radius: 24px; background: var(--surface); color: var(--text); box-shadow: 0 24px 70px rgb(0 0 0 / 45%); }
#app-dialog::backdrop { background: rgb(0 0 0 / 64%); backdrop-filter: blur(4px); }
#app-dialog[open] { animation: sheet-appear .23s ease-out; }
#app-dialog .appdet-content { max-height: calc(100vh - 38px); max-height: calc(100dvh - 38px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #4a4e57 transparent; }
#app-dialog button { appearance: none; }
/* Keep initial pointer focus on the close control without a selection ring. */
#app-dialog.is-pointer-open #appdet-close:focus { outline: none; }
#app-dialog .proc-w:not([hidden]) { display: block; }
@keyframes sheet-appear { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
    .webapp-li-item-row:hover { background: #181a1d; }
    .webapp-li-item-row:hover .webapp-li-item-btn { background: var(--accent); color: #1c3415; }
}
@media (max-width: 540px) {
    #app-dialog { max-height: 94vh; max-height: 94dvh; }
    #app-dialog .appdet-content { max-height: calc(94vh - 1px); max-height: calc(94dvh - 1px); }
}
@media (max-height: 710px) and (min-width: 351px) {
    #app-dialog.is-preparing .phone-crop { height: 240px; }
    #app-dialog.is-preparing .phone-screen { padding-top: 44px; }
    #app-dialog.is-preparing .phone-widget .phone-widget-time { font-size: 43px; }
    #app-dialog.is-preparing .phone-app-grid { margin-top: 12px; }
    #app-dialog.is-preparing .phone-preview[data-device="android"] .phone-widget { padding-block: 6px; }
    #app-dialog.is-preparing .phone-preview[data-device="android"] .phone-widget-time { font-size: 33px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
