:root { --paper:#ebe4d6; --card:#f6f1e7; --ink:#1c1914; --muted:#5c564c; --line:#cfc4b2; --brake:#9c341f; --steel:#24343f; --pine:#1e5c42; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Literata, Palatino, "Palatino Linotype", serif; font-size:18px; line-height:1.45; }
a { color:var(--steel); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.wrap { width:min(920px, calc(100% - 32px)); margin:0 auto; }
header.bar { border-bottom:1px solid var(--ink); }
.bar-inner { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:22px 0 12px; flex-wrap:wrap; }
.word { font-family:"Sofia Sans Condensed", "Arial Narrow", sans-serif; font-weight:700; font-size:22px; color:var(--ink); text-decoration:none; }
nav.account { display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; }
nav.account a, nav.account button { font-family:"Sofia Sans Condensed", sans-serif; font-size:18px; font-weight:700; background:none; border:0; padding:0; color:var(--ink); cursor:pointer; text-decoration:none; }
h1 { font-family:"Sofia Sans Condensed", "Arial Narrow", sans-serif; font-weight:700; font-size:clamp(46px, 8vw, 84px); line-height:.9; margin:28px 0 14px; max-width:12ch; }
h2 { font-family:"Sofia Sans Condensed", sans-serif; font-size:32px; line-height:1; margin:28px 0 8px; }
.lead, .note { max-width:62ch; color:var(--muted); }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 8px; }
.action { display:inline-block; background:var(--ink); color:var(--paper); text-decoration:none; padding:12px 16px; font-family:"Sofia Sans Condensed", sans-serif; font-weight:700; font-size:20px; }
.action.quiet { background:transparent; color:var(--ink); border:1px solid var(--ink); }
form.stack { display:flex; flex-direction:column; gap:10px; max-width:440px; margin:16px 0 28px; }
body.gate { min-height:100vh; min-height:100dvh; display:grid; place-items:center; }
form.gate-form { width:min(360px, calc(100% - 32px)); margin:0; }
form.gate-form .action { width:100%; }
label { display:flex; flex-direction:column; gap:4px; }
input, select { background:var(--card); border:1px solid var(--line); padding:10px; font:inherit; color:inherit; }
button.action { border:0; cursor:pointer; }
.error { color:var(--brake); max-width:62ch; }
.ok { color:var(--pine); }
table { width:100%; border-collapse:collapse; margin:12px 0 32px; }
th, td { text-align:left; vertical-align:top; padding:8px 8px 8px 0; border-bottom:1px solid var(--line); }
th { font-family:"Sofia Sans Condensed", sans-serif; font-weight:700; }
.path { word-break:break-all; }
ol.steps { max-width:68ch; padding-left:1.2em; }
ol.steps li { margin:0 0 8px; }
footer.site { border-top:1px solid var(--ink); color:var(--muted); padding:16px 0 36px; font-size:15px; }
@media (max-width:640px) {
  header.bar { align-items:flex-start; flex-direction:column; }
}
