.access-scene{--tilt-x:0px;--tilt-y:0px;color:#fff4ef;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;isolation:isolate}
#key-prompt-overlay{background:#130a0d;overflow:auto;padding:0;justify-content:flex-start}
.access-art{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 70% 0%,#6c1425 0,transparent 57%),radial-gradient(ellipse at 0% 100%,#350d19 0,transparent 65%),#130a0d}
.access-orbit{position:absolute;border:1px solid #fb62752e;border-radius:50%;transform:translate3d(var(--tilt-x),var(--tilt-y),0);transition:transform .2s ease-out}
.orbit-one{width:630px;height:630px;left:calc(50% - 40px);top:-370px;box-shadow:0 0 100px #e9294620,inset 0 0 100px #e9294610}
.orbit-two{width:430px;height:430px;left:calc(50% + 70px);top:-265px;border-color:#ff84964d}
.orbit-three{width:700px;height:700px;right:55%;bottom:-510px;border-width:35px;border-color:#ff65770a}
.access-spark{position:absolute;left:calc(50% + 110px);top:10%;width:160px;height:160px;background:#f8314c;border-radius:50%;filter:blur(100px);opacity:.45;transform:translate3d(var(--tilt-x),var(--tilt-y),0);transition:transform .3s ease-out}
.access-shell{width:100%;max-width:470px;min-height:100dvh;display:flex;flex-direction:column;padding:max(26px,env(safe-area-inset-top)) 28px max(22px,env(safe-area-inset-bottom));box-sizing:border-box}
.access-topline{display:flex;justify-content:space-between;align-items:center;gap:16px}
.access-brand{display:flex;align-items:center;gap:8px;font-weight:750;font-size:12px;letter-spacing:.22em;color:#f9d2cb}
.access-brand svg{width:28px;height:28px;color:#ff5269}
.access-admin-link{border:1px solid #ffffff20;border-radius:99px;padding:9px 14px;font-size:12px;color:#ecc2c5;background:#ffffff05;cursor:pointer}
.access-admin-link span{margin-left:12px;color:#ff6b7f}
#key-prompt-box{background:transparent;width:100%;max-width:none;text-align:left;padding:52px 0 18px;margin:auto 0;color:inherit;box-shadow:none;border:0}
.access-emblem{width:68px;height:68px;border-radius:22px;background:linear-gradient(145deg,#ff6679,#c8183b);box-shadow:0 16px 60px #ed22433d,inset 0 1px 1px #ffffff66;display:grid;place-items:center;margin-bottom:32px;transform:rotate(-7deg)}
.access-emblem svg{width:40px;height:40px;color:#fff4eb;transform:rotate(7deg)}
.access-eyebrow{margin:0 0 14px;font-size:10px;letter-spacing:.18em;font-weight:700;color:#eaa3ab;line-height:1.6}
#key-prompt-box h2,#key-generator-card h3{font-size:46px;font-weight:650;letter-spacing:-2px;line-height:1.08;margin:0 0 18px;color:#fff4ef}
#key-prompt-box h2 span,#key-generator-card h3 span{color:#ff566e}
.access-intro{margin:0 0 34px;color:#b6979e;font-size:15px;line-height:1.7;font-weight:400}
.access-label{display:block;font-size:10px;letter-spacing:.15em;font-weight:700;color:#eac6cd;margin-bottom:10px}
.access-input-wrap{display:flex;align-items:center;gap:12px;border:1px solid #f4b2c026;border-radius:14px;background:#ffffff05;padding:0 17px;transition:box-shadow .2s,border-color .2s}
.access-input-wrap:focus-within{border-color:#ff677f;box-shadow:0 0 0 4px #ff496713}
.access-input-wrap>span{color:#dc8c9e;font-size:22px}
#key-prompt-box input,#admin-pin-input{background:transparent;color:#ffebe6;border:0;border-radius:0;outline:none;text-align:left;padding:19px 0;margin:0;min-width:0;width:100%;font-size:16px;box-shadow:none}
#key-prompt-box input::placeholder,#admin-pin-input::placeholder{color:#8d6d76;font-size:14px}
#key-prompt-box #key-submit,#key-generator-generate{display:flex;align-items:center;justify-content:space-between;width:100%;margin:16px 0 0;padding:17px 20px;border:0;border-radius:14px;background:linear-gradient(105deg,#f54865,#cb2045);color:white;font-weight:650;font-size:15px;box-shadow:0 9px 30px #c4173638;cursor:pointer;transition:transform .15s,filter .15s}
#key-submit span,#key-generator-generate span{font-size:22px;line-height:1}
#key-submit:hover,#key-generator-generate:hover{filter:brightness(1.12)}
#key-submit:active,#key-generator-generate:active{transform:scale(.985)}
#key-submit:disabled,#key-generator-generate:disabled{opacity:.6;cursor:wait}
#key-error{color:#ffb8c4;font-size:13px;text-align:left;line-height:1.5;min-height:20px;margin-top:10px}
.access-footnote{display:flex;align-items:center;justify-content:center;gap:7px;color:#8f737d;font-size:11px;margin-top:8px}
.access-footnote i{width:4px;height:4px;background:#bc6b80;border-radius:50%}
.access-footer{text-align:center;padding:30px 0 0}
.access-motion{background:transparent;border:1px solid #ffffff15;border-radius:99px;color:#c09aa4;font-size:11px;letter-spacing:.025em;padding:10px 15px;cursor:pointer}
.access-motion[aria-pressed=true]{color:#ffc4ce;border-color:#e5627766}
.access-motion-status{font-size:11px;line-height:1.6;color:#98717f;max-width:300px;margin:10px auto 0;min-height:18px;text-align:center}
#key-generator-modal{background:#130a0df2;padding:max(24px,env(safe-area-inset-top)) 22px;overflow:auto;align-items:flex-start}
#key-generator-modal.hidden{display:none}
#key-generator-card{position:relative;width:100%;max-width:412px;margin:auto;background:linear-gradient(155deg,#29121dde,#160d13ef);border:1px solid #ed8da32b;border-radius:28px;padding:28px;box-shadow:0 30px 120px #0008;text-align:left;color:#fff4ef}
.access-admin-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:30px}
.access-admin-top .access-eyebrow{margin:0;font-size:9px}
.access-badge{font-size:9px;letter-spacing:.12em;color:#fdadb9;border:1px solid #ff789632;border-radius:6px;padding:6px 8px}
.access-emblem.small{width:48px;height:48px;border-radius:15px;margin-bottom:24px}
.access-emblem.small svg{width:30px;height:30px}
#key-generator-card h3{font-size:37px;letter-spacing:-1.6px}
#key-generator-card .access-intro{font-size:14px;margin-bottom:24px}
#generated-key-output{background:#100a10;border:1px dashed #b6556e;border-radius:12px;color:#ffd4dc;padding:18px 14px;margin-top:20px;font:600 14px/1.7 ui-monospace,monospace;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}
#key-generator-copy{background:#ffffff08;border:1px solid #f6a6bc24;border-radius:10px;color:#f7bcc9;padding:12px;font-size:12px;margin-top:9px;cursor:pointer}
#key-generator-status{color:#d5a5b0;font-size:12px;line-height:1.5;margin-top:12px;min-height:18px}
#key-generator-actions{display:flex;flex-direction:column;gap:6px;margin-top:8px}
#key-generator-actions #key-generator-generate{margin:0;padding:16px 18px;font-size:14px}
#key-generator-actions #key-generator-cancel{background:transparent;color:#bd8a9a;font-size:12px;padding:14px;cursor:pointer}
#key-generator-card>.access-motion{display:block;margin:20px auto 0}
.access-scene button:focus-visible{outline:2px solid #ffc4ce;outline-offset:4px}
@media(max-height:740px){.access-shell{padding-top:20px}#key-prompt-box{padding-top:28px}.access-emblem{width:54px;height:54px;margin-bottom:24px}.access-footer{padding-top:14px}#key-prompt-box h2{font-size:40px}.access-intro{margin-bottom:25px}#key-generator-card{padding:24px}.access-admin-top{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.access-scene *{transition:none!important}}

/* AccessHub welcome */
#key-prompt-overlay{background:#100d12;align-items:center}
#key-prompt-overlay .access-art{background:radial-gradient(ellipse at 78% 36%,#74273b75,transparent 48%),radial-gradient(ellipse at 3% 6%,#3e172644,transparent 42%),#100d12}
#key-prompt-overlay .orbit-one{left:65%;top:-480px;width:900px;height:900px;border-color:#ff799214}
#key-prompt-overlay .orbit-two{left:calc(65% + 90px);top:-390px;width:720px;height:720px;border-color:#ff79921c}
#key-prompt-overlay .orbit-three{right:74%;bottom:-570px;opacity:.5}
#key-prompt-overlay .access-shell{max-width:1180px;min-height:100dvh;padding:32px 44px 24px}
#key-prompt-overlay .access-topline{padding-bottom:24px;border-bottom:1px solid #ffffff0c}
#key-prompt-overlay .access-brand{gap:11px;text-decoration:none;color:#fff5f4;letter-spacing:-.8px;font-size:24px;line-height:1}
.access-brand img{flex-shrink:0;border-radius:12px}
.brand-light{font-weight:400;color:#e6b9c2}
.access-brand small{display:block;margin-top:7px;font-size:8px;letter-spacing:.19em;color:#a68b98;font-weight:600}
#key-prompt-overlay .access-admin-link{font-size:12px;padding:11px 17px;border-color:#ffffff24;color:#dfcbd3;transition:background .2s}
#key-prompt-overlay .access-admin-link:hover{background:#ffffff0d}
.welcome-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:70px;align-items:center;flex:1;padding:64px 0}
.welcome-kicker{display:flex;align-items:center;gap:9px;color:#e7a5b4;font-size:10px;letter-spacing:.17em;font-weight:650;margin:0 0 25px}
.welcome-kicker i{width:6px;height:6px;border-radius:50%;background:#ff5875;box-shadow:0 0 0 5px #ff587513}
#welcome-heading{font-size:clamp(42px,5vw,64px);font-weight:650;line-height:1.07;letter-spacing:-.065em;color:#fff5f3;margin:0 0 23px}
#welcome-heading>span{color:#fa8499}
.welcome-description{max-width:350px;font-size:15px;line-height:1.8;color:#b7a1ab;margin:0}
.welcome-details{margin-top:42px;max-width:420px}
.welcome-pin{border-top:1px solid #ffffff14;padding:21px 0}
.welcome-detail-top{display:flex;align-items:center;gap:9px}
.welcome-detail-top h3,.welcome-soon h3{font-size:13px;font-weight:600;color:#eddee2;margin:0;letter-spacing:-.15px}
.welcome-icon{font-size:20px;color:#fc91a5;line-height:1}
.welcome-tag{font-size:8px;letter-spacing:.09em;color:#db9aaa;background:#e990a00c;border:1px solid #ff899b21;border-radius:5px;padding:5px 6px;white-space:nowrap;margin-left:auto}
.welcome-pin-line{display:flex;gap:15px;align-items:center;margin-top:16px}
.welcome-digits{display:flex;gap:5px;flex-shrink:0}
.welcome-digits span{display:grid;place-items:center;width:29px;height:37px;border:1px solid #ffffff1b;border-radius:7px;background:linear-gradient(#ffffff0b,#ffffff02);font:500 20px/1 ui-monospace,monospace;color:#fff4f5;box-shadow:0 3px 8px #0002}
.welcome-pin-line p{font-size:11px;line-height:1.7;color:#aa929f;margin:0}
.welcome-pin-line strong{font-weight:600;color:#d9bdc7}
.welcome-soon{border-top:1px solid #ffffff12;display:flex;align-items:center;gap:12px;padding-top:20px}
.signature-flourish{font:italic 36px/1 Georgia,serif;color:#f390a6;transform:rotate(-12deg);width:30px;text-decoration:underline;text-underline-offset:3px}
.welcome-soon p{font-size:11px;color:#a78b99;margin:5px 0 0}
#key-prompt-overlay #key-prompt-box{box-sizing:border-box;align-self:center;padding:32px;margin:0;border:1px solid #fba0b52b;border-radius:24px;background:linear-gradient(145deg,#3a222ccf,#1d151ff5 72%);box-shadow:0 28px 80px #0004,inset 0 1px #ffffff08;position:relative}
.welcome-card-top{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.welcome-card-top img{border-radius:15px;box-shadow:0 6px 20px #ff305327}
.welcome-card-label{font-size:9px;line-height:1.8;letter-spacing:.1em;color:#b99aa8}
.welcome-card-label b{font-weight:600;color:#ead5de}
.welcome-step{font:10px ui-monospace,monospace;color:#9c7487;margin-left:auto;align-self:flex-start;padding-top:5px}
#key-prompt-overlay #key-prompt-box h2{font-size:35px;letter-spacing:-1.6px;line-height:1.15;margin:0 0 13px}
#key-prompt-overlay .access-intro{font-size:13px;line-height:1.8;margin:0 0 29px;color:#bda2ae}
#key-prompt-overlay .access-label{font-size:9px;color:#ddc5cf;letter-spacing:.12em}
#key-prompt-overlay .access-input-wrap{border-radius:11px;background:#0e0b124d;border-color:#f3a7bf29;padding:0 14px;gap:10px}
#key-prompt-overlay #key-input{font-size:15px;padding:17px 0;color:#fff4f8}
#key-prompt-overlay #key-input::placeholder{font-size:13px;color:#977987}
#key-prompt-overlay .access-input-wrap:focus-within{border-color:#ff8299;box-shadow:0 0 0 3px #ff82991a}
#invitation-help{font-size:10px;line-height:1.6;color:#aa8798;margin:9px 0 0}
#key-prompt-overlay #key-submit{border-radius:11px;padding:17px 18px;margin-top:22px;background:linear-gradient(100deg,#ff697f,#f63860);color:#fff;font-size:14px;box-shadow:0 8px 24px #ed244326}
#key-prompt-overlay #key-error{min-height:19px;font-size:12px;margin-top:8px}
.welcome-progress{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff0e;padding-top:22px;margin-top:9px}
.welcome-progress>span:not(.progress-line){display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap;color:#9f8190}
.welcome-progress i{display:grid;place-items:center;width:20px;height:20px;border:1px solid #ffffff14;border-radius:50%;font-size:9px;font-style:normal}
.welcome-progress .is-current{color:#efd4de!important}
.welcome-progress .is-current i{background:#fc5a7618;border-color:#fa6d873b;color:#ff9eb0}
.progress-line{height:1px;background:#ffffff16;flex:1}
#key-prompt-overlay .access-footnote{font-size:10px;margin-top:23px;color:#987988}
#key-prompt-overlay .access-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0 0;border-top:1px solid #ffffff0c;text-align:left}
.welcome-footer-brand{font-size:9px;letter-spacing:.13em;color:#d2b8c2;font-weight:650}
.welcome-footer-brand>span{display:block;font-size:10px;color:#806775;letter-spacing:0;font-weight:400;margin-top:7px}
#key-prompt-overlay .access-footer>div{text-align:right}
#key-prompt-overlay .access-motion{font-size:10px;padding:8px 12px;color:#c5a1af;border-color:#ffffff1c}
#key-prompt-overlay .access-motion-status{font-size:9px;text-align:right;margin:7px 0 0;min-height:0;color:#8f6d7f}
@media(min-width:760px) and (max-width:1000px){.welcome-layout{gap:32px}#key-prompt-overlay .access-shell{padding-left:28px;padding-right:28px}#key-prompt-overlay #key-prompt-box{padding:25px}.welcome-pin-line{flex-direction:column;align-items:flex-start;gap:10px}}
@media(max-width:759px){
 #key-prompt-overlay .access-shell{max-width:500px;padding:22px 22px max(22px,env(safe-area-inset-bottom))}
 #key-prompt-overlay .access-topline{padding-bottom:18px}
 #key-prompt-overlay .access-brand{font-size:22px}
 .welcome-layout{grid-template-columns:1fr;gap:0;padding:30px 0}
 .welcome-story{display:contents}
 .welcome-kicker{order:1;margin-bottom:19px;font-size:9px}
 #welcome-heading{order:2;font-size:45px;letter-spacing:-2.5px;margin-bottom:17px}
 .welcome-description{order:3;font-size:13px;max-width:330px;line-height:1.75;margin-bottom:26px}
 .welcome-details{order:5;margin-top:25px;max-width:none}
 .welcome-pin{padding:17px 0}.welcome-pin-line{gap:13px;margin-top:13px}
 .welcome-soon{padding-top:16px}.welcome-detail-top h3,.welcome-soon h3{font-size:12px}
 .welcome-tag{font-size:7px}.welcome-pin-line p{font-size:10px}
 #key-prompt-overlay #key-prompt-box{order:4;padding:25px;border-radius:20px}
 .welcome-card-top{margin-bottom:23px}
 #key-prompt-overlay #key-prompt-box h2{font-size:31px}
 #key-prompt-overlay .access-intro{margin-bottom:23px;font-size:12px}
 #key-prompt-overlay .access-footer{align-items:flex-start;gap:12px}
 #key-prompt-overlay .access-motion-status{max-width:170px}
}
@media(max-width:359px){#key-prompt-overlay .access-shell{padding-left:16px;padding-right:16px}.welcome-pin-line{flex-direction:column;align-items:flex-start}#welcome-heading{font-size:40px}#key-prompt-overlay #key-prompt-box{padding:20px}}
