:root{--access-bg: #020b0e;--access-surface: #07171a;--access-surface-raised: #0b2022;--access-line: rgba(181, 217, 210, .15);--access-line-strong: rgba(181, 217, 210, .24);--access-text: #f4f7f3;--access-muted: #a9b5b2;--access-muted-soft: #78908c;--access-lime: #a4f237;--access-amber: #ffc554;--access-cyan: #59d9ff;--access-ink: #07100d}body:not([data-access-state=authenticated]){min-height:100svh;color:var(--access-text);background:linear-gradient(180deg,#031317 0%,var(--access-bg) 52%,#010709 100%)}body:not([data-access-state=authenticated]):before,body:not([data-access-state=authenticated]):after{display:none}body:not([data-access-state=authenticated]) .app-shell,body:not([data-access-state=authenticated]) .toast-stack,body:not([data-access-state=authenticated]) .privacy-gate-backdrop,body:not([data-access-state=authenticated]) .modal-root{display:none!important}body[data-access-state=authenticated] .access-gate,body[data-access-state=authenticated] .access-skip-link{display:none!important}.access-skip-link{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:80;min-height:44px;padding:11px 14px;border-radius:8px;color:var(--access-ink);background:var(--kbju-cta-halo),var(--kbju-cta-wash),var(--kbju-cta-surface);font-size:.82rem;font-weight:500;letter-spacing:0;text-decoration:none;transform:translateY(-170%)}.access-skip-link:focus{transform:translateY(0)}.access-gate{display:grid;width:min(100%,520px);min-height:100svh;grid-template-rows:auto 1fr auto;gap:18px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:var(--access-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}.access-gate :where(button,a){-webkit-tap-highlight-color:transparent;touch-action:manipulation}.access-gate-topbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px}.access-gate-brand{display:flex;min-width:0;align-items:center;gap:10px}.access-gate-brand-mark{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid rgba(164,242,55,.42);border-radius:11px;color:var(--access-lime);background:#a4f2370a;box-shadow:var(--kbju-lift-1);font-size:.77rem;font-weight:500}.access-gate-brand-copy{display:grid;min-width:0;gap:2px}.access-gate-brand-copy strong{overflow-wrap:anywhere;color:var(--access-text);font-size:.94rem;line-height:1.15}.access-gate-brand-copy span{overflow-wrap:anywhere;color:var(--access-muted-soft);font-size:.7rem;line-height:1.2}.access-language-switch{display:grid;min-width:100px;height:50px;flex:0 0 auto;grid-template-columns:repeat(2,minmax(44px,1fr));gap:2px;padding:2px;border:1px solid var(--access-line);border-radius:11px;background:#01090b9e}.access-language-switch button{min-width:44px;min-height:var(--kbju-control-h);padding:0 10px;border:0;border-radius:var(--kbju-r-chip);color:var(--access-muted);background:transparent;font-size:.72rem;font-weight:500;letter-spacing:0;cursor:pointer}.access-language-switch button[aria-pressed=true]{color:var(--access-text);background:var(--access-surface-raised);box-shadow:inset 0 0 0 1px #a4f2372e}.access-gate-main{display:grid;min-width:0;align-items:center}.access-gate-card{position:relative;display:grid;min-width:0;gap:16px;overflow:hidden;padding:22px;border:1px solid var(--access-line);border-radius:15px;background:#07171af5;box-shadow:var(--kbju-lift-2)}.access-gate-card:before{position:absolute;inset:0 18px auto;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--access-lime) 0 36%,var(--access-amber) 36% 68%,var(--access-cyan) 68% 100%);content:"";opacity:.88}.access-gate-status{display:inline-flex;width:fit-content;max-width:100%;min-height:30px;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(164,242,55,.22);border-radius:999px;color:var(--access-lime);background:#a4f23714;font-size:.72rem;font-weight:500;line-height:1.2}.access-gate-status:before{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor;content:""}body[data-access-state=checking] .access-gate-status,body[data-access-state=expired] .access-gate-status,body[data-access-state=error] .access-gate-status{border-color:#ffc5543d;color:var(--access-amber);background:#ffc55414}body[data-access-state=checking] .access-gate-status:before{animation:accessPulse 1.2s ease-in-out infinite}.access-gate-copy{display:grid;min-width:0;gap:8px}.access-gate-copy h1{max-width:15ch;margin:0;overflow-wrap:anywhere;color:var(--access-text);font-size:clamp(1.58rem,7vw,2rem);line-height:1.04;letter-spacing:0}.access-gate-copy p{margin:0;overflow-wrap:anywhere;color:var(--access-muted);font-size:.86rem;line-height:1.55}.access-capabilities{display:grid;min-width:0;gap:13px;padding-block:16px;border-block:1px solid var(--access-line)}.access-capabilities>h2{margin:0 0 2px;color:var(--access-muted-soft);font-size:.66rem;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:uppercase}.access-capability{position:relative;display:grid;min-width:0;gap:1px;padding-left:14px}.access-capability:before{position:absolute;inset:1px auto 1px 0;width:3px;border-radius:3px;background:var(--capability-accent, var(--access-lime));content:""}.access-capability.is-food{--capability-accent: var(--access-amber)}.access-capability.is-plan{--capability-accent: var(--access-cyan)}.access-capability strong,.access-capability span{overflow-wrap:anywhere}.access-capability strong{color:var(--access-text);font-size:.82rem;line-height:1.2}.access-capability span{color:var(--access-muted-soft);font-size:.69rem;line-height:1.3}.access-gate-actions{display:grid;min-width:0;gap:8px}.access-primary-action{display:inline-flex;width:100%;min-width:0;min-height:var(--kbju-control-h);align-items:center;justify-content:space-between;gap:12px;padding:0 17px;border:0;border-radius:var(--kbju-r-pill);color:var(--access-ink);background:var(--kbju-cta-halo),var(--kbju-cta-wash),var(--kbju-cta-surface);box-shadow:0 12px 34px #a4f23721;font-size:.82rem;font-weight:500;letter-spacing:0;line-height:1.2;text-align:left;text-decoration:none;cursor:pointer}.access-primary-action:disabled{color:var(--access-muted);background:var(--access-surface-raised);box-shadow:none;cursor:wait;opacity:1}.access-action-arrow{flex:0 0 auto;font-size:1.05rem;line-height:1}.access-service-links{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.access-service-links a{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--access-line);border-radius:11px;overflow-wrap:anywhere;color:#c3dcdf;background:#010a0c61;font-size:.69rem;line-height:1.25;text-align:center;text-decoration:none}.access-privacy-note{position:relative;margin:0;padding-left:17px;overflow-wrap:anywhere;color:var(--access-muted-soft);font-size:.67rem;line-height:1.4}.access-privacy-note:before{position:absolute;top:.31em;left:0;width:8px;height:8px;border:1px solid rgba(89,217,255,.58);border-radius:50%;content:""}.access-gate-footer{align-self:end;margin:0;color:#8ba6a3e6;font-size:.62rem;line-height:1.3;text-align:center}.access-gate :where(button,a):focus-visible{outline:2px solid var(--access-cyan);outline-offset:3px}.access-gate-card h1:focus{outline:none}@media(max-width:400px){.access-gate{gap:12px;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.access-gate-card{gap:13px;padding:18px;border-radius:15px}.access-capabilities{gap:11px;padding-block:13px}.access-gate-copy p{font-size:.8rem}.access-service-links a{padding-inline:7px;font-size:.66rem}}@media(min-width:760px){.access-gate{width:min(100%,548px);padding-top:28px;padding-bottom:24px}.access-gate-card{padding:28px}}@media(prefers-reduced-motion:reduce){.access-gate *,.access-gate *:before,.access-gate *:after,.access-skip-link{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes accessPulse{0%,to{opacity:.44}50%{opacity:1}}
