:root{--paper:#F6F4F0;--ink:#33383C;--muted:#686E72;--coral:#C0726A;--deep:#9E5148;--line:#DEDAD2;--sans:'Schibsted Grotesk',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100svh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
a{color:inherit} button,input{font:inherit} button,a,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--deep);outline-offset:4px}
h1[tabindex="-1"]:focus{outline:none}
.masthead{display:flex;align-items:center;justify-content:space-between;width:min(960px,100%);margin:0 auto;padding:24px 28px;border-bottom:1px solid var(--line)}
.masthead a{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:26px;letter-spacing:-1px;font-weight:600}
.masthead .eyebrow{margin:0;font-size:10px;letter-spacing:.13em}
main{flex:1;width:min(440px,100%);margin:0 auto;padding:36px 24px 32px;display:flex;flex-direction:column;justify-content:center}
.panel{width:100%;animation:arrive .3s ease-out}
.invite-art{width:270px;height:172px;max-width:100%;margin:0 auto 16px}.invite-art svg{width:100%;height:100%}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;line-height:1.7;color:var(--deep);margin:0 0 14px}
h1{font-size:clamp(34px,7.8vw,44px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:0 0 18px;overflow-wrap:anywhere}
.crew-name{font-size:clamp(34px,8.8vw,48px)}
.description{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 28px;overflow-wrap:anywhere}.description strong{font-weight:500;color:var(--ink)}
.members{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--deep);margin:0 0 16px}
.context-dot{display:inline-block;width:6px;height:6px;background:var(--coral);border-radius:100%;flex-shrink:0}
.button{width:100%;min-height:54px;border:1px solid transparent;border-radius:28px;padding:15px 22px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;margin:0 0 12px;transition:background .15s,transform .15s}
.button:active{transform:scale(.985)}.button:disabled{opacity:.55;cursor:wait}.primary{background:var(--coral);color:#fff}.primary:hover{background:var(--deep)}.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.secondary:hover{background:#EDE9E2}
.text-button{display:flex;align-items:center;justify-content:center;width:100%;border:0;background:none;color:var(--muted);font-size:13px;line-height:1.5;min-height:44px;padding:10px 0;text-decoration:none;cursor:pointer}.text-button:hover{color:var(--ink)}.text-button:disabled{opacity:.65;cursor:default}
.reassurance{border-top:1px solid var(--line);padding-top:22px;margin:20px 0 0;font-size:12px;line-height:1.7;color:var(--muted);text-align:center}
.field-label{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.5;letter-spacing:.04em;margin-bottom:8px}
input{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;width:100%;min-height:56px;font-size:16px;padding:15px 16px;color:var(--ink);margin-bottom:16px}input::placeholder{color:#8D908F}input:focus{border-color:var(--coral)}
.otp{text-align:center;letter-spacing:.35em;font:30px var(--mono);letter-spacing:.32em;padding-left:24px}#crew-code{font-family:var(--mono);text-align:center}
.divider{display:flex;align-items:center;gap:16px;font:11px var(--mono);color:var(--muted);margin:20px 0}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}
.legal,.note{font-size:12px;line-height:1.7;color:var(--muted);text-align:center;margin:18px 0}.legal a{text-underline-offset:3px}
.error{color:var(--deep);padding:12px 16px;background:#F0D9D4;border-radius:12px;font-size:13px;line-height:1.6;margin:12px 0 0}
.crew-context{display:flex;align-items:center;gap:8px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 40px;overflow-wrap:anywhere}.crew-context>span:nth-child(2){flex:1}.context-tail{font:9px var(--mono);letter-spacing:.06em;color:var(--muted);max-width:85px;line-height:1.6}
.saved-account{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px;margin:0 0 24px;overflow-wrap:anywhere}.saved-account>div{min-width:0}.saved-account strong{font-size:14px;font-weight:500}.saved-account .field-label{font-size:9px;margin-bottom:5px}.check{color:var(--deep);font-size:23px}
footer{text-align:center;font:10px/1.8 var(--mono);color:var(--muted);padding:12px 24px 24px}footer span{color:var(--deep)}
@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:760px){main{padding-top:48px;padding-bottom:48px}.invite-art{width:300px;height:191px;margin-bottom:24px}.masthead{padding:28px 0}footer{padding-bottom:28px}}
@media(max-height:750px){main{padding-top:24px}.invite-art{width:210px;height:134px;margin-bottom:12px}.description{margin-bottom:20px}.reassurance{margin-top:12px;padding-top:16px}}
@media(prefers-reduced-motion:reduce){.panel{animation:none}.button{transition:none}}
