:root{--ink:#070717;--ink2:#0e1030;--paper:#f7f4f8;--muted:#bcb5cb;--pink:#ff3bbd;--violet:#8f5cff;--orange:#ff9a5a;--line:rgba(255,255,255,.14);--card:rgba(15,15,44,.74)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:30;background:#fff;color:#000;padding:10px}.header{position:absolute;top:0;left:0;right:0;z-index:10;height:86px;display:flex;align-items:center;gap:30px;padding:0 clamp(22px,5vw,82px);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(4,4,20,.7),transparent)}.brand{display:flex;align-items:baseline;gap:3px;text-decoration:none;color:#fff;font-family:'Bebas Neue';font-size:29px;letter-spacing:1px}.brand span{font-size:.56em;color:var(--pink);letter-spacing:2px}.brand b{font-weight:400}.brand i{font-size:1.75em;line-height:.8;font-style:normal;background:linear-gradient(#ff9cdd,#ff3bbd 48%,#725dff);color:transparent;background-clip:text}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(13px,2vw,29px);flex:1}.nav a{color:#eee;text-decoration:none;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.nav a:hover,.nav a.active{color:var(--pink)}.search-button,.nav-toggle,.close{border:0;background:none;color:#fff;font-size:29px;cursor:pointer}.nav-toggle{display:none}.hero{min-height:760px;padding:160px clamp(22px,8vw,132px) 46px;position:relative;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 74% 42%,#ffb066 0%,#f05d9d 19%,#712e86 41%,transparent 66%),linear-gradient(120deg,#05091e 25%,#222059 55%,#ec5f9a 110%)}.hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.77;background:linear-gradient(90deg,rgba(4,4,18,.94) 0%,rgba(4,4,18,.53) 41%,rgba(8,5,30,.09)),repeating-linear-gradient(90deg,transparent 0 6.7%,rgba(255,174,224,.15) 6.8% 7.1%,transparent 7.2% 10%)}.hero:after{content:'';position:absolute;inset:42% 0 0;z-index:-1;background:linear-gradient(0deg,#050719 0%,transparent 46%),repeating-linear-gradient(90deg,#101b4d 0 3.4%,transparent 3.4% 5.3%),linear-gradient(0deg,rgba(14,7,45,.9),transparent);clip-path:polygon(0 45%,5% 45%,5% 21%,10% 21%,10% 38%,15% 38%,15% 12%,21% 12%,21% 44%,29% 44%,29% 27%,33% 27%,33% 4%,38% 4%,38% 35%,47% 35%,47% 17%,52% 17%,52% 42%,59% 42%,59% 27%,64% 27%,64% 5%,69% 5%,69% 38%,76% 38%,76% 17%,82% 17%,82% 45%,89% 45%,89% 29%,95% 29%,95% 43%,100% 43%,100% 100%,0 100%)}.hero-copy{max-width:660px}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:#ff9fdc;font:12px 'DM Mono';letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:'';height:6px;width:6px;background:var(--pink);box-shadow:0 0 14px var(--pink);border-radius:100%}.hero h1,.page-hero h1{font-family:'Bebas Neue';font-size:clamp(70px,11vw,164px);letter-spacing:-.025em;line-height:.77;margin:19px 0 25px;max-width:610px;text-shadow:0 7px 1px #060615}.hero h1 em{display:block;font-family:Manrope;font-weight:800;font-style:normal;font-size:.29em;letter-spacing:.17em;color:var(--pink);margin:16px 0 0}.hero p{max-width:520px;font-size:16px;line-height:1.75;color:#e5daea}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.button{cursor:pointer;border:1px solid var(--pink);padding:14px 19px;border-radius:4px;background:transparent;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.button.primary{background:var(--pink);box-shadow:0 0 24px rgba(255,59,189,.38)}.button:hover{transform:translateY(-2px);filter:brightness(1.15)}.scroll-note{position:absolute;bottom:43px;right:7vw;font:11px 'DM Mono';color:#faadd9;writing-mode:vertical-rl}.home-content{margin-top:-1px;background:linear-gradient(180deg,#08081c,#0a0d2a)}.section{padding:clamp(55px,8vw,115px) clamp(22px,8vw,132px)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-title h2{font-family:'Bebas Neue';font-size:clamp(42px,5vw,76px);font-weight:400;letter-spacing:.02em;line-height:.85;margin:0}.section-title p{color:var(--muted);font-size:13px;max-width:340px;margin:0}.tiny-link{color:#ff9fdc;text-decoration:none;font:12px 'DM Mono';white-space:nowrap}.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.article{min-height:270px;position:relative;padding:18px;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column;justify-content:end;cursor:pointer;background:var(--card)}.article:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--art-bg,linear-gradient(140deg,#e55f9d,#20215c));opacity:.75;transition:.35s}.article:after{content:'';position:absolute;inset:35% 0 0;z-index:-1;background:linear-gradient(transparent,#08091e 83%)}.article:hover:before{transform:scale(1.08);opacity:1}.tag{align-self:flex-start;font:10px 'DM Mono';letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:20px;background:var(--pink);color:white}.tag.rumor{background:#8d60ff}.tag.media{background:#ff9b5b}.article h3{font-size:16px;line-height:1.25;margin:12px 0 9px;text-transform:uppercase}.article small{color:#c5b9d3;font:11px 'DM Mono'}.article .arrow{position:absolute;right:16px;bottom:14px;font-size:22px}.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.map-glow{min-height:400px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:radial-gradient(circle at 56% 53%,#ff5fb5 0 1%,transparent 1.4%),radial-gradient(circle at 35% 36%,#ff8b5d 0 1%,transparent 1.3%),linear-gradient(135deg,#24124a 0 18%,#075669 18% 26%,#15103d 26% 46%,#104b5e 46% 52%,#2c174c 52%);position:relative}.map-glow:after{content:'VICE CITY\A CARTOGRAPHIE COMMUNAUTAIRE';white-space:pre;position:absolute;left:30px;bottom:27px;font-family:'Bebas Neue';font-size:34px;letter-spacing:.04em;line-height:.85}.feature-copy{padding:35px;background:linear-gradient(135deg,#161033,#0c1736);border:1px solid var(--line);border-radius:9px}.feature-copy h3{font-family:'Bebas Neue';font-size:48px;font-weight:400;line-height:.9;margin:0 0 17px}.feature-copy p{color:var(--muted);line-height:1.8;font-size:14px}.trust{background:linear-gradient(90deg,#181035,#0c1635,#181035);padding:30px clamp(22px,8vw,132px);display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.trust div{border-left:1px solid var(--line);padding-left:18px}.trust b{display:block;font-size:13px;text-transform:uppercase}.trust span{color:#bdb4ca;font-size:12px;line-height:1.6}.page{padding-top:86px;min-height:70vh;background:radial-gradient(ellipse at 80% 0,#43194f,transparent 45%),#090a20}.page-hero{padding:76px clamp(22px,8vw,132px) 40px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(62px,9vw,120px);margin:15px 0 0}.page-hero p{max-width:630px;color:var(--muted);line-height:1.75}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:28px}.input,.select{border:1px solid var(--line);border-radius:4px;background:#12132c;color:#fff;padding:13px 14px;font:13px Manrope;outline:none}.input{min-width:min(100%,320px);flex:1}.select{cursor:pointer}.filter{border:1px solid var(--line);background:transparent;color:#d3c9df;padding:10px 12px;border-radius:20px;cursor:pointer;font-size:12px}.filter.active,.filter:hover{border-color:var(--pink);color:#fff;background:rgba(255,59,189,.15)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.empty{grid-column:1/-1;color:var(--muted);padding:35px;text-align:center;border:1px dashed var(--line)}.detail h2{font-family:'Bebas Neue';font-size:52px;font-weight:400;line-height:.92;margin:13px 0}.detail p{color:#c9c1d4;line-height:1.8}.detail .meta{font:11px 'DM Mono';color:#f3a8d5}.trailer-grid,.character-grid,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.trailer,.character,.gallery-item{min-height:235px;border:1px solid var(--line);border-radius:8px;padding:22px;position:relative;overflow:hidden;background:var(--art-bg,linear-gradient(140deg,#252153,#f55ea8))}.trailer:after,.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,19,.93),transparent 75%);pointer-events:none}.trailer>*{position:relative;z-index:1}.play{width:52px;height:52px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;margin-bottom:80px}.character{min-height:320px;display:flex;flex-direction:column;justify-content:end}.character h2{font-family:'Bebas Neue';font-size:51px;font-weight:400;line-height:.8;margin:0}.character p{font-size:12px;color:#d3cadc}.gallery-item{cursor:pointer;min-height:210px}.gallery-item b{position:absolute;z-index:1;left:16px;bottom:15px;font:13px 'DM Mono'}.community-card{max-width:750px;margin:auto;padding:38px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(135deg,#1d133d,#0d1837)}.community-card h2{font-family:'Bebas Neue';font-size:56px;font-weight:400;line-height:.9;margin:0 0 14px}.community-card p{color:var(--muted);line-height:1.7}.community-card form{display:flex;gap:10px;margin-top:20px}.footer{padding:45px clamp(22px,8vw,132px);display:flex;gap:28px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);background:#050615}.footer p{max-width:360px;margin:0;font-size:11px;color:#958ca4;line-height:1.6}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,14,.82);z-index:20;padding:20px;place-items:center}.modal.open{display:grid}.modal-card{position:relative;max-width:700px;width:100%;max-height:88vh;overflow:auto;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:#11132e;padding:36px}.close{position:absolute;right:14px;top:7px}.modal-visual{height:200px;border-radius:5px;margin-bottom:22px;background:var(--art-bg)}@media(max-width:860px){.header{height:69px;padding:0 20px}.nav-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:69px;background:#0c0c24;border-bottom:1px solid var(--line);padding:17px 20px;flex-wrap:wrap;justify-content:start}.nav.open{display:flex}.nav a{padding:8px}.hero{min-height:690px;padding:128px 23px 48px}.scroll-note{display:none}.article-grid{grid-template-columns:repeat(2,1fr)}.article{min-height:235px}.trust{grid-template-columns:repeat(2,1fr)}.news-grid,.trailer-grid,.character-grid,.gallery{grid-template-columns:repeat(2,1fr)}.feature{grid-template-columns:1fr}.footer{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.search-button{font-size:24px}.brand{font-size:24px}.hero h1{font-size:82px}.article-grid,.news-grid,.trailer-grid,.character-grid,.gallery{grid-template-columns:1fr}.trust{grid-template-columns:1fr}.trust div{padding-bottom:10px}.section-title{align-items:flex-start;flex-direction:column}.community-card form{flex-direction:column}.footer{gap:14px}}
:root{--hero-image:url('./assets/vice-sunset-selection.png')}
.hero{background-image:linear-gradient(90deg,rgba(4,4,18,.89),rgba(4,4,18,.3) 60%,rgba(4,4,18,.08)),var(--hero-image);background-size:cover;background-position:center}
.hero:before{background:linear-gradient(0deg,#070717,transparent 32%);opacity:1}
.hero:after{display:none}
.article{isolation:isolate}
.article:before,.trailer,.gallery-item,.modal-visual{background-size:cover;background-position:center}
.gallery-item{color:var(--paper);text-align:left;font-family:inherit}
.gallery-item:hover{border-color:var(--pink)}
.gallery-item[hidden]{display:none}
.article[data-article="tropical-storms"]{min-height:420px}
.article[data-article="tropical-storms"]:before{background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:1;background-color:#070717}
.gallery-item[data-image="assets/storms-hurricanes.png"]{min-height:340px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.article[data-article="pc-cloud-denial"]{min-height:420px}
.article[data-article="pc-cloud-denial"]:before{background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:1;background-color:#070717}
.gallery-item[data-image="assets/pc-cloud-rumor.png"]{min-height:340px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.article[data-article="money-story"]{min-height:420px}
.article[data-article="money-story"]:before{background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:1;background-color:#070717}
.gallery-item[data-image="assets/money-bar.png"]{min-height:420px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.article[data-article="heists-mission-freedom"]{min-height:420px}
.article[data-article="heists-mission-freedom"]:before{background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:1;background-color:#070717}
.gallery-item[data-image="assets/heist-duo.png"]{min-height:420px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.article[data-article="radios-leonida"]{min-height:360px}
.article[data-article="radios-leonida"]:before{background-position:center top;background-size:100% auto;background-repeat:no-repeat;opacity:1}
.radio-visual{height:300px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.article[data-article="cyberleek-footage"]{min-height:420px}
.article[data-article="cyberleek-footage"]:before{background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:1;background-color:#070717}
.gallery-item[data-image="assets/leak-alert.png"]{min-height:420px;background-size:contain;background-repeat:no-repeat;background-color:#070717}
.character{background-size:cover;background-position:center}
.character:nth-child(1){background-image:linear-gradient(0deg,#070717,transparent 85%),url('./assets/duo-bandanas.png');background-position:30% center}
.character:nth-child(2){background-image:linear-gradient(0deg,#070717,transparent 85%),url('./assets/duo-action.png');background-position:75% center}
.character:nth-child(3){background-image:linear-gradient(0deg,#070717,transparent 85%),url('./assets/vice-night.png')}
.home-content .map-glow{background:linear-gradient(0deg,rgba(5,7,25,.85),transparent 65%),url('./assets/coastal-skyline-selection.png') center/cover}
.home-content .map-glow:after{content:'LEONIDA\A ILLUSTRATION D’AMBIANCE · IA';font-size:28px}
.modal-visual[style*="55vh"]{background-size:contain;background-repeat:no-repeat;background-color:#070717}
.art-credit{position:absolute;right:20px;bottom:12px;font:9px 'DM Mono';color:#cbbbd6;letter-spacing:.08em}
@media(max-width:520px){.hero{background-position:64% center}}

/* Signature rose-violette : halo discret au repos, renforcé à l’interaction. */
.screenshots-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}
.screenshots-intro p,.screenshot-count{font:12px 'DM Mono';color:var(--muted);line-height:1.7}
.screenshot-quick-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.screenshot-quick-filters .filter{padding:12px 18px;font-size:14px}
.screenshot-quick-filters span{display:inline-block;margin-left:8px;color:#e8baff;font:11px 'DM Mono'}
.screenshots-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.screenshot-tile{display:block;width:100%;padding:0;border:1px solid var(--neon-border);border-radius:9px;background:#101127;color:var(--paper);text-align:left;cursor:pointer;overflow:hidden;box-shadow:var(--neon-halo);transition:border-color .2s,box-shadow .2s}
.screenshot-tile:hover{border-color:#ff7dd5;box-shadow:var(--neon-halo-active)}
.screenshot-thumb{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#231435,#111c3b);overflow:hidden}
.screenshot-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.screenshot-tile:hover img{transform:scale(1.035)}
.screenshot-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px}
.screenshot-caption strong{display:block;font-size:14px}.screenshot-caption small{display:block;color:var(--muted);font:11px 'DM Mono';margin-top:7px}
.screenshot-caption>span:last-child{color:#ff9fdc;font-size:22px}
.screenshot-modal{max-width:1200px;width:100%;padding:40px 24px 24px}
.screenshot-full{margin:0}.screenshot-full img{display:block;width:100%;max-height:65vh;object-fit:contain;background:#070717;border-radius:5px}
.screenshot-full h2{font:30px 'Bebas Neue';margin:20px 0 5px}.screenshot-full p{font:12px 'DM Mono';color:var(--muted)}
.screenshot-viewer-actions{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:20px}
.screenshot-viewing{overflow:hidden}.screenshot-error{font:13px Manrope;color:#ffb4dc;padding:20px}
@media(max-width:1120px){
  .header{height:69px;padding:0 20px;gap:20px}
  .nav-toggle{display:block;margin-left:auto}
  .nav-toggle span{display:block;width:23px;height:2px;background:var(--pink);margin:6px 0;box-shadow:0 0 8px rgba(255,59,189,.45)}
  .nav{display:none;position:absolute;left:0;right:0;top:69px;background:#0c0c24;border-bottom:1px solid var(--neon-border);padding:17px 20px;flex-wrap:wrap;justify-content:start}
  .nav.open{display:flex}.nav a{padding:8px}
}
@media(max-width:860px){.screenshots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.screenshots-grid{grid-template-columns:1fr}.screenshots-intro{align-items:flex-start;flex-direction:column}.screenshot-modal{padding:40px 14px 20px}.screenshot-viewer-actions .button{font-size:10px;padding:11px 10px}}
@media(prefers-reduced-motion:reduce){.screenshot-tile,.screenshot-thumb img{transition:none}}
:root{
  --neon-border:rgba(255,93,202,.48);
  --neon-halo:0 0 8px rgba(255,59,189,.13),0 0 20px rgba(143,92,255,.12),inset 0 0 6px rgba(143,92,255,.06);
  --neon-halo-active:0 0 10px rgba(255,59,189,.28),0 0 26px rgba(143,92,255,.24),inset 0 0 8px rgba(255,59,189,.08);
}
.article,.trailer,.character,.gallery-item,.map-glow,.feature-copy,.community-card,.modal-card,
.button,.filter,.input,.select,.play{
  border-color:var(--neon-border);
  box-shadow:var(--neon-halo);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.button.primary{
  box-shadow:0 0 12px rgba(255,59,189,.3),0 0 25px rgba(143,92,255,.2);
}
.article:hover,.gallery-item:hover,.button:hover,.filter:hover,.filter.active,
.trailer:focus-within,.community-card:focus-within,.input:focus,.select:focus{
  border-color:#ff7dd5;
  box-shadow:var(--neon-halo-active);
}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,
.input:focus-visible,.select:focus-visible{
  outline:2px solid #cf9bff;
  outline-offset:4px;
  box-shadow:var(--neon-halo-active);
}
.nav a:hover,.tiny-link:hover{ text-shadow:0 0 9px rgba(255,59,189,.5),0 0 18px rgba(143,92,255,.35); }

/* Fenêtres de lecture et photos agrandies après ouverture. */
.official-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.official-video-card{border:1px solid var(--neon-border);box-shadow:var(--neon-halo);border-radius:10px;overflow:hidden;background:#101127}
.official-video-card video,.video-pending{display:block;width:100%;aspect-ratio:16/9;background:#03040a}
.official-video-card video{object-fit:contain}
.video-pending{position:relative;overflow:hidden}
.video-pending img{width:100%;height:100%;object-fit:cover;opacity:.48}
.video-pending span{position:absolute;left:18px;bottom:18px;padding:8px 12px;border:1px solid var(--neon-border);border-radius:5px;background:rgba(7,7,23,.8);font:12px 'DM Mono';color:#ffb4dc}
.official-video-copy{padding:28px}
.official-video-copy h2{font:52px 'Bebas Neue';margin:12px 0}
.official-video-copy p{font-size:14px;color:var(--muted);line-height:1.8}
.official-video-copy .video-status{font:12px 'DM Mono';color:#f5b9e3;margin:18px 0 26px}
@media(max-width:860px){.official-video-grid{grid-template-columns:1fr}}
.modal:has(.screenshot-modal){padding:0;background:#03040a}
.modal .modal-card.screenshot-modal{
  width:100vw;max-width:none;height:100dvh;max-height:none;
  padding:0;border:0;border-radius:0;overflow:hidden;background:#03040a;box-shadow:none;
}
.screenshot-modal #modal-content{width:100%;height:100%}
.screenshot-modal .screenshot-full{width:100%;height:100%;position:relative}
.screenshot-modal .screenshot-full img{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;background:#03040a}
.screenshot-modal .screenshot-full figcaption{
  position:absolute;top:0;left:0;right:0;padding:18px 78px 32px 24px;
  background:linear-gradient(rgba(3,4,10,.85),transparent);pointer-events:none;
}
.screenshot-modal .screenshot-full h2{margin:0 0 6px}
.screenshot-modal .screenshot-full p{margin:0}
.screenshot-modal .screenshot-viewer-actions{
  position:absolute;left:0;right:0;bottom:0;margin:0;padding:35px 24px 20px;
  background:linear-gradient(transparent,rgba(3,4,10,.9));align-items:center;
}
.screenshot-modal .screenshot-viewer-actions .button{background:rgba(12,12,36,.8);backdrop-filter:blur(8px)}
.modal .screenshot-modal .close{position:absolute;top:12px;right:16px;margin:0;background:rgba(12,12,36,.8)}
@media(max-width:520px){
  .screenshot-modal .screenshot-full figcaption{padding:16px 65px 25px 14px}
  .screenshot-modal .screenshot-full h2{font-size:24px}
  .screenshot-modal .screenshot-full p{font-size:10px}
  .screenshot-modal .screenshot-viewer-actions{padding:30px 12px max(14px,env(safe-area-inset-bottom))}
}
.modal{padding:12px}
.modal-card{max-width:1500px;width:96vw;max-height:96vh;padding:48px 32px 32px}
.modal-visual,.radio-visual{height:clamp(280px,65vh,900px);background-size:contain;background-repeat:no-repeat;background-color:#070717}
.modal-visual[style*="55vh"]{height:75vh!important}
.screenshot-modal{max-width:1800px;width:98vw;padding:44px 22px 22px}
.screenshot-full img{max-height:78vh}
.modal .detail{max-width:1050px;margin:0 auto}
.modal .detail p{font-size:16px}
.modal .close{position:sticky;display:block;top:0;margin:-38px -14px 8px auto;width:42px;height:42px;font-size:36px;background:#11132e;border-radius:50%;z-index:3}
@media(max-width:520px){
  .modal{padding:6px}
  .modal-card,.screenshot-modal{width:100%;padding:44px 14px 20px}
  .modal-visual,.radio-visual{height:55vh}
  .modal-visual[style*="55vh"]{height:70vh!important}
  .screenshot-full img{max-height:72vh}
  .modal .detail h2{font-size:40px}
}
@media(prefers-reduced-motion:reduce){
  .article,.trailer,.character,.gallery-item,.map-glow,.feature-copy,.community-card,.modal-card,
  .button,.filter,.input,.select,.play{transition:none}
}

/* Cast: cinematic leads first, sourced supporting dossiers below. */
.vice-page{background:radial-gradient(ellipse at 85% 0,#49204f,transparent 50%),#090a1c}
.vice-login{display:grid;grid-template-columns:1fr 1fr;min-height:850px}
.vice-login-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:70px clamp(25px,5vw,80px);background:linear-gradient(0deg,#0c0926e8,#190d3944),url('./assets/vice-sunset-selection.png') center/cover;border-right:1px solid #cb5cce66}
.vice-wordmark{font:clamp(100px,13vw,200px)/.8 'Bebas Neue',Impact,sans-serif;letter-spacing:4px;color:#fff;text-shadow:0 0 45px #fd40b84a}
.vice-wordmark em{font-size:.34em;font-style:normal;letter-spacing:8px;color:#ff85d4}
.vice-login-art>p{font-size:18px;line-height:1.8;color:#f3d8e9;margin-top:35px}
.vice-credit{position:absolute;bottom:20px;font-size:10px;color:#ccb6d2}
.vice-login-copy{padding:75px clamp(25px,5vw,85px);display:flex;flex-direction:column;justify-content:center}
.vice-login-copy h1,.vice-heading h1{font:clamp(44px,5vw,76px)/1 'Bebas Neue',Impact,sans-serif;margin:24px 0;letter-spacing:1px}
.vice-login-copy h1 em,.vice-heading h1 em{font-style:normal;color:#ff6fce}
.vice-login-copy>p{color:#c6bcd2;line-height:1.9;font-size:15px}
.vice-google{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0 8px;padding:18px;background:linear-gradient(135deg,#eb3aa8,#944be0);border-radius:9px}
.vice-google span{font:bold 22px Arial;color:#fff}
.vice-page button:disabled,.vice-dialog button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.vice-small{font-size:11px!important;line-height:1.7;color:#a99db9}
.vice-setup{padding:22px;border:1px solid #e163b15e;border-radius:12px;background:#24132f;margin:22px 0;color:#cbbbd6;font-size:13px;line-height:1.8}
.vice-setup strong{color:#ffb2de;font-size:15px}.vice-setup ol{padding-left:20px}
.vice-legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}
.vice-legal-links button,.vice-bottom>button,.vice-comment>button{color:#d4a7d9;background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;font-size:11px}
.vice-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:65px clamp(22px,8vw,132px) 35px;border-bottom:1px solid #bd52d350}
.vice-heading p{color:#b8acc8}.vice-account{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vice-author{display:inline-flex;align-items:center;gap:12px;border:0;background:none;color:#fff;cursor:pointer;font:600 14px Manrope,Arial;text-align:left;padding:0}
.vice-avatar{width:44px;height:44px;object-fit:cover;border-radius:50%;border:1px solid #e65abd88;flex-shrink:0}
.vice-initial{display:grid;place-items:center;background:linear-gradient(135deg,#f25aaa,#5e44a1);font-size:23px}
.vice-feed{padding-top:36px}.vice-toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.vice-filter-list{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 35px}
#vice-posts{display:grid;grid-template-columns:minmax(0,900px);justify-content:center;gap:28px}
.vice-post{min-width:0;background:linear-gradient(135deg,#1b1530,#101429);border:1px solid #db59c254;border-radius:16px;padding:28px;box-shadow:0 0 20px #a534de14}
.vice-post header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.vice-post time{font-size:11px;color:#b4a8c6}
.vice-badges{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 16px}.vice-badges span{border:1px solid #ae64bb77;border-radius:20px;padding:6px 10px;font-size:10px;color:#e3c5ed}.vice-badges .vice-primary-category{background:#a7388b44;border-color:#f66bc9}
.vice-post h2{font-size:clamp(24px,3vw,36px);line-height:1.2;overflow-wrap:anywhere;margin:18px 0}.vice-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#d5cede;line-height:1.8;font-size:14px}
.vice-post-image{width:100%;max-height:650px;object-fit:contain;border-radius:10px;background:#090b18;margin-top:15px}
.vice-post footer{display:flex;flex-wrap:wrap;gap:18px;align-items:center;border-top:1px solid #c167c62e;margin-top:25px;padding-top:20px}
.vice-post footer button{color:#dbcbe5;background:none;border:0;cursor:pointer;font:12px Manrope,Arial}.vice-post footer button[aria-pressed="true"]{color:#ff6acc}
.vice-post details{position:relative;margin-left:auto}.vice-post summary{cursor:pointer;padding:8px}.vice-post details div{position:absolute;right:0;top:100%;background:#201630;border:1px solid #d35cc477;z-index:2;border-radius:8px;padding:12px;display:grid;gap:12px;min-width:140px}
.vice-empty{padding:65px 25px;text-align:center;border:1px dashed #a24bbc77;border-radius:16px;color:#bcb0c9}.vice-empty h2{font-size:30px;color:#ecd9f0}
.vice-bottom{margin-top:45px;padding-top:25px;border-top:1px solid #9859a655;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
#vice-notice:not([hidden]),#vice-dialog-notice:not(:empty){background:#301931;border:1px solid #e76eaa66;border-radius:8px;padding:14px;color:#ffd5e9;font-size:13px;line-height:1.7}
#vice-more{display:block;margin:25px auto}#vice-more[hidden]{display:none}
.vice-dialog{max-width:1000px;margin:auto}.vice-dialog h2{font:52px/1 'Bebas Neue',Impact,sans-serif;margin:18px 0 26px}.vice-dialog form{margin-top:30px}.vice-dialog label{display:flex;flex-direction:column;gap:10px;margin:22px 0;color:#e2cbe9;font-size:13px}.vice-dialog label .input{width:100%;font-family:inherit;min-width:0}.vice-dialog fieldset{border:1px solid #ba60d75a;border-radius:10px;padding:20px;margin:25px 0}.vice-dialog legend{color:#ff9dda;font-size:14px}.vice-dialog fieldset p{font-size:12px;color:#b7a7c6}
.vice-category-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vice-category-picker label{display:flex;flex-direction:row;align-items:center;margin:0;padding:12px;border:1px solid #bf63bc44;border-radius:8px;font-size:11px}.vice-category-picker label:has(input:checked){background:#8d327846;border-color:#f25ac6}.vice-dialog input[type="checkbox"]{accent-color:#ef4abd}.vice-dialog textarea{resize:vertical}.vice-dialog input[type="file"]{color:#bcb0c8}
.vice-dialog>p{color:#c6bad2;line-height:1.9}.vice-comment{border:1px solid #b957bb44;border-radius:10px;padding:20px;margin:16px 0;background:#111224}.vice-comment small{display:block;margin:10px 0;color:#a397b6}.vice-comment>button{margin-right:16px}.vice-comment .vice-small{display:block}#vice-preview{margin-top:35px}
@media(max-width:1000px){.vice-login{grid-template-columns:.8fr 1.2fr}.vice-login-art{padding:50px 24px}.vice-wordmark{font-size:120px}.vice-heading{align-items:flex-start;flex-direction:column}.vice-category-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vice-login{grid-template-columns:1fr}.vice-login-art{min-height:290px;border-right:0;border-bottom:1px solid #c24ebb66;padding:45px 25px}.vice-login-art>p{display:none}.vice-wordmark{font-size:95px}.vice-login-copy{padding:42px 25px}.vice-heading{padding-top:40px}.vice-heading h1{font-size:55px}.vice-toolbar>*{width:100%}.vice-post{padding:20px 16px}.vice-post footer{gap:12px}.vice-category-picker{grid-template-columns:1fr}.vice-dialog h2{font-size:42px}.vice-post header time{margin-left:56px}.vice-dialog fieldset{padding:14px}}
.editorial-news{background:#080a17}
.news-lead{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;overflow:hidden;padding:60px clamp(22px,6vw,100px);border-bottom:1px solid #ec58c655;background:#141025}
.news-lead:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--art-bg);background-size:cover;background-position:center}
.news-lead:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#070917f5 0%,#070917da 30%,#07091775 57%,#07091710 82%),linear-gradient(0deg,#080a17,transparent 28%)}
.news-lead-copy{width:min(100%,640px)}
.news-badges{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px}
.news-pill{display:inline-block;width:fit-content;padding:7px 12px;border-radius:7px;color:#090a17;background:#ff51d0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.news-certainty{color:#fff;background:#191825e6;border:1px solid #a15ebc88}
.news-lead h1{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(44px,5.1vw,86px);font-weight:400;letter-spacing:.5px;line-height:1.03;margin:0 0 24px;text-transform:uppercase;text-wrap:balance}
.news-lead-copy>p{font-size:clamp(15px,1.2vw,19px);line-height:1.7;color:#e1dbe6;max-width:54ch}
.news-meta{display:flex;flex-direction:column;gap:9px;color:#c7b8d3;font-size:12px;margin:22px 0 26px;line-height:1.5}
.news-meta time{color:#f6d9f0;font-size:14px}
.news-image-note{position:absolute;right:25px;bottom:15px;color:#c9b5d1;font-size:10px;letter-spacing:.5px}
.news-feed{padding-top:45px}
.news-feed .section-title h2{font-size:clamp(38px,4vw,60px)}
.news-count{color:#c8b8d3;font-size:12px;margin:0 0 22px}
.news-editorial-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.news-tile{display:flex;flex-direction:column;min-width:0;background:transparent;color:#fff;padding:0;border:1px solid #bd4ad440;border-radius:10px;overflow:hidden;text-align:left;font:inherit;cursor:pointer;box-shadow:0 0 12px #b746e714;transition:border-color .2s,box-shadow .2s}
.news-tile:hover,.news-tile:focus-visible{border-color:#ff68cf;box-shadow:0 0 22px #aa46ff44;outline:2px solid #b363f6;outline-offset:3px}
.news-tile-image{position:relative;display:block;aspect-ratio:16/9;width:100%;background:var(--art-bg);background-size:cover;background-position:center;border-bottom:1px solid #af50c444}
.news-tile-image .news-pill{position:absolute;top:10px;left:10px;font-size:9px;padding:6px 8px}
.news-rumor{background:#ffae59}
.news-demo{position:absolute;bottom:8px;right:8px;background:#111d;padding:4px 7px;font-size:10px;color:#ffe7fc}
.news-tile-copy{display:flex;flex-direction:column;gap:12px;padding:16px 13px;height:100%;background:linear-gradient(160deg,#161021,#090b18)}
.news-tile-copy strong{font-size:15px;line-height:1.35;text-wrap:balance}
.news-tile-status{font-size:10px;color:#d1a7ce}
.news-tile time{font-size:12px;color:#aaa7bc;margin-top:auto}
.news-date-note{font-size:11px;color:#958aa5;line-height:1.7;margin-top:30px}
@media(min-width:1800px){.news-editorial-grid{gap:28px}.news-tile-copy strong{font-size:18px}}
@media(max-width:1200px){.news-editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.news-lead-copy{max-width:580px}}
@media(max-width:760px){.news-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-lead{min-height:600px;align-items:flex-end;padding-top:190px;padding-bottom:45px}.news-lead:after{background:linear-gradient(0deg,#080a17 0%,#080a17e8 45%,#080a1770 75%,#080a1740)}.news-lead:before{background-position:65% center}.news-lead-copy{max-width:100%}.news-lead h1{font-size:52px}.news-image-note{left:22px;right:auto;bottom:12px}}
@media(max-width:420px){.news-editorial-grid{grid-template-columns:1fr}.news-lead h1{font-size:44px}.news-lead-copy>p{font-size:14px}.news-tile-copy strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.news-tile{transition:none}}
.official-video-grid{display:grid;grid-template-columns:1fr;gap:48px;max-width:1500px;margin:0 auto}
.official-video-card{overflow:hidden;border:1px solid #ed54c477;border-radius:16px;background:#111125;box-shadow:0 0 24px #aa40ff22}
.official-video-card video{display:block;width:100%;height:auto;max-height:80vh;aspect-ratio:16/9;object-fit:contain;background:#000}
.official-video-card video:focus-visible{outline:2px solid #ff7cdb;outline-offset:-3px}
.official-video-copy{padding:28px 32px}
.official-video-copy h2{font-size:clamp(32px,4vw,56px);margin:10px 0}
.official-video-copy p{line-height:1.7;color:#d3c6df}
.official-video-copy .button{margin:10px 12px 0 0}
.official-video-copy .video-status{font-size:13px;color:#bcb0c9}
@media(max-width:620px){.official-video-copy{padding:22px 18px}.official-video-grid{gap:28px}.official-video-copy .button{display:flex;justify-content:center;margin-right:0}}
.cast-tools{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:48px}
.cast-tools label{font-size:13px;text-transform:uppercase;letter-spacing:2px}
.cast-tools .input{flex:1;min-width:180px;max-width:540px}
.cast-tools p{color:#cdbdd8;font-size:13px}
.cast-section{margin-bottom:64px}
.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cast-leads{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cast-card{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,67,190,.42);box-shadow:0 0 14px #b33fff18;background:#111125;color:#fff;border-radius:16px;padding:0;text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,box-shadow .2s}
.cast-card:hover,.cast-card:focus-visible{border-color:#ff72d2;box-shadow:0 0 24px #a953ff44;outline:2px solid #b36cff;outline-offset:3px}
.cast-photo{min-height:420px}
.cast-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.cast-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#08081800 12%,#08081870 43%,#080818f5 85%)}
.cast-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:26px;height:100%;box-sizing:border-box}
.cast-photo .cast-copy{padding-top:180px}
.cast-lead{min-height:590px}
.cast-lead .cast-copy{padding:300px 34px 34px}
.cast-badge{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;padding:6px 10px;background:#17152adc;border:1px solid #dd68cc66;border-radius:5px;margin-bottom:16px}
.cast-caution{border-color:#ffb36b80;color:#ffcc9d}
.cast-role{color:#ff9fdc;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;display:block;margin-bottom:8px}
.cast-copy strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:36px;font-weight:400;line-height:1.1;letter-spacing:1px;text-transform:uppercase}
.cast-lead strong{font-size:clamp(44px,5vw,76px)}
.cast-alias{color:#e9badb;margin-top:7px;font-size:13px}
.cast-summary{font-size:14px;line-height:1.7;margin:16px 0 22px;color:#e2dce9;max-width:42ch}
.cast-open{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;margin-top:auto;color:#ffa3df}
.cast-text .cast-copy{padding:26px}
.cast-text strong{font-size:28px}
.cast-radio{padding:24px;border:1px solid #ba57e04d;background:linear-gradient(140deg,#241333,#111326);border-radius:12px}
.cast-radio h3{font-size:22px;margin:12px 0 22px}
.cast-rumors{border:1px solid #c763c16b;border-radius:14px;padding:24px;background:#151125}
.cast-rumors summary{cursor:pointer;font-size:20px;color:#ffc1e9}
.cast-rumors p{color:#bfb4cb;line-height:1.7;max-width:85ch}
.cast-chips{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.cast-chips span{border:1px solid #ae75bc66;border-radius:30px;padding:7px 15px;font-size:13px;color:#dcb9e4}
.cast-detail-image{display:block;width:100%;height:70vh;object-fit:contain;background:#070717;margin-bottom:28px}
@media(max-width:1000px){.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-leads{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-lead{min-height:520px}.cast-lead .cast-copy{padding:250px 24px 28px}}
@media(max-width:620px){.cast-grid,.cast-leads{grid-template-columns:1fr}.cast-lead{min-height:520px}.cast-lead strong{font-size:56px}.cast-tools{margin-bottom:30px}.cast-tools label{width:100%}.cast-section{margin-bottom:44px}.cast-photo{min-height:430px}.cast-detail-image{height:60vh}}
@media(prefers-reduced-motion:reduce){.cast-card{transition:none}}
