:root{--color-accent:#e63946;--color-accent-deep:#c1121f;--color-gold:#d4a373;--color-button-bg:#e63946;--color-button-text:#f5f1ee;--color-button-hover:#5a1a26;--color-text:#f5f1ee;--color-text-secondary:#a89f9b;--color-text-muted:#6b615e;--color-surface-card:#2b2626;--color-surface-input:#3a3131;--color-surface-input-focus:#463838;--color-ground:#1a1717;--color-ground-raised:#211d1d;--color-line:#ffffff14;--color-line-strong:#ffffff59;--color-glow-red:#e6394673;--color-error:#ff6b6b;--color-success:#7fb069;--color-warning:#f4a261}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/bebas-neue-latin-9mHNbWWO.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/bebas-neue-latin-ext-DWiEslNC.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-display:"Bebas Neue", Impact, Haettenschweiler, sans-serif;--font-ui:Helvetica, Arial, sans-serif}.btn-primary{background:var(--color-button-bg);color:var(--color-button-text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border:1px solid #0000;transition:background .3s,box-shadow .3s}.btn-primary:hover{background:var(--color-accent-deep);box-shadow:0 0 16px var(--color-glow-red)}.btn-outline{border:1px solid var(--color-gold);color:var(--color-text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:6px;padding:10px 18px;font-size:16px;transition:background .3s,color .3s}.btn-outline:hover{background:var(--color-gold);color:var(--color-ground)}.btn-primary:disabled,.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-primary:disabled:hover,.btn-outline:disabled:hover{background:var(--color-button-bg);box-shadow:none}.btn-outline:disabled:hover{color:var(--color-text);background:0 0}html{overflow-y:scroll}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{background:var(--color-ground);min-width:320px;color:var(--color-text);font-family:Helvetica,Arial,sans-serif}*{box-sizing:border-box}.navbar{background:var(--color-surface-card);border-bottom:1px solid var(--color-gold);box-sizing:border-box;z-index:1000;justify-content:space-between;align-items:center;width:100%;height:80px;padding:8px 32px;display:flex;position:sticky;top:0}.logo{font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;justify-content:center;align-items:center;font-size:clamp(10px,7vw,40px);font-weight:400;display:flex}.navbar-right{align-items:center;gap:38px;display:flex}.navbar-search{background:var(--color-surface-input);border:1px solid var(--color-line);width:180px;height:32px;color:var(--color-text);box-sizing:border-box;border-radius:32px;outline:none;padding:0 12px;font-family:Helvetica,Arial,sans-serif;font-size:14px}.navbar-search::placeholder{color:var(--color-text-secondary)}.navbar-search:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.navbar button:not(.btn-primary){border:1px solid var(--color-line);width:120px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:3px;padding:0 10px;font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:400}.navbar button:not(.btn-primary):hover{border-color:var(--color-accent);color:var(--color-text)}.navbar button.navbar-login{border-radius:3px;width:auto;height:32px;padding:0 16px;font-size:18px}.navbar select{background:var(--color-surface-input);border:1px solid var(--color-line);height:32px;color:var(--color-text);cursor:pointer;border-radius:3px;padding:0 8px;font-family:Helvetica,Arial,sans-serif;font-size:14px}.navbar-links a.navbar-username{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.navbar-links{align-items:center;gap:38px;display:flex}.navbar-links a{color:var(--color-text-secondary);font-family:var(--font-display);letter-spacing:.06em;padding:6px 0;font-size:20px;text-decoration:none;transition:color .3s;position:relative}.navbar-links a:after{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform .45s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.navbar-links a:hover{color:var(--color-text)}.navbar-links a:hover:after{transform:scaleX(1)}.navbar-links a.active{color:var(--color-text)}.navbar-links a.active:after{background:var(--color-gold);transform:scaleX(1)}.home{width:100%;height:calc(100dvh - 80px);min-height:560px;color:var(--color-text);background:radial-gradient(circle at 20% 20%,#c1121f38,#0000 35%),radial-gradient(circle at 80% 40%,#d4a3731f,#0000 40%),linear-gradient(135deg,#1a1717 0%,#262020 45%,#161414 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.home:before{content:"";filter:blur(80px);pointer-events:none;background:radial-gradient(circle at 30% 30%,#e6394624,#0000 25%),radial-gradient(circle at 75% 65%,#d4a3731a,#0000 30%);position:absolute;inset:-100px}.home-hero{flex-direction:column;flex:none;align-items:center;width:100%;padding:clamp(12px,2.5vh,30px) 5vw;display:flex}.home-title{font-family:var(--font-display);letter-spacing:.06em;text-align:center;margin:0;font-size:clamp(44px,min(7vw,11vh),96px);font-weight:400;line-height:1}.title-cine{color:var(--color-text)}.title-circle{color:var(--color-accent)}.home-title:after{content:"";background:var(--color-gold);width:60%;height:2px;margin:12px auto 0;display:block}.home-search{align-items:center;gap:12px;width:min(70vw,900px);margin-top:clamp(16px,4vh,60px);display:flex}.home-search input{border:1px solid var(--color-line);background:var(--color-surface-input);width:100%;height:clamp(44px,4vw,60px);color:var(--color-text);border-radius:40px;outline:none;flex:1;padding:0 clamp(15px,1.5vw,25px);font-family:Helvetica,Arial,sans-serif;font-size:clamp(15px,1.2vw,20px)}.home-search input::placeholder{color:var(--color-text-secondary)}.home-search input:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.home-search button{border-radius:7px;height:clamp(40px,3.5vw,54px);padding:0 clamp(18px,1.5vw,30px);font-size:clamp(18px,1.4vw,22px)}.home-filters{grid-template-columns:repeat(3,1fr);gap:clamp(25px,5vw,80px);width:min(60vw,720px);margin-top:clamp(10px,2vh,20px);padding-top:0;display:grid}.home-filters .search-filter{margin-bottom:0}.recommended{flex:1;min-height:0;padding:0 5vw clamp(12px,2.5vh,24px);display:flex}.recommended-title{text-align:center;font-family:var(--font-display);letter-spacing:.1em;color:var(--color-gold);margin:0;font-size:clamp(16px,1.3vw,21px);font-weight:400}.carousel-dots{justify-content:center;align-items:center;gap:7px;margin-top:6px;margin-bottom:clamp(8px,1.5vh,20px);display:flex}.carousel-dot{border:1px solid var(--color-line);background:var(--color-text-muted);cursor:pointer;border-radius:50%;width:clamp(9px,.7vw,13px);height:clamp(9px,.7vw,13px);padding:0}.carousel-dot.active{background:var(--color-accent);border-color:#0000}.recommended-movie{flex:1;justify-content:center;align-items:center;gap:clamp(15px,2vw,35px);width:min(100%,860px);min-height:0;margin:0 auto;display:flex}.carousel-arrow{width:clamp(35px,4vw,60px);height:clamp(50px,6vw,80px);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-family:Arial,sans-serif;font-size:clamp(40px,4vw,65px);font-weight:300}.carousel-arrow:hover{color:var(--color-accent)}.carousel-arrow:first-child{margin-right:auto}.carousel-arrow:last-child{margin-left:auto}.movie-poster{height:100%}.movie-poster img{aspect-ratio:2/3;object-fit:cover;width:auto;height:100%;max-height:300px;display:block;box-shadow:0 0 15px #0006,0 0 35px #e6394659,0 20px 40px #c1121f40}a.movie-poster{text-decoration:none}.movie-info{flex-direction:column;justify-content:center;width:420px;height:100%;max-height:300px;display:flex;overflow:hidden}.movie-info h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;line-height:1.2;display:-webkit-box;overflow:hidden}.movie-rating{letter-spacing:2px;color:var(--color-gold);margin-bottom:10px;font-size:clamp(18px,1.5vw,25px)}.movie-info p{color:var(--color-text-secondary);margin:7px 0;font-size:clamp(14px,1.1vw,19px)}.movie-info strong{color:var(--color-text);font-weight:400}@media (width<=700px){.home{height:auto;min-height:calc(100vh - 60px)}.home-search{width:100%}.home-filters{grid-template-columns:1fr;gap:15px;width:100%}.recommended{padding-left:20px;padding-right:20px;display:block}.recommended-movie{gap:10px;width:100%;height:auto}.movie-poster{width:100px;height:145px}.movie-info h3{font-size:24px}.movie-poster img{width:120px;height:auto;max-height:none}.movie-info{max-height:none}.carousel-arrow{width:25px}}.postcard{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#342d2d,#44292d);border:1px solid #e6394638;border-radius:35px;flex-direction:column;width:min(980px,92%);max-height:480px;margin:0 auto;padding:clamp(16px,3vh,28px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000073,inset 0 1px 1px #ffffff1f}.postcard:before{content:"";filter:blur(80px);pointer-events:none;background:#e6394633;border-radius:50%;width:350px;height:350px;position:absolute;top:-180px;left:-100px}.postcard:after{content:"";filter:blur(80px);pointer-events:none;background:#c1121f2e;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-150px;right:-120px}@media (width<=700px){.postcard{max-height:none}}.search-filters{padding-top:52px}.search-filters h2{color:var(--color-text);margin:0 0 18px;font-size:clamp(18px,1.3vw,22px);font-weight:400}.search-filter{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.search-filter label{color:var(--color-text);font-size:clamp(14px,1vw,17px)}.search-filter select,.search-filter input{border:1px solid var(--color-line-strong);background:var(--color-surface-input);width:100%;height:clamp(34px,2.8vw,44px);color:var(--color-text);cursor:pointer;border-radius:5px;outline:none;padding:0 10px;font-family:Helvetica,Arial,sans-serif;font-size:clamp(13px,1vw,16px)}.search-filter input::placeholder{color:var(--color-text-secondary)}.search-filter select:hover,.search-filter input:hover{border-color:var(--color-text-secondary)}.search-filter select:focus,.search-filter input:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.field-error{color:var(--color-error);margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px}.clear-filters{border:1px solid var(--color-line-strong);width:100%;height:38px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:5px;margin-top:8px;font-family:Helvetica,Arial,sans-serif;font-size:14px}.clear-filters:hover{border-color:var(--color-accent);color:var(--color-text)}@media (width<=700px){.search-filters{order:-1;padding-top:10px}.search-filter{margin-bottom:12px}}.stars{gap:2px;line-height:1;display:inline-flex}.star{color:var(--color-text-muted)}.star-filled{color:var(--color-gold)}.stars-value{color:var(--color-text-muted);margin-left:6px;font-size:.9em}.search-page{width:100%;min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 20% 20%,#c1121f38,#0000 35%),radial-gradient(circle at 80% 40%,#d4a3731f,#0000 40%),linear-gradient(135deg,#1a1717 0%,#262020 45%,#161414 100%);position:relative;overflow:hidden}.search-page:before{content:"";filter:blur(80px);pointer-events:none;background:radial-gradient(circle at 30% 30%,#e6394624,#0000 25%),radial-gradient(circle at 75% 65%,#d4a3731a,#0000 30%);position:absolute;inset:-100px}.search-content{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(30px,5vw,70px);width:100%;padding:clamp(30px,5vw,60px) 5vw 60px;display:grid;position:relative}.search-type{gap:8px;margin-top:18px;display:flex}.search-type button{border:1px solid var(--color-line);color:var(--color-text-secondary);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:5px;padding:6px 16px;font-size:18px;transition:border-color .3s,color .3s}.search-type button:hover{border-color:var(--color-accent);color:var(--color-text)}.search-type button.active{border-color:var(--color-gold);color:var(--color-gold)}.search-results-area{min-width:0}.search-page-search{align-items:center;gap:12px;width:100%;display:flex}.search-input-wrapper{flex:1;position:relative}.search-icon{color:var(--color-text-secondary);pointer-events:none;font-size:17px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-input-wrapper input{box-sizing:border-box;border:1px solid var(--color-line);background:var(--color-surface-input);width:100%;height:clamp(44px,4vw,58px);color:var(--color-text);border-radius:40px;outline:none;padding:0 20px 0 46px;font-family:Helvetica,Arial,sans-serif;font-size:clamp(15px,1.2vw,19px)}.search-input-wrapper input::placeholder{color:var(--color-text-secondary)}.search-input-wrapper input:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.search-page-search button{border-radius:7px;height:clamp(40px,3.5vw,54px);padding:0 clamp(18px,1.5vw,30px);font-size:clamp(18px,1.4vw,22px)}.search-results{margin-top:35px}.search-result{border-bottom:1px solid var(--color-line);align-items:flex-start;gap:clamp(20px,3vw,35px);padding:20px 0;display:flex}.search-result-poster{border:1px solid var(--color-line);background:var(--color-surface-input);width:clamp(110px,11vw,155px);height:clamp(150px,15vw,220px);color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(13px,1vw,17px);display:flex}.search-result-poster img{object-fit:cover;width:100%;height:100%;display:block}.search-result-info{flex:1;min-width:0;padding-top:5px}.search-result-info h2{margin:0 0 8px;font-size:clamp(22px,2.3vw,36px);font-weight:400}.search-result-info p{color:var(--color-text-secondary);margin:7px 0;font-size:clamp(14px,1vw,17px)}.search-result-info strong{color:var(--color-text);font-weight:400}.search-favorite-button{border:1px solid var(--color-line-strong);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;margin-top:14px;padding:8px 12px}.search-favorite-button:not(.saved):hover{border-color:var(--color-gold);color:var(--color-gold)}.search-favorite-button.saved,.search-favorite-button.saved:hover{border-color:var(--color-accent);color:var(--color-accent)}.search-favorite-button:disabled{cursor:wait;opacity:.65}.search-favorite-error{color:var(--color-error)}.no-results{text-align:center;padding:70px 20px}.no-results h2{margin:0 0 10px;font-size:25px;font-weight:400}.no-results p{color:var(--color-text-secondary);margin:0;font-size:15px}@media (width<=700px){.search-content{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.search-result{gap:15px}.search-result-poster{width:100px;height:145px}.search-result-info h2{font-size:22px}.search-result-info p{font-size:13px}}@media (width<=450px){.search-page-search{flex-direction:column;align-items:stretch}.search-page-search button{width:100%}.search-result-poster{width:85px;height:125px}}.load-more-container{flex-direction:column;align-items:center;gap:10px;margin-top:35px;padding-bottom:40px;display:flex}.load-more-hint{color:var(--color-text-muted);text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:13px}.load-more{border:1px solid var(--color-line);background:var(--color-surface-input);min-width:150px;height:42px;color:var(--color-text);cursor:pointer;border-radius:6px;padding:0 25px;font-family:Helvetica,Arial,sans-serif;font-size:15px}.load-more:hover{background:var(--color-button-hover)}.load-more:disabled{opacity:.6;cursor:default}a.search-result-poster{cursor:pointer;text-decoration:none}a.search-result-poster:hover{border-color:var(--color-gold)}.movie-ratings-compact{flex-direction:column;gap:4px;display:flex}.rating-empty-text{color:var(--color-text-muted);font-size:.85em}.theaters-page{width:100%;min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 20% 20%,#c1121f38,#0000 35%),radial-gradient(circle at 80% 40%,#d4a3731f,#0000 40%),linear-gradient(135deg,#1a1717 0%,#262020 45%,#161414 100%);position:relative;overflow:hidden}.theaters-content{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:clamp(30px,5vw,60px) 5vw 60px;position:relative}.theaters-title{text-align:center;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:clamp(26px,3vw,38px);font-weight:400}.theaters-filters{justify-content:center;align-items:flex-end;gap:30px;margin-top:25px;margin-bottom:40px;display:flex}.theaters-filter{flex-direction:column;gap:7px;display:flex}.theaters-filter-fields{align-items:flex-start;gap:30px;display:flex}.theaters-filter-fields .search-filter{position:relative}.theaters-filter-fields .field-error{white-space:nowrap;color:var(--color-error);margin-top:4px;position:absolute;top:100%;left:0}.theaters-filter-fields select,.theaters-filter-fields input{border:1px solid var(--color-line);background:var(--color-surface-input);width:110px;height:34px;color:var(--color-text);cursor:pointer;border-radius:5px;outline:none;padding:0 8px;font-family:Helvetica,Arial,sans-serif;font-size:14px}.theaters-filter-fields input::placeholder{color:var(--color-text-secondary)}.theaters-filter-fields select:focus,.theaters-filter-fields input:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.theaters-filter label{color:var(--color-text-secondary);font-family:Helvetica,Arial,sans-serif;font-size:14px}.theaters-results{width:100%}.theaters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px clamp(35px,6vw,90px);display:grid}.theaters-result{border-bottom:1px solid var(--color-line);align-items:flex-start;gap:20px;min-width:0;padding:10px 0 20px;display:flex}.theaters-poster{background:var(--color-surface-input);border:1px solid var(--color-line);width:110px;height:160px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex;overflow:hidden}.theaters-poster img{object-fit:cover;width:100%;height:100%;display:block}a.theaters-poster{cursor:pointer;text-decoration:none}a.theaters-poster:hover{border-color:var(--color-gold)}.theaters-info{flex:1;min-width:0;padding-top:3px}.theaters-info h2{overflow-wrap:break-word;margin:0 0 10px;font-family:Helvetica,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.2}.theaters-rating{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:12px;font-size:14px;display:flex}.theaters-rating>span:first-child{color:var(--color-gold)}.theaters-info p{color:var(--color-text-secondary);margin:6px 0;font-family:Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4}.theaters-info strong{color:var(--color-text)}.theaters-message{text-align:center;padding:50px 20px}.theaters-message h2{margin-bottom:10px;font-weight:400}.theaters-message p{color:var(--color-text-secondary)}.theaters-load-more-container{flex-direction:column;align-items:center;gap:10px;margin-top:35px;padding-bottom:40px;display:flex}.theaters-load-more-hint{color:var(--color-text-muted);text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:13px}.theaters-load-more{border:1px solid var(--color-line);background:var(--color-surface-input);min-width:150px;height:42px;color:var(--color-text);cursor:pointer;border-radius:6px;padding:0 25px;font-family:Helvetica,Arial,sans-serif;font-size:15px}.theaters-load-more:hover{background:var(--color-button-hover)}.theaters-load-more:disabled{opacity:.6;cursor:default}@media (width<=850px){.theaters-grid{grid-template-columns:1fr;column-gap:0}}@media (width<=550px){.theaters-filters{flex-wrap:wrap;gap:15px}.theaters-result{gap:15px}.theaters-poster{width:90px;height:130px}.theaters-info h2{font-size:18px}.theaters-info p{font-size:13px}}@media (width<=400px){.theaters-content{padding-left:20px;padding-right:20px}.theaters-result{gap:12px}.theaters-poster{width:80px;height:115px}}.modal-overlay{z-index:2000;background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{box-sizing:border-box;background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:14px;width:min(360px,100vw - 32px);padding:30px;position:relative;box-shadow:0 26px 60px #0000008c}.modal-close{border:1px solid var(--color-line);background:var(--color-surface-input);width:32px;height:32px;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.modal-close:hover{background:var(--color-button-hover)}.auth-form{flex-direction:column;gap:7px;display:flex}.auth-form h2{text-align:center;color:var(--color-text);margin:0 0 8px}.auth-form input{box-sizing:border-box;background:var(--color-surface-input);width:100%;height:56px;color:var(--color-text);border:1px solid #0000;border-radius:9999px;outline:none;padding:0 24px;font-size:16px}.auth-form input::placeholder{color:var(--color-text-secondary)}.auth-form input:focus{background:var(--color-surface-input-focus);border-color:var(--color-accent)}.auth-error,.auth-success{text-align:center;margin:4px 0 0;font-size:14px}.auth-error{color:var(--color-error)}.auth-success{color:var(--color-success);margin-bottom:6px}.auth-submit{background:var(--color-button-bg);width:100%;height:56px;color:var(--color-button-text);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;margin-top:10px;font-size:16px;display:flex}.auth-submit:hover{background:var(--color-button-hover)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-switch{text-align:center;color:var(--color-text-secondary);margin:14px 0 0;font-size:14px}.auth-switch button{color:var(--color-accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth-switch button:hover{color:var(--color-text)}.auth-lead{text-align:center;color:var(--color-text-secondary);margin:0 0 4px;font-size:14px;line-height:1.45}.auth-warning{border:1px solid var(--color-line);background:var(--color-ground-raised);border-radius:14px;margin:4px 0 10px;padding:14px 18px;font-size:14px;line-height:1.5}.auth-warning p{color:var(--color-text-secondary);margin:0}.auth-warning p+p{margin-top:8px}.auth-submit.danger:hover{background:var(--color-accent-deep)}.movie-details{width:100%;min-height:calc(100vh - 80px);color:var(--color-text);padding:20px clamp(12px,3vw,40px) 60px}.movie-details-container{background:var(--color-ground-raised);border:1px solid var(--color-line);border-radius:14px;max-width:920px;margin:0 auto;padding:clamp(16px,2.5vw,28px)}.back-link{color:var(--color-text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:15px}.back-link:hover{color:var(--color-gold)}.movie-header{align-items:flex-start;gap:clamp(20px,3vw,40px);padding-bottom:28px;display:flex}.details-poster{border:1px solid var(--color-line);background:var(--color-surface-input);width:clamp(150px,20vw,260px);min-height:220px;color:var(--color-text-muted);border-radius:8px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.details-poster img{width:100%;height:auto;display:block}.details-info{flex:1;min-width:0}.details-info h1{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 8px;font-size:clamp(32px,4.5vw,52px);font-weight:400;line-height:1.1}.movie-subline{color:var(--color-text-secondary);margin:0 0 18px;font-size:15px}.movie-ratings{flex-wrap:wrap;gap:clamp(20px,4vw,48px);margin-bottom:22px;display:flex}.rating-block{flex-direction:column;gap:5px;display:flex}.rating-source{font-family:var(--font-display);letter-spacing:.12em;color:var(--color-gold);font-size:14px}.rating-block .stars{font-size:20px}.rating-value{color:var(--color-text-secondary);font-size:14px}.rating-count{color:var(--color-text-muted)}.details-rating-empty{color:var(--color-text-muted);padding:4px 0;font-size:14px}.movie-meta{grid-template-columns:max-content 1fr;gap:8px clamp(20px,3vw,48px);margin:0 0 18px;display:grid}.movie-meta dt{color:var(--color-text-secondary)}.movie-meta dd{margin:0;font-weight:700}.movie-overview{max-width:62ch;margin:0 0 24px;line-height:1.55}.movie-actions{flex-wrap:wrap;gap:12px;display:flex}.movie-actions-error{color:var(--color-error);flex-basis:100%;margin:0;font-size:14px}.movie-reviews{border-top:1px solid var(--color-line);padding-top:24px}.movie-reviews h2{font-family:var(--font-display);letter-spacing:.14em;color:var(--color-gold);margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:400}.review-count{font-family:var(--font-ui);letter-spacing:0;color:var(--color-text-secondary);margin-left:8px;font-size:14px}.reviews-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.write-review{border-radius:6px;padding:10px 18px;font-size:16px}.review-form{border:1px solid var(--color-line);background-color:var(--color-surface-card);border-radius:10px;margin-bottom:26px;padding:18px}.review-form-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.review-form-top h3{margin:0;font-size:17px}.review-form-hint{color:var(--color-text-secondary);font-size:13px}.star-picker{gap:8px;margin-bottom:14px;display:flex}.star-button{border:1px solid var(--color-line);background:var(--color-surface-input);width:46px;height:38px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;font-size:18px;line-height:1;transition:color .2s,border-color .2s}.star-button:hover{border-color:var(--color-gold)}.star-button-active{color:var(--color-gold)}.review-form-textarea{resize:vertical;border:1px solid var(--color-line);background:var(--color-surface-input);width:100%;min-height:96px;color:var(--color-text);font-family:var(--font-ui);border-radius:8px;padding:12px;font-size:15px}.review-form-textarea:focus{border-color:var(--color-gold);background:var(--color-surface-input-focus);outline:none}.review-form-error{color:var(--color-error);margin:12px 0 0;font-size:14px}.review-form-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.review-form-actions .btn-primary,.review-form-actions .btn-outline{border-radius:6px;padding:9px 16px;font-size:15px}.review-delete{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;margin-right:auto;padding:0;font-size:14px}.review-delete:hover{color:var(--color-error)}.review-list{margin:0;padding:0;list-style:none}.review{border-bottom:1px solid var(--color-line);padding:16px 0}.review:last-child{border-bottom:none}.review-mine{border-left:2px solid var(--color-gold);padding-left:14px}.review-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.review-author{font-size:16px;font-weight:700}.review-date{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.review-text{max-width:70ch;margin:8px 0 0;line-height:1.5}.reviews-empty{color:var(--color-text-secondary);margin:0}.favourite-on{background:var(--color-gold);color:var(--color-ground)}@media (width<=720px){.movie-header{text-align:center;flex-direction:column;align-items:center}.movie-meta{grid-template-columns:max-content max-content;justify-content:center}.movie-actions{justify-content:center}}.app{width:100%;min-height:100vh}.placeholder-page{min-height:calc(100vh - 80px);color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.placeholder-title{font-family:var(--font-display);letter-spacing:.06em;margin:0;font-size:clamp(32px,6vw,64px);font-weight:400}.placeholder-message{color:var(--color-text-secondary);margin:0}.profile-page{background:var(--color-ground-raised);border:1px solid var(--color-line);max-width:720px;color:var(--color-text);box-sizing:border-box;border-radius:12px;margin:32px auto;padding:24px 40px 32px}.profile-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-avatar{border:2px solid var(--color-gold);width:56px;height:56px;color:var(--color-gold);font-family:var(--font-display);text-transform:uppercase;border-radius:50%;place-items:center;font-size:28px;display:grid}.profile-identity{flex:1}.profile-identity h1{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:36px}.profile-identity p{color:var(--color-text-secondary);margin:2px 0 0;font-size:14px}.profile-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-card{background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:4px;padding:12px 16px}.profile-card.wide{grid-column:1/-1}.profile-card-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.profile-card-head h2{color:var(--color-gold);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:20px;font-weight:400}.profile-card-head a{color:var(--color-text-secondary);font-size:14px;text-decoration:none}.profile-card-head a:hover{color:var(--color-text)}.profile-favorites-link{color:var(--color-text-secondary);font-size:14px;text-decoration:none}.profile-favorites-link:hover{color:var(--color-text)}.profile-list{margin:0;padding:0;list-style:none}.profile-list li{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.profile-list li:last-child{border-bottom:none}.profile-item-title{color:var(--color-text);text-decoration:none;display:block}a.profile-item-title:hover{color:var(--color-gold)}.profile-list li>span .profile-item-title{display:inline}.profile-meta{color:var(--color-text-secondary);font-size:14px}.profile-posters{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 8px;display:grid}.profile-poster{aspect-ratio:2/3;background:var(--color-surface-input);border-radius:3px;overflow:hidden}.profile-poster img{object-fit:cover;width:100%;height:100%;display:block}.profile-poster.more{color:var(--color-text-secondary);place-items:center;display:grid}.profile-page .btn-outline{border:1px solid var(--color-gold);color:var(--color-text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:3px;padding:6px 14px;font-size:16px}.profile-page .btn-outline:hover{background:var(--color-surface-card)}.profile-page .btn-outline.muted{border-color:var(--color-line-strong);color:var(--color-text-secondary)}.profile-page .btn-outline.muted:hover{border-color:var(--color-error);color:var(--color-error)}.link-button{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.link-button:hover{color:var(--color-text)}.link-button.warning{color:var(--color-warning)}.profile-danger{justify-content:flex-end;margin-top:24px;display:flex}.profile-url{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:12px}.profile-url.error{color:var(--color-error)}.profile-details-warning{color:var(--color-warning)}@media (width<=600px){.profile-page{margin:16px;padding:16px}.profile-grid{grid-template-columns:1fr}}.favourites-page{min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 15% 10%, #c1121f33, transparent 32%), linear-gradient(135deg, var(--color-ground) 0%, var(--color-ground-raised) 52%, #161414 100%);padding:clamp(36px,6vw,76px) 5vw 80px}.favourites-header{max-width:900px;margin:0 auto 42px}.favourites-eyebrow{color:var(--color-gold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:13px}.favourites-header h1{margin:0 0 10px;font-size:clamp(32px,5vw,58px);font-weight:400}.favourites-header>p:last-child{color:var(--color-text-secondary);margin:0;font-size:17px}.favourites-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;max-width:900px;margin:0 auto;display:grid}.favourites-movie{border:1px solid var(--color-line);background:#2b2626e6;flex-direction:column;min-width:0;display:flex;overflow:hidden}.favourites-poster{aspect-ratio:2/3;background:var(--color-surface-input);color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.favourites-poster img{object-fit:cover;width:100%;height:100%;display:block}a.favourites-poster{text-decoration:none}.favourites-movie-info{flex-direction:column;flex:1;padding:18px;display:flex}.favourites-movie-info h2{min-height:2.4em;margin:0 0 10px;font-size:20px;font-weight:400}.favourites-movie-info p{color:var(--color-text-secondary);margin:6px 0;font-size:14px}.favourites-rating{color:var(--color-gold)!important}.favourites-remove,.favourites-link{border:1px solid var(--color-line-strong);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;margin-top:14px;padding:8px 12px;text-decoration:none;display:inline-block}.favourites-remove:hover,.favourites-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.favourites-remove:disabled{cursor:wait;opacity:.65}.favourites-remove{align-self:flex-start;margin-top:auto}.favourites-movie-info>:has(+.favourites-remove){margin-bottom:14px}.favourites-state{border-top:1px solid var(--color-line);text-align:center;max-width:900px;margin:0 auto;padding:72px 24px}.favourites-state h2{margin:0 0 10px;font-size:26px;font-weight:400}.favourites-state p,.favourites-partial-warning,.favourites-action-error{color:var(--color-text-secondary)}.favourites-state-error h2,.favourites-action-error{color:var(--color-error)}.favourites-partial-warning,.favourites-action-error{max-width:900px;margin:0 auto 18px}.favourites-movie-failed{border-color:#f4a26173}@media (width<=600px){.favourites-page{padding-left:20px;padding-right:20px}.favourites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.favourites-movie-info{padding:12px}.favourites-movie-info h2{font-size:17px}}@media (width<=380px){.favourites-grid{grid-template-columns:1fr}}.share-favorites-btn{border:1px solid var(--color-line-strong);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;margin-top:18px;padding:10px 18px;transition:border-color .2s,color .2s,transform .2s}.share-favorites-btn:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.share-favorites-btn:active{transform:translateY(0)}.share-url-input{border:1px solid var(--color-line);width:100%;max-width:900px;color:var(--color-text);font:inherit;background:#ffffff05;border-radius:8px;margin-top:12px;padding:10px 12px}.share-url-input:focus{border-color:var(--color-gold);outline:none;box-shadow:0 0 0 1px #ffd66633}.shared-favourites-page{min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 15% 10%, #c1121f33, transparent 32%), linear-gradient(135deg, var(--color-ground) 0%, var(--color-ground-raised) 52%, #161414 100%);padding:clamp(36px,6vw,76px) 5vw 80px}.shared-favourites-header{max-width:900px;margin:0 auto 42px}.shared-favourites-eyebrow{color:var(--color-gold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:13px}.shared-favourites-header h1{margin:0 0 10px;font-size:clamp(32px,5vw,58px);font-weight:400}.shared-favourites-header>p:last-child{color:var(--color-text-secondary);margin:0;font-size:17px}.shared-favourites-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;max-width:900px;margin:0 auto;display:grid}.shared-favourites-movie{border:1px solid var(--color-line);background:#2b2626e6;min-width:0;overflow:hidden}.shared-favourites-poster{aspect-ratio:2/3;background:var(--color-surface-input);color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.shared-favourites-poster img{object-fit:cover;width:100%;height:100%;display:block}.shared-favourites-movie-info{padding:18px}.shared-favourites-movie-info h2{min-height:2.4em;margin:0 0 10px;font-size:20px;font-weight:400}.shared-favourites-movie-info p{color:var(--color-text-secondary);margin:6px 0;font-size:14px}.shared-favourites-rating{color:var(--color-gold)!important}.shared-favourites-state{border-top:1px solid var(--color-line);text-align:center;max-width:900px;margin:0 auto;padding:72px 24px}.shared-favourites-state h2{margin:0 0 10px;font-size:26px;font-weight:400}.shared-favourites-state p,.shared-favourites-partial-warning,.shared-favourites-action-error{color:var(--color-text-secondary)}.shared-favourites-state-error h2,.shared-favourites-action-error{color:var(--color-error)}.shared-favourites-partial-warning,.shared-favourites-action-error{max-width:900px;margin:0 auto 18px}@media (width<=600px){.shared-favourites-page{padding-left:20px;padding-right:20px}.shared-favourites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shared-favourites-movie-info{padding:12px}.shared-favourites-movie-info h2{font-size:17px}}@media (width<=380px){.shared-favourites-grid{grid-template-columns:1fr}}.favourites-movie-info p.reviews-text{color:var(--color-text);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;display:-webkit-box;overflow:hidden}.groups-page{min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 15% 10%, #c1121f33, transparent 32%), linear-gradient(135deg, var(--color-ground) 0%, var(--color-ground-raised) 52%, #161414 100%);padding:clamp(28px,5vw,56px) 5vw 80px}.groups-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;max-width:1000px;margin:0 auto;display:grid}.groups-heading{color:var(--color-gold);font-family:var(--font-display);letter-spacing:.08em;margin:0 0 16px;font-size:28px;font-weight:400}.groups-heading.small{margin-bottom:12px;font-size:20px}.groups-search{box-sizing:border-box;border:1px solid var(--color-line);background:var(--color-surface-input);width:100%;color:var(--color-text);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:16px}.groups-search::placeholder{color:var(--color-text-secondary)}.groups-search:focus{border-color:var(--color-gold);background:var(--color-surface-input-focus);outline:none}.groups-status{color:var(--color-text-secondary);margin:0 0 16px}.groups-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.groups-card{border:1px solid var(--color-line);background:var(--color-surface-card);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;transition:box-shadow .2s;display:flex}.groups-card:hover,.groups-card:focus-within{box-shadow:inset 3px 0 0 var(--color-accent)}.groups-card-info{min-width:0}.groups-card-name{font-family:var(--font-display);letter-spacing:.04em;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px;font-size:26px;font-weight:400;display:flex}.groups-card-meta{color:var(--color-text-secondary);margin:0;font-size:14px}.groups-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px}.groups-badge.owner{color:var(--color-gold);background:#d4a3732e}.groups-badge.member{color:var(--color-success);background:#7fb0692e}.groups-card-action{white-space:nowrap;flex-shrink:0;text-decoration:none}.groups-panel{border:1px solid var(--color-line);background:var(--color-surface-card);border-radius:10px;padding:18px 20px 20px;position:sticky;top:24px}.groups-mine{margin:0 0 16px;padding:0;list-style:none}.groups-mine li+li{border-top:1px solid var(--color-line)}.groups-mine-item{color:var(--color-text);flex-direction:column;gap:2px;padding:10px 0;text-decoration:none;display:flex}.groups-mine-item:hover .groups-mine-name{color:var(--color-gold)}.groups-mine-meta{color:var(--color-text-secondary);font-size:13px}.groups-create{border-radius:6px;width:100%;padding:10px 16px;font-size:18px}@media (width<=800px){.groups-layout{grid-template-columns:1fr}.groups-panel{order:-1;position:static}}@media (width<=480px){.groups-card{flex-direction:column;align-items:flex-start}}.group-details-page{min-height:calc(100vh - 80px);color:var(--color-text);background:radial-gradient(circle at 15% 10%, #c1121f33, transparent 32%), linear-gradient(135deg, var(--color-ground) 0%, var(--color-ground-raised) 52%, #161414 100%);padding:clamp(28px,5vw,56px) 5vw 80px}.group-details-page>*{max-width:1000px;margin-left:auto;margin-right:auto}.group-details-back{text-align:left;width:100%;max-width:1000px;margin-bottom:28px;margin-left:auto;margin-right:auto;display:block}.group-details-page .back-link{color:var(--color-text-secondary);font-family:var(--font-ui);padding:0;font-size:15px}.group-details-page .back-link:hover{color:var(--color-gold)}.group-details-header{margin-bottom:28px}.group-details-eyebrow{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:13px}.group-details-header h1{color:var(--color-gold);font-family:var(--font-display);letter-spacing:.04em;overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(32px,5vw,52px);font-weight:400}.group-details-header p:last-child{color:var(--color-text-secondary);margin:0}.group-details-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.group-details-section{border:1px solid var(--color-line);background:var(--color-surface-card);border-radius:8px;padding:22px}.group-details-section h2{color:var(--color-gold);font-family:var(--font-display);letter-spacing:.04em;margin:0 0 16px;font-size:24px;font-weight:400}.group-details-movies{grid-column:1/-1}.group-details-movies .favourites-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:none;margin:0}.group-details-movies .favourites-partial-warning{max-width:none;margin-left:0;margin-right:0}.group-details-members,.group-details-favorites{gap:10px;margin:0;padding:0;list-style:none;display:grid}.group-details-members li,.group-details-favorites li{border-bottom:1px solid var(--color-line);padding-bottom:10px}.group-details-members li{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-details-members .groups-badge{font-family:var(--font-display)}.group-details-members li:last-child,.group-details-favorites li:last-child{border-bottom:0;padding-bottom:0}.group-details-members-toggle{color:var(--color-gold);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:16px;padding:8px 0}.group-details-members-toggle:hover{color:var(--color-text)}.group-details-muted,.group-details-status,.group-details-state p{color:var(--color-text-secondary)}.group-details-state{border:1px solid var(--color-line);background:var(--color-surface-card);border-radius:8px;max-width:680px;padding:28px}.group-details-state h1{color:var(--color-gold);font-family:var(--font-display);margin:0 0 10px;font-size:30px;font-weight:400}.group-details-state p{margin:0}@media (width<=680px){.group-details-layout{grid-template-columns:1fr}.group-details-movies{grid-column:auto}}
