/* "Private preview" gate page (lib/site_gate.rb). System fonts only, no external assets. */
body.sg { margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#eef3fa,#fff); color:#1f2937; font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.sg *, .sg *::before, .sg *::after { box-sizing:border-box; }
.sg-card { width:min(100% - 2rem, 380px); background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:2rem 1.75rem; box-shadow:0 10px 30px rgba(29,53,87,.08); text-align:center; }
.sg-logo, .sg .wordmark { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; margin:0 auto 1rem; line-height:1; text-decoration:none; }
.sg .wordmark img { display:block; height:3rem; width:auto; }
.sg .wordmark-name { font-family: Georgia, "Times New Roman", serif; font-style:italic; font-weight:700; color:#1e88e6; font-size:2.3rem; letter-spacing:-0.03em; }
.sg h1 { margin:.25rem 0 .5rem; font-size:1.5rem; color:#1d3557; }
.sg-lead { margin:0 0 1.25rem; color:#4b5563; font-size:.95rem; }
.sg-alert { margin:0 0 1rem; padding:.5rem .75rem; border-radius:8px; background:#fdecec; color:#9b1c24; font-size:.9rem; }
.sg-form { display:flex; flex-direction:column; gap:.5rem; text-align:left; }
.sg-form label { font-weight:600; font-size:.9rem; }
.sg-form input[type=password] { font:inherit; padding:.6rem .75rem; border:1px solid #cbd5e1; border-radius:8px; }
.sg-form input[type=password]:focus-visible { outline:3px solid #e63946; outline-offset:1px; }
.sg-btn { margin-top:.5rem; font:inherit; font-weight:600; background:#1d3557; color:#fff; padding:.7rem 1.2rem; border-radius:8px; border:2px solid #1d3557; cursor:pointer; }
.sg-btn:hover { background:#14263f; }
