/* MoviesVibe 8.0: calm, border-light cinema surfaces. Original design, no external UI dependency. */
:root{--mv-pop:#b7a2ff;--mv-halo:#8f73e12c}
html,body{overflow-x:clip;max-width:100%;touch-action:manipulation}
body{background:#080d17}
*,*:before,*:after{box-sizing:border-box}
.layout,.app-column,.content{min-width:0}
.content{overflow-x:clip}
.content .page-heading,.content .catalog-tools,.sidebar,.topbar,.admin-panel,.admin-header,.metric{border-color:transparent!important}
.content .movie-card,.content .panel,.content .shelf,.content .community-card,.content .match-card,.content .cast-person{border-color:transparent!important}
.content .movie-card:hover{transform:translateY(-5px)}
.movie-cover,.movie-cover .art,.art img{overflow:hidden}
.movie-card:focus-visible,.actor-tile:focus-visible,.chip:focus-visible,button:focus-visible{outline:2px solid #b0a0ff;outline-offset:3px}
.brand-emblem{filter:drop-shadow(0 4px 13px #a584ff50)}
.brand-word{font-weight:950;letter-spacing:.085em}
.brand-word span{background:linear-gradient(100deg,#efe5ff,#b1a0ff,#86d6ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.avatar-thumb,.profile-avatar img,.profile-public-avatar img,.chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.search-voice.listening{color:#60ecba!important;animation:voicePulse 1.1s ease-in-out infinite}
@keyframes voicePulse{50%{transform:scale(1.18);filter:drop-shadow(0 0 10px #60ecb9)}}
.mv-genre-intro{margin:24px 0 20px}
.mv-genre-intro>span{display:block;margin:0 0 11px;color:#b8c7dc;font-size:12px;font-weight:800;letter-spacing:.06em}
.mv-genre-tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding:3px 2px 9px;-webkit-overflow-scrolling:touch}
.mv-genre-tabs::-webkit-scrollbar{display:none}
.mv-genre-tabs .chip{border:0!important;flex:0 0 auto;padding:11px 18px;border-radius:999px;background:linear-gradient(135deg,#1e2b40,#111d2c);box-shadow:0 2px 9px #0002;color:#dae3f2;transition:transform .2s,background .2s}
.mv-genre-tabs .chip:hover{transform:translateY(-2px);background:#34405f}
.mv-genre-tabs .chip-active{background:linear-gradient(125deg,#bda6ff,#7e9dff)!important;color:#101328!important;font-weight:850}
.mv-genre-intro+.shelf{background:linear-gradient(110deg,#17223c,#13142e 80%);border-radius:22px;padding:21px 23px;box-shadow:0 18px 58px #0003}
.mv-genre-intro+.shelf .shelf-head h2{font-size:clamp(21px,2.2vw,30px)}
.mv-genre-intro+.shelf .horizontal-list{padding-bottom:9px}
.search-minimal{margin:4px 0 15px;min-height:12px}
.search-minimal h1{display:flex;align-items:center;gap:10px;font-size:clamp(22px,3vw,32px);margin:0}
.did-you-mean{font-size:14px;margin-top:12px;color:#bfcde3}
.did-you-mean button{background:none;color:#d5bbff;text-decoration:underline;border:0;font-weight:800;cursor:pointer}
.related-wall{padding-top:30px;border:0}
.related-wall #detail-related-grid{margin-top:14px}
.related-loading{margin:22px auto 50px;display:flex;justify-content:center;align-items:center;gap:8px;color:#9dacca;font-size:13px}
.actor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:22px 13px;margin:12px 0 35px}
.actor-tile{background:#131c2bc9;border:0;border-radius:17px;color:#eef4ff;padding:10px;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:0}
.actor-tile:hover{transform:translateY(-5px);box-shadow:0 16px 28px #0005}
.actor-photo{aspect-ratio:3/4;width:100%;display:grid;place-items:center;background:#283854;border-radius:12px;overflow:hidden}
.actor-photo img{height:100%;width:100%;object-fit:cover}
.actor-tile strong{font-size:14px;line-height:1.25;text-align:center}
.actor-tile small{font-size:10px;color:#a6b5d0;text-align:center;line-height:1.3}
.community-art{overflow:hidden;min-height:88px}
.community-art img{width:100%;height:100%;object-fit:cover}
.profile-avatar{overflow:hidden}
.avatar-upload{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;background:#263557;border-radius:14px;font-size:13px;cursor:pointer;margin-bottom:15px;color:#e1d8ff;width:fit-content}
.profile-public-avatar{height:94px;width:94px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#534ab5,#122e45);margin-bottom:13px}
.chat-avatar{overflow:hidden;flex-shrink:0}
.chat-presence{display:flex;align-items:center;gap:5px;color:#a5b2c4;font-size:11px}
.presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#657181}
.presence-dot.on{background:#3fdfa4;box-shadow:0 0 0 3px #3fdfa41c}
.message-receipt{letter-spacing:-3px;padding-right:3px;font-size:14px;font-weight:900;color:#acbdc9;white-space:nowrap}
.message-receipt.seen{color:#69baff}
.message-options{display:grid;gap:7px;margin-top:15px}
.message-options button{display:flex;align-items:center;gap:11px;text-align:left;background:#1c293c;color:#f0f5ff;border:0;border-radius:12px;padding:13px;cursor:pointer;font-weight:700}
.message-options button:hover{background:#304057}
.confirm-panel{padding:16px 5px 4px;text-align:center}
.confirm-symbol{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 15px;border-radius:21px;color:#d8b9ff;background:linear-gradient(130deg,#40335b,#293353)}
.confirm-panel h2{margin:0 0 10px;font-size:26px}.confirm-panel p{max-width:370px;margin:0 auto 22px;line-height:1.6;color:#b5c3da}
.confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.confirm-actions button{min-width:128px}
.copy-link{display:flex;gap:8px;margin-top:14px}.copy-link input{width:100%;min-width:0;background:#172337;color:white;border:0;border-radius:10px;padding:13px}
.copy-link button{white-space:nowrap}
#modal-root.policy-required .modal-scrim{inset:0;background:#040810f5;backdrop-filter:blur(18px);padding:0;display:grid;place-items:center;z-index:2500}
#modal-root.policy-required .modal-panel{position:relative;width:min(780px,100vw);height:min(96dvh,960px);max-width:none;max-height:none;border:0;border-radius:23px;background:radial-gradient(circle at 2% 0%,#283060,#0a111f 55%);display:flex;flex-direction:column;padding:clamp(16px,2.5vw,30px);box-shadow:0 0 95px #000b;overflow:hidden}
#modal-root.policy-required .modal-x{display:none!important}
.policy-intro{flex:0 0 auto}.policy-logo{margin:10px 0 4px}.policy-intro h2{margin:4px 0;font-size:clamp(23px,4vw,36px)}.policy-intro>p{font-size:13px;color:#b9c4db;margin:7px 0 12px}
.policy-copy{flex:1;overflow-y:auto;background:#080f1cab;border:0;border-radius:14px;padding:14px 17px;scrollbar-width:thin;overscroll-behavior:contain}
.policy-copy p{white-space:pre-line;color:#b8c5d8;font-size:13.5px;line-height:1.63;margin:0 0 17px}
.policy-copy p:first-child{font-size:15px;color:#f2eaff;font-weight:900;letter-spacing:.05em}
.policy-accept{width:100%;margin-top:13px;min-height:51px;border-radius:12px}
.policy-wait{text-align:center;margin:34vh auto;font-size:32px;font-weight:900}
.player-shell.cinema-fullview .player-cinema-controls,.player-shell.cinema-fullview.controls-hidden .player-cinema-controls{display:flex!important;opacity:1!important;pointer-events:none!important;top:0;left:0;right:0;padding:clamp(10px,2vw,18px) clamp(10px,3vw,28px) 42px;z-index:50;background:linear-gradient(180deg,#02070bdf,#02070b77 50%,transparent);align-items:flex-start;gap:14px}
.player-shell.cinema-fullview .player-cinema-controls button,.player-shell.cinema-fullview.controls-hidden .player-cinema-controls button{pointer-events:auto!important}
.cinema-stamp{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;text-shadow:0 2px 8px #000}
.cinema-stamp strong{display:block;color:#fff;font-size:clamp(14px,2vw,19px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}
.cinema-brand{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
.cinema-brand .brand-word{font-size:11px}.cinema-brand .brand-emblem svg{width:28px;height:28px}
.cinema-brand>span:last-child{font-size:12px;font-weight:700;letter-spacing:.025em;color:#e2d8ff}
.cinema-exit{height:42px;width:42px;flex:0 0 auto;background:#141d30f0!important;box-shadow:0 3px 18px #0009;outline:1px solid #ffffff19}
.player-media #media-target iframe{border:0!important}
.player-shell.cinema-fullview #media-target{width:100%;height:100%}
.gesture-level{position:absolute;top:45%;left:50%;transform:translateX(-50%);background:#0d1725ea;color:white;border-radius:16px;padding:13px 20px;z-index:60;pointer-events:none;font-weight:800}
.gesture-level[hidden]{display:none!important}
.gesture-rail{position:absolute;top:16%;bottom:5%;width:10%;z-index:9;touch-action:none;display:none;background:transparent}
.player-shell.cinema-fullview .gesture-rail{display:block}.gesture-rail.left{left:0}.gesture-rail.right{right:0}
.player-shell .player-now .eyebrow .brand-word{font-size:11px}
.player-shell .player-streaming{font-size:10px;letter-spacing:.08em;color:#d8ccff}
.player-shell.expanded .player-top{background:#101726ee}
.admin-live-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:linear-gradient(120deg,#262d51,#1b293f);padding:16px 18px;border-radius:14px;margin:12px 0 20px;font-size:14px}
.admin-live-strip .btn-outline{margin-left:auto}
.admin-view-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,2fr) minmax(100px,1fr);gap:16px;padding:12px 2px;border-bottom:1px solid #ffffff14}
.admin-view-row small{color:#9fb1cb}
@media(min-width:900px){.mv-genre-intro+.shelf{margin-top:16px}.mv-genre-intro+.shelf .horizontal-list .movie-card{min-width:170px}}
@media(max-width:760px){.mv-genre-intro{margin:15px 0 8px}.mv-genre-tabs .chip{padding:8px 13px;font-size:12px}.mv-genre-intro+.shelf{padding:13px 11px;border-radius:16px}.actor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.actor-tile{padding:8px}.policy-intro h2{font-size:25px}#modal-root.policy-required .modal-panel{height:100dvh;border-radius:0}.policy-copy p{font-size:12.7px}.cinema-stamp strong{max-width:72vw}.cinema-brand>span:last-child{font-size:10px}.cinema-brand .brand-word{display:none}.cinema-brand .brand-emblem svg{width:23px;height:23px}.player-shell.cinema-fullview .player-cinema-controls{padding:12px 12px 35px}}
@media(prefers-reduced-motion:reduce){.movie-card,.actor-tile,.mv-genre-tabs .chip{transition:none}}
