@font-face{font-family:'Figtree';src:url(/v1/auth/assets/figtree.woff2?v=4b4a5be7192b) format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url(/v1/auth/assets/bricolage.woff2?v=bd254acd60de) format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url(/v1/auth/assets/roboto-medium.woff2?v=5bcc3aa180e7) format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root{color-scheme:dark;--frame:#141518;--card:#22242a;--inset:#101114;--raised:#2a2c33;--pressed:#40434b;--text:#eeeff2;--text-2:#b7bac2;--text-3:#9b9ea8;--text-on-accent:#ffffff;--hair:rgba(255, 255, 255, 0.07);--state-edge:#9b9ea8;--dot:#7e828c;--accent:#2c66ee;--accent-press:#2459d6;--accent-text:#8fb6ff;--accent-line:#5b95ff;--accent-soft:rgba(80, 135, 255, 0.16);--alert:#e8475f;--alert-soft:rgba(232, 71, 95, 0.1);--field-fill:rgba(255, 255, 255, 0.08);--field-fill-hover:rgba(255, 255, 255, 0.11);--field-hint:#acafb8;--field-edge-rest:#6c707a;--seg-thumb:rgba(255, 255, 255, 0.17);--ring-seg-thumb:none;--r-row:14px;--r-xl:20px;--r-pill:999px;--type-dialog-title:700 20px/26px var(--font-ui);--type-body:400 14px/21px var(--font-ui);--type-label:600 14px/20px var(--font-ui);--type-secondary:500 13px/18px var(--font-ui);--font-ui:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--font-display:'Bricolage Grotesque','Figtree',system-ui,sans-serif}
*{box-sizing:border-box}
html{background:var(--inset)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--inset);color:var(--text);font:400 16px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased}
p,h1{margin:0}
svg{flex:none}
.top{flex:none;height:64px;background:var(--frame);border-bottom:1px solid var(--hair)}
.wrap{max-width:1320px;height:100%;margin:0 auto;padding:0 32px;display:flex;align-items:center}
.lockup{display:block;height:30px;width:78.75px}
main{flex:1;display:flex;justify-content:center;padding:52px 32px 48px}
main.mid{align-items:center;padding-bottom:88px}
.col{width:100%;max-width:460px}
.col.c{max-width:540px;text-align:center}
h1{font:680 36px/1.12 var(--font-display);letter-spacing:-.022em;text-wrap:balance}
.lede{color:var(--text-2);font-size:16px;line-height:25px;margin-top:10px}
.lede b{color:var(--text);font-weight:650}
.badge{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin:0 auto 20px;background:var(--card);color:var(--text-2)}
.badge.ok{background:var(--accent-soft);color:var(--accent-text)}
.note{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:12px 14px;border-radius:var(--r-row);background:var(--card);font-size:14px;line-height:21px;color:var(--text-2)}
.note b{color:var(--text);font-weight:650}
.note .nb{display:grid;place-items:center;width:24px;height:24px;flex:none}
.terms{margin-top:22px;padding:14px 16px;border-radius:var(--r-row);background:var(--card);font-size:14px;line-height:21px;color:var(--text-2)}
.terms h2{font:650 14px/21px var(--font-ui);color:var(--text);margin:0}
.terms ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.terms li{display:flex;gap:8px}
.terms li svg{margin-top:2px}
.lb{display:block;font:650 14px/20px var(--font-ui);color:var(--text);margin:22px 0 6px}
.field{display:block;width:100%;height:48px;margin:0;padding:0 16px;border-radius:var(--r-row);border:0;background:var(--field-fill);color:var(--text);font:400 16px/20px var(--font-ui)}
textarea.field{height:auto;min-height:132px;padding:12px 16px;line-height:22px;resize:vertical}
/* Field look E (owner pick of 10 October 2026, BUILD_SPEC §1.3 amendment; the hosted pages since 12 October): a soft
   fill with no edge at rest, a lighter fill on hover, one 1.5 px accent edge on focus, hint text on --field-hint. */
.field:hover,.rf-msg:not([readonly]):hover{background:var(--field-fill-hover)}
.field::placeholder,.rf-msg::placeholder{color:var(--field-hint);opacity:1}
.field:focus,.rf-msg:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--accent-line)}
.field[aria-invalid=true]:not(:focus){box-shadow:inset 0 0 0 1.5px var(--alert)}
@media (prefers-contrast:more){.field:not(:focus):not([aria-invalid=true]),.rf-msg:not(:focus),.cells i,.rf-seg{box-shadow:inset 0 0 0 1px var(--field-edge-rest)}}
@media (forced-colors:active){.field,.rf-msg,.cells i,.rf-seg{outline:1px solid CanvasText;outline-offset:-1px}.field:focus,.rf-msg:focus{outline:2px solid Highlight;outline-offset:-2px}}
input:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 86400s 0s}
.hint{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:13px;line-height:19px;color:var(--text-2)}
.hint svg{color:var(--alert);margin-top:1px}
/* overflow:clip, not only hidden: a hidden box can still be scrolled, and focusing the wide input scrolled it so the
   caret showed, shifting the cells left and cutting off the first digit (owner report, 30 September). */
