/* Vercel Web Interface Guidelines: preserve the layout, improve interaction. */
:root { color-scheme:light; --color-focus:#705095; }
.skip-link { position:fixed; top:8px; left:12px; z-index:10010; padding:10px 16px; border:2px solid #705095; border-radius:6px; background:#fff; color:#594577; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.theme-admin:has(#workspace[hidden]) > .skip-link { display:none; }
:is(main,h1,h2,h3,section[id]) { scroll-margin-top:20px; }
.provery-theme :is(button,a,input,textarea,select,summary) { touch-action:manipulation; -webkit-tap-highlight-color:#70509525; }
.provery-theme :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible { outline:2px solid #705095; outline-offset:3px; }
.provery-theme :is(dialog,.auth-modal,.verification-modal,.auth-modal-body) { overscroll-behavior:contain; }
dialog.modal-overlay { width:100%; height:100%; max-width:none; max-height:none; margin:0; border:0; color:var(--color-text); }
dialog.modal-overlay::backdrop { background:transparent; }
.provery-theme .comment-composer-region:focus-within { border-color:#705095; box-shadow:0 0 0 2px #70509525; }
.provery-theme p a { text-decoration:underline; text-underline-offset:3px; }
.theme-admin :is(.muted,small,dt,label,.metrics-controls label,.metrics-definition summary,.signup-source-badge,#adminEmail,[data-members-only]) { color:var(--color-text-muted); }
.theme-admin :is(td,time,.stat strong,.metric-stat strong,.storage-usage) { font-variant-numeric:tabular-nums; }
.theme-admin .table-scroll { overscroll-behavior-x:contain; }
.provery-theme :is(#coffeeRoomState,#coffeeMessages time,#contactDialog small) { color:var(--color-text-muted); }
.provery-theme :is(#coffeeMessages time,#coffeeMessageForm small) { font-size:12px; }
.provery-theme :is(.auth-modal-close,.profile-close) { min-width:32px; min-height:32px; }
.provery-theme :is(.comment-tool-btn,.comment-reply-button) { min-height:24px; }
.provery-theme :is(.verification-status,.quick-auth-status,.private-email strong,.facts dd,.message-bubble) { overflow-wrap:anywhere; }
.provery-theme h1,.provery-theme h2 { text-wrap:balance; }
@media(max-width:760px) {
    /* Text fields stay readable and do not trigger iOS focus zoom. */
    .provery-theme input:not([type=checkbox]):not([type=radio]):not([type=file]),
    .provery-theme textarea,.provery-theme select { font-size:16px!important; }
    .provery-theme :is(.auth-modal-close,.profile-close,.quick-tool-dialog [data-close],.chat-compose .attach-button) { min-width:44px; width:44px; min-height:44px; height:44px; flex-basis:44px; }
    .provery-theme :is(.comment-tool-btn,.comment-reply-button,.comment-sort-tabs button,.poll-option-editor button,.poll-add,.poll-link,.chat-menu summary) { min-height:44px; }
    .theme-community #integratedBoard #sortSelect { min-height:44px; height:44px; }
    .provery-theme :is(.auth-modal,.verification-modal) { max-height:calc(var(--visible-height,100dvh) - 32px); overflow-y:auto; }
    .provery-theme :is(.coffee-shell,.withdrawal-page,.legal-page) { padding-bottom:max(20px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
