/* Terms welcome screen (gate.js) and the required checkboxes used by sign-up and the store. Uses the colour tokens from style.css. */
.tos-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,11,8,.88)}
.tos-gate[hidden],.tos-view[hidden]{display:none}
body.tos-locked{overflow:hidden}
.tos-panel{width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--panel);border:1px solid var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.6);padding:28px 30px 26px;overscroll-behavior:contain}
.tos-eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:1.6px;color:var(--gold)}
.tos-panel h2{margin:0 0 14px;font-family:Cinzel,serif;font-size:28px;letter-spacing:.6px;color:var(--gold)}
.tos-panel p{margin:0 0 14px;color:var(--text);font-size:14px}
.tos-panel a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.tos-changed{border-left:3px solid var(--gold);padding:8px 12px;background:#2b2a1d;color:#ffe9a6}
label.tos-check{display:flex;gap:12px;align-items:flex-start;margin:18px 0 22px;padding:12px 14px;border:1px solid var(--line);background:#1a1c16;cursor:pointer;font-size:14px;line-height:1.5;color:var(--text)}
label.tos-check input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;padding:0;accent-color:var(--gold);cursor:pointer}
.tos-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.tos-actions .button{width:auto;padding:12px 18px}
.tos-actions .button:disabled{opacity:.45;cursor:not-allowed}
.tos-doc-bar{position:sticky;top:-28px;z-index:1;background:var(--panel);margin:-6px 0 14px;padding:6px 0 12px}
.tos-doc-bar .button{width:auto;padding:10px 16px}
#tos-doc-body .legal{max-width:none}
#tos-doc-body .page-title{padding-top:0}
#tos-doc-body .legal-toc ol{columns:1}
@media (max-width:600px){
  .tos-panel{padding:22px 18px 20px}
  .tos-panel h2{font-size:23px}
  .tos-actions .button{flex:1 1 100%}
}
