/* v1.1.73 — Phase 16 page-owned alert / official warning UI. Loaded only when these components can render. */
.ttv-alert-modal[hidden]{display:none!important}.ttv-alert-open{overflow:hidden}
.ttv-alert-modal{position:fixed;inset:0;z-index:2040;padding:18px;display:grid;place-items:center}.ttv-alert-modal__backdrop{position:absolute;inset:0;background:rgba(16,37,54,.48)}.ttv-alert-modal__dialog{position:relative;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--ttv-line);border-radius:var(--ttv-radius-lg);background:var(--ttv-surface);box-shadow:var(--ttv-shadow-dialog)}.ttv-alert-modal__dialog>header{padding:18px;border-bottom:1px solid var(--ttv-line);display:flex;gap:var(--ttv-space-4);align-items:flex-start;justify-content:space-between}.ttv-alert-modal__dialog h2{margin:2px 0 var(--ttv-space);font-size:var(--ttv-text-xl)}.ttv-alert-modal__dialog header p{margin:0;color:var(--ttv-muted);font-size:var(--ttv-text-compact);line-height:1.55}.ttv-alert-modal__dialog>header>button{width:44px;height:44px;border:1px solid var(--ttv-line);border-radius:var(--ttv-radius-sm);background:var(--ttv-surface);display:grid;place-items:center;cursor:pointer;box-shadow:var(--ttv-shadow-icon-control)}.ttv-alert-modal form{padding:18px;display:grid;gap:14px}.ttv-alert-modal form>label:not(.ttv-alert-consent):not(.ttv-alert-modal__honeypot){display:grid;gap:6px;font-size:var(--ttv-text-compact);font-weight:700}.ttv-alert-modal input[type=email]{width:100%}.ttv-alert-modal form .ttv-alert-modal__honeypot{position:absolute;left:-9999px}.ttv-alert-consent{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;color:var(--ttv-muted-strong);font-size:var(--ttv-text-xs);line-height:1.5}.ttv-alert-consent input{margin-top:2px}.ttv-alert-modal__status{min-height:20px;color:var(--ttv-blue-700);font-size:var(--ttv-text-compact);font-weight:600}.ttv-alert-modal__status[data-state=success]{color:var(--ttv-good)}.ttv-alert-modal__status[data-state=error]{color:var(--ttv-danger)}.ttv-alert-modal__status[data-state=loading]{color:var(--ttv-muted-strong)}.ttv-alert-modal__actions{display:flex;gap:var(--ttv-space-2);flex-wrap:wrap}.ttv-alert-modal__dialog>footer{padding:var(--ttv-space-3) 18px;border-top:1px solid var(--ttv-line);background:var(--ttv-muted-bg);color:var(--ttv-muted);font-size:var(--ttv-text-xs);line-height:1.5}
.ttv-user-message{margin-top:var(--ttv-space-7);padding:var(--ttv-space-7);display:flex;align-items:flex-start;gap:var(--ttv-space-4)}.ttv-user-message__icon{width:46px;height:46px;border-radius:var(--ttv-radius-circle);background:var(--ttv-blue-50);display:grid;place-items:center;color:var(--ttv-blue-700);flex:0 0 auto}.ttv-user-message__icon .ttv-icon{width:24px;height:24px}.ttv-user-message h1{margin:0 0 7px;font-size:24px}.ttv-user-message p{margin:0 0 14px;color:var(--ttv-muted-strong);line-height:1.6}
.ttv-official-alerts{margin-top:var(--ttv-space-4);padding:var(--ttv-space-4);border-color:#f3c36a;background:#fffdf6}.ttv-official-alerts__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ttv-space-3);margin-bottom:10px}.ttv-official-alerts__head h2{margin:2px 0 0;display:flex;align-items:center;gap:7px;font-size:var(--ttv-text-lead)}.ttv-official-alerts__head h2 .ttv-icon{width:19px;height:19px;color:#9b5b00}.ttv-official-alerts__eyebrow{color:#8b5a08;font-size:var(--ttv-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ttv-official-alerts__head>span{min-height:28px;padding:0 9px;border-radius:var(--ttv-radius-pill);background:#fff3ce;display:inline-flex;align-items:center;color:#7b5008;font-size:var(--ttv-text-xs);font-weight:700}.ttv-official-alerts__grid{display:grid;gap:var(--ttv-space-2)}.ttv-official-alert{padding:var(--ttv-space-3);border:1px solid #efd79d;border-radius:var(--ttv-radius-sm);background:var(--ttv-surface);display:grid;gap:10px}.ttv-official-alert__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ttv-official-alert__meta span{font-size:var(--ttv-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9a6500}.ttv-official-alert__meta time{font-size:var(--ttv-text-xs);font-weight:700;color:var(--ttv-muted)}.ttv-official-alert--severe{border-color:#ffc2c7;background:#fff5f6}.ttv-official-alert--severe .ttv-official-alert__meta span{color:#b22e39}.ttv-official-alert--watch{background:#fffaf0}.ttv-official-alert strong{font-size:var(--ttv-text-md)}.ttv-official-alert p{margin:var(--ttv-space) 0 0;color:var(--ttv-muted-strong);font-size:var(--ttv-text-compact);line-height:1.55}.ttv-official-alert footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--ttv-line-subtle);font-size:var(--ttv-text-xs)}.ttv-official-alert footer span{color:var(--ttv-muted)}.ttv-official-alert footer a{display:inline-flex;align-items:center;gap:3px;font-weight:700}.ttv-official-alert footer .ttv-icon{width:14px;height:14px}
@media(max-width:640px){.ttv-alert-modal{top:var(--ttv-visual-offset-top,0px);bottom:auto;height:var(--ttv-visual-height,100dvh);min-height:0;padding:0;align-items:end}.ttv-alert-modal__dialog{width:100%;max-height:min(92dvh,calc(var(--ttv-visual-height,100dvh) - 8px));min-height:0;border-radius:var(--ttv-radius-lg) var(--ttv-radius-lg) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.ttv-alert-modal__actions .ttv-btn{flex:1}.ttv-official-alert footer{align-items:flex-start;flex-direction:column}.ttv-user-message{padding:var(--ttv-space-5);flex-direction:column}}

/* v1.1.170 — Phase 113 safe-area viewport recovery. */
@media(max-width:640px){
  .ttv-alert-modal__dialog>header{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .ttv-alert-modal form,.ttv-alert-modal__dialog>footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
}

/* v1.1.171 — Phase 114 mobile keyboard / visual viewport recovery. Admin-bar offset is owned by global-shell.css. */
@media(max-width:640px){
  body[data-ttv-keyboard-open] .ttv-alert-modal__dialog{max-height:calc(var(--ttv-visual-height,100dvh) - 4px)}
  body[data-ttv-keyboard-open] .ttv-alert-modal form{padding-top:var(--ttv-space-3);padding-bottom:var(--ttv-space-3)}
}
/* v1.1.186 — Phase 129 governed selector ownership migration. */