.codef{--n:6;--g:8px;--dw:0.63em;position:relative;height:56px;border-radius:16px;container-type:inline-size;overflow:hidden;overflow:clip}
.codef.n7{--n:7}
.codef.n8{--n:8}
.cells{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:var(--g)}
.cells i{display:block;height:56px;border-radius:var(--r-row);background:var(--field-fill)}
.codef input{position:absolute;z-index:1;top:0;left:0;width:calc(100% + 200px);height:56px;margin:0;border:0;border-radius:0;background:transparent;color:var(--text);caret-color:var(--accent-line);outline:none;font:650 24px/56px var(--font-ui);font-variant-numeric:tabular-nums;padding:0 0 0 calc(((100cqw - (var(--n) - 1) * var(--g)) / var(--n) - var(--dw)) / 2);letter-spacing:calc((100cqw + var(--g)) / var(--n) - var(--dw))}
.codef:focus-within{box-shadow:0 0 0 2px var(--inset),0 0 0 4px var(--accent-line)}
.codef:has(input[aria-invalid=true]):not(:focus-within){box-shadow:0 0 0 2px var(--inset),0 0 0 4px var(--alert)}
/* W5: the kept digits look selected (typing replaces them), as drawn */
.codef input::placeholder{color:var(--text);opacity:1}
.codef input:placeholder-shown~.cells i{background:var(--accent-soft)}
.codef.off .cells i{background:transparent;box-shadow:inset 0 0 0 1px var(--hair)}
button{appearance:none;cursor:pointer}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;margin:14px 0 0;padding:0 22px;border:0;border-radius:var(--r-pill);font:650 16px/1 var(--font-ui);text-decoration:none;white-space:nowrap}
.primary{background:var(--accent);color:var(--text-on-accent)}
.primary:hover{background:var(--accent-press)}
.neutral{background:var(--raised);color:var(--text)}
.gsi{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:40px;margin:6px 0 0;padding:0 12px;background:#131314;color:#e3e3e3;border:1px solid #8e918f;border-radius:20px;font:500 14px/20px 'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:.25px}
.gsi svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:12px;margin:16px 0 2px;font-size:13px;line-height:19px;color:var(--text-3)}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--hair)}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:14px;line-height:21px;color:var(--text-2)}
.check input{appearance:none;flex:none;width:20px;height:20px;margin:1px 0 0;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--dot);background:transparent center/14px 14px no-repeat;cursor:pointer}
.check input:checked{background-color:var(--accent);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.small{margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);font-size:13px;line-height:20px;color:var(--text-3)}
.col.c .small{border-top:0;padding-top:0}
.links{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;margin-top:12px}
.col.c .links{justify-content:center}
.links form{margin:0}
.tl{display:inline-flex;align-items:center;min-height:32px;margin:0;padding:0;border:0;background:none;font:600 14px/20px var(--font-ui);color:var(--accent-text);text-decoration:none}
.tl:hover{text-decoration:underline}
a{color:var(--accent-text)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}
.codef input:focus-visible{outline:none}
.foot{flex:none;border-top:1px solid var(--hair);background:var(--frame)}
.foot .wrap{height:auto;padding:10px 32px;flex-wrap:wrap;gap:6px 18px;font-size:13px;line-height:19px;color:var(--text-3)}
.foot nav{display:flex;flex-wrap:wrap;gap:0 16px;margin-left:auto}
.foot a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-2);font-weight:600;text-decoration:none}
.foot a:hover{text-decoration:underline}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.status{min-height:20px;margin:8px 0 0;font-size:13px;line-height:20px;color:var(--text-2)}
.status:empty{min-height:0;margin:0}
.col.c .btn{display:inline-flex;width:auto;margin-top:26px}
.badge.start{margin:0 0 18px}
.aside{margin-top:14px;font-size:14px;line-height:21px;color:var(--text-2)}
.facts{margin:20px 0 0;padding:10px 16px;border-radius:var(--r-row);background:var(--card);text-align:left}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:14px;line-height:22px;color:var(--text-2)}
.facts dt{flex:none}
.facts dd{margin:0;color:var(--text);font-weight:650;text-align:right}
.steps{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left}
.steps li{display:flex;gap:12px;font-size:15px;line-height:23px;color:var(--text-2)}
.steps li b{color:var(--text);font-weight:650}
.steps .n{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--card);color:var(--text);font-size:13px;font-weight:700}
.field.ro{font-size:14px;color:var(--text-2);text-overflow:ellipsis}
.offer{margin-top:36px;padding:16px 18px;border-radius:var(--r-row);background:var(--card);text-align:left}
.offer .btn.neutral{box-shadow:inset 0 0 0 1px var(--dot)}
.offer h2{display:flex;gap:10px;align-items:center;font:650 16px/24px var(--font-ui);color:var(--text);margin:0}
.offer h2 svg{color:var(--text-2)}
.offer p{margin-top:6px;font-size:14px;line-height:21px;color:var(--text-2)}
.offer .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px}
.offer .acts form{margin:0}
.col.c .offer .btn{margin-top:0}
.panel{margin-top:28px;padding-top:22px;border-top:1px solid var(--hair)}
.panel h2{font:650 18px/26px var(--font-ui);color:var(--text);margin:0}
.panel .sub{margin-top:6px;font-size:14px;line-height:21px;color:var(--text-2)}
.rows{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rows li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-row);background:var(--card)}
.rows li div{flex:1;min-width:0}
.rows li b{display:block;font-weight:650;color:var(--text);overflow-wrap:anywhere}
.rows li span{display:block;font-size:13px;line-height:19px;color:var(--text-3)}
.rows li span.li-ic{display:grid}
.rows form{margin:0;flex:none}
.invite{margin-top:16px}
.invite summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;font:600 14px/20px var(--font-ui);color:var(--accent-text)}
.invite .lb{margin-top:8px}
.invite-on{margin-top:16px}
.invite-on .note-acts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 16px;margin-top:2px}
.invite-on .note-acts .invite{margin-top:0}
.invite-on .note-acts .invite[open]{flex-basis:100%;order:2}
.invite-on .note-acts .tl{min-height:32px}
.invite-off{margin-top:16px;padding-top:0;border-top:0}
.invite .invite-off{margin-top:6px}
/* Buying on the website (cloud/billing-web.ts): the chosen plan on the sign-in page, the checkout step with one big
   price, and "Plan & credits" on the account page. */
