/* mobile_base.css - small mobile-first layer for public pages (UTF-8, ASCII only).
   Opt in with <body class="mb">. Extras: mb-stack (stack table cells on phones),
   mb-card (centered card + dark/light via prefers-color-scheme, for new pages). */
.mb{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mb,.mb *{box-sizing:border-box}
.mb img{max-width:100%;height:auto}
.mb table{max-width:100%}
/* 16px inputs: iOS Safari zooms on focus below 16px; 44px touch targets */
.mb input[type=text],.mb input[type=password],.mb input[type=email],.mb input[type=number],.mb input:not([type]),.mb select,.mb textarea{font-size:16px;min-height:44px;max-width:100%}
.mb input[type=submit],.mb button{font-size:16px;min-height:44px;min-width:44px;padding:0 16px;cursor:pointer}
.mb input[type=checkbox],.mb input[type=radio]{width:24px;height:24px;vertical-align:middle}
.mb label{display:block;margin:8px 0}
.mb :focus-visible{outline:3px solid #1c6fd1;outline-offset:2px}
@media (max-width:600px){
 .mb label>input[type=text],.mb label>input[type=email],.mb label>input:not([type]){width:100%}
 .mb-stack table,.mb-stack tbody,.mb-stack tr,.mb-stack td{display:block;width:100%}
 .mb-stack td{padding:6px 8px}
 .mb-stack input[type=text],.mb-stack input[type=password],.mb-stack input[type=email],.mb-stack select{width:100%}
 .mb-stack input[type=submit]{width:100%}
}
.mb-card{--bg:#f2f3f5;--fg:#16181d;--card:#fff;--line:#d5d8de;--acc:#1c6fd1;--accfg:#fff;--err:#b3261e;color-scheme:light dark;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;padding:16px}
@media (prefers-color-scheme:dark){.mb-card{--bg:#121417;--fg:#e6e8ec;--card:#1b1e23;--line:#30353d;--acc:#5aa2f5;--accfg:#08111c;--err:#ff8a80}}
.mb-card .card{max-width:420px;margin:16px auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}
.mb-card h3{margin:0 0 12px}
.mb-card a{color:var(--acc)}
.mb-card .err{color:var(--err)}
.mb-card input[type=text],.mb-card input[type=number],.mb-card input:not([type]){width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);padding:0 12px;margin:6px 0 12px}
.mb-card input[type=submit]{width:100%;background:var(--acc);color:var(--accfg);border:0;border-radius:8px}
