/* FilmKompass V4 – cinematic, mobile-first interface. Existing data model unchanged. */
:root{--bg:#080c13;--panel:#151b27;--soft:#202936;--line:#2c3545;--txt:#f5f6fa;--muted:#a2adbe;--orange:#ff9b5c;--green:#80dcb7;--v4-shadow:0 16px 40px #0007;--v4-radius:20px}
body{background:radial-gradient(ellipse at 88% -8%,#352633 0,transparent 36%),radial-gradient(ellipse at 0% 0%,#18253a 0,transparent 46%),var(--bg);font-size:15px}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.shell{max-width:1190px}.top{margin-bottom:23px}.brand{font-size:23px}.brandicon{box-shadow:0 5px 18px #ff9b5c38}.v4-settings-trigger{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);background:#171f2c;color:var(--txt);border-radius:13px;font-size:20px;margin-left:auto}.v4-settings-trigger.active{border-color:var(--orange);color:var(--orange)}
.v4-settings-trigger:hover,.v4-poster-button:hover{border-color:var(--orange)}
.nav{gap:5px;background:#131c2b;border:1px solid var(--line);border-radius:16px;padding:5px;max-width:max-content}.nav .tab{border:0;background:transparent;border-radius:11px;font-weight:700}.nav .tab.active{background:#30313e;color:var(--orange)}
.bottomnav{background:#0f1723f4;backdrop-filter:blur(16px);border-top:1px solid #465064;padding:10px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -9px 30px #0008}.bottomnav button{min-height:52px;font-size:11px;font-weight:650;gap:4px}.bottomnav button .v4-nav-icon{font-size:22px;line-height:1.1}.bottomnav button.active{color:#ffb77e}
.v4-main{animation:v4-appear .2s ease}@keyframes v4-appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.v4-eyebrow{display:block;color:var(--orange);font-size:11px;font-weight:850;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.v4-title{margin:0;font-size:clamp(25px,4.2vw,38px);letter-spacing:-.8px;line-height:1.1;font-weight:850}.v4-subtitle{color:var(--muted);margin:9px 0 19px;font-size:14px;max-width:700px}
.v4-heading{font-size:20px;letter-spacing:-.4px;font-weight:800;margin:25px 0 13px}
.v4-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;margin-bottom:13px}.v4-section-head .v4-heading{margin:0}.v4-textbtn{border:0;background:transparent;color:#ffba89;font-weight:750;padding:8px 1px;text-decoration:none}
.v4-btn{border:1px solid #4b5362;border-radius:13px;background:#252d3c;color:var(--txt);padding:12px 16px;min-height:44px;font-size:14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2;text-align:center}.v4-btn:hover{border-color:#ffad77}.v4-btn.primary{background:linear-gradient(110deg,#ffb477,#ff8f65);color:#1a1518;border-color:transparent;box-shadow:0 8px 24px #fc805c33}.v4-btn.primary:hover{filter:brightness(1.07)}.v4-btn.tiny{min-height:33px;padding:7px 10px;font-size:12px}.v4-btn.ghost{background:#111a29d8;border-color:#4b5362}.v4-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.v4-actions .v4-btn{flex:0 0 auto}
.v4-spotlight{position:relative;border-radius:25px;overflow:hidden;min-height:325px;background:#152031;border:1px solid #574850;box-shadow:var(--v4-shadow);isolation:isolate}
.v4-spotlight-backdrop{position:absolute;inset:0;background-position:center 29%;background-size:cover;filter:blur(26px) brightness(.32) saturate(.9);transform:scale(1.13);z-index:-2}
.v4-spotlight-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#111724dd,#11172488 65%,#18212ac5);z-index:-1}
.v4-spotlight-inner{display:flex;gap:25px;align-items:center;padding:27px;min-height:320px}
.v4-spotlight-poster{width:175px;aspect-ratio:2/3;flex-shrink:0;background:#2c3345;border-radius:16px;overflow:hidden;box-shadow:0 17px 35px #000a}
.v4-spotlight-poster .poster,.v4-spotlight-poster .cover,.v4-spotlight-poster>div{width:100%;height:100%;min-height:0;border-radius:0;box-shadow:none}
.v4-spotlight-poster img{width:100%;height:100%;min-height:0;object-fit:cover}
.v4-spotlight-text{max-width:650px}.v4-spotlight-text h2{font-size:clamp(25px,4vw,39px);line-height:1.08;letter-spacing:-1px;margin:4px 0 10px}.v4-spotlight-text p{color:#cbd1db;margin:7px 0 13px;line-height:1.5}.v4-spotlight-text .v4-filmmeta{margin:10px 0 16px}
.v4-filmmeta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.v4-pill{font-size:11px;font-weight:700;color:#dedce6;border:1px solid #596070;background:#2228388a;border-radius:100px;padding:5px 10px}.v4-match{display:inline-flex;align-items:center;gap:5px;color:#ffc291;font-weight:800}
.v4-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.v4-metric{background:#151d2b;border:1px solid #2b3648;border-radius:16px;padding:15px}.v4-metric b{font-size:27px;line-height:1.1;display:block;color:#fff}.v4-metric small{display:block;color:var(--muted);margin-top:6px;font-size:12px}
.v4-poster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.v4-poster-tile{min-width:0}.v4-poster-button{border:1px solid #343e52;background:#1b2331;border-radius:13px;overflow:hidden;width:100%;padding:0;display:block;text-align:left;transition:transform .18s,border-color .18s}.v4-poster-button:hover{transform:translateY(-2px)}
.v4-poster-img{display:block;width:100%;aspect-ratio:2/3;position:relative;background:linear-gradient(145deg,#28364c,#664051);overflow:hidden}.v4-poster-img img{width:100%;height:100%;object-fit:cover;display:block}.v4-fallback{height:100%;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:13px;color:#f7e8e4;padding:10px;overflow-wrap:anywhere}
.v4-poster-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt);font-weight:700;font-size:13px;margin-top:6px}.v4-poster-score{font-size:12px;color:#ffb77e;font-weight:800;margin-top:2px}.v4-poster-sub{color:var(--muted);font-size:11px;margin-top:2px}
.v4-list{display:grid;gap:8px}.v4-filmrow{width:100%;display:flex;align-items:center;gap:13px;padding:9px 11px;text-align:left;color:var(--txt);border:1px solid var(--line);border-radius:13px;background:#171f2d}.v4-filmrow:hover{border-color:#e6a176}.v4-mini-img{width:48px;aspect-ratio:2/3;flex-shrink:0;border-radius:7px;overflow:hidden;background:#333b4b}.v4-mini-img img{height:100%;width:100%;object-fit:cover}.v4-filmrow-data{min-width:0;flex:1}.v4-filmrow-name{display:block;font-size:14px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v4-filmrow-meta{font-size:12px;color:var(--muted)}.v4-filmrow-score{font-size:13px;font-weight:800;color:#ffb77e;white-space:nowrap}
.v4-chips{display:flex;overflow-x:auto;scrollbar-width:thin;gap:8px;padding:4px 1px 11px;margin:3px 0 8px}.v4-chip{flex-shrink:0;border-radius:100px;background:#202a38;color:#dddce8;border:1px solid #3d4858;font-size:13px;font-weight:700;min-height:40px;padding:8px 13px}.v4-chip.active{background:#51392f;color:#ffc69f;border-color:#f59d67}
.v4-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.v4-controls input,.v4-controls select,.v4-searchbox input,.v4-field input,.v4-field select{background:#0e1623;color:#f5f6fa;border:1px solid #354053;border-radius:11px;padding:11px 12px;min-height:45px;min-width:0;max-width:100%;font-size:14px}.v4-controls input{flex:1 1 200px}.v4-controls select{flex:1 1 140px}.v4-controls label{color:var(--muted);font-size:12px}
.v4-panel{border:1px solid #313b4d;background:#151d2b;border-radius:18px;padding:17px;margin:14px 0}.v4-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.v4-panel h3{margin:0;font-size:17px;letter-spacing:-.25px}.v4-panel p{color:var(--muted);margin:8px 0;font-size:13px}.v4-panel .v4-panel-text{color:#ccd3df}
.v4-empty{padding:35px 15px;text-align:center;color:var(--muted);border:1px dashed #475061;border-radius:16px}.v4-empty strong{display:block;color:var(--txt);margin-bottom:6px}
.v4-searchbox{display:flex;gap:8px;align-items:center}.v4-searchbox input{flex:1}.v4-searchbox .v4-btn{flex-shrink:0}
.v4-toggle{display:inline-flex;background:#0f1723;border:1px solid #353f50;border-radius:11px;padding:3px;gap:3px}.v4-toggle button{background:transparent;border:0;border-radius:8px;padding:9px 12px;color:var(--muted);min-height:36px;font-weight:750;font-size:13px}.v4-toggle button.active{background:#3b3a40;color:#ffbe90}
.v4-detail-overlay{position:fixed;inset:0;background:#05080ee8;backdrop-filter:blur(9px);z-index:50;display:grid;align-items:start;justify-items:center;padding:18px 12px;overflow-y:auto}
.v4-detail{max-width:770px;width:100%;background:#151c2a;border:1px solid #485266;border-radius:22px;box-shadow:0 24px 60px #000a;overflow:hidden;margin:auto 0}
.v4-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #303b4d}.v4-detail-head b{font-size:14px}.v4-close{min-width:42px;min-height:42px;background:#243044;color:#fff;border:1px solid #536074;border-radius:12px;font-size:22px;line-height:1}
.v4-detail-body{padding:20px}.v4-detail-layout{display:flex;gap:22px;align-items:flex-start}.v4-detail-poster{width:185px;max-width:38%;flex-shrink:0;aspect-ratio:2/3;border-radius:14px;overflow:hidden;background:#343c4c}.v4-detail-poster img{width:100%;height:100%;object-fit:cover}
.v4-detail-info{flex:1;min-width:0}.v4-detail-info h2{font-size:26px;letter-spacing:-.7px;line-height:1.1;margin:0 0 12px}.v4-detail-info p{color:#c5ccd9;line-height:1.55;font-size:14px}.v4-detail-rating{background:#101928;border:1px solid #3c485a;border-radius:16px;padding:16px;margin-top:19px}
.v4-stars{display:flex;flex-wrap:nowrap;gap:1px;margin:10px 0}.v4-star{flex:1;min-width:0;border:0;background:none;padding:3px 0;color:#576073;font-size:26px;line-height:1.15}.v4-star.filled{color:#ffb76c}.v4-star:hover{color:#ffcf8d}.v4-bigscore{font-size:30px;font-weight:850;color:#ffb77e;line-height:1}.v4-ratingsub{font-size:13px;color:var(--muted)}
.v4-field{display:grid;gap:6px;margin:11px 0}.v4-field label{font-size:12px;color:var(--muted);font-weight:700}.v4-field input{width:100%}
.v4-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.v4-accordion{border:1px solid #323f52;border-radius:16px;margin:13px 0;background:#161f2d;overflow:hidden}.v4-accordion summary{padding:17px;cursor:pointer;font-weight:780;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.v4-accordion summary::-webkit-details-marker{display:none}.v4-accordion summary::after{content:'⌄';color:#d6b29a;font-size:21px}.v4-accordion[open] summary::after{content:'⌃'}.v4-accordion-body{padding:0 17px 17px;display:grid;gap:10px}.v4-accordion-body p{font-size:13px;color:var(--muted);margin:3px 0}
.v4-cloud-state{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#e0e7ef}.v4-cloud-dot{width:8px;height:8px;border-radius:50%;background:#657386;flex-shrink:0}.v4-cloud-dot.ok{background:#70d6a7}.v4-cloud-dot.warn{background:#f9aa60}
.v4-badge{border:1px solid #596178;border-radius:100px;padding:5px 9px;color:#dce1eb;font-weight:700;font-size:11px;white-space:nowrap}
.v4-note{padding:12px 14px;background:#222838;border-left:3px solid var(--orange);border-radius:0 11px 11px 0;color:#ced6e1;font-size:12px}
.v4-source{font-size:11px;color:var(--muted)}.v4-source a{font-size:11px}.v4-compact-section{margin-top:9px}
@media(max-width:900px){.v4-poster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){
.shell{padding:15px 13px 105px}.top{margin-bottom:14px}.brand{font-size:21px}.top .tag{display:none}
.v4-settings-trigger{width:40px;height:40px;margin-left:auto}
.v4-title{font-size:28px}.v4-section-head{margin-top:23px}.v4-heading{font-size:19px}
.v4-spotlight{min-height:290px;border-radius:20px}.v4-spotlight-inner{padding:17px;gap:14px;min-height:290px;align-items:center}.v4-spotlight-poster{width:40%;max-width:154px;flex-shrink:0}.v4-spotlight-text{flex:1;min-width:0}.v4-spotlight-text h2{font-size:23px;overflow-wrap:anywhere}.v4-spotlight-text p{font-size:12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.v4-spotlight-text .v4-actions{display:grid;gap:7px}.v4-spotlight-text .v4-actions .v4-btn{padding:10px 7px;font-size:12px}
.v4-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v4-poster-title{font-size:12px}.v4-poster-score{font-size:12px}
.v4-metric{padding:13px 10px}.v4-metric b{font-size:22px}.v4-metric small{font-size:11px}
.v4-panel{padding:14px}.v4-settings-grid{grid-template-columns:1fr}.v4-detail-layout{gap:13px}.v4-detail-body{padding:15px}.v4-detail-poster{width:34%;max-width:130px}.v4-detail-info h2{font-size:21px}.v4-detail-info p{font-size:13px}.v4-detail{border-radius:18px}.v4-star{font-size:24px}.v4-searchbox .v4-btn{padding:10px;font-size:13px}
}
@media(max-width:375px){.v4-spotlight-inner{align-items:flex-start}.v4-spotlight-poster{width:36%}.v4-spotlight-text h2{font-size:21px}.v4-spotlight-text .v4-filmmeta{margin:4px 0}.v4-pill{font-size:10px;padding:4px 6px}.v4-star{font-size:21px}.v4-actions .v4-btn{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.v4-main{animation:none}.v4-poster-button{transition:none}}