.step-of{font:600 13px/18px var(--font-ui);color:var(--text-3);margin-bottom:8px}
.choice{display:flex;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;border-radius:var(--r-row);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair)}
.choice>div{flex:1;min-width:0}
.choice b{display:block;font:650 16px/22px var(--font-ui);color:var(--text)}
.choice span:not(.choice-ic):not(.draft){display:block;font-size:13px;line-height:19px;color:var(--text-2)}
/* "Draft price" (screen-catalogue critique M4): the website's chip (a lavender pill), wherever a price shows while the
   catalogue is a draft (the configured catalogue's `draft`, launch gate 5). */
.draft{display:inline-flex;align-items:center;margin-left:8px;padding:2px 9px;border-radius:var(--r-pill);background:rgba(180,162,246,.22);color:var(--text);font:650 12px/16px var(--font-ui);letter-spacing:0;white-space:nowrap;vertical-align:3px}
.buy-price .draft{vertical-align:12px}
.choice b:has(.draft){display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:4px}
.choice b .draft{margin-left:0;vertical-align:0}
.choice-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:var(--raised);color:var(--accent-text)}
.buy{margin-top:20px;padding:20px 22px;border-radius:var(--r-xl);background:var(--card);box-shadow:inset 0 0 0 2px var(--accent-line)}
.buy-name{display:flex;align-items:center;gap:10px;font:700 18px/24px var(--font-ui);color:var(--text)}
.buy-price{margin-top:14px;font:750 56px/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}
.buy-price small{font:600 16px/1 var(--font-ui);letter-spacing:0;color:var(--text-2)}
.buy-alt{margin-top:8px;font-size:14px;line-height:20px;color:var(--text-2)}
.buy-list{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--hair);display:grid;gap:8px;font-size:15px;line-height:22px;color:var(--text)}
.buy-list li{display:flex;gap:10px;align-items:flex-start}
.buy-list svg{margin-top:3px;color:var(--text-2)}
.buy+form .btn{margin-top:18px;height:52px;font-size:17px}
/* The checkout's withdrawal consent (cloud/checkout-waiver.ts): one line, the whole row a 44 px target, the full text behind More; on a phone the box and the pay button stay docked at the bottom so the button never leaves the screen. */
.waiver{display:flex;gap:12px;align-items:center;min-height:44px;margin:16px 0 0;padding:8px 12px;border-radius:var(--r-row);background:var(--card);cursor:pointer;font-size:14px;line-height:20px;color:var(--text)}
.waiver[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--alert)}
.waiver input{appearance:none;flex:none;width:24px;height:24px;margin:0;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--dot);background:transparent center/16px 16px no-repeat;cursor:pointer}
.waiver input:checked{background-color:var(--accent);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.waiver input:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}
.waiver-more{margin:2px 0 0 12px}
.waiver-more summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;list-style:none;font:600 14px/20px var(--font-ui);color:var(--accent-text)}
.waiver-more summary::-webkit-details-marker{display:none}
.waiver-more p{max-height:30vh;overflow:auto;margin:0 0 4px;font-size:13px;line-height:19px;color:var(--text-2)}
.waiver-error{margin:12px 0 0;font-size:14px;line-height:20px;color:var(--text)}
/* The account page's terms banner (termsUpdateBanner): the note, the box and one filled button under it. */
.terms-up .note a{color:var(--accent-text);font-weight:600}
.terms-up form .btn{margin-top:12px}
.pay-dock .btn{margin-top:12px}
@media (max-width:720px){.pay-dock{position:sticky;bottom:0;z-index:2;padding:4px 0 calc(12px + env(safe-area-inset-bottom,0px));background:var(--inset);box-shadow:0 -12px 12px -12px rgba(0,0,0,.5)}}
.now{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:14px}
.now>div{padding:12px 14px;border-radius:var(--r-row);background:var(--card)}
.now b{display:block;font:650 17px/24px var(--font-ui);color:var(--text);font-variant-numeric:tabular-nums}
.now span{display:block;font-size:13px;line-height:19px;color:var(--text-2)}
.rows-h{margin:18px 0 0;font:650 14px/20px var(--font-ui);color:var(--text-2)}
.rows-h+.rows{margin-top:8px}
.li-ic{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--raised);color:var(--text-2)}
.rows .btn.sm{width:auto;height:36px;margin:0;padding:0 16px;font-size:14px;flex:none}
.rows li.rec{box-shadow:inset 0 0 0 1px var(--accent-line)}
.rows .tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font:650 12px/18px var(--font-ui);font-style:normal;vertical-align:1px}
/* The withdrawal rows on a phone: the button goes full width under the words (one-handed, nothing squeezed). */
@media (max-width:480px){.wd-rows li{flex-wrap:wrap}.wd-rows li div{flex:1 1 calc(100% - 44px)}.wd-rows .btn.sm{flex:1 1 100%;width:100%;height:44px}}
.buy-invite{display:flex;gap:10px;align-items:center;margin-top:14px;padding:10px 14px;border-radius:var(--r-row);background:var(--accent-soft);color:var(--text);font-size:14px;line-height:20px}
.buy-invite svg{flex:none;color:var(--accent-text)}
.panel>.links form{margin:0}
.panel .links .tl{gap:6px}
/* The return page after a checkout started on the website: what to do next, numbered */
.btn.ph-only{display:none!important}
@media (max-width:720px){.btn.desk-only{display:none!important}.btn.ph-only{display:inline-flex!important}}
.next{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px;text-align:left}
.next li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-row);background:var(--card)}
.next .n{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--raised);color:var(--text);font:700 13px/1 var(--font-ui)}
.next b{display:block;font:650 15px/22px var(--font-ui);color:var(--text)}
.next .t{display:block;font-size:14px;line-height:20px;color:var(--text-2)}
/* The join card's facts (the referral page): short chips; the terms themselves one tap away */
.rf-facts{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rf-facts li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--raised);font:600 13px/18px var(--font-ui);color:var(--text)}
.rf-facts svg{color:var(--text-2)}
@media (max-width:480px){.buy-price{font-size:46px}.now{grid-template-columns:1fr}}
/* The referral pages (cloud/referral-pages.ts; redesign of 3 October 2026 and its design audit): the offer first, one
   hero number, borderless steps, cards only where something is grouped, the amounts on one surface, one payout form. */
