#kj-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif}
#kj-wrap .kj-scrim{position:absolute;inset:0;background:rgba(30,27,22,.38);opacity:0;transition:opacity .25s}
#kj-wrap .kj-sheet{position:relative;width:100%;max-width:440px;box-sizing:border-box;margin:0 10px calc(10px + env(safe-area-inset-bottom,0px));padding:10px 22px 22px;background:#FFFDF8;border:2px solid #1E1B16;border-radius:30px;box-shadow:5px 6px 0 #CFC3E8;transform:translateY(24px);opacity:0;transition:transform .3s cubic-bezier(.3,.8,.3,1),opacity .25s;color:#1E1B16}
#kj-wrap.on .kj-scrim{opacity:1}
#kj-wrap.on .kj-sheet{transform:none;opacity:1}
.kj-grab{width:40px;height:5px;border-radius:9px;background:#E6DCCA;margin:0 auto 14px}
.kj-h{margin:0 0 6px;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:34px;line-height:1.05;letter-spacing:-.5px}
.kj-p{margin:0 0 16px;font-size:16px;line-height:1.45;color:#3A342C}
.kj-p b{color:#1E1B16;white-space:nowrap}
.kj-btn{display:block;width:100%;height:54px;border:0;border-radius:999px;background:#7466AA;color:#fff;font:600 17px/1 inherit;font-family:inherit;cursor:pointer;margin-top:4px}
.kj-btn:disabled{opacity:.6;cursor:default}
.kj-btn:focus-visible,.kj-link:focus-visible,.kj-code:focus-visible{outline:3px solid #CFC3E8;outline-offset:2px}
.kj-link{display:block;width:100%;height:44px;border:0;background:transparent;color:#4B3F7A;font:600 15px inherit;font-family:inherit;cursor:pointer;margin-top:4px}
.kj-link:disabled{color:#8A8175;cursor:default}
.kj-code{display:block;width:100%;box-sizing:border-box;height:64px;border:2px solid #1E1B16;border-radius:18px;background:#fff;text-align:center;font:600 30px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.45em;padding-left:.45em;color:#1E1B16;margin-bottom:12px}
.kj-code::placeholder{color:#D8CDB9}
.kj-err{margin:0 0 12px;padding:10px 14px;border-radius:14px;background:#FCECE8;color:#B33A22;font-size:14.5px;line-height:1.4}
.kj-fine{margin:12px 2px 0;font-size:12px;line-height:1.5;color:#6B6357}
.kj-fine a{color:#4B3F7A;font-weight:600}
@media (prefers-reduced-motion:reduce){#kj-wrap .kj-sheet,#kj-wrap .kj-scrim{transition:none}}
/* Safety net: nothing may widen the page on phones */
html{overflow-x:hidden}
body{overflow-x:clip;max-width:100vw}
/* Pricing CTA → draw the eye to the Join bar's phone field */
@keyframes kflash{0%,100%{box-shadow:4px 5px 0 #CFC3E8}30%,70%{box-shadow:0 0 0 5px #CFC3E8,4px 5px 0 #CFC3E8}}
.kflash{animation:kflash .9s ease 2}
@media (prefers-reduced-motion:reduce){.kflash{animation:none;box-shadow:0 0 0 4px #CFC3E8!important}}
/* Already joined + taps Join or a pricing CTA → the "You're in!" pill glows while it says so */
@keyframes kglow{0%,100%{box-shadow:5px 6px 0 #CFC3E8}30%,70%{box-shadow:0 0 0 6px #CFC3E8,5px 6px 0 #CFC3E8}}
.kglow{animation:kglow .9s ease 2}
@media (prefers-reduced-motion:reduce){.kglow{animation:none;box-shadow:0 0 0 5px #CFC3E8,5px 6px 0 #CFC3E8!important}}
