/* The standalone public pages: Register, Sign in, Account, Privacy, 404 and the admin pages (app/seo.py page()).
   The app's own palette and type: navy and Pulse coral on paper, Fraunces for headings, Manrope for everything else.
   One memorable thing: the pulse line, drawn in the aside and filling the button while the browser proves it's a person. */
:root{--navy:#0F1B2B;--navy2:#13233A;--navy-line:#22324A;--paper:#F7F8F6;--ink:#0F1B2B;--ink2:#3A4452;--muted:#5B6472;
  --pale:#B9C3D3;--pale2:#D6DDE8;--coral:#FF7A59;--accent:#C2410C;--accent-dk:#9A3412;--rule:#E3DED3;--field:#CBD2DC;--card:#fff;
  --err:#B42318;--ok:#0F766E;--serif:'Fraunces','Fraunces Fallback','Fraunces Fallback 2',Georgia,serif;--sans:'Manrope','Manrope Fallback','Manrope Fallback 2',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(16px,3vw,48px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.acct-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}
a{color:var(--accent)}a:hover{color:var(--accent-dk)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.muted{color:var(--muted)}.small{font-size:.85em}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.3px;margin:0}
h1{font-size:clamp(30px,1.6vw + 22px,44px);line-height:1.1}
h2{font-size:clamp(21px,.6vw + 18px,26px);line-height:1.25;margin-top:32px}

main#main{flex:1 0 auto;width:min(100% - 2*var(--gutter),1180px);margin:0 auto;padding:clamp(24px,4vw,56px) 0 64px}

/* register / sign in: the promise on the left, the form on the right */
.acct-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start}
.acct-split.narrow{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}
.acct-aside{position:sticky;top:24px;background:var(--navy);color:var(--paper);border-radius:20px;padding:clamp(24px,3vw,40px);overflow:hidden}
.acct-kicker{font:600 clamp(24px,1.2vw + 18px,34px)/1.15 var(--serif);margin:0 0 20px;max-width:18ch}
.acct-kicker b{color:var(--coral);font-weight:600}
.acct-gets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;color:var(--pale2);max-width:42ch}
.acct-gets li{padding-left:20px;position:relative}
.acct-gets li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--coral)}
.acct-gets b{color:var(--paper)}
.acct-count{margin:24px 0 0;color:var(--pale);font-size:14px}.acct-count b{color:var(--paper);font-weight:700}
.acct-pulse{display:block;width:calc(100% + 80px);height:56px;margin:22px -40px -12px;fill:none;stroke:var(--coral);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}

