:root{--bg: rgba(10,16,28,.7);--card: #0a101c;--text: #ebebeb;--muted: #c9c9c9;--accent: #ebebeb;--accent-ink: #0a101c;--danger: #e45757;--border: #1a2334;--glass: rgba(134, 134, 134, .55);--overlay-1: radial-gradient(1200px 800px at 10% 0%, rgba(0,0,0,.55), transparent 60%);--overlay-2: radial-gradient(1200px 800px at 90% 100%, rgba(0,0,0,.55), transparent 50%)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:16px;line-height:1.4;letter-spacing:0;color:var(--text);background:var(--bg);text-shadow:0 1px 2px rgba(0,0,0,.55)}body:before{content:"";position:fixed;inset:0;background:url(/cinema-bg.jpg) center / cover no-repeat fixed,var(--bg);z-index:-2;filter:saturate(110%) contrast(105%)}body:after{content:"";position:fixed;inset:0;background:var(--overlay-1),var(--overlay-2);z-index:-1;pointer-events:none}a{color:inherit}.container{max-width:980px;margin:0 auto;padding:24px}.brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px;text-align:center}.brand .logo{width:clamp(104px,36vw,164px);height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.brand .brand-copy{max-width:28ch}.brand .appname{font-size:clamp(28px,5.5vw,40px);font-weight:900;letter-spacing:.2px;line-height:1.1}.brand .tagline{color:var(--muted);font-size:14px}@media (min-width: 880px){.brand.brand--responsive{justify-content:flex-start;text-align:left;gap:16px}.brand.brand--responsive .logo{width:256px;margin-right:4px}.brand.brand--responsive .brand-copy{max-width:none}.brand.brand--responsive .appname{font-size:clamp(28px,2.6vw,36px)}}.card{background:var(--glass);border-radius:16px;padding:24px;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:0 10px 30px #00000059}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.grid.providers{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}input,select{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#0a101cb3;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}button{cursor:pointer;border:0;border-radius:14px;padding:12px 16px}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 10px 25px #22c55e33}.btn-ghost{background:#0a101c80;border:1px solid var(--border);color:var(--text)}.center{display:flex;align-items:center;justify-content:center}.poster{width:100%;border-radius:14px;margin-top:24px}.title{font-size:24px;font-weight:800}.subtitle{color:var(--muted);margin-top:4px}.small{font-size:12px;color:var(--muted)}.actions{display:flex;gap:12px;margin-top:16px}.kbd{background:#11182799;border:1px solid var(--border);border-radius:8px;padding:2px 6px;font-size:12px;color:#9ca3af}.provider-card{background:#0a101c99;border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .08s ease,background .15s,border-color .15s,box-shadow .15s;cursor:pointer}.provider-card:hover{transform:translateY(-1px)}.provider-card.selected{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 0 0 2px #ebebeb40}.provider-card img{width:64px;height:64px;border-radius:12px;object-fit:contain;background:#080c16e6}.provider-name{font-size:12px;text-align:center;color:inherit}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{border:1px solid var(--border);color:var(--text);background:#0a101c99;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.chip.selected{background:var(--accent);color:var(--accent-ink);border-color:transparent}.segment{display:inline-flex;gap:8px}.segment button{border:1px solid var(--border);background:#0a101c99;color:var(--text);padding:8px 12px;border-radius:999px}.segment button.active{background:var(--accent);color:var(--accent-ink);border-color:transparent}.footer{margin-top:24px;color:var(--muted);font-size:12px;border-top:1px solid var(--border);padding-top:12px;text-align:center;display:grid;gap:6px}.footer a{text-decoration:underline}.btn-primary,.btn-ghost{transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .12s ease;will-change:transform}.btn-primary:hover,.btn-ghost:hover{transform:translateY(-1px);box-shadow:0 10px 28px #00000040}.btn-primary:active,.btn-ghost:active{transform:translateY(0);filter:saturate(110%)}.provider-card{transition:transform .14s cubic-bezier(.2,.8,.2,1),background .16s ease,border-color .16s ease,box-shadow .2s ease;will-change:transform}.provider-card:hover{transform:translateY(-2px) scale(1.01)}.provider-card.selected{animation:pop-select .22s cubic-bezier(.2,.9,.2,1)}@keyframes pop-select{0%{transform:scale(.98)}60%{transform:scale(1.04)}to{transform:scale(1)}}.chip{transition:background .14s ease,color .14s ease,transform .12s ease,box-shadow .14s ease}.chip:active{transform:scale(.97)}.chip.selected{animation:chip-pop .18s ease-out;box-shadow:0 0 0 2px #ffffff0f}@keyframes chip-pop{0%{transform:scale(.96)}to{transform:scale(1)}}.fade-in{animation:fadeIn .28s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.title{text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.25)}.grid.providers a.provider-card:hover{box-shadow:0 14px 36px #00000059}.btn-ghost.gear:hover{animation:wiggle .52s ease-in-out}@keyframes wiggle{0%{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}to{transform:rotate(0)}}.swipe-hero{position:relative}.fly-like,.fly-nope{animation:flyOut .32s ease forwards}.fly-like{--dx: 140px;--rot: 12deg}.fly-nope{--dx: -140px;--rot: -12deg}@keyframes flyOut{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx)) rotate(var(--rot));opacity:0}}.btn-hero{display:block;width:100%;padding:20px 28px;font-size:clamp(18px,2.4vw,28px);font-weight:800;letter-spacing:.2px;border-radius:18px;box-shadow:0 10px 25px #00000059,0 0 0 2px #ffffff0a inset;transition:transform .06s ease,box-shadow .15s ease,filter .15s ease}.btn-hero:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn-hero:active{transform:translateY(1px) scale(.99)}.actions-stretch{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.btn-yes,.btn-no{display:flex;align-items:center;justify-content:center;width:100%;padding:22px 18px;font-size:clamp(18px,2.4vw,28px);font-weight:800;letter-spacing:.2px;border-radius:18px;box-shadow:0 10px 25px #00000059}.btn-yes{background:var(--accent);color:var(--accent-ink, #07351a)}.btn-no{background:var(--danger);color:#fff}.btn-yes .kbd,.btn-no .kbd{margin-left:8px;opacity:.9}@media (max-width: 420px){.btn-hero,.btn-yes,.btn-no{padding:18px 14px}}.app-footer{margin-top:24px;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.03));border-top:1px solid var(--border);color:var(--text)}.app-footer__row{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}.app-footer__label{font-weight:800;color:var(--text)}.app-footer__text{color:#cfd3da;line-height:1.35}.app-footer__link{color:var(--text);text-decoration:underline;text-underline-offset:2px;opacity:.95}.app-footer__link:hover{opacity:1}.app-footer__sep{opacity:.45;padding:0 6px}@media (max-width: 560px){.app-footer__row{flex-direction:column;text-align:center;gap:6px}}.app-footer__sep{opacity:.45;padding:0 6px;-webkit-user-select:none;user-select:none}@media (max-width: 560px){.app-footer__row{flex-direction:column;text-align:center;gap:6px}.app-footer__sep{display:block;width:100%;height:1px;margin:6px 0;padding:0;font-size:0;line-height:0;background:linear-gradient(to right,transparent,var(--border),transparent);opacity:.6}}:root{--font-display: "Gloock", ui-serif, Georgia, serif}.appname,.title{font-family:var(--font-display);font-weight:700;letter-spacing:.2px}.tagline{font-family:var(--font-display);font-weight:600;letter-spacing:.15px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}.fade-in-up{animation:fadeInUp .28s ease-out both}.pop-in{animation:pop .24s ease-out both}button,.provider-card,.chip,.segment button{transition:transform .12s ease,box-shadow .22s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease}button:active,.provider-card:active,.chip:active,.segment button:active{transform:translateY(1px) scale(.99)}.swipe-stage{position:relative;min-height:320px}.card-swipe{position:relative;will-change:transform,opacity}.card-swipe.enter{animation:fadeInUp .24s ease-out both}.card-swipe.like{animation:swipeRight .28s ease-in forwards}.card-swipe.nope{animation:swipeLeft .28s ease-in forwards}@keyframes swipeRight{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(120%) rotate(8deg);opacity:0}}@keyframes swipeLeft{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-120%) rotate(-8deg);opacity:0}}.provider-card:hover{transform:translateY(-2px)}.title{text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn-primary,.btn-ghost{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;transform:scale(0);pointer-events:none;opacity:.55;background:#ffffff8c;animation:ripple .6s ease-out forwards;mix-blend-mode:screen}@keyframes ripple{to{transform:scale(3);opacity:0}}
