/* Shared by the access, policy and contact pages. Same night, type and ice as the landing page. */
:root{--night:#0B1322;--surface:#111D31;--line:#24364F;--frost:#E7EEF7;--soft:#C9D6E6;--mist:#93A6BF;--ice:#8FCBF2;--ember:#FF8A57;
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;--body:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;background:var(--night)}
body{margin:0;background:var(--night);color:var(--frost);font:17px/1.6 var(--body)}
a{color:var(--ice);text-underline-offset:3px;touch-action:manipulation}
:focus-visible{outline:3px solid var(--ice);outline-offset:3px}
[hidden]{display:none!important}
.page{max-width:720px;margin:0 auto;padding:20px max(20px,env(safe-area-inset-right,0px)) 56px max(20px,env(safe-area-inset-left,0px));display:grid;gap:20px}
.mark{display:inline-flex;align-items:center;gap:10px;font:800 20px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--frost);text-decoration:none;min-height:44px}
h1,h2{font-family:var(--display);text-transform:uppercase;margin:0;text-wrap:balance}
h1{font-weight:900;font-size:clamp(44px,11vw,72px);line-height:.95}
h2{font-weight:800;font-size:26px;line-height:1.1;margin-top:10px}
p,ul,ol{margin:0}
ul,ol{padding-left:22px;display:grid;gap:6px}
.soft{color:var(--soft)}
.small{font-size:14px;color:var(--mist)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:12px;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 20px;border-radius:12px;border:0;background:var(--ice);color:var(--night);font:700 17px var(--body);text-decoration:none;cursor:pointer;touch-action:manipulation;text-align:center;transition:background-color .08s linear,transform .08s ease-out}
.btn:active{transform:scale(.97)}
.btn.alt{background:transparent;color:var(--frost);border:2px solid var(--line)}
.btn[disabled]{opacity:.6;cursor:progress}
@media (hover:hover){.btn:hover{background:#A5D6F5}.btn.alt:hover{background:transparent;border-color:var(--ice)}}
label{display:grid;gap:6px;font-weight:600;font-size:15px}
input{width:100%;min-width:0;min-height:50px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--night);color:var(--frost);font:16px var(--body);-webkit-appearance:none;appearance:none}
input:focus{border-color:var(--ice);outline:0}
.code{font:600 clamp(22px,7vw,30px)/1.2 var(--mono);letter-spacing:.04em;color:var(--ice);overflow-wrap:anywhere}
.err{color:var(--ember);font-size:15px}
.files{display:grid;gap:10px}
.notice{border-color:var(--ember)}
.linkbtn{background:none;border:0;padding:0;min-height:32px;color:var(--ice);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;touch-action:manipulation}
.linkbtn[disabled]{opacity:.6}
.files .btn{width:100%}
footer{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
footer a{color:var(--mist);min-height:32px;display:inline-flex;align-items:center}
table{width:100%;border-collapse:collapse;font-size:15px}
td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}
td:last-child,th:last-child{text-align:right;font-variant-numeric:tabular-nums}
