/* MoviesVibe 7 — cinema polish. All five palettes are dark; readability remains high. */
:root{--mv-base:#07090f;--mv-card:#111722;--mv-frost:#111725e9;--mv-ink:#f4f7ff;--mv-muted:#a0aabc;--mv-pop:#70dafe;--mv-halo:#40afff38;--mv-edge:#ffffff12;--bg:var(--mv-base);--panel:var(--mv-card);--surface:#182130;--stroke:var(--mv-edge);--faded:var(--mv-muted);--soft:#cbd6e7;--white:var(--mv-ink);--accent:var(--mv-pop);--accent2:#318cbd}
:root[data-theme="violet"]{--mv-base:#0b0914;--mv-card:#1a1630;--mv-frost:#191429eb;--mv-pop:#c19aff;--mv-halo:#a67aff38}
:root[data-theme="ember"]{--mv-base:#120909;--mv-card:#261518;--mv-frost:#241617eb;--mv-pop:#ffae7e;--mv-halo:#f98a5237}
:root[data-theme="ocean"]{--mv-base:#031018;--mv-card:#0c2634;--mv-frost:#0b2634eb;--mv-pop:#76e2d7;--mv-halo:#38d5c138}
:root[data-theme="graphite"]{--mv-base:#0a0b0d;--mv-card:#191b1e;--mv-frost:#151719ec;--mv-pop:#d5dce5;--mv-halo:#a8b7cc24}
html{background:var(--mv-base)}body{background:var(--mv-base);color:var(--mv-ink);overflow-x:hidden}
.sidebar{background:#090d15;border:0;padding:27px 14px 20px}.sidebar .logo{padding-bottom:29px}
.sidebar .nav-caption{color:#8093aa}.sidebar nav{gap:4px}.nav-item{border:0;border-radius:13px;color:#a6b3c4}
.nav-item.active{color:var(--mv-ink);background:linear-gradient(90deg,var(--mv-halo),#17202a25);border:0}
.sidebar .nav-item.active:before{display:none}.sidebar .nav-item:hover{background:#ffffff0c}.sidebar .nav-item.active svg{color:var(--mv-pop)}
.brand-word span{color:var(--mv-pop)}.brand-emblem{filter:drop-shadow(0 0 18px var(--mv-halo))}
.topbar{background:var(--mv-frost);border-bottom:0;box-shadow:0 5px 30px #0002;min-height:75px;padding-top:10px;padding-bottom:10px}
.mobile-logo{display:none}.search-wrap{position:relative;flex:1;max-width:590px;z-index:12}.search-wrap .top-search{background:#ffffff09;border:1px solid #ffffff12;border-radius:16px;max-width:none;height:47px;padding:0 13px}
.search-wrap .top-search:focus-within{border-color:var(--mv-pop);box-shadow:0 0 0 3px var(--mv-halo)}
.search-voice{display:grid;place-items:center;border:0;color:#bcd0e3;background:transparent;padding:5px;flex-shrink:0}
.search-suggestions{position:absolute;top:calc(100% + 8px);width:100%;max-height:min(530px,75vh);overflow-y:auto;padding:8px;border-radius:17px;background:#101925;box-shadow:0 30px 90px #000b,0 0 0 1px #ffffff1f;z-index:160}
.search-suggestions[hidden]{display:none}.search-suggestions>button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 11px;border:0;background:transparent;text-align:left;color:var(--mv-ink);border-radius:10px;font-weight:700}
.search-suggestions>button:hover,.search-suggestions>button:focus-visible{background:#ffffff13}.search-suggestions>button img{width:36px;height:51px;object-fit:cover;border-radius:6px;background:#293143}
.search-suggestions>button span{min-width:0;display:flex;flex-direction:column;gap:2px}.search-suggestions>button small{font-size:11px;font-weight:500;color:var(--mv-muted)}
.icon-btn{background:#ffffff0b;border:0;color:#d3dfef;border-radius:12px}.icon-btn:hover{border:0;background:#ffffff20;color:var(--mv-pop)}
.avatar-btn>span:first-child{border-radius:50%;background:linear-gradient(135deg,var(--mv-pop),#8c70c8);color:#081016}
.content{padding-top:20px}.page-heading{padding-top:12px}.shelf{margin-top:34px}.shelf-head h2{letter-spacing:-.045em}
.movie-cover,.movie-card,.art{border:0!important}.movie-cover{box-shadow:0 12px 35px #0007;overflow:hidden;border-radius:14px}
.movie-card .movie-copy{padding-top:8px}.movie-card:hover .movie-cover{border:0!important;transform:translateY(-4px) scale(1.025)}.movie-card:hover .movie-title{color:var(--mv-pop)}
.mv-card-mark b{background:#0309129c;font-weight:900}.mv-mark-icon{border:0;background:#0a1021b8}
.hero-rotator .hero{min-height:min(580px,56vw);border:0!important;border-radius:19px;box-shadow:0 25px 75px #0008}
.hero-rotator .hero:before{box-shadow:none}.hero-rotator .hero-gradient{background:linear-gradient(90deg,#050914fc 0%,#080d17f0 24%,#080f20a6 48%,#080f2060 80%),linear-gradient(0deg,#080b17dd,transparent 60%)}
.hero-rotator .hero-copy{max-width:730px}.hero-rotator h1{letter-spacing:-.065em;font-weight:870}.hero-art .art{filter:saturate(1.04)}
.btn-primary{color:#061523;border:0;background:var(--mv-pop);box-shadow:0 12px 30px var(--mv-halo)}.btn-primary:hover:not(:disabled){color:#061523;background:var(--mv-pop);filter:brightness(1.06)}
.btn-glass{border:0;background:#ffffff29}.btn-outline{background:#ffffff12;border:0;color:#eff7ff}.btn-outline:hover{background:#ffffff24;border:0}
.chip{border:0!important;background:#ffffff0a}.chip-active,.chip:hover{background:var(--mv-halo)!important;color:var(--mv-pop)!important}
.mv-quiet-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:245px;padding:35px;border-radius:20px;background:radial-gradient(ellipse at 95% 25%,var(--mv-halo),transparent 60%),linear-gradient(120deg,#0f1d2b,#11131d)}
.mv-quiet-empty h2{font-size:clamp(26px,4vw,46px);margin:0 0 12px}.mv-quiet-empty p{color:var(--mv-muted)}
.account-grid .panel,.panel,.admin-panel{border:0!important;background:var(--mv-card);border-radius:21px}
.modal-scrim{background:#02050bdc;backdrop-filter:blur(20px)}.modal-panel{border:0!important;border-radius:25px;background:linear-gradient(145deg,#1b2533,#0f1622);box-shadow:0 40px 140px #000e}
.name-required .modal-scrim{padding:0}.name-required .modal-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;display:grid;place-items:center}
.name-required .modal-x{display:none}.name-intro,.install-intro{width:min(500px,100%);margin:auto;display:flex;flex-direction:column;align-items:stretch;gap:14px}
.name-intro .eyebrow,.install-intro .eyebrow{text-align:center}.name-intro h2,.install-intro h2{font-size:clamp(32px,5vw,55px);line-height:1.02;text-align:center;margin:0;letter-spacing:-.065em}
.name-intro p,.install-intro p{text-align:center;color:#b6c7dd}.name-intro .stack-form{margin-top:18px}.intro-art{display:flex;align-items:center;justify-content:center;margin-bottom:25px;transform:scale(1.28)}.intro-art .brand-word{font-size:25px}.intro-art .brand-emblem{width:42px}
.install-intro .btn-outline{align-self:center}.theme-choices{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.theme-choice{border:1px solid #ffffff20;border-radius:12px;background:#162338;color:#d4e4f1;padding:12px 16px;font-size:12px;font-weight:800;cursor:pointer}.theme-choice.selected{border-color:var(--mv-pop);background:var(--mv-halo);color:var(--mv-pop)}
.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:17px;margin:25px 0}.community-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:linear-gradient(145deg,#162337,#121721);border:0;border-radius:19px;color:white;padding:18px;min-height:200px;transition:transform .2s}
.community-card:hover{transform:translateY(-5px)}.community-art{display:grid;place-items:center;width:100%;height:100px;border-radius:13px;background:radial-gradient(circle at 50%,var(--mv-halo),#0f1b2a);color:var(--mv-pop)}.community-card strong{font-size:17px}.community-card small{font-size:11px;color:var(--mv-muted)}
.collection-actions,.profile-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.collection-film{position:relative}.collection-remove{margin-top:8px;color:#ffb9ad;border:0;background:#ffffff10;border-radius:9px;padding:7px 11px}.invite-line{display:flex;align-items:center;gap:14px;background:#ffffff0a;padding:12px 16px;border-radius:12px;margin-bottom:8px}.invite-line .btn-outline{margin-left:auto}.playlist-option{width:100%;display:flex;gap:12px;padding:15px;border:0;color:var(--mv-ink);background:#ffffff0a;text-align:left;margin-bottom:8px;border-radius:12px}.playlist-option:hover{background:#ffffff22}
.cast-person{border:0;background:transparent;color:var(--mv-ink);text-align:left;cursor:pointer;padding:0}.cast-person:hover .cast-avatar{box-shadow:0 0 0 2px var(--mv-pop)}.cast-avatar{border:0;border-radius:12px}.person-heading{display:flex;align-items:flex-start;gap:28px;padding:28px 0 18px}.person-heading h1{font-size:clamp(33px,5vw,66px)}.person-heading p{line-height:1.8;max-width:750px;color:#bed0df}.person-photo{height:260px;width:190px;min-width:190px;border-radius:19px;overflow:hidden;background:var(--mv-card);display:grid;place-items:center}.person-photo img{width:100%;height:100%;object-fit:cover}
.comment-section{margin-top:38px;padding:20px 0 10px;max-width:880px}.comment-form{display:flex;gap:10px;align-items:flex-end;margin:14px 0 26px}.comment-form textarea{flex:1;resize:vertical;min-height:70px;max-height:190px;background:#182338;border:0;color:white;padding:14px 16px;border-radius:13px}.comment-item{display:flex;gap:12px;margin:0 0 20px;padding:7px 0}.comment-avatar,.match-avatar{height:42px;width:42px;min-width:42px;border-radius:50%;display:grid;place-items:center;border:0;background:linear-gradient(135deg,#548eac,#694f8d);color:white;font-weight:900}.comment-item>div{min-width:0}.comment-author{border:0;background:transparent;padding:0;color:#b8dffc;font-weight:800}.comment-item p{line-height:1.7;overflow-wrap:anywhere;margin:4px 0}.comment-item small{color:#8290a3}
.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:17px}.match-card{padding:24px;display:flex;gap:17px;background:#151e2b;border:0;border-radius:17px}.match-percent{font-size:11px;font-weight:800;color:var(--mv-pop)}.match-card h3{margin:7px 0;font-size:20px}.match-card p{color:var(--mv-muted);font-size:12px}.match-card button{margin:4px 6px 4px 0;min-height:36px;padding:8px 12px}
/* Video stays within a compact YouTube-like header on mobile; desktop offers draggable mini view. */
.player-shell{background:#060a11;border:0!important;box-shadow:0 25px 90px #000e}
.player-shell.expanded{width:min(1050px,calc(100vw - var(--sidebar) - 54px));right:27px;border-radius:18px}
.player-shell.minimized{width:min(360px,calc(100vw - 24px));right:24px;bottom:25px;border-radius:15px}
.player-shell .player-top{padding:10px 15px;background:#0c1520!important;gap:6px;border:0}.player-now{flex-direction:column;align-items:flex-start;gap:3px}
.player-now .eyebrow{display:flex;gap:10px;align-items:center;font-size:9px;letter-spacing:.6px}.player-now .brand-word{font-size:13px}.player-now .brand-emblem svg{height:22px;width:22px}.player-now strong{font-size:12px;max-width:500px}.player-top .player-buttons{display:flex;align-items:center;gap:4px}
.player-media{background:black}.player-shell .player-foot{padding:8px 12px;background:#0b111b!important;color:#bfd0e0;gap:9px;border:0}
.player-cinema-controls{display:none}.player-shell.cinema-fullview{position:fixed!important;z-index:1100!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;transform:none!important;display:flex;flex-direction:column}
.player-shell.cinema-fullview .player-media{aspect-ratio:auto!important;flex:1;max-height:none!important}.player-shell.cinema-fullview .player-top,.player-shell.cinema-fullview .player-foot{display:none!important}
.player-shell.cinema-fullview .player-cinema-controls{display:flex;position:absolute;top:0;left:0;right:0;z-index:3;align-items:center;justify-content:space-between;padding:20px 25px 45px;background:linear-gradient(#000c,transparent);pointer-events:none;transition:opacity .25s}
.player-shell.cinema-fullview .player-cinema-controls span{font-weight:900;font-size:13px;letter-spacing:.4px;color:#fff}.player-shell.cinema-fullview .player-cinema-controls button{pointer-events:auto;display:grid;place-items:center;border:0;background:#0c14279c;color:white;width:42px;height:42px;border-radius:50%}
.player-shell.cinema-fullview.controls-hidden .player-cinema-controls{opacity:0}.player-shell.cinema-fullview.controls-hidden .player-cinema-controls button{pointer-events:none}
.player-shell.minimized .player-top-btn[data-action="player-fullview"]{display:none}.player-shell.minimized .player-top{cursor:grab}
.player-shell.minimized .player-now .player-streaming{display:none}.player-shell.minimized .player-now strong{font-size:11px}
.player-loading{background:#020407bb!important}.player-loading .tiny-spinner{width:24px;height:24px;border-width:2px}
/* Messages occupy the entire canvas without trapping the browser back button. */
body.chat-open .topbar,body.chat-open .sidebar,body.chat-open .mobile-nav,body.chat-open .footer{display:none!important}
body.chat-open .content{padding:0!important;height:100dvh}body.chat-open .app-column{height:100dvh}body.chat-open .layout{height:100dvh}
.chat-screen{width:100%;height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 10% 10%,#15263e,#0b1019 64%)}
.chat-head{display:flex;align-items:center;gap:12px;padding:12px 17px;background:#101c2b;min-height:72px;box-shadow:0 5px 25px #0003}
.chat-head button{background:transparent;color:#d6e6f4;border:0;padding:6px;display:grid;place-items:center}.chat-head>button:last-child{margin-left:auto}
.chat-avatar{height:40px;width:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(120deg,#457ab7,#6849b3);font-weight:900}.chat-head strong{display:block}.chat-head small{display:block;color:#8fa6bd;font-size:11px}
.chat-messages{flex:1;overflow-y:auto;padding:18px clamp(12px,5vw,55px);display:flex;flex-direction:column;gap:11px;scrollbar-width:thin}.chat-welcome{align-self:center;padding:20px;color:#94a9c1;text-align:center}
.chat-bubble{max-width:min(75%,570px);padding:10px 13px;display:flex;flex-direction:column;overflow-wrap:anywhere;border-radius:16px;box-shadow:0 7px 18px #0003}
.chat-bubble.mine{align-self:flex-end;background:#174b59;border-bottom-right-radius:4px}.chat-bubble.theirs{align-self:flex-start;background:#222f42;border-bottom-left-radius:4px}
.chat-bubble p{margin:0;white-space:pre-wrap;line-height:1.6}.chat-bubble img{display:block;max-height:320px;max-width:min(360px,100%);object-fit:contain;border-radius:10px;margin-bottom:7px}
.chat-meta{font-size:9px;color:#b2c7d3;display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:6px}.chat-meta button{background:transparent;border:0;color:#a5b5c9;padding:0}
.chat-composer{display:flex;align-items:center;gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#101b2a}
.chat-composer input[name="body"]{flex:1;background:#273345;border:0;color:white;padding:14px;border-radius:26px;min-width:0;outline:none}.chat-composer>button{height:47px;width:47px;display:grid;place-items:center;background:var(--mv-pop);border:0;border-radius:50%;color:#03111b}.chat-photo{height:44px;width:44px;display:grid;place-items:center;color:#afc8d9;cursor:pointer}
/* Keep modest motion and remove excessive hard borders. */
.admin-panel,.metric,.genre-badges button,.shortcut-grid>button{border-color:transparent!important}
@media(max-width:1100px){.topbar{gap:13px;padding-left:17px;padding-right:17px}.search-wrap{max-width:470px}}
@media(max-width:760px){
 .mobile-logo{display:none}.topbar{padding:9px 12px;min-height:59px}.search-wrap{flex:1;max-width:none}.search-wrap .top-search{height:41px;padding:0 8px;border-radius:13px}.search-wrap .top-search input{font-size:12px}
 .avatar-btn>span:first-child{height:34px;width:34px}.top-actions{gap:2px}.top-actions>.icon-btn{display:flex!important;width:31px;height:35px;background:transparent}
 .top-actions .icon-btn:nth-child(3){display:none!important}.content{padding:9px 12px 105px}
 .mobile-nav{background:var(--mv-frost);border:0;padding:4px 0 calc(4px + env(safe-area-inset-bottom))}
 .mobile-nav .nav-item{min-width:0;height:54px;padding:3px 1px;font-size:10px;gap:2px}.mobile-nav .nav-item.active{background:transparent;color:var(--mv-pop)}
 .hero-rotator .hero{min-height:430px;max-height:550px;border-radius:14px}.hero-rotator .hero-copy{padding:151px 18px 62px}.hero-rotator h1{font-size:clamp(35px,8vw,50px)}
 .shelf{margin-top:27px}.movie-cover{border-radius:12px}.person-heading{flex-direction:column;gap:15px;padding:18px 0}.person-photo{height:190px;width:144px;min-width:0}
 .comment-form{flex-direction:column;align-items:stretch}.comment-form textarea{width:100%}.comment-form button{align-self:flex-end}
 .player-shell.expanded{position:fixed;top:58px;left:0;right:0;width:100vw;max-height:none;transform:none;border-radius:0;box-shadow:0 12px 35px #000b}
 .player-shell.expanded .player-top{display:none}.player-shell.expanded .player-media{aspect-ratio:16/9;max-height:none!important}
 .player-shell.expanded .player-foot{padding:5px 9px;min-height:30px}.player-shell.expanded .player-foot .player-advanced{display:none!important}.player-shell.expanded .player-foot #player-meta{display:none}
 body.has-player:not(.player-expanded) .player-shell.minimized{top:auto;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));left:auto;width:min(300px,70vw)}
 body.player-expanded:not(.chat-open) .content{padding-top:calc(56.25vw + 62px)!important}
 .player-shell.expanded.cinema-fullview{top:0!important}.player-shell.cinema-fullview .player-media{height:100%;max-height:none}
 .player-shell.minimized .player-media{max-height:160px}.player-shell.minimized .player-top{padding:5px 7px}
 .player-shell.minimized .player-now .eyebrow{display:none}.player-shell.minimized .player-now strong{max-width:130px}
 .match-grid{grid-template-columns:1fr}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.community-card{min-height:178px;padding:10px}.community-art{height:85px}
 .name-required .modal-panel{padding:20px 25px}.name-intro .intro-art{margin-bottom:15px}.name-intro h2{font-size:36px}
}
@media(max-width:430px){.top-actions .avatar-btn{padding:0}.top-actions>.icon-btn{width:28px}.search-voice{padding:3px}.top-search input{font-size:11px}.hero-rotator .hero-copy{padding-top:155px}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-composer{gap:5px;padding:8px}.chat-bubble{max-width:88%}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.brand-emblem{animation:none}.appear{animation:none}}

/* First-visit install invitation fills the screen without permanent nagging. */
#modal-root.install-required .modal-scrim{padding:0;display:block}
#modal-root.install-required .modal-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 75% 5%,#243e62 0%,#101827 40%,#090c14 85%)}
#modal-root.install-required .install-intro{width:min(520px,100%);padding:20px;text-align:center}
#modal-root.install-required .install-intro .btn-primary{min-height:52px}
#modal-root.install-required .modal-x{top:18px;right:18px}
#modal-root.install-required .modal-x:hover{background:#25354c}

.player-corner-expand{position:absolute;top:10px;right:10px;z-index:5;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#0c1522c9;color:#fff;cursor:pointer;box-shadow:0 4px 13px #0006}
.player-shell.minimized .player-corner-expand{display:none}.player-shell.cinema-fullview .player-corner-expand{display:none}
@media(max-width:760px){.player-shell.expanded .player-corner-expand{top:9px;right:9px;background:#0b101ccf;width:34px;height:34px}}
