/* Scoped: no global page/background/button overrides. */
.lko-card { --lko-accent:#7a2246; --lko-muted:#756b72; box-sizing:border-box; width:100%; max-width:460px; margin:24px auto; padding:32px; border:1px solid #eae4e8; border-radius:20px; background:#fff; color:#241b20; font-family:Arial,Helvetica,sans-serif; line-height:1.5; box-shadow:0 12px 40px #44213506; }
.lko-card *, .lko-card *::before, .lko-card *::after { box-sizing:border-box; }
.lko-card [hidden] { display:none!important; }
.lko-heading { text-align:center; margin-bottom:28px; }
.lko-mark { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 18px; color:var(--lko-accent); border:1px solid #efe2e8; border-radius:50%; background:#fcf7f9; }
.lko-mark svg { width:25px; height:25px; }
.lko-card .lko-eyebrow { font-size:10px; font-weight:700; letter-spacing:2.8px; color:var(--lko-accent); margin:0 0 9px; }
.lko-card .lko-heading h2 { margin:0 0 8px; color:#241b20; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; line-height:1.2; letter-spacing:-.8px; }
.lko-card .lko-heading > p:last-child { margin:0; font-size:13px; color:var(--lko-muted); }
.lko-card form.lko-form { display:block; padding:0; margin:0; border:0; box-shadow:none; background:transparent; }
.lko-form label:not(.lko-remember) { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.lko-card .lko-form input[type=email], .lko-card .lko-form input.lko-code { width:100%; min-height:50px; padding:12px 14px; border:1px solid #ded6dc; border-radius:11px; background:#fff; color:#241b20; box-shadow:none; font-family:inherit; font-size:16px; line-height:1.4; }
.lko-card .lko-form input.lko-code { font-size:25px; letter-spacing:9px; text-align:center; padding-left:23px; }
.lko-card input:focus-visible, .lko-card button:focus-visible, .lko-card a:focus-visible { outline:2px solid var(--lko-accent); outline-offset:3px; }
.lko-card p.lko-hint { color:var(--lko-muted); font-size:12px; line-height:1.5; margin:10px 0 20px; }
.lko-card button.lko-primary { display:flex; justify-content:center; align-items:center; gap:18px; width:100%; min-height:50px; padding:12px 18px; border:1px solid var(--lko-accent); border-radius:11px; background:var(--lko-accent); color:#fff; font:600 14px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; text-transform:none; letter-spacing:0; box-shadow:none; }
.lko-card button.lko-primary:hover { background:#601a37; border-color:#601a37; }
.lko-card button:disabled { opacity:.6; cursor:wait; }
.lko-card button.lko-link { display:inline; width:auto; min-height:36px; padding:4px 0; margin:0; border:0; border-radius:0; background:transparent; color:var(--lko-accent); font:600 12px/1.5 Arial,Helvetica,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:0; }
.lko-email-summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:3px 10px; margin:0 0 20px; padding:10px 12px; border-radius:10px; background:#faf6f8; font-size:12px; }
.lko-email-summary span { overflow-wrap:anywhere; }
.lko-card .lko-remember { display:flex; align-items:flex-start; gap:8px; font-size:12px; font-weight:400; margin:0 0 20px; color:var(--lko-muted); }
.lko-remember input { width:15px; height:15px; margin:2px 0 0; accent-color:var(--lko-accent); }
.lko-resend { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; font-size:12px; color:var(--lko-muted); margin:12px 0 0; }
.lko-card .lko-status { margin:16px 0 0; font-size:12px; overflow-wrap:anywhere; color:#51454c; }
.lko-status:empty { display:none; }
.lko-status.is-error { border:1px solid #ebc8d2; border-radius:10px; background:#fff8fa; color:#8a2040; padding:10px 12px; }
.lko-card p.lko-privacy, .lko-card p.lko-selection { font-size:11px; line-height:1.6; color:var(--lko-muted); margin:22px 0 0; }
.lko-card .lko-privacy { padding-top:18px; border-top:1px solid #efe9ec; }
.lko-card .lko-privacy a { color:var(--lko-accent); margin-right:8px; }
.lk-app-shell .lk-modal.lk-purchase-auth-dialog { width:min(calc(100% - 32px),440px); max-height:calc(100dvh - 32px); padding:0; border:1px solid #eae4e8; border-radius:18px; background:#fff; overflow-y:auto; }
.lk-purchase-auth-dialog .lk-modal__surface { padding:0; }
.lk-purchase-auth-dialog .lk-modal__header { padding:18px 20px; }
.lk-purchase-auth-dialog .lk-modal__content { padding:14px 20px 24px; }
.lk-purchase-auth-dialog .lko-card { margin:0; padding:10px 0 0; border:0; box-shadow:none; border-radius:0; }
.lk-purchase-auth-dialog .lko-heading { margin-bottom:22px; }
.lk-purchase-auth-dialog .lko-mark { display:none; }
.lk-purchase-auth-dialog .lko-heading h2 { font-size:27px; }
@media(max-width:480px) { .lko-card { padding:25px 20px; margin:20px auto; border-radius:16px; } .lko-card .lko-heading h2 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .lko-card * { transition:none!important; animation:none!important; } }
