/* Vice Signal: official poster palette, compact wordmark, retro release board. */
.signal{--bg:#131018;--surface:#1d1823;--text:#fff3dc;--muted:#b3a8b9;--line:#f6cae224;--accent:#ff94af;--accent-text:#261526}
.signal .site-header{height:88px;gap:24px}
.signal-brand{position:relative;display:block;width:200px;height:76px;flex:none}
.signal-brand img{width:186px;height:93px;max-width:none;position:absolute;top:-13px;left:0;object-fit:contain;transition:filter .25s,transform .25s}
.signal-brand>span{position:absolute;bottom:1px;left:3px;font:600 6.5px/1.5 'GTA Art Deco',sans-serif;letter-spacing:1.3px;color:#c7aebf}
.signal-brand:hover img{filter:drop-shadow(0 0 8px #ff77ae40);transform:translateY(-1px)}
.signal .site-header nav{gap:29px}
.signal .site-header .btn{padding:13px 20px}
.signal .btn.primary{background:#ff94af;box-shadow:0 4px 0 #ac517125;border:1px solid #ffc0d235;position:relative;overflow:hidden}
.signal .btn.primary::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff8 49%,transparent 80%);transform:translateX(-150%) skewX(-20deg);transition:transform .55s ease}
.signal .btn.primary:hover::before{transform:translateX(150%) skewX(-20deg)}
.signal-hero{height:575px;isolation:isolate;overflow:hidden;background:#251b31}
.signal .hero-image{object-position:center top;transform-origin:center top;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035);transition:transform .8s cubic-bezier(.2,.7,.2,1);animation:poster-breathe 18s ease-in-out infinite alternate;will-change:transform}
.signal .hero-shade{background:linear-gradient(90deg,#131018f5 0%,#131018d6 26%,#22172955 52%,#13101800 76%),linear-gradient(0deg,#131018 0%,#13101812 27%,transparent 65%)}
.signal-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(120deg,transparent 30%,#ffb58608 55%,transparent 74%);animation:sunset-light 10s ease-in-out infinite alternate}
.signal .hero-content{z-index:2}
.signal .hero-copy{padding:29px 0}
.signal .hero-label{font-size:9px;letter-spacing:2px;color:#f7c8d9;margin-bottom:20px}
.signal .hero-label .live-dot{background:#ffb49d;box-shadow:0 0 0 4px #ffb49d14;animation:signal-wave 3s ease-out infinite}
.signal .hero-copy h1{font-size:72px;line-height:1.06;font-weight:700;letter-spacing:-1.8px;color:#fff4df;text-shadow:0 3px 24px #130a1c40}
.signal .hero-copy h1>span{display:block;animation:headline-in .8s cubic-bezier(.2,.75,.25,1) both}
.signal .hero-copy h1>span:nth-child(2){animation-delay:.12s}
.signal .hero-copy h1>span:nth-child(3){animation-delay:.24s}
.signal .hero-copy h1 em{color:#ffa3b7;background:linear-gradient(100deg,#ffd6ab,#ff9bae 65%,#f8a1d5);background-clip:text;-webkit-text-fill-color:transparent}
.signal .hero-copy p{margin-top:20px;color:#dacbdc}
.signal .hero-buttons{margin-top:21px}
.signal .hero-community{margin-top:23px}
.hero-art-link{position:absolute;bottom:39px;right:0;display:grid;grid-template-columns:1fr auto;column-gap:30px;text-align:left;padding:16px 0;border-top:1px solid #ffdfd36b;min-width:246px;text-shadow:0 2px 8px #160b1b}
.hero-art-link>span:first-child{font-family:'GTA Art Deco Condensed',sans-serif;font-size:22px;letter-spacing:1px}
.hero-art-link>small{font-size:7px;letter-spacing:1.5px;color:#ffe4d2;margin-top:5px}
.hero-art-link>.icon{grid-row:1/3;grid-column:2;align-self:center;transition:transform .2s}
.hero-art-link:hover>.icon{transform:translateX(5px)}
.signal .vertical-caption{right:-25px;color:#ffe5ee;opacity:.8}
.release-countdown{position:relative;z-index:3;margin-top:-1px;padding:32px 34px 18px;border:1px solid #a06a8573;border-radius:6px;background:radial-gradient(ellipse at 2% 10%,#57274638,transparent 56%),#1c1622;display:grid;grid-template-columns:1fr auto;gap:23px 36px;box-shadow:0 20px 60px #09050f28}
.release-countdown::before{content:"";position:absolute;top:-1px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,transparent,#ffcf97,#ff88b8,#bea4ed,transparent);box-shadow:0 -2px 18px #ff8bab40;animation:board-glow 6s ease-in-out infinite alternate}
.countdown-brand{display:flex;align-items:center;gap:24px}
.countdown-brand>img{width:134px;height:auto;filter:drop-shadow(0 5px 15px #13091760);flex:none}
.countdown-brand .eyebrow{font-size:7px;letter-spacing:1.5px;color:#c8aac1;margin-bottom:5px}
.countdown-brand h2{font-family:'GTA Art Deco Condensed',sans-serif;text-transform:uppercase;font-size:25px;font-weight:500;line-height:1.25;max-width:210px}
.countdown-brand a{display:inline-block;font-size:11px;letter-spacing:.3px;color:#ffb4b3;padding:8px 0}
.countdown-brand a:hover{text-decoration:underline;text-underline-offset:4px}
.countdown-clock{display:flex;gap:21px;align-items:center}
.count-unit{position:relative;text-align:center;flex:none}
.count-unit+.count-unit::before{content:":";position:absolute;font-family:'GTA Art Deco Condensed',sans-serif;color:#d899b185;font-size:33px;top:17px;left:-16px}
.count-digit{position:relative;display:flex;justify-content:center;align-items:center;gap:2px;border:1px solid #e8b7da2b;border-radius:5px;background:linear-gradient(#342637 0%,#302332 49.5%,#241b29 50%,#2b202e 100%);box-shadow:inset 0 1px #ffecdd18,0 5px 0 #100c15,0 6px 0 #88608045;min-width:85px;height:89px;padding:5px 8px 7px;font:600 60px/1 'GTA Art Deco Condensed',Impact,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#ffcfb8;perspective:400px}
.count-digit::after{content:"";position:absolute;inset:50% -1px auto;height:1px;background:#150e1b;box-shadow:0 1px #ffe8c70d;pointer-events:none}
.count-digit[data-count-unit="days"]{min-width:117px;color:#ffefda}
.count-digit[data-count-unit="seconds"]{color:#e6afd4}
.number-slot{display:block;position:relative;width:.5em;height:1em;isolation:isolate}
.number-slot>span{position:absolute;inset:0;display:block;backface-visibility:hidden;transform-origin:center center}
.count-label{display:block;margin-top:14px;font-size:7px;font-weight:600;letter-spacing:2px;color:#bea5bc}
.countdown-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:22px;border-top:1px solid #d9a9d318;padding-top:13px;font-size:7px;letter-spacing:1px;color:#bdaabd}
.countdown-foot>span{padding-top:3px;white-space:nowrap}
.countdown-foot b{color:#806176;margin:0 7px;font-weight:400}
.countdown-foot details{max-width:450px;text-align:right}
.countdown-foot summary{cursor:pointer;font-size:9px;letter-spacing:0;list-style-position:inside;padding:0 0 4px}
.countdown-foot summary:hover{color:#fff3dc}
.countdown-foot details p{font-size:10px;letter-spacing:0;line-height:1.7;padding-top:4px;color:#d7bbce}
.signal .page-section{padding-top:64px}
.signal .section-head h2{font-size:29px;color:#fff3df}
.signal .image-link{border:1px solid #fac8df1a}
.signal .image-link::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#41152530,transparent 65%);pointer-events:none}
.signal .join-panel{background:linear-gradient(145deg,#322334,#211a29);border-color:#a06a8552}
.signal .join-panel h3{color:#ffd5b5}
.signal .outline-star{color:#fa96b720}
.poster-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:24px}
.poster-card{display:flex;flex-direction:column;min-width:0;padding:0;text-align:left}
.poster-cover{grid-row:span 2}
.poster-image{position:relative;display:block;width:100%;overflow:hidden;border:1px solid #ffdbef2b;border-radius:4px;background:#251d31}
.poster-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}
.poster-cover .poster-image{flex:1;min-height:480px}
.poster-cover .poster-image>img{position:absolute;inset:0;object-fit:contain;background:#edb4ca0d}
.poster-robbery .poster-image,.poster-postcard .poster-image{aspect-ratio:2.24}
.poster-card:hover .poster-image>img{transform:scale(1.035);filter:saturate(1.07)}
.poster-expand{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #fff4df80;background:#24132799;transform:rotate(-35deg);transition:transform .3s,background .3s}
.poster-card:hover .poster-expand{transform:rotate(0);background:#8d4e6bb8}
.poster-caption{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0 2px}
.poster-caption small{font-size:7px;color:#c5a1b8;letter-spacing:1.7px;display:block;margin-bottom:6px}
.poster-caption strong{font-size:17px;font-weight:600}
.poster-caption>span:last-child{color:#f4a1bb;font-size:19px}
.poster-viewer>img{width:100%;max-height:65vh;object-fit:contain;background:#100d17;border-radius:4px}
.poster-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}
.poster-viewer-foot p{font-size:10px!important;margin:0!important}
.poster-viewer-foot .text-link{font-size:10px;color:#ffabc1}
.signal .signal-banner{background:linear-gradient(90deg,#2c1d30f0,#3e263fc9),url('./assets/vice-postcard.jpg') center 58%/cover;border-color:#a36e855e;padding:40px}
.signal .signal-banner h2{font-family:'GTA Art Deco Condensed',sans-serif;font-weight:500;font-size:38px;line-height:1.15;letter-spacing:-.5px}
.signal .site-footer .signal-brand{height:76px}
.signal .site-footer p{margin-top:10px}
.signal [data-reveal]{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.signal [data-reveal="waiting"]{opacity:0;transform:none}
.signal [data-reveal] .section-head h2{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.signal [data-reveal="waiting"] .section-head h2{transform:translateY(18px)}
.signal [data-reveal="shown"] .section-head h2{transform:none}
.signal [data-reveal="shown"]{opacity:1;transform:none}
.signal[data-motion="paused"] *,.signal[data-motion="paused"]::after,.signal[data-motion="paused"] *::before,.signal[data-motion="paused"] *::after{animation-play-state:paused!important}
@keyframes headline-in{from{opacity:0;transform:translateY(24px) rotate(-1deg)}to{opacity:1;transform:none}}
@keyframes poster-breathe{from{scale:1}to{scale:1.035}}
@keyframes sunset-light{from{opacity:.35;transform:translateX(-3%)}to{opacity:1;transform:translateX(3%)}}
@keyframes signal-wave{0%{box-shadow:0 0 0 0 #ffb49d40}70%,100%{box-shadow:0 0 0 8px #ffb49d00}}
@keyframes board-glow{from{opacity:.65}to{opacity:1}}
@container website (max-width:1180px){
  .signal .site-header nav{gap:22px}
  .signal .header-actions{gap:12px}
  .release-countdown{padding:27px 25px 15px;gap:20px}
  .countdown-brand{gap:15px}.countdown-brand>img{width:103px}.countdown-brand h2{font-size:22px}
  .countdown-clock{gap:17px}.count-digit{font-size:52px;min-width:74px;height:82px}.count-digit[data-count-unit="days"]{min-width:100px}.count-unit+.count-unit::before{left:-13px;font-size:27px;top:20px}
}
@container website (max-width:1000px){
  .release-countdown{grid-template-columns:1fr;gap:21px;padding:25px 30px 17px}
  .countdown-brand{justify-content:center}.countdown-brand>img{width:100px}.countdown-brand h2{max-width:none;font-size:25px}
  .countdown-brand .eyebrow{font-size:7px}.countdown-brand a{font-size:12px}
  .countdown-clock{justify-content:center;gap:23px}.count-digit{font-size:62px;min-width:91px;height:90px}.count-digit[data-count-unit="days"]{min-width:125px}.count-unit+.count-unit::before{left:-17px;top:23px}
  .signal .hero-art-link{min-width:180px;bottom:30px}.signal .hero-art-link>span:first-child{font-size:19px}
}
@container website (max-width:900px){
  .signal .site-header{height:88px}.signal-brand{width:195px}
  .signal-hero{height:585px}.signal .hero-image{object-position:56% center}.signal .hero-copy h1{font-size:64px}
  .signal .hero-shade{background:linear-gradient(90deg,#131018f0,#131018a1 42%,#13101800 85%),linear-gradient(0deg,#131018,transparent 40%)}
  .signal .hero-art-link{display:none}.signal .vertical-caption{display:none}
  .poster-grid{gap:20px}.poster-caption strong{font-size:15px}.poster-cover .poster-image{min-height:370px}
}
@container website (max-width:640px){
  .signal .wrap{width:calc(100% - 36px)}
  .signal .site-header{height:91px;gap:10px}.signal-brand{width:155px;height:70px}.signal-brand img{width:155px;height:77.5px;top:-5px}.signal-brand>span{font-size:5.7px;letter-spacing:.8px;bottom:0}
  .signal .site-header .header-actions{gap:1px}.signal .site-header .btn{padding:11px 13px;font-size:10px;min-height:41px}.signal .site-header .icon-button{padding:9px}.signal .site-header .btn .icon{display:none}
  .signal-hero{height:auto;min-height:0}.signal .hero-image{height:365px;object-position:65% 38%;animation:none}
  .signal .hero-shade{background:linear-gradient(0deg,#131018 0%,#131018 47%,#131018d9 54%,#13101810 77%,transparent 100%)}
  .signal .hero-content{height:auto;display:block;padding-top:275px;padding-bottom:30px}.signal .hero-copy{padding:0}
  .signal .hero-label{font-size:7px;letter-spacing:1.5px;margin-bottom:17px}.signal .hero-copy h1{font-size:52px;letter-spacing:-1px;line-height:1.04}
  .signal .hero-copy p{font-size:12px;margin-top:17px;line-height:1.8}.signal .hero-buttons{margin-top:20px;flex-wrap:nowrap;gap:9px}.signal .hero-buttons .btn{font-size:10px;padding:14px 17px;gap:12px;min-height:45px}
  .signal .hero-community{margin-top:20px;font-size:8px}.signal-hero::after{display:none}
  .release-countdown{padding:23px 15px 16px;gap:22px;margin-top:0}
  .countdown-brand{justify-content:flex-start;gap:17px}.countdown-brand>img{width:80px}.countdown-brand h2{font-size:21px;max-width:190px}.countdown-brand .eyebrow{font-size:6px;letter-spacing:1px}.countdown-brand a{font-size:10px;padding-bottom:0}
  .countdown-clock{gap:12px;justify-content:space-between}.count-digit{font-size:43px;min-width:59px;height:69px;padding:5px 6px 7px;gap:1px}.count-digit[data-count-unit="days"]{min-width:80px}.count-unit+.count-unit::before{left:-10px;font-size:18px;top:22px}.count-label{font-size:6px;letter-spacing:1.2px;margin-top:12px}
  .countdown-foot{gap:13px;flex-direction:column;font-size:6px;letter-spacing:.7px}.countdown-foot details{text-align:left;max-width:none}.countdown-foot summary{font-size:9px;padding-bottom:0}.countdown-foot details p{font-size:10px}
  .signal .page-section{padding-top:43px}.signal .section-head{gap:14px}.signal .section-head h2{font-size:24px}.signal .section-head .text-link{font-size:9px;gap:8px}.signal .section-head .eyebrow{font-size:7px;letter-spacing:1.3px}
  .poster-grid{grid-template-columns:1fr;gap:25px}.poster-cover{grid-row:auto}.poster-cover .poster-image{min-height:0;aspect-ratio:1.18}.poster-cover .poster-image>img{object-fit:cover}
  .poster-robbery .poster-image,.poster-postcard .poster-image{aspect-ratio:1.8}.poster-caption{padding-top:13px}.poster-caption strong{font-size:16px}
  .poster-viewer-foot{flex-direction:column;align-items:flex-start;gap:6px}
  .signal .signal-banner{margin-top:43px;padding:26px}.signal .signal-banner h2{font-size:34px}.signal .signal-banner .btn{font-size:10px;gap:20px;padding:16px 18px;margin-top:12px}
  .signal .site-footer .signal-brand{height:70px}
}
@container website (max-width:370px){
  .signal .wrap{width:calc(100% - 28px)}.signal .hero-copy h1{font-size:47px}.signal .hero-buttons .btn{padding:13px 14px;font-size:9px}
  .countdown-clock{gap:10px}.count-digit{font-size:39px;min-width:54px;height:64px}.count-digit[data-count-unit="days"]{min-width:74px}.count-unit+.count-unit::before{left:-8px}.countdown-brand h2{font-size:19px}.countdown-brand>img{width:72px}
}
@media(prefers-reduced-motion:reduce){
  .signal *,.signal::after,.signal *::before,.signal *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .signal .hero-image{transform:none;scale:1;will-change:auto}
  .signal [data-reveal]{opacity:1;transform:none}
}

/* Working community forms and discussion views */
[hidden]{display:none!important}
.signal dialog form,body[data-theme="signal"] #modal form{display:grid;gap:13px;margin-top:22px}body[data-theme="signal"] #modal label{display:grid;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}body[data-theme="signal"] #modal input,body[data-theme="signal"] #modal textarea,body[data-theme="signal"] #modal select{width:100%;border:1px solid #423648;background:#18131c;color:#fff3dc;padding:14px 15px;font:500 14px/1.5 'GTA Art Deco',sans-serif;border-radius:2px}body[data-theme="signal"] #modal textarea{min-height:130px;resize:vertical}body[data-theme="signal"] #modal input:focus,body[data-theme="signal"] #modal textarea:focus,body[data-theme="signal"] #modal select:focus{outline:2px solid #ff94af;outline-offset:2px}body[data-theme="signal"] #modal form small{color:#b6a9b7;font-size:11px;text-transform:none;letter-spacing:0}.auth-tabs{display:flex;gap:6px;margin:22px 0 4px}.auth-tabs button{padding:11px 17px;border:1px solid #423648;color:#c9bbc9;font-weight:800}.auth-tabs button.active{background:#ff94af;color:#18131c;border-color:#ff94af}.form-message{min-height:20px;color:#ffadbf;font-size:12px}.profile-actions,.topic-toolbar{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px;padding-top:16px;border-top:1px solid #3d3141}.danger{color:#ff9caf!important}.topic-body,.article-body{font-size:15px;line-height:1.8;color:#ded2da}.article-lead{font-size:18px!important;color:#fff3dc!important}.topic-replies{display:grid;gap:14px;margin-top:28px}.forum-reply{padding:18px;background:#1b151f;border:1px solid #382c3d}.forum-reply>div{display:flex;align-items:center;gap:11px;margin-bottom:12px}.forum-reply .avatar{width:35px;height:35px;display:grid;place-items:center}.forum-reply time{margin-left:auto;color:#938596;font-size:11px}.forum-reply p{white-space:normal}.auth-gate{margin-top:24px;padding:22px;background:#1b151f;border-left:3px solid #ff94af}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;text-transform:none!important;font-size:14px!important}.check-line input{width:auto!important}body[data-theme="signal"] #modal button:disabled{opacity:.55;cursor:wait}
.recovery-code{display:block;margin:20px 0;padding:18px;border:1px dashed #ff94af;background:#201825;color:#fff3dc;font:700 16px/1.4 monospace;overflow-wrap:anywhere}.reports-list{display:grid;gap:14px;margin-top:22px}.reports-list article{padding:18px;background:#1b151f;border-left:3px solid #ff94af}.reports-list article>div{display:flex;gap:18px;margin-top:13px}.reports-list small{color:#a899a9}