.col.wide{max-width:720px}
.col.wide .lede{max-width:560px;text-wrap:pretty}
.rf-eyebrow{font:600 14px/20px var(--font-ui);color:var(--text-2)}
.rf-eyebrow+h1{margin-top:6px}
.rf-hero{margin-top:6px;font:650 58px/60px var(--font-display);letter-spacing:-.02em}
.rf-lower{margin-top:10px;max-width:560px;font-size:15px;line-height:23px;color:var(--text-2);text-wrap:pretty}
.rf-pill{display:inline-flex;align-items:center;min-height:28px;margin-top:12px;padding:0 12px;border-radius:var(--r-pill);background:var(--card);font:600 13px/18px var(--font-ui);color:var(--text)}
.steps.rf-steps3{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px}
.rf-steps3 li>span:last-child{display:block}
.rf-steps3 li b{display:block}
.rf-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin-top:14px}
.rf-h2{margin:36px 0 0;font:var(--type-dialog-title);color:var(--text)}
.rf-h2+.steps.rf-steps3{margin-top:14px}
.rf-stat-n{margin:0;font:650 36px/40px var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}
.rf-stat-n span{font:400 15px/23px var(--font-ui);letter-spacing:0;color:var(--text-2)}
.rf-stat-n .draft{font:650 12px/16px var(--font-ui);color:var(--text);vertical-align:6px}
.rf-stat-t{margin:0;flex:1 1 100%;min-width:240px;font-size:14px;line-height:21px;color:var(--text-3)}
.rf-card{margin-top:24px;padding:22px;border-radius:var(--r-xl);background:var(--card)}
.rf-card h2{margin:0;font:var(--type-dialog-title);color:var(--text)}
.rf-card .sub{margin-top:6px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-sum{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-sum li{display:flex;gap:10px}
.rf-sum li::before{content:'';flex:none;width:5px;height:5px;margin-top:8px;border-radius:50%;background:var(--dot)}
.rf-more,.rf-edit{margin-top:10px}
.rf-more summary,.rf-edit summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;font:600 14px/20px var(--font-ui);color:var(--accent-text);border-radius:6px}
.rf-more summary::-webkit-details-marker,.rf-edit summary::-webkit-details-marker{display:none}
.rf-more summary svg,.rf-edit summary svg{flex:none;transition:transform .15s}
.rf-more[open]>summary svg,.rf-edit[open]>summary svg{transform:rotate(180deg)}
.rf-more>summary .when-open,.rf-more[open]>summary .when-closed,.rf-edit>summary .when-open,.rf-edit[open]>summary .when-closed{display:none}
.rf-more[open]>summary .when-open,.rf-edit[open]>summary .when-open{display:inline}
summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}
.rf-more ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-more p{margin-top:8px;font-size:13px;line-height:19px;color:var(--text-3)}
.rf-more .sub{font-size:14px;line-height:21px;color:var(--text-2)}
.rf-rows{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.rf-rows>details{margin:0}
.rf-rows>details[open]{padding-bottom:8px}
.rf-rows summary{display:flex;width:100%;color:var(--text);font-weight:400}
.rf-label{color:var(--text-2)}
.rf-locked{padding:6px 0}.rf-locked p{margin:0;font-size:14px;line-height:20px;color:var(--text)}.rf-locked .rf-why{margin-top:2px;font-size:13px;color:var(--text-2);text-wrap:pretty}
.rf-preview{color:var(--text)}
.rf-rows summary>span:first-child{flex:1;min-width:0}
.rf-rows summary .tl-like{color:var(--accent-text);font-weight:600}
.rf-share{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;margin-top:10px;font-size:14px;line-height:20px;color:var(--text-2)}
.rf-linkrow{display:flex;gap:10px;margin-top:12px}
.rf-linkrow .field{flex:1;min-width:0}
.rf-linkrow .btn{flex:none;width:auto;margin:0}
.rf-meta{margin-top:10px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-meta b{color:var(--text);font-weight:650}
.rf-msg{display:block;width:100%;margin:8px 0 0;padding:12px 14px;border-radius:var(--r-row);border:0;background:var(--field-fill);color:var(--text-2);font:400 14px/21px var(--font-ui);resize:none;field-sizing:content}
.rf-amounts{margin-top:24px;padding:20px 22px;border-radius:var(--r-xl);background:var(--card)}
.rf-amounts dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;margin:0}
.rf-amounts dt{font:600 14px/20px var(--font-ui);color:var(--text-2)}
.rf-amounts dt .t{font-weight:400;color:var(--text-3)}
.rf-amounts dd{margin:6px 0 0;font:650 28px/32px var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text)}
.rf-amounts dd.t{margin-top:6px;font:400 13px/19px var(--font-ui);color:var(--text-3)}
.rf-unlock{margin-top:24px;padding:16px 22px 18px;border-radius:var(--r-xl);background:var(--card)}
.rf-unlock-h{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0;font:400 15px/22px var(--font-ui);color:var(--text-2)}
.rf-unlock-h b{font:650 15px/22px var(--font-ui);color:var(--text);font-variant-numeric:tabular-nums}
.rf-unlock-steps{display:flex;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.rf-unlock-steps li{flex:1;height:6px;border-radius:3px;background:var(--inset)}
.rf-unlock-steps li.on{background:var(--accent)}
.rf-unlock-t{margin:10px 0 0;font:400 13px/19px var(--font-ui);color:var(--text-3)}
.rf-unlock-t b{font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}
.rf-unlocked{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-unlocked svg{color:var(--accent-text)}
.rf-counts{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:14px;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-counts b{color:var(--text);font-weight:650;font-variant-numeric:tabular-nums}
.rf-counts .rf-nc{color:var(--text-3)}
.rf-form .field{max-width:460px}
.rf-two{display:grid;grid-template-columns:1fr 1.4fr;gap:0 12px;max-width:620px}
.rf-two .field{max-width:none}
.rf-fs{margin:12px 0 0;padding:0;border:0;min-width:0}
.rf-fs legend{padding:0;font:650 14px/20px var(--font-ui);color:var(--text)}
.rf-fs>input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.rf-seg{display:inline-flex;gap:2px;margin-top:8px;padding:3px;border-radius:var(--r-pill);background:var(--field-fill)}
.rf-seg label{display:inline-flex;align-items:center;min-height:34px;padding:0 16px;border-radius:var(--r-pill);font:600 14px/20px var(--font-ui);color:var(--text-2);cursor:pointer}
#pm-bank:checked~.rf-seg label[for=pm-bank],#pm-paypal:checked~.rf-seg label[for=pm-paypal]{background:var(--seg-thumb);color:var(--text);font-weight:650;box-shadow:var(--ring-seg-thumb)}
#pm-bank:focus-visible~.rf-seg label[for=pm-bank],#pm-paypal:focus-visible~.rf-seg label[for=pm-paypal]{outline:2px solid var(--accent-line);outline-offset:2px}
.pm-f{display:none}
#pm-bank:checked~.pm-bank,#pm-paypal:checked~.pm-paypal{display:block}
.rf-paid{display:flex;flex-direction:column;gap:2px;margin-top:10px;font-size:15px;line-height:22px;color:var(--text)}
.rf-paid span{color:var(--text-2);font-size:14px;line-height:21px}
.rf-acts{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px;margin-top:8px}
.rf-acts .tl{min-height:32px;gap:6px}
.rf-acts .tl svg{transition:transform .15s}
.rf-acts .tl[aria-expanded=true] svg{transform:rotate(180deg)}
.rf-open{margin-top:8px}
.rf-q{margin-top:0;font:var(--type-label);color:var(--text)}
.rf-confirm-box .sub{margin-top:2px}
.rf-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px}
.rf-confirm form{margin:0}
.rf-confirm .btn{margin:0}
.rf-quiet{margin-top:22px;font-size:13px;line-height:19px;color:var(--text-3)}
.rf-fine{margin-top:10px;font-size:13px;line-height:20px;color:var(--text-2);text-wrap:pretty}
.rf-fine a{color:var(--accent-text);font-weight:600;text-decoration:none}
.rf-fine a:hover{text-decoration:underline}
.rf-how{margin-top:6px}
.rf-form .rf-quiet{margin-top:12px}
.rf-code{margin-top:16px;font-size:15px;line-height:23px;color:var(--text-2);text-wrap:pretty}
.rf-code b{color:var(--text);font-weight:650}
.rf-code .tl{gap:4px;display:inline-flex;vertical-align:middle;margin-left:8px}
.rf-dl{margin-top:22px}
.rf-dl .btn{margin-top:0}
.rf-dl-meta{margin-top:10px;font-size:13px;line-height:19px;color:var(--text-3)}
.rf-perks{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:10px 0 0;padding:0;font-size:14px;line-height:21px;color:var(--text-2)}
.rf-perks li{display:flex;align-items:center;gap:6px}
.rf-perks svg{color:var(--text-3)}
.rf-shot{margin:28px 0 0;width:min(720px,calc(100vw - 32px));margin-left:calc(50% - min(360px,50vw - 16px))}
.rf-shot img{display:block;width:100%;height:auto;border-radius:var(--r-xl);border:1px solid var(--hair);background:var(--frame)}
.rf-shot figcaption{margin-top:6px;font-size:12px;line-height:16px;color:var(--text-3)}
/* The invite page (conversion pass phase 2): A's gift-and-code first screen, B's coupon, the steps as cards. */
.col.full{max-width:1120px}
.rf-ihero{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:56px;align-items:center}
.rf-ihero-text>h1{margin-top:12px;font:650 42px/48px var(--font-display);letter-spacing:-.02em;text-wrap:balance}
.rf-ihero .lede{margin-top:14px}
.rf-ihero .rf-shot{margin:0;width:auto}
.rf-gift{display:flex;align-items:center;gap:10px;margin:0;font:600 15px/20px var(--font-ui);color:var(--text-2)}
.rf-coupon{position:relative;display:flex;margin-top:22px;border-radius:var(--r-xl);background:var(--raised);box-shadow:inset 0 0 0 1px var(--hair)}
.rf-coupon-main{flex:1;display:grid;gap:6px;padding:22px 24px}
.rf-coupon-main b{font:750 56px/1 var(--font-display);letter-spacing:-.03em;color:var(--text)}
.rf-coupon-main span{font-size:15px;line-height:21px;color:var(--text-2)}
.rf-coupon-stub{flex:none;width:190px;display:grid;align-content:center;gap:10px;padding:20px;border-left:2px dashed var(--dot)}
.rf-coupon-stub small{display:block;margin-bottom:6px;font:650 13px/1 var(--font-ui);color:var(--text-3)}
.rf-coupon-stub b{font:700 21px/1 var(--font-ui);letter-spacing:.08em;color:var(--text);font-variant-numeric:tabular-nums}
.rf-coupon:not(.rf-coupon-plain)::before,.rf-coupon:not(.rf-coupon-plain)::after{content:'';position:absolute;right:190px;width:24px;height:24px;border-radius:50%;background:var(--inset);transform:translateX(50%)}
.rf-coupon::before{top:-12px}.rf-coupon::after{bottom:-12px}
.rf-coupon-plain .rf-coupon-stub{width:auto;flex:1;border-left:0;grid-template-columns:1fr auto;align-items:center}
.btn.sm{height:36px;margin:0;padding:0 14px;font-size:14px;width:auto;display:inline-flex}
.btn.sm[hidden]{display:none}
.rf-coupon .btn.sm{background:var(--pop);color:var(--text)}
.rf-ihero .status{min-height:0;margin-top:6px}
.rf-ihero .rf-dl{margin-top:20px}
.rf-mail{margin-top:20px}
.rf-phone{display:none}
.rf-isteps{margin-top:56px}
.rf-isteps h2{margin:0;font:650 28px/34px var(--font-display);letter-spacing:-.01em;color:var(--text)}
.rf-isteps ol{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rf-isteps li{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--r-xl);background:var(--card)}
.rf-isteps small{display:block;font:650 13px/18px var(--font-ui);color:var(--text-3)}
.rf-isteps b{display:block;margin-top:2px;font:650 17px/24px var(--font-ui);color:var(--text)}
.rf-isteps li span:not(.li-ic){display:block;margin-top:4px;font-size:15px;line-height:22px;color:var(--text-2)}
.col.full>.rf-how{margin-top:20px;max-width:720px}
@media (max-width:1000px){.rf-ihero{grid-template-columns:1fr;gap:28px}.rf-ihero .rf-shot{max-width:720px}.rf-isteps ol{grid-template-columns:1fr;gap:10px}}
@media (max-width:720px){.rf-desk{display:none}.rf-phone{display:block}.btn.rf-phone{display:flex}.rf-ihero .rf-shot{width:100%;max-width:360px;margin:0 auto}.rf-ihero-text>h1{font-size:34px;line-height:40px}.rf-coupon{flex-direction:column}.rf-coupon::before,.rf-coupon::after{display:none}.rf-coupon-stub{width:auto;border-left:0;border-top:2px dashed var(--dot);grid-template-columns:1fr auto;align-items:center}.rf-coupon-main{padding:20px}.rf-coupon-main b{font-size:46px}.rf-isteps{margin-top:36px}.rf-isteps h2{font-size:22px;line-height:28px}}
@media (min-width:641px){.col.wide .btn,.rf-card .btn,.col.full .rf-dl .btn{display:inline-flex;width:auto}.col.wide .rf-linkrow .btn{display:flex}}
@media (max-width:640px){.rf-hero{font-size:44px;line-height:48px}.rf-stat-n{font-size:30px;line-height:34px}.steps.rf-steps3{grid-template-columns:1fr;gap:12px}.rf-amounts{padding:6px 18px}.rf-amounts dl{grid-template-columns:1fr}.rf-amounts dl{gap:0}.rf-amounts dl>div{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:10px 0}.rf-amounts dd{margin:0;font-size:20px;line-height:26px;text-align:right}.rf-amounts dd.t{grid-column:1/-1;text-align:left;margin-top:2px}.rf-counts{display:grid;grid-template-columns:1fr 1fr}.rf-linkrow{flex-direction:column}.rf-linkrow .field{flex:none}.rf-linkrow .btn{width:100%}.rf-card{padding:18px}.rf-two{grid-template-columns:1fr}}
@media (max-width:480px){.top{height:56px}.wrap{padding:0 16px}main{padding:28px 16px 36px}h1{font-size:30px}.codef{--g:6px}.foot .wrap{padding:10px 16px 14px;flex-direction:column;align-items:flex-start}.foot nav{margin-left:0}.facts div{flex-direction:column;gap:0}.facts dd{text-align:left}}
/* The misuse report form (cloud/abuse-pages.ts; UI_PASS §56): hint between label and field (W5 order), neutral error
   words, the summary of errors, a drawn select chevron (BUILD_SPEC Select), a 24 px box, the turning disclosure. */
.top a.home{display:block;border-radius:6px}
.rm .lb+.hint{margin:0 0 8px}
.rm .rm-err{color:var(--text)}
select.field{appearance:none;-webkit-appearance:none;padding-right:44px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7bac2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 9.5l5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}
.rm .check input{width:24px;height:24px;margin-top:-1px;border-radius:7px;background-size:16px 16px}
.rm-sum{scroll-margin-top:16px}
.rm-sum:focus{outline:2px solid var(--accent-line);outline-offset:2px}
.rm-sum ul{list-style:none;margin:4px 0 0;padding:0}
.rm-sum li a{display:inline-flex;align-items:center;min-height:32px;font-weight:600;color:var(--accent-text)}
.rm-more{margin-top:20px}
.rm-more summary{min-height:44px}
.rm-more .terms{margin-top:4px}
.rm-ref{display:flex;justify-content:center;margin-top:14px}
.leave{margin:24px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--hair);text-align:left;min-width:0}
.leave legend{float:left;width:100%;padding:0;margin:0 0 4px;font:600 16px/22px var(--font-ui);color:var(--text)}
.leave .leave-sub{clear:both;margin:0 0 12px;font-size:14px;line-height:20px;color:var(--text-2)}
.leave .chips{display:flex;flex-wrap:wrap;gap:8px}
.leave .chip{position:relative;display:inline-flex}
.leave .chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.leave .chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:var(--raised);color:var(--text);font:500 14px/20px var(--font-ui);cursor:pointer}
.leave .chip span:hover{background:var(--pressed)}
.leave .chip input:checked+span{background:var(--seg-thumb,rgba(255,255,255,.17));font-weight:650;box-shadow:var(--ring-seg-thumb,none)}
.leave .chip input:focus-visible+span{outline:2px solid var(--accent-line);outline-offset:2px}
.leave .other{margin:12px 0 0}
.leave .other label{display:block;font:600 14px/20px var(--font-ui);margin:0 0 6px}
.leave .other textarea{width:100%;min-height:72px;padding:10px 14px;border-radius:12px;border:0;background:var(--field-fill,rgba(255,255,255,.08));color:var(--text);font:400 16px/22px var(--font-ui);resize:vertical}
.leave .other textarea:hover{background:var(--field-fill-hover,rgba(255,255,255,.11))}
.leave .other textarea:focus,.leave .other textarea:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--accent-line)}
@supports selector(:has(*)){.leave .other{display:none}.leave:has(input[value=other]:checked) .other{display:block}}
.leave .leave-send{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:14px 0 0}
.leave .leave-send p{margin:0;font-size:13px;line-height:18px;color:var(--text-3)}
.leave .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.leave .leave-clear{margin:10px 0 0;padding:4px 0;border:0;background:none;color:var(--accent-text,#8fb4ff);font:600 14px/20px var(--font-ui);cursor:pointer}
.leave .leave-clear:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:6px}
@supports selector(:has(*)){.leave .leave-clear{display:none}.leave:has(input[name=reason]:checked) .leave-clear{display:inline-block}
.leave-form:not(:has(input[name=reason]:checked)) .leave-send button{opacity:.5}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}