:root { color-scheme: dark; --blue:#07164f; --blue2:#1239a6; --yellow:#ffd326; --paper:#fff8df; }
* { box-sizing: border-box; }
html, body, #store-shell, #store-frame-host { width:100%; height:100%; margin:0; overflow:hidden; }
body { background:#050817; color:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button, input { font:inherit; }
#store-frame-host { position:absolute; inset:0; }
.store-frame { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; background:#050817; touch-action:none; }
#x-cursor { position:fixed; left:50%; top:50%; width:15px; height:15px; margin:-7.5px 0 0 -7.5px; z-index:150;
  pointer-events:none; opacity:0; border-radius:50%; border:2px solid rgba(255,255,255,.92);
  background:rgba(255,255,255,.16); box-shadow:0 0 0 1px rgba(0,0,0,.5),0 1px 5px rgba(0,0,0,.55);
  transition:opacity .16s,transform .1s,border-color .1s,background .1s; }
body.store-locked:not(.store-inspecting) #x-cursor, #x-cursor.free-show { opacity:1; }
#x-cursor.over { border-color:var(--yellow); background:rgba(255,211,38,.32); transform:scale(1.4);
  box-shadow:0 0 11px rgba(255,211,38,.62),0 0 0 1px rgba(0,0,0,.4); }
.skip-link { position:fixed; top:10px; left:10px; z-index:500; padding:10px 14px; border-radius:5px; color:#06134b; background:var(--yellow); font-weight:800; transform:translateY(-160%); transition:transform .15s ease; }
.skip-link:focus { transform:none; }
.skip-link-browse { left:auto; right:10px; }
.no-script a { color:var(--yellow); }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
#store-loader { position:fixed; inset:0; z-index:90; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; background:radial-gradient(circle at 50% 43%,#173ba3 0,#07164f 35%,#030719 100%); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s ease,visibility 0s linear .35s; }
body.store-loading #store-loader { opacity:1; visibility:visible; pointer-events:auto; transition:none; }
.loader-mark,.loader-copy { transition:opacity .06s linear; }
#store-loader.revealing .loader-mark,#store-loader.revealing .loader-copy { opacity:0; }
.loader-mark { color:var(--yellow); font-size:clamp(24px,4vw,48px); line-height:1; font-weight:950; font-style:italic; letter-spacing:-.045em; text-shadow:0 4px 0 #06113e; }
.loader-copy { color:rgba(255,248,223,.72); font-size:13px; letter-spacing:.08em; }
.share-hit { display:none; position:fixed; z-index:120; padding:0; margin:0; border:0; background:transparent; -webkit-tap-highlight-color:transparent; }
.share-toast { position:fixed; left:50%; bottom:max(28px,env(safe-area-inset-bottom)); z-index:180; max-width:calc(100vw - 32px); padding:10px 17px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(5,8,23,.9); color:#fff8df; box-shadow:0 12px 40px rgba(0,0,0,.42); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:0; pointer-events:none; transform:translate(-50%,12px); transition:opacity .18s ease,transform .18s ease; }
.share-toast.show { opacity:1; transform:translate(-50%,0); }
.trailer-modal { position:fixed; inset:0; z-index:220; display:grid; place-items:center; padding:clamp(14px,4vw,48px); }
.trailer-modal[hidden] { display:none; }
.trailer-scrim { position:absolute; inset:0; background:rgba(2,4,14,.88); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.trailer-card { position:relative; z-index:1; width:min(1080px,94vw); }
.trailer-frame { overflow:hidden; width:100%; aspect-ratio:16/9; border:1px solid rgba(255,211,38,.5); border-radius:10px; background:#000; box-shadow:0 28px 100px #000; }
.trailer-frame iframe { width:100%; height:100%; border:0; }
.trailer-close { position:absolute; right:0; top:-48px; width:40px; height:40px; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(4,7,20,.8); color:#fff; font-size:27px; line-height:1; cursor:pointer; }
.trailer-close:focus-visible,.trailer-close:hover { outline:2px solid var(--yellow); outline-offset:2px; }
.no-script { position:fixed; inset:0; display:grid; place-items:center; margin:0; padding:24px; background:#050817; text-align:center; }
@media (pointer:coarse) { #x-cursor { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.001ms!important; animation-duration:.001ms!important; animation-iteration-count:1!important; } }
