/* Isolated gate styles using the existing MomentumPT palette. */
:root { --yellow:#FFD21F; --dark:#111318; --ink:#FFFFFF; --muted:#AEB4BD; --line:#41464E; --secondary:#1C1F23; }
* { box-sizing:border-box; }
html { color-scheme:dark; }
body { margin:0; background:var(--dark); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
main { width:min(100% - 48px, 560px); margin:auto; padding:clamp(32px,7vh,80px) 0 24px; }
.brand img { display:block; width:240px; max-width:80%; height:auto; }
.eyebrow { margin:64px 0 16px; font-size:.7rem; font-weight:700; letter-spacing:.18em; color:var(--muted); }
h1 { margin:0 0 40px; font-size:clamp(2.8rem,10vw,5rem); line-height:.98; letter-spacing:-.055em; }
h1 span { color:var(--yellow); }
section { border-top:1px solid var(--line); padding-top:28px; }
h2 { font-size:1.2rem; margin:0 0 8px; line-height:1.3; }
p { margin:0 0 24px; color:var(--muted); }
label { display:block; font-size:.875rem; margin-bottom:8px; }
.password-field { display:flex; border:1px solid var(--line); background:var(--secondary); }
input { min-width:0; width:100%; border:0; background:transparent; color:var(--ink); font:inherit; padding:14px; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; font:inherit; }
#reveal,#logout { border:0; background:transparent; color:var(--ink); padding:12px 16px; font-size:.875rem; min-height:48px; }
:focus-visible { outline:2px solid var(--yellow); outline-offset:4px; }
.primary { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:56px; border:0; background:var(--yellow); color:var(--dark); padding:14px 20px; font-weight:700; text-decoration:none; }
.primary:hover { background:#FFE066; }
button:disabled { opacity:.55; cursor:wait; }
#message { min-height:1.65em; font-size:.875rem; margin:10px 0 16px; color:var(--yellow); }
footer { border-top:1px solid var(--line); margin-top:64px; padding-top:20px; color:var(--muted); font-size:.65rem; letter-spacing:.09em; }
footer span { padding:0 12px; color:var(--yellow); }
[hidden] { display:none !important; }
@media (max-width:380px) { main { width:calc(100% - 32px); } .eyebrow { margin-top:40px; } }
