@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Archivo:wght@400;500;600&display=swap";:root{--color-ink:#0a0a0a;--color-paper:#faf9f6;--color-ruby:#b10f2e;--color-gold:#a8875c;--color-lead:#6e6e6e;--color-pearl:#e4e1da;--font-display:"Fraunces", serif;--font-ui:"Archivo", sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px}*{box-sizing:border-box}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button{font-family:var(--font-ui);cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-ruby);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{max-width:640px;margin:0 auto;padding:0 20px 64px}.page-narrow{max-width:380px;margin:0 auto;padding:24px 20px 64px}.auth-shell{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.auth-shell .page-narrow{padding-top:0;padding-bottom:0}.section{margin-top:var(--space-4)}.section+.section{border-top:1px solid var(--color-pearl);padding-top:var(--space-4)}.heading-display{font-family:var(--font-display);margin:0 0 var(--space-2);letter-spacing:.01em;font-size:clamp(22px,4vw,30px);font-weight:600}.text-muted{color:var(--color-lead);font-size:14px;line-height:1.5}.field{margin-bottom:var(--space-2);display:block}.field-label{color:var(--color-lead);margin-bottom:6px;font-size:13px;display:block}.input{width:100%;font-family:var(--font-ui);border:1px solid var(--color-pearl);background:var(--color-paper);color:var(--color-ink);border-radius:2px;padding:11px 12px;font-size:15px;transition:border-color .15s;display:block}.input:focus-visible{border-color:var(--color-ink);outline:none}.form-row{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.form-row .field{flex:160px;margin-bottom:0}.btn{font-family:var(--font-ui);letter-spacing:.02em;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;padding:11px 22px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-paper);color:var(--color-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--color-ink);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper)}.btn-danger{border-color:var(--color-ruby);background:var(--color-ruby);color:var(--color-paper)}.btn-danger:hover:not(:disabled){background:var(--color-paper);color:var(--color-ruby)}.alert{border-left:3px solid var(--color-ruby);color:var(--color-ruby);margin:var(--space-2) 0;background:#b10f2e0f;padding:10px 14px;font-size:14px}.notice{border-left:3px solid var(--color-gold);margin:var(--space-2) 0;background:#a8875c1a;padding:14px 16px;font-size:14px}.notice strong{letter-spacing:.02em;font-family:Courier New,monospace;font-size:15px}.list-editorial{margin:0;padding:0;list-style:none}.list-editorial li{border-bottom:1px solid var(--color-pearl);padding:14px 0}.list-editorial li:first-child{border-top:1px solid var(--color-pearl)}.list-editorial a{color:var(--color-ink);justify-content:space-between;align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.list-editorial a:hover{color:var(--color-ruby)}.list-link-meta{color:var(--color-lead);font-size:14px}.subject-layout{gap:var(--space-3);flex-wrap:wrap;align-items:flex-start;display:flex}.subject-photo{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--color-pearl);background:var(--color-pearl);flex-shrink:0;width:140px}.subject-info{flex:220px;min-width:0}.topnav{justify-content:center;gap:var(--space-3);border-bottom:1px solid var(--color-pearl);flex-wrap:wrap;padding:12px 20px;display:flex}.topnav a,.topnav button{font-family:var(--font-ui);letter-spacing:.03em;color:var(--color-lead);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:none}.topnav a:hover,.topnav button:hover,.topnav a.active{color:var(--color-ink)}
