
.registration-proof[hidden], .tgs-mobile-more[hidden] { display:none !important; }
.registration-proof { padding:16px 46px 16px 16px; }
.registration-proof-label { font-size:10px; line-height:1.5; letter-spacing:.04em; }
.registration-proof strong { font-size:14px; line-height:1.45; margin:4px 0; }
.registration-proof a { font-size:12px; display:inline-flex; align-items:center; min-height:36px; }
.registration-proof-close { width:44px; height:44px; top:2px; right:2px; font-size:24px; }
body:has(dialog[open]) .registration-proof, body:has(dialog[open]) .tgs-mobile-dock, body:has(dialog[open]) .tgs-mobile-more { display:none !important; }
.tgs-mobile-dock, .tgs-mobile-more { display:none; }
@media (max-width: 760px) {
 body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
 .tgs-mobile-dock { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:100; padding:8px 8px calc(8px + env(safe-area-inset-bottom)); background:rgba(42,27,19,.97); backdrop-filter:blur(16px); border-top:1px solid #94723e; box-shadow:0 -8px 30px #21160d26; gap:4px; }
 .tgs-mobile-dock a, .tgs-mobile-dock button { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; min-height:58px; min-width:0; border:1px solid transparent; border-radius:12px; color:#f1e7d7; background:transparent; font:600 10px/1.2 var(--sans); text-decoration:none; padding:6px 0; cursor:pointer; }
 .tgs-mobile-dock svg { width:22px; height:22px; }
 .tgs-mobile-dock [aria-current], .tgs-mobile-dock [aria-expanded="true"] { background:#655030; border-color:#b88f44; color:#fff2d8; }
 .tgs-mobile-dock a[href="#early-access"] { color:#efd28c; }
 .tgs-mobile-dock a:active, .tgs-mobile-dock button:active { background:#655030; }
 .tgs-mobile-dock :focus-visible, .tgs-mobile-more a:focus-visible { outline:2px solid #eed08b; outline-offset:1px; }
 .tgs-mobile-more { display:grid; position:fixed; z-index:101; left:12px; right:12px; bottom:calc(86px + env(safe-area-inset-bottom)); padding:12px; border:1px solid #b88f44; border-radius:18px; background:#302016; box-shadow:0 10px 40px #0005; }
 .tgs-mobile-more > span { color:#d9ba7b; padding:10px 12px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
 .tgs-mobile-more a { color:#fff4e7; font-size:15px; padding:14px 12px; min-height:48px; text-decoration:none; border-top:1px solid #ffffff18; }
 .registration-proof { bottom:calc(88px + env(safe-area-inset-bottom)); left:12px; width:calc(100vw - 24px); max-width:350px; }
 body:has(.tgs-mobile-more:not([hidden])) .registration-proof { display:none; }
}

/* Keep close controls above iOS's separately composited scrolling form. */
dialog.tf .tf-stage { position:relative; z-index:0; padding-top:max(80px, calc(env(safe-area-inset-top) + 64px)); }
dialog.tf .tf-close { z-index:10; top:max(12px, env(safe-area-inset-top)); right:max(12px, env(safe-area-inset-right)); width:48px; height:48px; min-height:48px; display:grid; place-items:center; padding:0; touch-action:manipulation; pointer-events:auto; background:#574235; }
.registration-proof > .registration-proof-close { z-index:2; width:48px; height:48px; top:0; right:0; touch-action:manipulation; pointer-events:auto; }
