[hidden]{display:none!important}
/* Palette "Black, white & soft teal" (v0.4). Contrast: white on --acc (3.1:1) only for bold text >=19px;
   --link (#27514D, 8.9:1 on white) for small text; --acc on black 6.8:1. */
:root{--onacc:#fff;--hl:#8fd0c6;--track:#e8e8e8;--rowline:#efefef;--demo:#e8e8e8;--ink:#000;--inkd:#000;--head:#1a1a1a;--acc:#4aa095;--accd:#35776d;--dt:#27514d;--rust:#27514d;--txt:#1a1a1a;--mut:#555;--line:#dcdcdc;--bg:#fff;--soft:#f4f5f5;--card:#fff;--sel:#e6f3f1;--err:#b3261e;--warn:#f4f5f5;--warnb:#000;--warnt:#1a1a1a;--wa:#25d366;--wad:#128c4a;--wat:#06301d;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:18px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--txt);background:#000}
body>main,body>.foot,body>.pending,body>.demo{background:var(--bg)}
a{color:var(--rust)}
.top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:#000;color:#fff;position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;color:#fff;text-decoration:none;min-width:0}
.brand .logo{display:block;height:36px;width:auto}
.free{color:var(--acc);font-weight:800;font-size:12px;padding:4px 9px;border:1.5px solid var(--acc);border-radius:99px;letter-spacing:.6px}
.pending,.demo{padding:10px 16px;font-size:15px}
.pending{background:var(--sel);border-bottom:2px solid var(--acc)}
.demo{background:var(--demo);color:var(--ink)}
main{max-width:560px;margin:0 auto;padding:18px 18px 24px;border-radius:var(--r) var(--r) 0 0}
@media (min-width:600px){body>main{margin-top:14px}}
h1{font-size:27px;line-height:1.15;margin:6px 0 8px;color:var(--head);letter-spacing:-.4px;font-weight:800}
h1:after{content:"";display:block;width:44px;height:4px;border-radius:4px;background:var(--acc);margin-top:10px}
.result h1:after{margin:10px auto 0}
h2{font-size:20px;line-height:1.25;margin:20px 0 6px;color:var(--head);letter-spacing:-.2px}
.lead{color:var(--mut);margin:0 0 14px}
.progress{height:6px;background:var(--track);border-radius:99px;overflow:hidden;margin-top:4px}
#bar{height:100%;width:25%;background:var(--acc);transition:width .25s}
.stepno{font-size:13px;color:var(--dt);margin:8px 0 0;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
label{display:block;font-weight:600;margin:16px 0 6px}
.opt{font-weight:400;color:var(--mut)}
input:not([type=checkbox]):not([type=radio]),select{width:100%;min-height:52px;font:inherit;padding:10px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:inherit}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-color:var(--dt)}
.invalid{border-color:var(--err)!important}
.hint{font-size:15px;color:var(--mut);margin:6px 0 0}
.err{color:var(--err);font-size:15px;font-weight:600;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 22px;font:inherit;font-size:19px;font-weight:800;border:0;border-radius:99px;background:var(--acc);color:var(--onacc);cursor:pointer;flex:1;text-decoration:none;letter-spacing:.2px}
.btn:hover{background:var(--accd)}
.btn:active{background:var(--dt);transform:translateY(1px)}
.btn.ghost{background:#fff;color:#000;border:2px solid #000}
.btn.ghost:hover{background:var(--soft)}
.btn.dark{background:#000;color:#fff}
.btn.big{width:100%;min-height:64px;font-size:20px}
.btn[disabled]{opacity:.6}
.btn svg{width:22px;height:22px;flex:none}
.nav{display:flex;gap:12px;margin-top:24px;position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--track);padding:12px 0 calc(8px + env(safe-area-inset-bottom))}
.scam{background:var(--warn);border-left:6px solid var(--warnb);color:var(--warnt);padding:12px 14px;border-radius:6px var(--r) var(--r) 6px;font-size:16px;margin:10px 0}
.scam strong{color:var(--warnt)}
.scam.small{font-size:15px}
.promo{display:block;background:var(--dt);color:#fff;border-radius:var(--r);padding:14px 16px;margin:10px 0 4px;text-decoration:none;font-size:16px;line-height:1.35}
.promo strong{color:var(--hl)}
.promo .tc{display:inline-block;margin-top:4px;font-size:13px;color:#fff;text-decoration:underline}
.invited{background:var(--sel);border:2px solid var(--acc);border-radius:12px;padding:8px 12px;font-size:15px;margin:8px 0 0}
.geomsg{margin:10px 0 0;font-weight:600}
.geomsg.ok{background:var(--sel);border:2px solid var(--acc);padding:12px;border-radius:12px}
.geomsg.bad{color:var(--err)}
.or{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:15px;margin:20px 0 0}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.list{list-style:none;margin:6px 0 0;padding:0;border-radius:12px;overflow:hidden;background:#fff;border:2px solid var(--line)}
.list:empty{display:none}
.list li{padding:14px;border-top:1px solid var(--rowline);cursor:pointer;min-height:48px}
.list li:first-child{border-top:0}
.list li:active,.list li.act{background:var(--sel)}
.list li small{color:var(--mut)}
.chosen{background:var(--sel);border:2px solid var(--acc);padding:10px 12px;border-radius:12px;font-weight:600;margin:8px 0 0}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;background:#fff;border:2px solid var(--line);border-radius:12px;padding:14px;margin:12px 0 0;cursor:pointer}
.check.small{font-size:16px;padding:10px 12px;border-style:dashed}
.check input,.tile input,.radio input{width:26px;height:26px;flex:none;margin:0;accent-color:var(--accd)}
.check em{color:var(--mut);font-style:normal;font-weight:400}
fieldset{border:0;padding:0;margin:18px 0 0}
legend{font-weight:600;margin-bottom:6px;padding:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.tiles{display:grid;gap:10px;margin-top:0}
.tile,.radio{display:flex;align-items:center;gap:12px;margin:0;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 14px;min-height:56px;font-weight:600;cursor:pointer}
.tile.on,.radio.on{border-color:var(--acc);background:var(--sel);box-shadow:inset 0 0 0 1px var(--acc)}
.radios{display:grid;gap:8px}
.radios.two{grid-template-columns:1fr 1fr}
.radios.two legend{grid-column:1/-1}
#job_other{margin-top:10px}
.notice{background:var(--soft);border:0;border-radius:var(--r);padding:4px 14px;font-size:16px}
.notice ul{padding-left:18px;margin:8px 0}
.notice li{margin:6px 0}
details{margin:0 0 10px}
summary{font-weight:700;color:var(--dt);min-height:44px;display:flex;align-items:center;cursor:pointer}
.result{text-align:center;padding-top:24px}
.result .tips{text-align:left;background:var(--soft);border-radius:var(--r);padding:12px 12px 12px 32px;border:0;font-size:16px}
.result .scam{text-align:left}
.result .btn{width:100%;margin-top:16px}
.big-icon{width:88px;height:88px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:800}
.big-icon.ok{background:#000;color:var(--acc)}
.big-icon.wait{background:var(--sel);color:var(--dt)}
.savedcount{font-weight:700}
.refbox{background:#000;color:#fff;border:0;border-radius:16px;padding:18px 16px;margin:18px 0 0;text-align:left}
.refbox h2{margin:0 0 4px;color:#fff}
.refbox .small{color:#cfcfcf}
.refbox .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.refbox .copied{color:var(--hl)}
.refbox .promo{background:var(--acc);color:#000}
.refbox .promo strong{color:#000}
.refbox .promo .tc{color:#000}
.refbox p{margin:6px 0;font-size:16px}
.code{display:block;text-align:center;font:800 34px/1.1 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:6px;color:#000;background:var(--acc);border:0;border-radius:12px;padding:12px 6px;margin:8px 0}
.reflink{font-size:15px!important;min-height:44px!important;color:var(--mut)!important}
.refbtns{display:grid;gap:10px;margin-top:10px}
.refbtns .btn{margin-top:0!important;width:100%}
.btn.wa{background:var(--wa);color:var(--wat);border:2px solid var(--wad);box-shadow:0 3px 0 var(--wad)}
.btn.wa:active{background:#1fbe5a;box-shadow:none}
.copied{color:var(--dt);font-weight:700;font-size:15px;min-height:1.2em;margin:6px 0 0;text-align:center}
.small{font-size:14px;color:var(--mut)}
.rules h1{margin-top:12px}
.rules ol{padding-left:22px}
.rules li{margin:8px 0;font-size:17px}
.rules .box{background:var(--soft);border:0;border-left:6px solid var(--acc);border-radius:6px var(--r) var(--r) 6px;padding:10px 14px;margin:12px 0}
.foot{text-align:center;color:#cfcfcf;font-size:13px;padding:20px 16px 28px;background:#000!important}
.foot strong{color:var(--acc)}
.foot .attr{color:#9a9a9a}
.foot p{margin:4px 0}
.foot a{color:inherit}
@media (min-width:420px){.tiles{grid-template-columns:1fr 1fr}.refbtns{grid-template-columns:1fr 1fr}}
#againBtn{width:100%;margin-top:18px}
/* ---- Employers page + header link (v0.3) ---- */
.toplinks{display:flex;align-items:center;gap:8px}
.emp{color:#000;background:var(--acc);font-weight:800;font-size:14px;text-decoration:none;border-radius:99px;padding:5px 12px;white-space:nowrap}
.emp:hover,.emp:active{background:var(--hl)}
.brand,.free{white-space:nowrap}
.emp .nar{display:none}
@media (max-width:439px){.emp .wide{display:none}.emp .nar{display:inline}}
@media (max-width:399px){.brand .logo{height:30px}.free{font-size:11px;padding:3px 7px}}
@media (max-width:359px){.free{display:none}}
@media (max-width:359px){.top{padding:10px 10px}.brand .logo{height:28px}.emp{font-size:13px;padding:4px 9px}}
.empcta{display:block;text-align:center;font-size:15px;margin:14px 0 0;color:var(--mut)}
.empcta a{font-weight:700}
.ticks{list-style:none;padding:0;margin:0 0 6px}
.ticks li{position:relative;padding:4px 0 4px 30px;font-size:17px}
.ticks li:before{content:"✓";position:absolute;left:0;top:5px;width:22px;height:22px;border-radius:50%;background:#000;color:var(--acc);font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.sec{display:flex;align-items:center;gap:10px;margin:28px 0 0;padding-top:16px;border-top:2px solid var(--track)}
.sec span{width:32px;height:32px;border-radius:50%;background:#000;color:var(--acc);font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.row2{display:grid;gap:0 12px}
@media (min-width:420px){.row2{grid-template-columns:1fr 1fr}}
textarea{width:100%;font:inherit;padding:10px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:inherit;resize:vertical;min-height:110px}
textarea:focus{outline:3px solid var(--acc);outline-offset:2px;border-color:var(--dt)}
input.short{max-width:200px}
.payrow{display:flex;align-items:center;gap:6px}
.payrow input{min-width:0;flex:1}
.payrow .cur{font-weight:700}
.payrow .to{color:var(--mut);font-size:15px;padding:0 2px}
.pay select{margin-top:8px}
.radio em{color:var(--mut);font-style:normal;font-weight:400}
.sendbar{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--track);padding:12px 0 calc(8px + env(safe-area-inset-bottom));margin-top:22px}
.refid{font:800 20px ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:1px}
.legal h1{margin-top:12px}
.legal h2{margin-top:26px}
.legal li{margin:6px 0;font-size:17px}

/* v0.4 extras */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a{color:var(--dt)}
.foot a{color:#fff}
/* 320px fix: fieldsets default to min-width:min-content, which pushed the two-column radios wider than the screen */
fieldset{min-width:0}
.radios.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.radio span{min-width:0;overflow-wrap:anywhere}
@media (max-width:359px){.tile,.radio{padding:10px;gap:8px}}
