/* The Foundry's gate (D-089): the page's own look, phone first. Words in Arial on flat wells; Georgia for titles. */
:root {
  --bg: #15151b; --surface: #202027; --iron: #35363e; --edge: #42434a; --text: #d8c89b; --dim: #aaa28b; --bright: #ffe09a;
  --ember: #e8902a; --bad: #f08a6a;
  --body: Arial, Helvetica, sans-serif; --title: Georgia, "Times New Roman", serif;
}
html, body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--body); font-size: 18px; line-height: 27px; }
body { min-height: 100vh; display: flex; justify-content: center;
       background: radial-gradient(circle at 50% 120px, rgba(232, 144, 42, 0.16), rgba(21, 21, 27, 0) 260px), var(--bg); }
main { box-sizing: border-box; width: 100%; max-width: 420px; padding: max(28px, env(safe-area-inset-top)) 20px 40px; text-align: center; }
#eye { display: block; margin: 8px auto 12px; width: 168px; height: 168px; border-radius: 50%;
       border: 3px solid var(--iron); box-shadow: 0 0 0 2px #0b0b10, 0 0 36px rgba(232, 144, 42, 0.35); }
h1 { font-family: var(--title); font-weight: normal; color: var(--bright); font-size: 34px; line-height: 40px; margin: 4px 0 2px; letter-spacing: 0.5px; }
h2 { font-family: var(--title); font-weight: normal; color: var(--bright); font-size: 22px; line-height: 28px; margin: 6px 0 6px; }
p { margin: 10px 0; }
.lore { font-style: italic; color: var(--dim); }
.note { color: var(--text); text-align: left; font-size: 16px; line-height: 24px; }
section, details { margin: 18px 0 0; padding: 14px 16px; background: var(--surface); border: 2px solid var(--iron);
                   border-radius: 6px; box-shadow: inset 0 0 0 1px #0b0b10; text-align: left; }
#say { min-height: 27px; color: var(--bright); }
#say.bad { color: var(--bad); }
label { display: block; font-size: 16px; color: var(--dim); margin: 10px 0 4px; }
input { box-sizing: border-box; width: 100%; font: 20px/28px var(--body); letter-spacing: 2px; text-transform: uppercase;
        color: var(--bright); background: #0f0f14; border: 2px solid var(--edge); border-radius: 4px; padding: 10px 12px; }
input:focus { outline: 2px solid var(--ember); outline-offset: 1px; }
button { font: 18px/24px var(--body); color: var(--text); background: var(--iron); border: 2px solid var(--edge);
         border-radius: 4px; padding: 10px 16px; margin: 12px 0 0; min-height: 48px; cursor: pointer; }
button.main { display: block; width: 100%; color: #1b1206; font-weight: bold; background: linear-gradient(#ffcf70, var(--ember));
              border-color: #7a4a14; box-shadow: 0 0 18px rgba(232, 144, 42, 0.35); }
button:disabled { opacity: 0.55; cursor: wait; }
button:focus-visible, summary:focus-visible, a:focus-visible { outline: 2px solid var(--bright); outline-offset: 2px; }
summary { cursor: pointer; color: var(--bright); font-family: var(--title); font-size: 20px; min-height: 32px; }
a { color: var(--bright); word-break: break-all; }
#signin { background: none; border: none; box-shadow: none; padding: 0; }