.acct-main{min-width:0}
.acct-lede{font-size:17px;color:var(--ink2);margin:10px 0 24px;max-width:60ch}
.acct-form{display:flex;flex-direction:column;gap:18px;background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:clamp(20px,3vw,36px)}
.acct-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.acct-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.acct-field label{font-weight:700;font-size:15px}
.acct-field input,.acct-field textarea{width:100%;min-height:48px;padding:11px 14px;border:1.5px solid var(--field);border-radius:12px;font:500 16px/1.4 var(--sans);color:var(--ink);background:#fff}
.acct-field textarea{resize:vertical;min-height:104px}
.acct-field input:focus,.acct-field textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}
.acct-field [aria-invalid="true"]{border-color:var(--err)}
.acct-hint{font-size:13.5px;color:var(--muted)}
.acct-err{font-size:14px;font-weight:600;color:var(--err)}.acct-err:empty{display:none}
.acct-check{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}
.acct-check input{width:22px;height:22px;min-height:0;margin:2px 0 0;accent-color:var(--accent);flex:none}
.acct-check label{flex:1 1 0;font-weight:500;font-size:14.5px;color:var(--ink2)}
.acct-check .acct-err{flex-basis:100%}
.acct-meter{height:6px;border-radius:999px;background:#E9E5DC;overflow:hidden;margin-top:-10px}
.acct-meter i{display:block;height:100%;width:0;background:var(--err);transition:width .2s ease}
.acct-meter i[data-s="2"]{background:#B45309}.acct-meter i[data-s="3"]{background:#A16207}.acct-meter i[data-s="4"],.acct-meter i[data-s="5"]{background:var(--ok)}
.acct-strength{margin:-10px 0 0;font-size:13.5px;font-weight:600;color:var(--ink2);min-height:1.2em}
/* the honeypot: off-screen for people, there for bots */
.acct-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.acct-form-err{margin:0;color:var(--err);font-weight:600}.acct-form-err:empty{display:none}
.acct-go{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:0;border-radius:999px;
  background:var(--coral);color:var(--navy);font:700 16px var(--sans);cursor:pointer;align-self:flex-start}
.acct-go:hover{background:#FF916F}.acct-go:disabled{cursor:progress}
.acct-go-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(15,27,43,.15)}
.acct-go-bar i{display:block;height:100%;width:0;background:var(--navy);transition:width .15s linear}
.acct-alt{margin:0;font-size:15px;color:var(--ink2)}.acct-alt.muted{font-size:14px;color:var(--muted)}
.acct-ok{margin:0 0 12px;color:var(--ok);font-weight:700}.acct-ok:empty{display:none}
.acct-form[hidden]{display:none}
.acct-sent{background:#DDF3EE;border-radius:16px;padding:18px 22px;font-size:16px;line-height:1.5}

/* small pages */
.acct-solo{max-width:640px;margin:0 auto;text-align:left}
.acct-solo p{color:var(--ink2);font-size:17px}
.acct-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.acct-inline{display:inline;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1.5px solid var(--ink);font:700 15px var(--sans);text-decoration:none;cursor:pointer;background:transparent;color:var(--ink)}
.btn.primary{background:var(--coral);border-color:var(--coral);color:var(--navy)}.btn.primary:hover{background:#FF916F;color:var(--navy)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.linkish{background:none;border:0;padding:4px 0;color:var(--accent);font:600 14px var(--sans);cursor:pointer;text-decoration:underline;min-height:32px}
.acct-wide{max-width:1180px}
.acct-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 28px;margin:20px 0 0}
.acct-dl div{border-top:1px solid var(--rule);padding-top:8px}.acct-dl dt{font-size:13px;color:var(--muted);font-weight:600}.acct-dl dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.acct-wide .acct-form{max-width:560px}
.acct-history{margin:32px 0;border-top:1px solid var(--rule);padding-top:18px}.acct-history h2{margin-bottom:4px}.acct-history-list{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--rule)}.acct-history-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}.acct-history-list a{font-weight:700;overflow-wrap:anywhere}.acct-history-meta{color:var(--muted);font-size:13px;text-align:right}
.acct-doc{max-width:72ch}.acct-doc li{margin:8px 0}.acct-doc p,.acct-doc li{color:var(--ink2)}.acct-doc b{color:var(--ink)}
.rx-table{overflow-x:auto;border:1px solid var(--rule);border-radius:14px;background:#fff;margin-top:16px}
.rx-table table{border-collapse:collapse;width:100%;font-size:14px}
.rx-table th,.rx-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.rx-table thead th{font-size:13px;color:var(--muted);background:#FAF8F3}
.rx-table tr.metric th,.rx-table tr.metric td{background:#FFF4EF}
.adm td.why{max-width:32ch;white-space:pre-wrap}
.tag{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:1px 9px}.tag.on{background:#DDF3EE;color:var(--ok)}.tag.off{background:#FDE4E1;color:var(--err)}
.adm-acts{display:flex;flex-direction:column;align-items:flex-start;margin-top:4px}

@media (max-width:860px){
  .acct-split{grid-template-columns:minmax(0,1fr)}
  .acct-aside{position:static;order:2}
  .acct-two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .acct-go{align-self:stretch}
  .acct-form{border-radius:16px}
  .acct-history-list li{align-items:flex-start;flex-direction:column;gap:3px}
  .acct-history-meta{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
