/* THE SHATTERED CONVERGENCE — V15 CINEMATIC PRESENTATION ENHANCEMENT
   Additive styles. No changes to original 120 card definitions. */
:root{--v15-gold:#f0c87d;--v15-cyan:#8ee8ff;--v15-violet:#b6a6ff}
html{scroll-padding-top:85px} body{background:#050a13}
.v15-controls{position:fixed;bottom:18px;right:18px;z-index:95;display:flex;gap:7px;flex-wrap:wrap;justify-content:end;max-width:calc(100vw - 20px)}
.v15-btn{border:1px solid #e4bd7488;border-radius:8px;background:#071728ed;color:#f5e5c3;cursor:pointer;min-height:42px;padding:8px 13px;box-shadow:0 6px 24px #000b;letter-spacing:.035em;font-size:12px;backdrop-filter:blur(13px)}
.v15-btn:hover,.v15-btn:focus-visible{background:#1a2941;border-color:#ffe5a9;box-shadow:0 0 20px #e6b35e4b}.v15-btn[aria-pressed=true]{background:linear-gradient(135deg,#8d632a,#57421f);color:white}
.v15-gate{position:relative;isolation:isolate;overflow:hidden;padding:78px 0 95px;min-height:640px;border-block:1px solid #e4be7f59;background:radial-gradient(circle at 50% 25%,#607da73b,transparent 50%),#050a14}
.v15-gate:before{content:'';position:absolute;inset:-20px;z-index:-2;background:linear-gradient(180deg,#050b13 0%,#08101b7d 35%,#05101c92 70%,#050b13 100%),url('hero_realm.webp') center/cover;filter:saturate(1.19);animation:v15-drift 34s ease-in-out infinite alternate}
.v15-gate:after{content:'';pointer-events:none;position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 55% 38%,transparent 6%,#0308118a 85%)}
.v15-inner{width:min(1320px,calc(100% - 40px));margin:auto;text-align:center}.v15-kicker{font:700 11px/1.5 system-ui;letter-spacing:.28em;color:#ebcc8c;text-transform:uppercase}.v15-title{font:400 clamp(45px,7vw,106px)/1.05 Georgia,serif;margin:16px 0 17px;color:#fff0c7;text-shadow:0 0 40px #e0a84c77}.v15-lede{max-width:700px;margin:0 auto 28px;color:#e0e6f1;font-size:clamp(15px,1.6vw,19px);line-height:1.7}.v15-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:36px}.v15-door{position:relative;min-height:270px;padding:30px 18px 22px;overflow:hidden;background:linear-gradient(150deg,#0d1b30ef,#061322dd);border:1px solid #cfb57b88;box-shadow:inset 0 0 22px #f4d29817,0 20px 65px #0009;cursor:pointer;color:white;text-align:center;transition:transform .33s,box-shadow .33s,border-color .33s}.v15-door:hover,.v15-door:focus-visible,.v15-door.active{transform:translateY(-6px);border-color:#ffe2a3;box-shadow:inset 0 0 38px #e7b96839,0 6px 60px #bd965660}.v15-door:before{content:'';position:absolute;inset:0;z-index:0;opacity:.42;background:var(--v15-back) center/cover;transition:opacity .3s,transform .5s}.v15-door:hover:before,.v15-door.active:before{opacity:.68;transform:scale(1.08)}.v15-door>*{position:relative;z-index:1}.v15-era{display:block;font-size:12px;letter-spacing:.3em;color:#f3d99d;font-weight:700}.v15-glyph{display:block;margin:12px 0;font-size:64px;text-shadow:0 0 24px #b9eaff;animation:v15-pulse 5s ease-in-out infinite}.v15-door h3{font:400 32px Georgia,serif;margin:10px auto}.v15-door p{font-size:13px;color:#e8e5df;max-width:310px;margin:auto;line-height:1.5}.v15-choice{margin:27px auto 0;max-width:760px;min-height:70px;display:flex;flex-wrap:wrap;gap:17px;align-items:center;justify-content:center;padding:13px 20px;border:1px solid #deb97355;background:#061321c9;color:#e2eaf4}.v15-choice strong{font:24px Georgia;color:#ffde97}.v15-choice span{font-size:13px;max-width:490px}
.v15-cinema{padding:88px 0;background:radial-gradient(circle at 70% 18%,#32497f36,transparent 55%),#070e19;border-bottom:1px solid #d9b97736}.v15-cinema-grid{width:min(1320px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}.v15-cinema h2{font:400 clamp(38px,5vw,65px)/1.05 Georgia,serif;color:#f3d99c;margin:10px 0 18px}.v15-cinema p{color:#c6d4e5;max-width:560px}.v15-filmframe{position:relative;aspect-ratio:16/9;min-height:210px;border:1px solid #f1c97b9c;box-shadow:0 24px 85px #000a,0 0 40px #d5b46f29;background:linear-gradient(130deg,#07152322,#080e1b99),url('vision_concept.webp') center/cover;overflow:hidden}.v15-filmframe::after{content:'';pointer-events:none;position:absolute;inset:0;border:8px double #e1b5682c}.v15-filmframe video{width:100%;height:100%;display:block;object-fit:contain;background:#030813}.v15-filmcaption{display:block;font-size:11px;color:#b3c7da;margin-top:9px}.v15-playfilm{position:absolute;inset:0;margin:auto;width:160px;height:70px;z-index:2;border:1px solid #e9cc93;border-radius:50px;color:#ffedc7;background:#081324cc;box-shadow:0 0 44px #eec5765a;font-size:14px;cursor:pointer}.v15-playfilm:hover{background:#112d4aea}.v15-perfswitch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.v15-perfswitch button{border:1px solid #e0b57a77;color:#e7d8b2;background:#0b1b2f;padding:9px 14px;cursor:pointer}
.v15-film-unavailable{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:25px;gap:10px;text-align:center;color:#f0ddba;background:#071221ae}
.v15-film-unavailable strong{font:28px Georgia}.v15-film-unavailable small{font-size:12px;color:#afc3dc}
.v15-scrollcue{display:inline-block;opacity:.8;animation:v15-float 2.8s infinite ease-in-out}
/* Original sections: tasteful motion and richness without hiding card data. */
.faction{transform-style:preserve-3d}.faction:after{content:'';position:absolute;inset:-120% -55%;pointer-events:none;z-index:3;background:linear-gradient(110deg,transparent 35%,#fff4d31d 49%,transparent 64%);transform:translateX(-80%);transition:transform .75s}.faction:hover:after{transform:translateX(95%)}
.cardview{isolation:isolate;transition:transform .28s,box-shadow .28s,border-color .28s}.cardview:before{content:'';pointer-events:none;position:absolute;inset:0;z-index:5;background:linear-gradient(120deg,transparent 12%,#fffbd321 36%,transparent 53%);transform:translateX(-130%);transition:transform .7s}.cardview:hover:before,.cardview:focus-within:before{transform:translateX(130%)}.cardview:hover{border-color:#f2d590;box-shadow:0 20px 45px #000a,0 0 22px #e2b26a42}.rarity-Legendary:hover,.rarity-Ascendant:hover{box-shadow:0 0 26px #ffd37b8e,0 20px 38px #000b}
#cardModal.open .modal-inner{animation:v15-reveal .34s cubic-bezier(.2,.7,.25,1)}.ai-art{box-shadow:0 0 70px #4d8ed638,0 22px 60px #000b}.ai-art:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent 30%,#e7cb8740 50%,transparent 70%);animation:v15-shimmer 9s ease-in-out infinite}
.v15-fracture-ring{position:absolute;pointer-events:none;inset:-20%;border:1px solid #c5e4ffc4;border-radius:50%;box-shadow:0 0 55px #90d3fb22, inset 0 0 15px #e0b87e22;animation:v15-rotate 33s linear infinite}
.v15-runes{position:absolute;top:32%;left:50%;transform:translate(-50%,-50%);z-index:1;color:#e9d49f33;font:180px Georgia;pointer-events:none;animation:v15-pulse 6s infinite ease-in-out}
.v15-spark{position:fixed;z-index:101;pointer-events:none;width:7px;height:7px;background:#ffdf9c;border-radius:50%;box-shadow:0 0 15px #e7b35e;animation:v15-spark .67s ease-out forwards}
@keyframes v15-drift{from{transform:scale(1.03) translateX(-1.5%)}to{transform:scale(1.12) translateX(1.5%)}}@keyframes v15-reveal{from{opacity:.3;transform:scale(.9) translateY(32px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes v15-pulse{50%{filter:brightness(1.5);text-shadow:0 0 30px #fff0c0}}@keyframes v15-rotate{to{transform:rotate(360deg)}}@keyframes v15-shimmer{0%,20%,100%{transform:translateX(-180%)}55%{transform:translateX(180%)}}@keyframes v15-spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}@keyframes v15-float{50%{transform:translateY(9px)}}
@media(max-width:900px){.v15-doors{gap:9px}.v15-door{min-height:235px;padding:20px 12px}.v15-glyph{font-size:48px}.v15-door h3{font-size:27px}.v15-cinema-grid{grid-template-columns:1fr}}
@media(max-width:600px){.v15-gate{min-height:0;padding:58px 0 70px}.v15-doors{grid-template-columns:1fr;gap:10px;margin-top:23px}.v15-door{min-height:128px;display:grid;grid-template-columns:58px 1fr;align-items:center;text-align:left;gap:4px 14px;padding:15px}.v15-door .v15-era{grid-column:2;grid-row:1}.v15-door .v15-glyph{grid-column:1;grid-row:1/span 3;text-align:center;margin:0;font-size:41px}.v15-door h3{grid-column:2;grid-row:2;margin:0;font-size:27px}.v15-door p{grid-column:2;grid-row:3;margin:0;font-size:12px}.v15-cinema{padding:55px 0}.v15-inner,.v15-cinema-grid{width:calc(100% - 28px)}.v15-choice{min-height:95px;gap:7px}.v15-choice span{font-size:12px}.v15-filmframe{min-height:160px}.v15-controls{right:8px;bottom:8px}.v15-btn{font-size:11px;padding:7px 9px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.v15-gate:before,.v15-glyph,.v15-fracture-ring,.v15-runes,.v15-scrollcue,.ai-art:before{animation:none!important}.v15-spark{display:none!important}.v15-door,.cardview{transition:none!important}}
body.v15-still .v15-gate:before,body.v15-still .v15-glyph,body.v15-still .v15-fracture-ring,body.v15-still .v15-runes,body.v15-still .ai-art:before{animation:none!important}

/* 120-card high-definition showcase sprite from actual V14 card images */
.v15-art-toggle{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 16px;padding:13px 16px;background:#0a1727;border:1px solid #c49a585b;color:#e9d0a0;font:17px Georgia,serif}
.v15-card-front{aspect-ratio:230/326;min-height:0!important;border:1px solid #dab57e9a;border-radius:7px;background-image:url('collection-v14-grid.webp')!important;background-size:1000% 1200%!important;background-position:var(--v15-x) var(--v15-y)!important;background-repeat:no-repeat!important;overflow:hidden;box-shadow:0 10px 23px #0009;}
.v15-card-front .cardtop,.v15-card-front .artzone,.v15-card-front .cardbottom{display:none!important}
.v15-card-front:focus-visible{outline:3px solid #8fe6ff;outline-offset:3px}.v15-card-front:hover{transform:translateY(-10px) scale(1.026);box-shadow:0 12px 32px #000d,0 0 24px #e6b76a6e}
.v15-aethron-clip{margin-top:26px;padding:16px;border:1px solid #e4be7b62;background:#081626;box-shadow:0 14px 50px #0007}.v15-aethron-clip video{display:block;width:100%;max-width:720px;aspect-ratio:16/9;object-fit:contain;background:#02050a;margin-top:12px}
@media(prefers-reduced-motion:reduce){.v15-card-front:hover{transform:none}}