/* OyrFilm 2.4 — Cinematic Ultra. Responsive, GPU-friendly presentation layer.
   No external CDN, fonts, scripts or tracking. */
:root{--ultra-ice:#d0c1ff;--ultra-violet:#a891ff;--ultra-gold:#f4d5a8;--ultra-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
body{background:#090910;background-image:radial-gradient(ellipse 800px 610px at 58% -240px,#2c234a4c,transparent 74%),linear-gradient(180deg,#080910,#0c0b13 46%,#090b12);background-attachment:scroll}
.topbar{background:rgba(10,9,19,.69);border-bottom:1px solid #dac4ff18;transition:background .3s,border-color .3s,box-shadow .3s}
body.has-scrolled .topbar{background:#10101bdb;border-bottom-color:#cfb6ff35;box-shadow:0 14px 44px #0008}
.brand-mark{position:relative;box-shadow:0 0 21px #ac8cff39,0 9px 24px #a78fff25}
.brand-mark:before{content:"";position:absolute;inset:-5px;border-radius:16px;border:1px solid #d7c4ff37;pointer-events:none}
.desktop-nav .nav-link{transition:color .25s,text-shadow .25s}
.desktop-nav .nav-link:hover{color:#e7dfff;text-shadow:0 0 22px #b8a0ff55}
.main-content{overflow:clip;overflow:visible}
/* Hero: color-grading on photo stays readable in both landscape and portrait. */
.home-page .cinematic-stage{border:1px solid #f0dbff37;box-shadow:0 3px 0 #ffffff09 inset,0 45px 125px #000b,0 0 88px #b999ff10;border-radius:27px}
.cinematic-stage::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;border:1px solid #ffffff15;pointer-events:none}
.cinematic-stage .stage-backdrop-img{filter:brightness(.76) saturate(1.18) contrast(1.03)}
.cinematic-stage .stage-scrim{background:linear-gradient(90deg,#0a0a15fa 0%,#0c0b19ed 28%,#0c0b19a3 53%,#0c0b19a8 100%),linear-gradient(0deg,#0b0a18 0%,transparent 50%)}
.ultra-lens{pointer-events:none;position:absolute;inset:0;z-index:-1;opacity:.65;background:radial-gradient(circle 360px at var(--spot-x,70%) var(--spot-y,34%),rgba(177,142,255,.20),transparent 74%);mix-blend-mode:screen;transition:opacity .4s}
.cinematic-stage .stage-topline{border-bottom:1px solid #ffffff20;padding-bottom:15px}
.cinematic-stage .stage-editorial{color:#f1daac;letter-spacing:1.7px}
.cinematic-stage .hero-content h1{font-weight:850;font-size:clamp(43px,4.7vw,78px);letter-spacing:-3px;text-shadow:0 9px 40px #000d}
.cinematic-stage .stage-cta{background:linear-gradient(120deg,#f0e8ff,#b6a4ff 78%);color:#181126;box-shadow:0 12px 44px #bca7ff45;transition:transform .3s var(--ultra-ease),box-shadow .3s}
.cinematic-stage .stage-cta:hover{transform:translateY(-3px);box-shadow:0 16px 56px #c6b4ff5e}
.cinematic-stage .stage-secondary,.cinematic-stage .btn-icon{background:linear-gradient(145deg,#ffffff22,#ffffff0b);border:1px solid #f7e9ff42;box-shadow:inset 0 1px #ffffff28,0 7px 22px #0004;backdrop-filter:blur(12px)}
.cinematic-stage .stage-secondary:hover,.cinematic-stage .btn-icon:hover{background:#ffffff24;border-color:#ded0ff73}
.stage-poster-halo{background:#a99aff99;filter:blur(54px)}
.stage-poster img{box-shadow:0 20px 70px #0009}
.stage-pick.active{background:#cdb6ff13;border-color:#bea5ff55}
.stage-pick-track:before{background:linear-gradient(90deg,#f4d8aa,#c2a9ff)}
.stage-arrow{background:#ffffff12;border:1px solid #ffffff43;box-shadow:inset 0 1px #ffffff25;backdrop-filter:blur(8px)}
.stage-arrow:hover{background:#d6c6ff;color:#171027}
/* A tasteful micro-editorial ribbon rather than another full movie API call. */
.ultra-discovery-ribbon{display:flex;align-items:center;gap:15px;padding:17px 25px;margin:17px 1px 3px;background:linear-gradient(100deg,#1e1a2a8c,#211c315e 45%,#1416227a);border:1px solid #e1d0ff2c;border-radius:17px;box-shadow:inset 0 1px #ffffff12,0 13px 36px #0003}
.ultra-ribbon-mark{font-size:28px;color:var(--ultra-gold);filter:drop-shadow(0 0 13px #d5abff80)}
.ultra-discovery-ribbon strong{font-size:13px;color:#eee9ff;display:block;letter-spacing:.2px}
.ultra-discovery-ribbon small{display:block;margin-top:4px;color:#aba8bc;font-size:11px}
.ultra-discovery-ribbon a{margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:99px;border:1px solid #c9b5ff40;background:#d0b9ff12;color:#ebddff;font-size:11px;font-weight:750;transition:background .2s,transform .2s}
.ultra-discovery-ribbon a:hover{background:#c6aaff2d;transform:translateY(-2px)}
.ultra-discovery-ribbon a svg{width:15px;height:15px}
.home-page .home-marquee{opacity:.6}
.home-editorial-head h2,.home-browser-title h2{letter-spacing:-1.6px}
.home-editorial-head h2 em,.home-browser-title h2 em{background:linear-gradient(110deg,#eecfa5,#c1b4ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.home-page .editorial-card{box-shadow:0 15px 35px #0005;border-color:#e2c8ff33}
.home-page .editorial-card:hover{box-shadow:0 24px 60px #0008,0 0 0 1px #efd9ff5e}
.home-page .genre-glass{box-shadow:inset 0 1px #ffffff22,0 13px 34px #0003}
.home-page .genre-glass:hover{border-color:#c9a7ff70;box-shadow:0 23px 50px #0007,0 0 30px #8c6aff1a}
/* Cards: image-frame contrast, quick view that respects touch layouts. */
.movie-card{isolation:isolate}
.movie-poster-wrap{border:1px solid #f5e7ff1e;box-shadow:0 13px 40px #0005,inset 0 1px #ffffff12;transition:transform .42s var(--ultra-ease),border-color .24s,box-shadow .35s}
.movie-card:hover .movie-poster-wrap{border-color:#d1b6ff81;box-shadow:0 19px 51px #0009,0 0 32px #ae90ff28}
.movie-card .card-title{transition:color .24s}
.movie-card:hover .card-title{color:#e7dcff}
.movie-card .card-quick{position:absolute;left:50%;top:53%;z-index:7;display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;white-space:nowrap;max-width:calc(100% - 15px);padding:0 14px;border:1px solid #ffffff73;background:#181324d9;color:#f9f4ff;border-radius:99px;font-size:11px;font-weight:800;box-shadow:0 12px 30px #0009;transform:translate(-50%,10px);opacity:0;pointer-events:none;transition:opacity .24s,transform .34s var(--ultra-ease),background .22s;backdrop-filter:blur(12px);cursor:pointer}
.movie-card .card-quick svg{width:15px;height:15px}
.movie-card:hover .card-quick,.movie-card:focus-within .card-quick{opacity:1;transform:translate(-50%,-50%);pointer-events:auto}
.movie-card .card-quick:hover{background:#bea8ff;color:#171023}
.movie-card .mini-fav{z-index:8}
.movie-card:focus-within{outline:2px solid #b4a3ff;outline-offset:6px;border-radius:10px}
/* The multi-filter bar replaces jumping on the first select change. */
.filters-strip.ultra-filter-bar{display:block;padding:22px 24px 18px;background:linear-gradient(119deg,#252036ca,#161522e8 54%,#181923d4);border:1px solid #e9d7ff38;border-radius:20px;box-shadow:inset 0 1px #ffffff27,0 20px 58px #0005;backdrop-filter:blur(15px)}
.ultra-filter-bar .filters-title{display:flex;align-items:center;gap:13px;margin-bottom:19px}
.ultra-filter-bar .filters-title svg{width:23px;height:23px}
.ultra-filter-bar .filters-title strong{display:block;color:#f2ebff;font-size:15px;letter-spacing:-.2px}
.ultra-filter-bar .filters-title small{display:block;margin-top:5px;color:#b1aabf;font-size:11px;font-weight:500}
.ultra-filter-bar .filters-controls.ultra-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.disco-field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#c8c0d8;font-size:10px;letter-spacing:.8px;font-weight:750}
.disco-field .filter-select{width:100%;min-width:0;height:44px;padding:0 35px 0 13px;border:1px solid #ffffff2a;background-color:#12121ead;border-radius:10px;color:#f4effe;font-size:12px;font-weight:650;letter-spacing:0;transition:border-color .18s,background-color .18s,box-shadow .18s}
.disco-field .filter-select:hover{border-color:#beaaff7d;background-color:#222037}
.disco-field .filter-select:focus{outline:2px solid #bda7ff;border-color:transparent;outline-offset:1px}
.disco-field .disco-keyword{background-image:none;padding-right:12px}
.ultra-filter-actions{margin-top:17px;padding-top:15px;border-top:1px solid #e5d8ff1c;display:flex;gap:12px;align-items:center;justify-content:space-between}
.ultra-filter-actions>span{display:flex;gap:8px;align-items:center;color:#b8b1c9;font-size:11px}
.ultra-filter-actions>span svg{width:15px;height:15px;color:#c5adff}
.ultra-filter-actions>div{display:flex;align-items:center;gap:14px}
.filter-reset{font-size:11px;font-weight:750;color:#c4bcd3;text-decoration:underline;text-underline-offset:4px}
.filter-reset:hover{color:#fff}
.filter-apply{min-height:43px;border-radius:10px;padding:0 20px;background:linear-gradient(105deg,#ddcaff,#a996ff);color:#181123;font-size:12px;font-weight:850;box-shadow:0 8px 24px #a88aff22}
.filter-apply:hover{box-shadow:0 12px 30px #ba9bff5b}
.filter-apply svg{width:15px;height:15px}
/* Results: explicit scope avoids deceptive claims of exhaustive intersection. */
.ultra-discover-head{position:relative;overflow:hidden;border-radius:23px;min-height:235px;padding:35px 40px;background:linear-gradient(120deg,#2c213b,#141521 61%,#17182c);border:1px solid #d9c2ff38;box-shadow:inset 0 1px #ffffff1b,0 22px 55px #0006;margin-top:38px}
.ultra-discover-head::before{content:"";position:absolute;width:450px;height:450px;right:-100px;top:-250px;border-radius:50%;background:radial-gradient(circle,#b78aff55,transparent 70%);pointer-events:none}
.ultra-discover-head .catalog-title{position:relative;z-index:2;font-size:clamp(36px,4vw,60px);letter-spacing:-2.4px;margin:12px 0}
.ultra-discover-head .catalog-title em{font-style:normal;color:#eacdaa}
.ultra-discover-symbol{font-size:150px;color:#d3baff23;position:absolute;right:7%;top:-10%;line-height:1}
.discovery-page .ultra-filter-bar{margin-top:22px}
.discovery-scope{margin:18px 0 25px;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;color:#b3acc5;font-size:11px}
.discovery-scope span:first-child{display:flex;align-items:center;gap:7px;color:#d0c4e9}.discovery-scope svg{width:16px;height:16px}
.discovery-result-header{margin:20px 0 24px;display:flex;justify-content:space-between;gap:15px;align-items:center}
.discovery-result-header h2{font-size:clamp(18px,2.3vw,25px);letter-spacing:-.8px;margin:6px 0 9px;color:#f5efff}
.discovery-active-list{display:flex;gap:8px;flex-wrap:wrap}.discovery-active-tag{background:#bba4ff19;border:1px solid #e0c6ff34;color:#e0d3ff;padding:6px 10px;border-radius:99px;font-size:10px}
.disco-status{white-space:nowrap;font-size:10px;border:1px solid #d5baff38;border-radius:99px;color:#d6c7e8;padding:7px 12px}
.discovery-no-results{padding:47px 20px;text-align:center;border:1px dashed #e0c8ff3d;background:#ffffff06;border-radius:18px;color:#cfc6dd;font-size:13px}
.discovery-footer{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:26px;border-top:1px solid #e2d3ff23;padding-top:19px}
.discovery-footer p{max-width:750px;margin:0;color:#ada8bd;font-size:11px;line-height:1.7}
.discovery-footer .btn{flex:none;min-height:43px}
/* Quick Look dialog is inert until selected and only then fetches detailed metadata. */
.quick-preview{padding:0;width:min(900px,calc(100% - 28px));max-height:min(85vh,800px);background:#151421;color:#f2ecff;border:1px solid #e7d8ff55;border-radius:23px;box-shadow:0 40px 125px #000e,0 0 75px #a58cff28;overflow:hidden}
.quick-preview[open]{animation:quickEnter .28s var(--ultra-ease) both}
.quick-preview::backdrop{background:rgba(1,1,7,.83);backdrop-filter:blur(8px)}
.quick-surface{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);min-height:430px}
.quick-cover{position:relative;min-height:430px;overflow:hidden;background:#292238}
.quick-cover img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(.84)}
.quick-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,#151421)}
.quick-info{padding:47px 36px 38px 30px;display:flex;flex-direction:column;justify-content:center;gap:0}
.quick-info h2{font-size:clamp(25px,3vw,39px);line-height:1.16;letter-spacing:-1.4px;margin:13px 0 8px}
.quick-original{font-size:12px;color:#b6abc9;margin:0 0 15px}
.quick-meta{display:flex;gap:9px;flex-wrap:wrap}.quick-meta span{padding:5px 8px;border:1px solid #e8d6ff2c;color:#ded3f0;background:#bbaaff0c;border-radius:6px;font-size:10px}
.quick-description{color:#c6bfd4;line-height:1.85;font-size:12px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin:15px 0 0}
.preview-loading{font-size:11px;color:#baa6e4}
.quick-actions{margin-top:22px;display:flex;gap:9px;flex-wrap:wrap}.quick-actions .btn{min-height:43px;font-size:11px;padding:0 14px}
.quick-close{position:absolute;right:13px;top:13px;z-index:3;display:grid;place-items:center;cursor:pointer;width:39px;height:39px;border-radius:50%;border:1px solid #ffffff59;background:#14101cb6;color:#fff;font-size:26px;line-height:1;backdrop-filter:blur(8px)}
.quick-close:hover{background:#b9a3ff;color:#160e28}
@keyframes quickEnter{from{opacity:0;transform:translateY(17px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
/* Responsive. Touch gets discoverable Quick Look instead of hover-only actions. */
@media(hover:none){.movie-card .card-quick{opacity:1;pointer-events:auto;transform:none;top:auto;bottom:59px;left:9px;border-radius:9px;background:#161121db;min-height:30px;font-size:10px;padding:0 8px;box-shadow:0 5px 14px #0009}.movie-card .card-quick span{display:none}.movie-card .card-quick svg{width:16px;height:16px}}
@media(max-width:1000px){.ultra-filter-bar .filters-controls.ultra-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-surface{grid-template-columns:minmax(0,38%) minmax(0,1fr)}}
@media(max-width:700px){.ultra-discovery-ribbon{padding:13px 15px;gap:9px}.ultra-discovery-ribbon strong{font-size:12px}.ultra-discovery-ribbon small{font-size:9px}.ultra-discovery-ribbon a{padding:9px 10px;font-size:10px}.ultra-filter-bar .filters-controls.ultra-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-strip.ultra-filter-bar{padding:16px 13px}.ultra-filter-actions>span{display:none}.ultra-filter-actions>div{width:100%;justify-content:space-between}.ultra-discover-head{padding:27px 24px;min-height:200px}.discovery-footer{flex-direction:column;align-items:flex-start}.discovery-result-header{align-items:flex-start}.quick-preview{max-height:90vh;overflow-y:auto}.quick-surface{display:block}.quick-cover{height:220px;min-height:220px}.quick-cover::after{background:linear-gradient(0deg,#151421,transparent 80%)}.quick-info{padding:15px 22px 26px}.quick-info h2{font-size:26px}.quick-description{-webkit-line-clamp:3}}
@media(max-width:460px){.ultra-discovery-ribbon{flex-wrap:wrap}.ultra-discovery-ribbon a{width:100%;justify-content:space-between;margin-left:0}.ultra-filter-bar .filters-controls.ultra-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.disco-field .filter-select{height:42px;font-size:11px}.disco-field>span{font-size:9px}.disco-query{grid-column:1/-1}.ultra-filter-bar .filters-title strong{font-size:13px}.ultra-filter-bar .filters-title small{line-height:1.4}.ultra-discover-head{margin-top:21px;padding:24px 18px}.ultra-discover-head .catalog-title{font-size:34px}.ultra-discover-symbol{font-size:110px;right:0}.discovery-scope{display:block}.discovery-scope span{display:flex;margin:6px 0}.discovery-result-header{display:block}.disco-status{display:inline-block;margin-top:7px}.quick-actions .btn{flex:1}.quick-info{padding:13px 17px 22px}}
@media(max-width:355px){.ultra-filter-bar .filters-controls.ultra-filter-grid{grid-template-columns:1fr}.disco-query{grid-column:auto}.quick-actions{gap:6px}.quick-actions .btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.quick-preview[open]{animation:none}.ultra-lens{display:none}.card-quick,.movie-poster-wrap,.ultra-discovery-ribbon a{transition:none!important}}
