/* Final 01 — THE GALLERY overlay. ROTOR tokens: OLED black, court blue light, ink/muted, lime links, yellow accent. */
#rotorGallery{position:fixed;inset:0;z-index:2147482000;overflow:auto;background:#000;color:#f0f6f2;font:400 15px/1.55 Inter,system-ui,sans-serif;opacity:0;transition:opacity .9s cubic-bezier(.22,.61,.36,1);-webkit-font-smoothing:antialiased}
#rotorGallery.rg-in{opacity:1}
#rotorGallery[hidden]{display:none!important}
#rgCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#rotorGallery>*:not(#rgCanvas){position:relative;z-index:1}
#rgTip{position:fixed;z-index:3;pointer-events:none;opacity:0;transform:translate(-50%,-140%);transition:opacity .22s;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);padding:8px 12px;border-radius:10px;font:600 12px Inter;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
#rgTip small{display:block;font:500 10px Inter;letter-spacing:.14em;color:#c7fc68;margin-top:3px;text-transform:none}
.rg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px clamp(16px,4vw,56px)}
.rg-brand{display:flex;align-items:center;gap:12px;font:700 20px/1 "Barlow Condensed",Impact,sans-serif;letter-spacing:.14em}
.rg-brand i{width:8px;height:8px;border-radius:50%;background:#ffda39;box-shadow:0 0 14px #ffda39}
.rg-brand small{font:600 10px Inter;letter-spacing:.2em;color:#6f8278;margin-left:6px}
.rg-close{appearance:none;cursor:pointer;border:1px solid rgba(240,246,242,.18);border-radius:999px;padding:11px 16px;background:rgba(255,255,255,.05);color:#f0f6f2;font:700 13px/1 "Barlow Condensed",sans-serif;letter-spacing:.18em;backdrop-filter:blur(10px);transition:border-color .4s,background .4s}
.rg-close:hover,.rg-close:focus-visible{border-color:rgba(199,252,104,.7);background:rgba(199,252,104,.08);outline:none}
.rg-hero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(16px,4vw,56px);max-width:720px;pointer-events:none}
.rg-hero>*{pointer-events:auto}
.rg-hero h2{margin:0;font:800 clamp(56px,9vw,120px)/.88 "Barlow Condensed",Impact,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.rg-hero h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px rgba(240,246,242,.55)}
.rg-hero p{color:#b6c9c1;max-width:560px;font-size:16px;margin:22px 0 0}
.rg-stats{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap}
.rg-stats b{display:block;font:600 40px/1 "Barlow Condensed",sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rg-stats small{font:600 10px Inter;letter-spacing:.16em;color:#6f8278;text-transform:uppercase}
.rg-bar{position:sticky;top:0;z-index:2;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px clamp(16px,4vw,56px);backdrop-filter:blur(12px);background:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.6));border-bottom:1px solid rgba(255,255,255,.05)}
.rg-search{flex:1;min-width:220px;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#f0f6f2;font:500 15px Inter;outline:none}
.rg-search:focus{border-color:rgba(199,252,104,.7)}
.rg-chips{display:flex;gap:8px;flex-wrap:wrap}
.rg-chip{font:600 11px/1 Inter;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#b6c9c1;cursor:pointer;transition:all .22s}
.rg-chip:hover{color:#f0f6f2}.rg-chip.on{color:#000;background:#c7fc68;border-color:#c7fc68}
.rg-hint{font-size:12px;color:#6f8278;font-variant-numeric:tabular-nums}
.rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;padding:28px clamp(16px,4vw,56px) 60px;perspective:1400px}
.rg-card{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rg-card.in{opacity:1;transform:none}
.rg-win{position:relative;display:block;border-radius:18px;padding:10px;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 40%,rgba(4,60,255,.10));border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px -30px rgba(4,60,255,.55),0 10px 30px -18px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.25);transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .22s;will-change:transform}
.rg-win:hover{border-color:rgba(255,255,255,.34);box-shadow:0 50px 90px -30px rgba(4,60,255,.8),0 20px 40px -20px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.4)}
.rg-pane{position:relative;aspect-ratio:16/10;border-radius:11px;overflow:hidden;background:#05070a;transform:translateZ(18px)}
.rg-pane img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rg-win:hover img{transform:scale(1.04)}
.rg-glare{position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),rgba(255,255,255,.04) 45%,transparent 70%);opacity:0;transition:opacity .22s;mix-blend-mode:screen;pointer-events:none}
.rg-win:hover .rg-glare{opacity:1}
.rg-refl{position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent);pointer-events:none}
.rg-rim{position:absolute;inset:-1px;border-radius:19px;pointer-events:none;background:conic-gradient(from 200deg,transparent 0 60%,rgba(4,60,255,.9) 72%,rgba(140,180,255,.9) 78%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;opacity:0;transition:opacity .22s}
.rg-win:hover .rg-rim{opacity:1}
.rg-ph{position:absolute;inset:0;display:grid;place-items:center;color:#6f8278;font:600 11px Inter;letter-spacing:.16em;background:radial-gradient(circle at 50% 60%,rgba(4,60,255,.25),transparent 60%)}
.rg-cap{padding:12px 6px 0;display:flex;flex-direction:column;gap:4px}
.rg-cap b{font:600 19px/1.05 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:-.005em;word-break:break-word}
.rg-cap span{font:500 11px Inter;letter-spacing:.1em;color:#6f8278;text-transform:uppercase;font-variant-numeric:tabular-nums}
.rg-empty{color:#6f8278;padding:40px 0}
.rg-foot{padding:40px clamp(16px,4vw,56px) 60px;color:#6f8278;font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase}
body.rotor-gallery-open>:is(*:not(#rotorGallery):not(script):not(canvas):not(#rotorCursor)){visibility:hidden!important}
.mast nav [data-gallery]{color:#c7fc68}
@media (max-width:640px){.rg-grid{gap:18px}.rg-hero{min-height:70vh}}
@media (prefers-reduced-motion:reduce){#rotorGallery,.rg-card,.rg-win{transition:none}.rg-card{opacity:1;transform:none}}
