﻿/* IrmuunTV public design system */
:root{--color-primary:#bd23ff;--color-background:#08080c;--color-surface:#121218;--color-surface-elevated:#1a1a22;--color-text-primary:#fff;--color-text-secondary:#a7a7b3;--color-success:#74e6ac;--color-warning:#ffd17a;--color-error:#ff939f;--border:rgba(255,255,255,.1);--radius:12px;--gutter:clamp(20px,4.5vw,88px);color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid var(--color-primary);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,5vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:750}h2{font-size:23px;letter-spacing:-.025em}img{display:block;max-width:100%}.muted,.poster p,footer p{color:var(--color-text-secondary)}.accent{color:#d986ff}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.22em;color:#c4b7ce}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--color-primary);border-radius:50%;margin-right:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;background:#a50ce3;border:1px solid transparent;border-radius:7px;font-weight:700;color:#fff;transition:background .2s,transform .2s}.button:hover{background:#bd23ff;transform:translateY(-1px)}.button.secondary{background:#ffffff0c;border-color:#ffffff24;backdrop-filter:blur(8px)}.button.secondary:hover{background:#ffffff18}.button.small{min-height:40px;padding:8px 19px;font-size:12px}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:25px 0}.button-row form{margin:0}.skip{position:fixed;top:-100px;left:20px;background:#a50ce3;padding:15px;z-index:100}.skip:focus{top:10px}.site-header{height:88px;display:flex;align-items:center;gap:50px;padding:0 var(--gutter);position:relative;z-index:10;background:#08080cee;border-bottom:1px solid #ffffff07}.brand{font-weight:900;font-size:21px;letter-spacing:.015em;white-space:nowrap}.brand>span:last-child{color:var(--color-primary)}.brand-symbol{display:inline-block;font-style:italic;color:var(--color-primary);font-size:32px;line-height:1;margin-right:6px;letter-spacing:-6px;transform:rotate(12deg)}.site-header nav{display:flex;gap:28px;align-items:center;height:100%}.site-header nav a{font-size:12px;color:#aaa9b3;height:100%;display:flex;align-items:center;position:relative}.site-header nav a:hover,.site-header nav a[aria-current]{color:#fff}.site-header nav a[aria-current]:after{content:'';position:absolute;bottom:20px;height:2px;background:var(--color-primary);width:18px;left:calc(50% - 9px)}.header-actions{margin-left:auto;display:flex;gap:25px;align-items:center}.search-link{font-size:23px;white-space:nowrap}.search-link span{font-size:12px;margin-left:7px;color:#bbb}.menu-toggle{display:none;background:none;border:1px solid var(--border);color:white;padding:9px;border-radius:6px}.hero{min-height:640px;height:calc(88vh - 88px);max-height:900px;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;z-index:-3;filter:brightness(.78)}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#08080cf5 0%,#08080cd6 24%,#08080c48 65%,#08080c15),linear-gradient(0deg,#08080c 0%,transparent 35%,#08080c25 90%)}.hero-copy{padding:35px var(--gutter) 65px;max-width:760px}.hero-copy .eyebrow{margin-bottom:30px}.hero-kicker{font-size:15px;color:#ded5e4;margin-bottom:15px}.hero h1{font-size:clamp(40px,5.5vw,80px);max-width:650px;margin-bottom:25px;text-wrap:balance}.metadata{display:flex;gap:17px;align-items:center;font-size:12px;color:#cac7cf;margin-bottom:20px}.badge{border:1px solid #ffffff50;padding:0 5px;border-radius:3px}.synopsis{max-width:440px;font-size:14px;line-height:1.85;color:#bebac5}.hero-caption{font-size:9px;letter-spacing:.2em;color:#837d8e;margin-top:30px}.hero-index{position:absolute;right:var(--gutter);bottom:65px;font-size:10px;color:#888;letter-spacing:.12em}.hero-index b{color:#fff;font-size:22px}.hero-index div{height:2px;margin-top:12px;background:linear-gradient(90deg,var(--color-primary) 32%,#ffffff30 32%)}.catalogue{padding-bottom:50px}.discovery-bar{margin:0 var(--gutter) 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--border);padding:12px 0 28px}.chips{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid var(--border);border-radius:30px;padding:9px 20px;font-size:12px;color:#bbb}.chip:hover,.chip.selected{background:#bd23ff1b;border-color:#bd23ff55;color:#e6b6ff}.collection{margin:0 0 40px;padding:0 var(--gutter)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading h2{margin:0;font-size:21px}.rail-arrow{border:1px solid var(--border);color:#bbb;background:var(--color-surface);border-radius:50%;width:36px;height:36px;font-size:24px;margin-left:8px;line-height:1}.rail-arrow:hover{color:white;border-color:var(--color-primary)}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 100px)/6);gap:20px;overflow-x:auto;padding:8px 4px 15px;margin:0 -4px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#39313f transparent}.poster{min-width:0;scroll-snap-align:start;display:block}.poster-art{aspect-ratio:2/3;border-radius:9px;background:linear-gradient(135deg,#20162c,#121218);position:relative;overflow:hidden;border:1px solid #ffffff09;transition:transform .25s,border-color .25s}.poster img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.poster:hover img,.poster:focus-visible img{transform:scale(1.045)}.poster:hover .poster-art,.poster:focus-visible .poster-art{border-color:#bd23ff99}.poster h3{font-size:13px;margin:12px 0 4px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster p{font-size:10px;margin:0}.poster p span{margin:0 5px;color:#62566e}.rating{position:absolute;top:10px;right:10px;border:1px solid #ffffff20;border-radius:4px;padding:2px 6px;font-size:10px;background:#08080cba;color:#ffe1a1}.play-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#a50ce3dd;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;opacity:0;transition:opacity .2s}.poster:hover .play-mark,.poster:focus-visible .play-mark{opacity:1}.page-section{padding:65px var(--gutter);min-height:50vh}.page-section>.eyebrow{margin-bottom:18px}.page-section>h1{margin-bottom:20px}.poster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 20px;margin:35px 0}.filters{display:flex;gap:18px;align-items:end;margin:35px 0}.filters label:first-child{flex:1}.filters label{margin:0;min-width:160px}label{display:block;font-size:12px;font-weight:600;margin:20px 0 0;color:#d4d0da}input,select,textarea{display:block;width:100%;border:1px solid #ffffff20;background:#0d0d14;color:#fff;padding:13px 15px;border-radius:7px;margin-top:8px;min-height:48px}textarea{resize:vertical}.empty{padding:30px;color:#aaa;border:1px dashed #ffffff20;border-radius:10px}.empty .button{margin-top:15px}.detail{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:65px;align-items:start;background:radial-gradient(ellipse at top right,#bd23ff10,transparent 70%)}.detail-poster{width:100%;border-radius:12px}.detail h1{font-size:clamp(32px,4vw,64px);margin-top:20px}.detail-description{max-width:750px;color:#b6b1bd;line-height:1.9}.episodes{display:grid;gap:10px}.episode{display:flex;gap:25px;padding:22px;background:var(--color-surface);border-radius:8px}.episode>span:last-child{margin-left:auto;color:#aaa}.pricing{text-align:center}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:55px 0 30px;text-align:left}.plan{background:var(--color-surface);border:1px solid var(--border);padding:30px 24px;border-radius:14px}.plan h2{margin-top:25px}.plan-price{font-size:32px;font-weight:750;letter-spacing:-.03em}.plan-price span{font-size:18px}.plan p{font-size:12px}.plan ul{padding:20px 0 20px 18px;color:#ccc;font-size:12px;line-height:2.5;border-top:1px solid var(--border);margin-top:25px}.plan .button{width:100%;font-size:12px;padding:12px}.featured-plan{border-color:var(--color-primary);background:linear-gradient(160deg,#bd23ff18,var(--color-surface) 65%)}.auth-layout{min-height:75vh;display:grid;grid-template-columns:1fr 430px;gap:70px;align-items:center;padding:70px max(var(--gutter),8vw);background:radial-gradient(ellipse at 20% 40%,#bd23ff18,transparent 60%)}.auth-intro h1{margin-top:25px}.auth-intro h1 span{color:var(--color-primary)}.auth-card,.panel{padding:35px;border:1px solid var(--border);border-radius:14px;background:var(--color-surface)}.auth-card h2{font-size:28px;margin-bottom:8px}.auth-card>.muted{font-size:13px}.auth-card>.button{width:100%;margin-top:25px}.auth-links{display:flex;justify-content:space-between;font-size:11px;color:#d986ff;margin-top:24px;gap:15px}.checkbox{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px}.checkbox input{width:16px;min-height:16px;margin:0;accent-color:var(--color-primary)}.checkbox a{text-decoration:underline}.narrow{max-width:850px;margin:auto}.panel{margin:30px 0}.panel .button{margin-top:24px}.notice{background:#251233;border:1px solid #bd23ff55;border-radius:7px;margin:20px var(--gutter);padding:16px;font-size:14px}.auth-card .notice{margin:20px 0}details{border-bottom:1px solid var(--border);padding:20px 0}summary{cursor:pointer;font-weight:600}details p{color:#aaa;margin-top:15px}.legal{line-height:1.9}.legal h2{margin-top:32px}.legal p{color:#bdb9c5}.error-page{text-align:center;padding-top:70px;padding-bottom:90px}.error-number{font-size:clamp(100px,18vw,200px);font-weight:900;color:#bd23ff;line-height:1.3}.error-page h1{font-size:36px}footer{border-top:1px solid var(--border);padding:45px var(--gutter);display:grid;grid-template-columns:1fr auto;gap:12px 30px}footer p{font-size:12px;margin:0;grid-column:1}footer nav{grid-column:2;grid-row:1/3;display:flex;gap:25px;align-items:center;font-size:11px;color:#aaa}footer small{font-size:10px;color:#76717f;margin-top:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#251233;border:1px solid #bd23ff70;border-radius:8px;padding:15px 22px;display:none}#toast.visible{display:block}.player{width:100%;max-height:75vh;background:#000}.skeleton{background:linear-gradient(90deg,#121218,#25212b,#121218);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}
@media(min-width:1600px){.rail{grid-auto-columns:calc((100% - 120px)/7)}}
@media(max-width:1100px){.site-header{gap:25px}.site-header nav{gap:18px}.rail{grid-auto-columns:calc((100% - 60px)/4)}.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-layout{gap:35px;grid-template-columns:1fr 380px}.search-link span{display:none}footer nav{gap:14px}}
@media(max-width:760px){.site-header{height:72px;gap:14px}.brand{font-size:17px}.brand-symbol{font-size:26px}.menu-toggle{display:block;margin-left:auto;font-size:11px;min-height:40px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;padding:20px;background:#121218;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border)}.site-header nav.open{display:flex}.site-header nav a{padding:10px}.site-header nav a[aria-current]:after{display:none}.header-actions{margin-left:0;gap:12px}.button.small{padding:8px 12px}.hero{height:auto;min-height:620px;align-items:end}.hero-backdrop{object-position:60% 25%}.hero-shade{background:linear-gradient(0deg,#08080c 0%,#08080ccc 40%,#08080c35 100%)}.hero-copy{padding-top:150px;padding-bottom:40px}.hero-copy .eyebrow{margin-bottom:20px}.hero h1{font-size:42px;max-width:500px}.hero-kicker{font-size:13px}.hero-index,.hero-caption{display:none}.hero .button{font-size:12px;padding:12px 18px}.discovery-bar{display:block}.discovery-bar>.eyebrow{display:block;margin-bottom:18px}.chips{gap:7px}.chip{padding:8px 15px;font-size:11px}.rail{grid-auto-columns:calc((100% - 28px)/3);gap:14px}.section-heading h2{font-size:19px}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 13px}.poster h3{font-size:12px}.poster p{font-size:9px}.auth-layout{display:block;padding:45px var(--gutter)}.auth-intro h1{font-size:43px}.auth-intro{margin-bottom:35px}.auth-card{max-width:480px;margin:auto;padding:27px}.detail{grid-template-columns:120px 1fr;gap:24px}.detail h1{font-size:30px;margin-top:10px}.detail .eyebrow{font-size:8px}.detail-description{font-size:13px}.detail .metadata{flex-wrap:wrap;gap:10px}.detail>.detail-poster{position:sticky;top:20px}.detail .button{font-size:12px}.page-section{padding-top:40px;padding-bottom:40px}.filters{flex-wrap:wrap;gap:14px}.filters label:first-child{flex-basis:100%}.filters label{flex:1}.filters .button{font-size:12px}.plans{grid-template-columns:1fr 1fr}.plan{padding:24px 18px}.plan-price{font-size:27px}.episode{gap:13px;padding:15px;font-size:12px}footer{display:block}footer p{margin-top:12px}footer nav{flex-wrap:wrap;margin:25px 0}.search-link{font-size:24px}.narrow .panel{padding:24px}}
@media(max-width:420px){.rail{grid-auto-columns:43%}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans{grid-template-columns:1fr}.detail{display:block}.detail-poster{max-width:160px;margin-bottom:25px}.hero h1{font-size:36px}.brand-symbol{display:none}.site-header{gap:10px}.header-actions{gap:8px}.hero .button-row{gap:8px}.rail-arrow{width:32px;height:32px}.search-link{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.embedded-player{aspect-ratio:16/9;border:0;min-height:320px}


.watch-progress{display:block;appearance:none;width:100%;height:3px;border:0;accent-color:var(--color-primary);background:#27212e;margin-top:6px}.watch-progress::-webkit-progress-bar{background:#27212e}.watch-progress::-webkit-progress-value{background:var(--color-primary)}.watch-progress::-moz-progress-bar{background:var(--color-primary)}

/* Use the supplied square brand artwork without cropping or distortion. */
[hidden]{display:none!important}
body.qpay-dialog-open{overflow:hidden}
.qpay-dialog{width:min(640px,calc(100% - 28px));max-width:none;max-height:90vh;max-height:90dvh;padding:0;border:1px solid #ffffff30;border-radius:16px;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 24px 90px #000b;text-align:left}
.qpay-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.qpay-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;background:var(--color-surface);border-bottom:1px solid #ffffff20}
.qpay-header h2{margin:0;font-size:23px}
.qpay-content{padding:22px}.qpay-content .muted{font-size:12px;overflow-wrap:anywhere}
.qpay-qr{margin:20px auto;padding:12px;background:#fff;border-radius:10px;max-width:100%;height:auto}
.qpay-banks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.qpay-banks .button{padding:10px;font-size:12px;overflow-wrap:anywhere}
#qpay-status{padding:12px;border-radius:8px;background:#bd23ff14}
body.legal-dialog-open{overflow:hidden}
.legal-dialog{width:min(720px,calc(100% - 32px));max-width:none;max-height:85vh;max-height:85dvh;padding:0;color:var(--color-text-primary);background:var(--color-surface);border:1px solid #ffffff26;border-radius:16px;box-shadow:0 24px 90px #000b;overflow:hidden}
.legal-dialog[open]{display:flex;flex-direction:column}
.legal-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.legal-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #ffffff1a;flex-shrink:0}
.legal-dialog-header h2{margin:0;font-size:clamp(18px,4vw,24px);line-height:1.4}
.legal-dialog-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid #ffffff24;border-radius:8px;background:#ffffff0a;color:#fff;font-size:30px;line-height:1}
.legal-dialog-close:hover{background:#ffffff20}
.legal-dialog-content{overflow-y:auto;overscroll-behavior:contain;padding:24px;line-height:1.9;color:var(--color-text-secondary)}
.legal-dialog-content p:last-child{margin-bottom:0}
.auth-card>form>.button{width:100%;margin-top:25px}
.like-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid #ffffff30;border-radius:5px;background:#08080cd9;color:#fff;font-size:12px;font-variant-numeric:tabular-nums}
.poster-art .like-badge{position:absolute;top:10px;right:10px;pointer-events:none}
.poster-link{display:block;border-radius:9px}
.poster:focus-within .poster-art{border-color:#bd23ff99}
.poster-link:focus-visible .play-mark{opacity:1}
.content-like{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #ffffff26;border-radius:7px;background:#ffffff08;color:#c6becd;font-size:12px;line-height:1.4;margin-top:9px}
.content-like svg{flex-shrink:0}
.content-like:hover{background:#bd23ff20;color:#fff;border-color:#bd23ff70}
.content-like[aria-pressed="true"]{color:#e2adff;background:#bd23ff20;border-color:#bd23ff80}
.content-like[aria-pressed="true"] svg{fill:currentColor;stroke:var(--color-surface)}
.poster .content-like{max-width:100%;padding:7px 9px;font-size:11px;flex-wrap:wrap}
.like-count{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.button-row .content-like{margin:0;min-height:48px}
.rail-container{position:relative;isolation:isolate}
.rail-container .rail-arrow{position:absolute;top:8px;bottom:15px;z-index:2;width:64px;height:auto;margin:0;border:0;border-radius:0;color:#fff;font-size:52px;display:flex;align-items:center;justify-content:center;transition:opacity .2s;text-shadow:0 2px 12px #000}
.rail-container .rail-arrow-left{left:-4px;background:linear-gradient(90deg,rgba(8,8,12,.94),rgba(8,8,12,.65) 45%,transparent)}
.rail-container .rail-arrow-right{right:-4px;background:linear-gradient(270deg,rgba(8,8,12,.94),rgba(8,8,12,.65) 45%,transparent)}
.rail-container .rail-arrow:hover span{transform:scale(1.15)}
.rail-container .rail-arrow:focus-visible{outline-offset:-4px;border-radius:6px}
.rail-container .rail-arrow:disabled{opacity:0;pointer-events:none;cursor:default}
@media(max-width:760px){.rail-container .rail-arrow{width:44px;font-size:42px}}
.social-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--color-muted,#aaa);font-size:13px}
.social-divider::before,.social-divider::after{content:"";flex:1;height:1px;background:#39323f}
.social-buttons{display:grid;gap:12px}
.social-buttons .button{width:100%;gap:12px;white-space:normal;text-align:center}
.social-google{background:#fff;color:#1f1f1f;border:1px solid #747775}
.social-facebook{background:#1877f2;color:#fff;border:1px solid #1877f2}
.social-buttons .button span{font-size:24px;font-weight:700;line-height:1}
.social-terms{font-size:12px;line-height:1.7;margin-top:18px}
.social-terms a{text-decoration:underline}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand-logo{width:68px;height:68px;object-fit:contain}
footer .brand-logo{width:88px;height:88px}
@media(max-width:760px){.brand-logo{width:54px;height:54px}.site-header .button.small{font-size:11px}}

.poster-badges{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:4px;pointer-events:none}
.language-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #ffffff20;border-radius:4px;background:#08080ce6;color:#fff;font-size:10px;font-weight:600;line-height:1.5;white-space:nowrap}
.poster-art .poster-badges .like-badge{position:static;margin-left:auto}

.poster-art .language-badge .flag-emoji{display:inline-block;position:static;width:18px;height:18px;min-width:18px;max-width:none;object-fit:contain;flex-shrink:0;transform:none}
