:root{--ink:#172434;--muted:#7b8792;--navy:#132638;--navy-deep:#0b1b2a;--coral:#f47f5f;--coral-dark:#e96747;--paper:#f8fafb;--line:#e7ebed;--white:#fff;--shadow:0 20px 50px rgba(13,35,50,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.site-shell{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.site-header{height:78px;background:#fff;border-bottom:1px solid rgba(20,39,53,.07);position:relative;z-index:10}
.header-inner{height:100%;display:flex;align-items:center;gap:65px}
.brand{display:flex;align-items:center;gap:11px;font:800 24px/1 'Manrope',sans-serif;letter-spacing:-1.6px;white-space:nowrap}
.brand-accent{font-weight:600}.brand-dot{color:var(--coral)}
.brand-mark{width:30px;height:30px;border-radius:10px;background:var(--coral);display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:5px;place-content:center;transform:rotate(-10deg);box-shadow:0 4px 12px rgba(244,127,95,.28)}
.brand-mark span{background:#fff;border-radius:1px}
.main-nav{display:flex;align-items:center;height:100%;gap:34px}
.main-nav a{height:100%;display:flex;align-items:center;color:#7c8790;font-size:14px;font-weight:700;position:relative;transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:var(--ink)}
.main-nav a.active:after{content:'';height:3px;background:var(--coral);position:absolute;bottom:0;left:0;right:0;border-radius:3px 3px 0 0}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:27px}
.language-switch{display:flex;gap:2px;background:#f2f4f5;padding:3px;border-radius:8px}
.language-switch form{margin:0}
.language-switch button{border:0;background:transparent;border-radius:6px;color:#98a1a9;font-weight:800;font-size:11px;letter-spacing:.04em;padding:7px 9px}
.language-switch button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(15,30,40,.1)}
.logout-form{margin:0}.text-button{padding:0;background:none;border:0;color:#51606b;font-size:13px;font-weight:700;white-space:nowrap}.text-button span{font-size:17px;margin-left:5px}
.site-footer{border-top:1px solid var(--line);background:#fff;color:#9aa5ac;font-size:12px}.footer-inner{height:75px;display:flex;justify-content:space-between;align-items:center}
.hero{background:var(--navy);position:relative;overflow:hidden;color:#fff}
.discover-hero{height:365px}.favorites-hero{height:330px}
.hero:after{content:'';position:absolute;right:9%;top:40px;width:220px;height:220px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(5px);pointer-events:none}.hero-orb-one{width:450px;height:450px;right:-90px;top:-200px;background:radial-gradient(circle,rgba(244,127,95,.36),transparent 68%)}.hero-orb-two{width:450px;height:350px;right:20%;bottom:-290px;background:radial-gradient(circle,rgba(69,113,133,.2),transparent 70%)}
.hero-content{position:relative;z-index:1;padding-top:69px}.favorites-hero .hero-content{padding-top:65px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--coral-dark);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.light{color:#ffa489}.eyebrow-line{height:2px;width:18px;background:currentColor;flex:none}
h1,h2,h3,p{margin-top:0}
.hero h1{font:800 clamp(35px,4vw,54px)/1.12 'Manrope',sans-serif;letter-spacing:-2.6px;max-width:800px;margin:21px 0 16px}
.hero p{color:#b6c2cb;font-size:15px;line-height:1.8;max-width:630px;margin:0}
.discovery-content{position:relative;margin-top:-59px;padding-bottom:100px;z-index:2}.favorites-content{padding:68px 0 100px}
.search-panel{display:flex;gap:13px;align-items:end;background:#fff;border-radius:14px;padding:21px;box-shadow:var(--shadow);border:1px solid #eff1f1}
.search-field{flex:0 0 174px;min-width:0}.search-main-field{flex:1}.year-field{flex-basis:130px}
.search-field label{display:block;margin:0 0 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#667683}
.search-field input,.search-field select{width:100%;height:48px;border:1px solid #e8ecef;border-radius:8px;background:#f9fafb;color:var(--ink);padding:0 13px;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}
.search-field input:focus,.search-field select:focus,.login-form input:focus{border-color:#f3a08c;box-shadow:0 0 0 3px rgba(244,127,95,.13)}
.search-field input::placeholder{color:#a4afb6}.search-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23758794' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:30px}
.input-with-icon{position:relative}.input-with-icon span{position:absolute;left:14px;top:8px;color:#9aa7ae;font-size:30px;line-height:1}.input-with-icon input{padding-left:43px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:8px;font-size:13px;font-weight:800;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px)}.button-primary{background:var(--coral);color:#fff;box-shadow:0 7px 18px rgba(244,127,95,.23)}.button-primary:hover{background:var(--coral-dark);box-shadow:0 11px 25px rgba(244,127,95,.3)}
.button span:last-child{font-size:18px}.search-submit{height:48px;padding:0 22px;flex:none}
.notice-error,.form-error{background:#fff0ed;border:1px solid #ffd5ca;color:#ad4534;border-radius:8px;padding:13px 16px;font-size:13px;font-weight:600}.notice-error{margin-top:25px}
.results-section{padding-top:75px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px}.section-eyebrow{margin-bottom:13px}
.section-heading h2{font:800 clamp(24px,2.5vw,30px)/1.3 'Manrope',sans-serif;letter-spacing:-1.3px;margin:0}.section-heading h2 em{font-style:normal;color:var(--coral-dark)}
.results-count{background:#fff;border:1px solid var(--line);color:#7c8994;padding:9px 14px;border-radius:30px;font-size:12px;font-weight:700;white-space:nowrap;margin-bottom:3px}
.movie-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:35px 22px}
.movie-card{position:relative;min-width:0}.poster-link{display:block}.poster-frame{width:100%;aspect-ratio:2/3;background:#d9e0e3;border-radius:10px;overflow:hidden;position:relative;box-shadow:0 8px 18px rgba(16,37,52,.09)}
.poster-frame img,.detail-poster img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s,transform .45s}.poster-frame img.loaded,.detail-poster img.loaded{opacity:1}.movie-card:hover .poster-frame img{transform:scale(1.06)}
.poster-overlay{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(10,25,36,.8));display:flex;align-items:end;padding:18px;color:white;font-size:12px;font-weight:800;opacity:0;transition:opacity .25s}.poster-overlay>span{width:100%;display:flex;justify-content:space-between}.movie-card:hover .poster-overlay{opacity:1}
.poster-fallback{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#7f9098;background:linear-gradient(155deg,#e5ecee,#c8d4d8);text-align:center;font-size:12px;font-weight:700;padding:20px}.fallback-symbol{font-size:50px;color:#f4a18a}
.favorite-button{position:absolute;right:11px;top:11px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#9ba7ab;font-size:18px;z-index:2;box-shadow:0 3px 10px rgba(0,0,0,.13);transition:transform .2s,color .2s}.favorite-button:hover{transform:scale(1.1);color:var(--coral)}.favorite-button.is-saved{color:var(--coral)}.favorite-button:disabled,.detail-favorite:disabled{opacity:.6;cursor:wait}
.movie-card-content{padding:15px 2px 0}.movie-meta,.detail-kicker{display:flex;align-items:center;gap:9px;color:#87949c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.meta-dot{width:3px;height:3px;background:#a4b0b6;border-radius:50%}
.movie-card h3{margin:7px 0 0;font:800 15px/1.45 'Manrope',sans-serif;letter-spacing:-.25px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.movie-card h3 a:hover{color:var(--coral-dark)}
.scroll-sentinel{display:flex;align-items:center;justify-content:center;gap:12px;min-height:96px;color:#9ba7ae;font-size:12px;font-weight:700;margin-top:20px}.loading-spinner{width:16px;height:16px;border:2px solid #e6e9ea;border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.retry-button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 15px;color:var(--ink);font-weight:700}
.empty-state{min-height:370px;background:#fff;border:1px dashed #d9e0e3;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.empty-icon{width:76px;height:76px;border-radius:50%;background:#fff3ef;display:grid;place-items:center;color:var(--coral);font-size:40px;margin-bottom:18px}.empty-state h3{font:800 22px 'Manrope',sans-serif;letter-spacing:-.7px;margin:0 0 6px}.empty-state p{color:var(--muted);font-size:13px;margin:0 0 20px}.empty-state .button{height:43px;padding:0 18px}
.detail-backdrop{height:215px;background:radial-gradient(circle at 75% 20%,#29495b,var(--navy-deep) 65%);position:absolute;left:0;right:0}.detail-backdrop-inner{height:100%;background:repeating-linear-gradient(115deg,transparent,transparent 35px,rgba(255,255,255,.018) 36px,rgba(255,255,255,.018) 37px)}
.detail-content{position:relative;padding-top:32px;padding-bottom:110px}.back-link{color:#cdd7dd;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:10px}.back-link span{font-size:20px}.back-link:hover{color:#fff}
.detail-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:65px;margin-top:40px;align-items:start}.detail-poster{width:100%;aspect-ratio:2/3;background:#d9e0e3;border-radius:12px;overflow:hidden;box-shadow:0 20px 35px rgba(8,29,45,.19)}
.detail-main{padding:26px 30px 32px;background:#fff;border-radius:12px;box-shadow:0 14px 35px rgba(8,29,45,.08)}.detail-kicker{color:var(--coral-dark);font-size:11px;font-weight:800;letter-spacing:.12em}.detail-main h1{font:800 clamp(34px,4vw,54px)/1.15 'Manrope',sans-serif;letter-spacing:-2.4px;margin:17px 0 18px;max-width:740px}
.detail-chips{display:flex;flex-wrap:wrap;gap:8px}.detail-chips span{background:#edf1f2;border-radius:5px;color:#657681;font-size:11px;font-weight:700;padding:7px 10px}.rating{display:flex;align-items:baseline;gap:5px;margin:29px 0}.rating-star{color:#f5aa48;font-size:24px}.rating strong{font:800 23px 'Manrope',sans-serif}.rating>span:nth-of-type(2){color:#9aa6ae;font-size:13px}.rating small{margin-left:9px;color:#7d8a94;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.detail-favorite{height:48px;padding:0 22px;gap:10px}.detail-favorite.is-saved{background:var(--navy);box-shadow:none}.detail-favorite.is-saved:hover{background:#254459}.detail-favorite span:first-child{font-size:17px}
.detail-about{border-top:1px solid var(--line);margin-top:36px;padding-top:27px;max-width:720px}.detail-about h2{font:800 20px 'Manrope',sans-serif;letter-spacing:-.5px;margin:0 0 12px}.detail-about p{color:#60717c;font-size:14px;line-height:1.9;margin:0}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px 35px;max-width:720px;border-top:1px solid var(--line);margin-top:28px;padding-top:27px}.detail-facts div{display:flex;flex-direction:column;gap:7px}.detail-facts span{color:#9ba7ae;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}.detail-facts strong{font-size:13px;line-height:1.55;font-weight:700;color:#40525d}
.login-page main{display:flex;align-items:stretch}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 153px);padding-top:34px;padding-bottom:34px;gap:0}.login-art{position:relative;background:linear-gradient(145deg,#1b3446,#0b1a29);border-radius:17px 0 0 17px;min-height:565px;overflow:hidden}.art-glow{position:absolute;width:550px;height:550px;left:-130px;top:160px;border-radius:50%;background:radial-gradient(circle,rgba(244,127,95,.4),transparent 65%)}.art-film{position:absolute;display:flex;flex-direction:column;padding:30px;box-shadow:0 25px 60px rgba(2,14,21,.4);overflow:hidden}.art-film:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 50%,rgba(255,255,255,.12));pointer-events:none}.art-film span{font:700 12px 'Manrope',sans-serif;letter-spacing:.15em}.art-film strong{font:800 49px/.97 'Manrope',sans-serif;letter-spacing:-3px;margin:auto 0}.art-film small{font-size:10px;font-weight:800;letter-spacing:.25em}.art-film-front{width:245px;height:360px;top:75px;left:calc(50% - 175px);background:linear-gradient(160deg,#e78767,#a73e43 65%,#592b47);color:#fff;transform:rotate(-9deg);border-radius:8px}.art-film-back{width:225px;height:335px;top:105px;left:calc(50% + 15px);background:linear-gradient(145deg,#567b8a,#183744 70%);color:#d8e8e9;transform:rotate(10deg);border-radius:8px}.art-film-back strong{font-size:41px}.art-caption{position:absolute;bottom:38px;left:39px;color:#bac9cf;font-size:12px;font-weight:700;display:flex;align-items:center;gap:11px}.caption-line{width:19px;height:1px;background:var(--coral)}
.login-panel{background:#fff;border:1px solid var(--line);border-left:0;border-radius:0 17px 17px 0;display:flex;align-items:center;justify-content:center;padding:45px}.login-panel-inner{width:min(360px,100%)}.login-panel h1{font:800 clamp(31px,3vw,42px)/1.2 'Manrope',sans-serif;letter-spacing:-1.9px;margin:20px 0 10px}.muted{color:var(--muted)}.login-description{font-size:13px;line-height:1.8;margin-bottom:35px}.login-form{display:flex;flex-direction:column}.login-form label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#586a76;margin-bottom:9px}.login-form input{height:48px;border:1px solid #e5eaec;background:#f9fafb;border-radius:8px;padding:0 15px;margin-bottom:23px;outline:none;font-size:13px}.login-form input::placeholder{color:#aab4b8}.login-form .form-error{margin:-7px 0 20px}.login-submit{height:49px;width:100%;justify-content:space-between;padding:0 20px;margin-top:2px}.login-footnote{border-top:1px solid var(--line);padding-top:22px;margin:31px 0 0;color:#9da9ae;font-size:11px}.login-footnote span{color:#586a76;font-weight:800;margin-left:6px}
.toast{position:fixed;right:28px;bottom:28px;max-width:330px;padding:13px 18px;border-radius:9px;background:var(--navy);color:#fff;box-shadow:0 12px 30px rgba(13,35,50,.2);font-size:12px;font-weight:700;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}.toast.visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.header-inner{gap:35px}.search-panel{flex-wrap:wrap}.search-main-field{flex-basis:calc(100% - 200px)}.search-submit{flex:1}.detail-layout{gap:40px}.art-film-front{left:calc(50% - 150px)}.art-film-back{left:calc(50% + 20px)}}
@media(max-width:750px){.container{width:min(100% - 36px,1280px)}.site-header{height:67px}.header-inner{gap:17px}.brand{font-size:20px}.brand-mark{width:26px;height:26px}.main-nav{gap:14px}.main-nav a{font-size:12px}.header-actions{gap:10px}.text-button{font-size:0}.text-button span{font-size:20px}.language-switch button{font-size:10px;padding:6px}.discover-hero{height:355px}.favorites-hero{height:285px}.hero-content,.favorites-hero .hero-content{padding-top:55px}.hero h1{letter-spacing:-1.7px}.hero p{font-size:13px;line-height:1.7}.discovery-content{margin-top:-38px}.search-panel{padding:17px;gap:12px}.search-main-field{flex-basis:100%}.search-field{flex:1}.year-field{flex:0 0 110px}.search-submit{flex:0 0 100%;margin-top:2px}.results-section{padding-top:52px}.section-heading{align-items:start;flex-direction:column;gap:12px}.movie-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 15px}.movie-card h3{font-size:13px}.movie-card-content{padding-top:11px}.movie-meta{font-size:10px}.poster-overlay{display:none}.detail-layout{grid-template-columns:220px 1fr;gap:25px}.detail-main h1{font-size:33px;letter-spacing:-1.5px}.detail-facts{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;min-height:0;padding:20px 0 50px}.login-art{display:none}.login-panel{min-height:520px;border:1px solid var(--line);border-radius:15px}.footer-inner{height:62px}}
@media(max-width:520px){.container{width:calc(100% - 30px)}.header-inner{gap:8px}.brand{font-size:19px;gap:7px}.brand-mark{width:23px;height:23px;border-radius:7px;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(2,4px);gap:3px}.main-nav{margin-left:auto;gap:9px}.main-nav a{font-size:11px}.header-actions{margin-left:0;gap:6px}.language-switch button{font-size:9px;padding:5px}.hero:after{right:-30%;top:70px}.hero h1{font-size:35px;max-width:380px}.hero p{max-width:370px}.discover-hero{height:335px}.favorites-hero{height:285px}.search-field{flex:1 1 130px}.year-field{flex:0 0 100px}.search-field input,.search-field select{height:44px}.search-submit{height:45px}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.favorite-button{height:32px;width:32px;right:8px;top:8px}.section-heading h2{font-size:23px}.favorites-content{padding-top:46px}.detail-backdrop{height:180px}.detail-content{padding-top:24px}.detail-layout{display:block;margin-top:26px}.detail-poster{width:170px;margin-bottom:28px}.detail-main{padding:22px}.detail-main h1{font-size:34px}.detail-facts{grid-template-columns:1fr 1fr;gap:20px}.footer-inner{font-size:10px}.login-panel{padding:30px}.login-panel h1{font-size:33px}}
@media(max-width:380px){.brand-name{display:none}.main-nav{gap:7px}.header-inner{gap:7px}}
