:root{--paper0:#FDFDFC;--paper1:#F4F2F8;--ink0:#161616;--ink1:#4B4752;--ink2:#716B7A;--b900:#3C0765;--b800:#430A78;--b700:#5623A0;--b500:#8B4CBB;--b200:#D2A9E9;--b100:#E8D0F4;--line:#E4DFEB;--danger:#B23A2E;--ok:#1E7A4C}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper0);color:var(--ink0);font:400 17px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--b800)}
.wrap{width:min(760px,100% - 48px);margin-inline:auto}
.progress{position:sticky;top:0;height:4px;background:var(--paper1);z-index:5}
#bar{height:100%;width:0;background:linear-gradient(90deg,var(--b800),var(--b500));transition:width .25s}
.hero{background:linear-gradient(125deg,var(--b800),var(--b500));color:var(--paper0);padding:48px 0 88px}
.lockup{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.lockup .word{display:block;font-weight:700;font-size:34px;line-height:1;letter-spacing:-.01em}
.lockup .desc{display:block;font-weight:700;font-size:10.5px;margin-top:6px}
.eyebrow{margin:88px 0 8px;font-size:15px;color:var(--b100)}
h1{margin:0 0 24px;font-size:clamp(38px,7vw,60px);line-height:1.05;letter-spacing:-.02em;font-weight:700}
.lead{font-size:20px;line-height:1.5;margin:0 0 16px;max-width:640px}
.note{margin:0;color:var(--b100)}
.honest{padding:64px 0 48px;border-bottom:1px solid var(--line)}
.honest h2,.done h2{font-size:28px;line-height:1.2;letter-spacing:-.015em;margin:0 0 12px;color:var(--b800)}
.honest p{margin:0 0 16px;color:var(--ink1)}
.fine{font-size:14.5px;color:var(--ink2)!important;margin:0!important}
.sec{padding:56px 0;border-bottom:1px solid var(--line)}
.num{font-weight:700;font-size:15px;color:var(--b700);margin:0 0 8px}
.sec h2{font-size:26px;line-height:1.2;letter-spacing:-.015em;margin:0 0 12px}
.prompt{margin:0 0 8px;font-size:18px}
.help{margin:0;color:var(--ink1);font-size:15px}
.field{margin-top:28px}
label,.flabel{display:block;font-weight:500;font-size:15px;margin-bottom:8px}
.opt{font-weight:400;color:var(--ink2)}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],input[type=number],select,textarea{width:100%;font:inherit;color:inherit;background:var(--paper0);border:1px solid #B9B2C4;border-radius:6px;padding:12px 14px;min-height:48px}
textarea{min-height:148px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--b800);outline-offset:1px;border-color:var(--b800)}
.bad input,.bad select,.bad textarea,.bad .skills{border-color:var(--danger)}
.err{color:var(--danger);font-size:14.5px;margin:6px 0 0}
.count{color:var(--ink2);font-size:13.5px;text-align:right;margin-top:4px}
.skills{width:100%;border-collapse:collapse;font-size:15px}
.skills th,.skills td{padding:12px 4px;border-bottom:1px solid var(--line);text-align:center;font-weight:400}
.skills thead th{color:var(--ink1);font-size:13.5px;font-weight:500}
.skills tbody th{text-align:left;font-weight:500}
.skills input{width:20px;height:20px;accent-color:var(--b800);margin:0}
.hp{position:absolute;left:-9999px;height:1px;overflow:hidden}
.actions{padding:48px 0 96px}
button{font:inherit;font-weight:500;background:var(--b800);color:var(--paper0);border:0;border-radius:999px;padding:15px 34px;min-height:48px;cursor:pointer}
button:hover{background:var(--b700)}
button:focus-visible{outline:2px solid var(--b800);outline-offset:3px}
button[disabled]{opacity:.6;cursor:wait}
.formerr{color:var(--danger);margin:0 0 16px}
.done{padding:64px 0 128px;outline:0}
.foot{background:var(--paper1);color:var(--ink1);font-size:14.5px;padding:32px 0}
[hidden]{display:none!important}
@media(max-width:560px){.skills thead th{font-size:11.5px}.skills th,.skills td{padding:10px 1px}.skills tbody th{font-size:14px}.hero{padding-bottom:64px}.eyebrow{margin-top:64px}}
.admin{font-size:16px}
.admin-head{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--line)}
.lockup.ink{color:var(--b800);gap:10px}.lockup.ink .word{font-size:24px}
.admin-export{font-weight:500}
.admin-main{width:min(1000px,100% - 48px);margin:40px auto 96px}
.admin h1{font-size:34px;margin:0 0 8px;color:var(--ink0)}
.admin-meta,.muted{color:var(--ink1)}
.admin table{width:100%;border-collapse:collapse;margin-top:24px}
.admin th,.admin td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.admin thead th{font-size:14px;color:var(--ink1);font-weight:500}
.admin-sec{padding:28px 0;border-bottom:1px solid var(--line)}
.admin-sec h2{font-size:21px;margin:0 0 6px}
.admin-q{color:var(--ink1);margin:0 0 12px}
.admin-a{margin-top:16px}
.admin-l{font-size:14px;font-weight:500;color:var(--ink1);margin-bottom:2px}
.admin-l em{font-style:normal;color:#8A5A00;margin-left:8px}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.skills thead th:first-child{text-align:left}
.captcha{margin-bottom:24px;min-height:65px}
.admin-h2{margin-top:72px!important}
.invite-form{margin:24px 0 8px}
.invite-form label{margin-bottom:8px}
.invite-row{display:flex;gap:12px;max-width:560px}
.invite-row button{white-space:nowrap}
.invite-url{width:100%;min-width:300px;font:14px/1.4 ui-monospace,Menlo,monospace;color:var(--ink1);background:var(--paper1);border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.link-btn{background:none;color:var(--b800);padding:0;min-height:0;text-decoration:underline;border-radius:0;font-weight:400;white-space:nowrap}
.link-btn:hover{background:none;color:var(--b700)}
.bad-text{color:var(--danger)}
@media(max-width:560px){.invite-row{flex-direction:column}}
.test-email{margin-top:24px}
