:root{--primary:#1f5fbf;--accent:#ff8a1f;--dark:#232a38}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#dfe9f5;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}
.brand-logo{display:block;width:min(15rem,55vw);height:auto;object-fit:contain}
.brand-lockup{display:flex;align-items:center;gap:.8rem;color:var(--dark);font-size:clamp(1.1rem,3vw,1.8rem);font-weight:850;letter-spacing:-.05em}
#loader .brand-logo{width:5rem;border-radius:50%}
#brandtag{position:fixed;top:18px;left:22px;z-index:5}
#brandtag .brand-lockup{color:white;font-size:1rem;text-shadow:0 1px 5px #0009}
#brandtag .brand-logo{width:3.2rem;border-radius:50%;box-shadow:0 2px 12px #0005}
.cta{position:fixed;z-index:6;border:0;cursor:pointer;font:800 clamp(15px,2.2vw,20px)/1 inherit;letter-spacing:.14em;color:#fff;background:var(--primary);padding:18px 34px;min-height:52px;border-radius:999px;box-shadow:0 10px 30px rgba(31,95,191,.45);transition:transform .15s,box-shadow .15s,background .15s;text-decoration:none}
.cta:hover{transform:translate(var(--tx,0),var(--ty,0)) scale(1.06);background:#2a74e6}.cta:active{transform:translate(var(--tx,0),var(--ty,0)) scale(.96)}
.cta:focus-visible,#sound:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.cta:disabled{opacity:.5;pointer-events:none}
#enter{left:50%;bottom:12%;--tx:-50%;transform:translateX(-50%);animation:pulse 2s infinite}
#openme{--tx:-50%;--ty:-50%;transform:translate(-50%,-50%);background:var(--accent);box-shadow:0 10px 30px rgba(255,138,31,.55);animation:pulse 1.6s infinite}
#openme:hover{background:#ff9f45}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(255,255,255,.18)}}
#sound{position:fixed;top:18px;right:18px;z-index:7;border:0;border-radius:999px;padding:12px 16px;min-height:44px;font:700 12px/1 inherit;letter-spacing:.1em;background:rgba(35,42,56,.85);color:#fff;cursor:pointer}
#flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:9}
#fallback{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;gap:22px;align-items:center;justify-content:center;background:#eef1f5;text-align:center;padding:24px}
#fallback .brand-logo{width:4rem;border-radius:50%}
#fallback[hidden],[hidden]{display:none!important}#fallback .cta{position:static}
@media (prefers-reduced-motion:reduce){.cta{animation:none!important}}
