.app-header .header-content{display:flex;justify-content:center;align-items:baseline;max-width:650px;margin:0 auto;gap:1rem;flex-wrap:nowrap;min-width:0;overflow:hidden}.app-header .logo-wrapper{display:flex;align-items:baseline;width:120px;justify-content:center;flex-shrink:1;min-width:60px}.app-header .boxdbudio-logo{height:90px;width:auto;max-width:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:translateY(6px)}.app-header .boxdbudio-logo.mirrored{transform:scaleX(-1) translateY(6px)}.app-header .header-title{display:flex;flex-direction:column;align-items:center;transform:translateY(-30px);min-width:0;flex:1}.app-header .app-title-text{font-size:2.5rem;line-height:1;height:50px;display:flex;align-items:flex-end;margin:0}.app-header .app-subtitle{margin:0;color:#9ab;font-size:1.1rem}@media (max-width: 900px){.app-header .logo-wrapper{display:none}.app-header .header-content{justify-content:center;max-width:100%}.app-header .header-title{transform:translateY(0)}}@media (max-width: 1200px) and (min-width: 901px){.app-header .boxdbudio-logo{height:70px}.app-header .app-title-text{font-size:2.2rem}.app-header .header-content{gap:.75rem}}@media (max-width: 600px){.app-header .app-title-text{font-size:1.8rem}.app-header .app-subtitle{font-size:1rem}.app-header{padding:.75rem .5rem}.btn-pin{position:absolute;top:1rem;right:1rem}.app-header{position:relative;padding-top:.75rem}}.attribution{padding:1.25rem 1rem;text-align:center}.attribution-center{display:flex;justify-content:center;align-items:center}.attribution-link{background:transparent;border:none;color:#9ab;font-weight:600;text-decoration:underline;cursor:pointer;padding:.25rem .5rem;font-size:.95rem}.attribution-link:hover{color:#ffb86b}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#0f1419;border:1px solid #2c3440;border-radius:10px;max-width:680px;width:calc(100% - 48px);padding:1.25rem 1.5rem;box-shadow:0 12px 36px #0009;color:#e5e7eb;outline:none}.modal h3{margin-top:0;margin-bottom:.5rem;color:#fff}.modal-body p{color:#9ab;margin:.5rem 0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media (max-width: 480px){.modal{width:calc(100% - 24px);padding:1rem}.modal-actions{justify-content:center}}.btn-secondary{background:linear-gradient(135deg,#2c3440,#253138);color:#9ab;border:1px solid #456;box-shadow:0 2px 4px #0000001a}.loading-progress{margin:1rem 0;padding:1rem;background:#1a1f24;border-radius:8px;border:1px solid #2c3440}.progress-message{color:#9ab;margin-bottom:.75rem;text-align:center;font-weight:500}.progress-bar{background:#2c3440;border-radius:10px;height:8px;margin-bottom:.5rem;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#00c030,#00d040);height:100%;border-radius:10px;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShimmer 2s ease-in-out infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage{color:#9ab;font-size:.85rem;text-align:center}.page-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1rem;border-bottom:1px solid #2c3440;margin-bottom:1.25rem;position:relative}.page-header h2{color:#fff;font-size:1.75rem;font-weight:600;margin:0;text-align:center;line-height:1.2;display:flex;align-items:baseline;justify-content:center;gap:.3rem;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;z-index:10}.results-page .page-content{max-width:1400px;margin:0 auto;padding:0 2rem}.results-page:not(.dynamic-cards) .movies-grid{display:grid;grid-template-columns:repeat(auto-fit,450px);justify-content:center;gap:2rem;width:100%;margin:0 auto;max-width:calc(1350px + 4rem)}.results-page:not(.dynamic-cards) .movie-card{height:650px}.results-page:not(.dynamic-cards) .movie-poster-section{height:488px}.results-page:not(.dynamic-cards) .movie-info{height:162px}.friends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;padding:0}.avatar-initials{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;font-weight:700;text-transform:uppercase}.loading-dots{opacity:.7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.boxdbudio-empty-state{height:12rem;width:auto;opacity:.6;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.movies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;margin:0}.movie-card{background:linear-gradient(135deg,#1a1f24,#1c2128);border:1px solid #2c3440;border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);height:350px;position:relative;display:flex;flex-direction:column;box-shadow:0 4px 12px #0003;text-decoration:none;color:inherit}.movie-poster-section{height:65%;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:12px 12px 0 0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.movie-info{background:#1a1f24;padding:.5rem;border-radius:0 0 12px 12px;border-top:1px solid #2c3440;height:30%;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.movie-title-section{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.movie-title-section h3{color:#fff;font-size:1rem;margin:0;line-height:1.1;font-weight:600;flex:1}.movie-details-list{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:#e2e8f0;margin:0;margin-left:.5rem}.movie-detail-item{display:flex;align-items:center;gap:.2rem;line-height:1.1;text-decoration:none}.movie-detail-item span{text-decoration:none}.movie-card *{text-decoration:none!important;color:inherit}.movie-card h3{color:#fff}.movie-friends{margin-top:auto;padding-top:.5rem;border-top:1px solid #2c3440;background:#1a1f24}.friend-list-expanded{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}.friend-tag{color:#fff;padding:.25rem .5rem;font-size:.7rem;font-weight:600;margin:.1rem;border-radius:8px;border:1px solid;background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:inline-block;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}@media (max-width: 768px){.main{padding:.5rem .25rem}.setup-card{padding:1.5rem}.page-header{padding:.25rem 0 .5rem;margin-bottom:1rem;min-height:2.5rem}.page-title{font-size:1.25rem;padding:0 3rem}.back-btn{font-size:.85rem;padding:.4rem .6rem}.back-icon{font-size:1.1rem}.friends-header{flex-direction:column;align-items:stretch}.friends-actions{justify-content:center}.friends-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.friends-page .compare-actions{padding:.75rem 1rem}.friend-avatar{width:50px;height:50px;font-size:1.4rem}.empty-state{padding:3rem 1.5rem;margin:1.5rem 0}.page-header{padding:.75rem 0 1rem;margin-bottom:1.5rem;flex-direction:column;gap:1rem;text-align:center}.page-header h2{font-size:1.5rem;order:1}.page-header .btn{order:2;align-self:flex-start}.movies-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.profile-card,.sync-info{flex-direction:column;gap:1rem;text-align:center}.sync-status{justify-content:center}}.progress-text{color:#9ab;font-size:.875rem;text-align:center}.page{display:flex;flex-direction:column;min-height:calc(100vh - 200px);animation:fadeIn .3s ease-in}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #2c3440}.page-header h2{margin:0;color:#fff;flex:1}.page-content{flex:1;display:flex;flex-direction:column}.setup-page{justify-content:center;align-items:center;text-align:center}.setup-card{background:#1a1f24;border:1px solid #2c3440;border-radius:12px;padding:3rem;max-width:500px;width:100%;box-shadow:0 8px 32px #0000004d}.setup-card h2{color:#fff;margin-bottom:1rem;font-size:2rem}.setup-card p{color:#9ab;margin-bottom:2rem;font-size:1.1rem}.form-group{margin-bottom:2rem}.form-group input{width:100%;padding:1rem;background:#0f1419;border:1px solid #2c3440;border-radius:6px;color:#fff;font-size:1rem;transition:border-color .2s}.movie-quote-display{opacity:1;transition:opacity .5s ease-in-out}.movie-quote-display.changing{opacity:.7}.results-page .page-header h2{display:flex;align-items:center;gap:.5rem}.movie-count{color:#ff8000;font-size:2.5rem;font-weight:700;flex-shrink:0}.movie-label{color:#fff;font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Open Sans,Arial,sans-serif,"Noto Color Emoji","Apple Color Emoji","Segoe UI Emoji";background-color:#14181c;color:#9ab;line-height:1.6;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}:root{--friend-0: #000000;--friend-0-bg: #00000033;--friend-1: #e69f00;--friend-1-bg: #e69f0033;--friend-2: #56b4e9;--friend-2-bg: #56b4e933;--friend-3: #009e73;--friend-3-bg: #009e7333;--friend-4: #f0e442;--friend-4-bg: #f0e44233;--friend-5: #0072b2;--friend-5-bg: #0072b233;--friend-6: #d55e00;--friend-6-bg: #d55e0033;--friend-7: #cc79a7;--friend-7-bg: #cc79a733;--friend-8: #88ccee;--friend-8-bg: #88ccee33;--friend-9: #44aa99;--friend-9-bg: #44aa9933;--friend-10: #771155;--friend-10-bg: #77115533;--friend-11: #aa4499;--friend-11-bg: #aa449933;--friend-12: #117733;--friend-12-bg: #11773333;--friend-13: #88aa00;--friend-13-bg: #88aa0033;--friend-14: #332288;--friend-14-bg: #33228833;--friend-15: #999933;--friend-15-bg: #99993333;--friend-16: #cc6677;--friend-16-bg: #cc667733;--friend-17: #1177aa;--friend-17-bg: #1177aa33;--friend-18: #882255;--friend-18-bg: #88225533;--friend-19: #44aa66;--friend-19-bg: #44aa6633;--genre-action: #e11d48;--genre-comedy: #f59e0b;--genre-drama: #0ea5e9;--genre-romance: #fb7185;--genre-horror: #6b21a8;--genre-thriller: #ef4444;--genre-scifi: #7c3aed;--genre-fantasy: #0ea5a3;--genre-documentary: #10b981;--genre-animation: #f97316;--genre-crime: #374151;--genre-mystery: #06b6d4}.container{min-height:100vh;background-color:#14181c;display:flex;flex-direction:column}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:1rem .5rem;width:100%}.page{display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 200px)}.app{min-height:100vh;background-color:#14181c;display:flex;flex-direction:column}.header{text-align:center;padding:2rem 1rem;background-color:#14181c;border-bottom:1px solid #2c3440}.app-header{padding:.5rem .75rem;background-color:#14181c;border-bottom:1px solid #2c3440}.header-title{text-align:center;flex:1}.app-header h1{color:#ff8000;font-size:2.5rem;font-weight:700;line-height:1.1;margin-bottom:.25rem;font-family:Bungee Shade,Open Sans,Arial,sans-serif}.app-header p{color:#9ab;font-size:1.1rem;line-height:1.2;margin:0}.web-demo-badge{margin-top:.5rem}.web-demo-badge span{display:inline-block;background:#ff800026;border:1px solid rgba(255,128,0,.3);color:#ff8000;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.demo-notice{background:#ff80001a;border:1px solid rgba(255,128,0,.2);border-radius:8px;padding:1rem;margin:1rem 0}.demo-notice p{margin:0;color:#ff8000;font-size:.9rem;line-height:1.5}.btn-pin{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#9ab;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.btn-pin:hover{background:#ffffff1a;border-color:#ff80004d;color:#ff8000;transform:translateY(-1px)}.btn-pin.pinned{background:#ff800026;border-color:#ff800066;color:#ff8000}.btn-pin.pinned:hover{background:#ff800033;border-color:#ff800080}.btn-pin svg{opacity:.8}.btn-pin:hover svg,.btn-pin.pinned svg{opacity:1}.pin-container{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.pin-label{font-size:11px;color:#9ab;font-weight:500;text-align:center;transition:color .2s ease;opacity:.8}.pin-container:hover .pin-label{color:#ff8000;opacity:1}@media (max-width: 768px){.btn-pin{position:absolute;top:1rem;right:1rem}.app-header{position:relative;padding-top:.75rem}}.title{color:#ff8000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.title:before{content:"🎬";font-size:2rem}.subtitle{color:#9ab;font-size:1.1rem;max-width:600px;margin:0 auto}.app-title-text.brand{display:inline-flex;align-items:baseline;gap:0;letter-spacing:.5px}.app-title-text.brand .brand-word{color:#ff8000;font-family:Bungee Shade,Open Sans,Arial,sans-serif;text-transform:none}.page-title{font-family:Bungee Shade,Open Sans,Arial,sans-serif}.app-title-text.brand .brand-dot{color:#00e054}.app-title-text.brand .brand-tld{color:#40bcf4}.app-footer{text-align:center;padding:2rem 1rem;background-color:#14181c;border-top:1px solid #2c3440;margin-top:auto}.app-footer p{color:#9ab;font-size:.8rem;margin:0;opacity:.7}.main{flex:1;max-width:1200px;margin:0 auto;padding:1rem .5rem;width:100%}.setup-section{display:flex;justify-content:center;align-items:center;min-height:60vh}.setup-card{background:#1a1f24;border:1px solid #2c3440;border-radius:8px;padding:2.5rem;max-width:650px;width:100%;box-shadow:0 4px 20px #0000004d}.setup-card h2{color:#fff;font-size:1.5rem;margin-bottom:.5rem;text-align:center}.setup-card p{color:#9ab;text-align:center;margin-bottom:2rem}.setup-progress{margin:1.5rem 0;padding:1rem;background:#1a1f24;border-radius:8px;border:1px solid #2c3440}.progress-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.progress-item:last-child{margin-bottom:0}.progress-icon{font-size:1.1rem;min-width:24px;text-align:center}.progress-text{color:#9ab;font-size:.95rem}.progress-item .progress-text{color:#9ab}.progress-item.completed .progress-text,.progress-item .progress-icon.complete+.progress-text{color:#00d27a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#fff;font-weight:600;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem;background:#2c3440;border:1px solid #456;border-radius:4px;color:#fff;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#ff8000;box-shadow:0 0 0 2px #ff800033}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group small{color:#9ab;font-size:.875rem;margin-top:.25rem;display:block}.form-group small a{color:#ff8000;text-decoration:none}.form-group small a:hover{text-decoration:underline}.disclaimer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #2c3440;text-align:center}.disclaimer p{color:#9ab;font-size:.75rem;line-height:1.4;margin:0}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#ff8000,#f60);color:#fff;width:100%;box-shadow:0 4px 12px #ff80004d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#e67300,#e55a00);transform:translateY(-2px);box-shadow:0 6px 20px #ff800066}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ff80004d}.btn-primary:disabled{background:linear-gradient(135deg,#666,#555);opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000001a}.btn-secondary{background:linear-gradient(135deg,#2c3440,#253138);color:#fff;border:1px solid #456;box-shadow:0 2px 4px #0000001a}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#456,#3a4a5c);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.toast{position:fixed;top:2rem;right:2rem;padding:.875rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;z-index:1000;max-width:350px;word-wrap:break-word;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 12px #0000004d;animation:toast-slide-in .3s ease-out forwards,toast-fade-out .5s ease-in 2.5s forwards;pointer-events:none}.toast-error{background:#dc35451a;color:#fcc;border-color:#dc354540}.toast-success{background:#28a7451a;color:#cfc;border-color:#28a74540}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.btn-close{background:none;border:none;color:inherit;font-size:1.5rem;font-weight:700;cursor:pointer;padding:0;margin-left:1rem;opacity:.8;transition:opacity .2s ease}.btn-close:hover{opacity:1}.error-message{background:#dc3545;color:#fff;padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center;font-weight:500}.profile-section{margin-bottom:2rem}.profile-card{background:#1a1f24;border:1px solid #2c3440;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.profile-info h2{color:#fff;margin-bottom:.25rem}.profile-info p{color:#9ab;margin-bottom:.25rem}.friends-section{margin-bottom:2rem}.friends-page{padding-bottom:120px}.friends-page .page-header,.progress-section .page-header,.results-section .page-header{margin-top:-1rem}.page-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1rem;border-bottom:1px solid #2c3440;margin-bottom:1.25rem;min-height:60px;gap:1rem}.header-title-container{flex:1;display:flex;justify-content:center;align-items:center;min-width:0;margin-bottom:.25rem}.page-header h2{color:#fff;font-size:1.75rem;font-weight:600;margin:0;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.page-header h2 .movie-count{transform:translateY(-5px)}.tmdb-info-banner{background:linear-gradient(135deg,#1e3c72,#2a5298);border:1px solid rgba(74,144,226,.3);border-radius:12px;padding:16px;margin:12px 0;animation:fadeIn .3s ease-out}.tmdb-info-content{display:flex;align-items:flex-start;gap:12px}.tmdb-info-icon{font-size:24px;flex-shrink:0;margin-top:2px}.tmdb-info-text h4{color:#fff;font-size:14px;font-weight:600;margin:0 0 4px}.tmdb-info-text p{color:#b8c5d1;font-size:12px;margin:0;line-height:1.4}.tmdb-info-text a{color:#4a90e2;text-decoration:none;font-weight:500;transition:color .2s ease}.tmdb-info-text a:hover{color:#66a3ff;text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.movie-title-section{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;margin-bottom:.5rem}.movie-title-section h3{flex:1;margin:0;text-align:left}.data-source-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:2px 6px;font-size:10px;font-weight:500;white-space:nowrap;flex-shrink:0;margin-top:2px}.data-source-badge.tmdb-enhanced{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-color:#60a5fa;color:#dbeafe}.data-source-badge.letterboxd-basic{background:linear-gradient(135deg,#374151,#6b7280);border-color:#9ca3af;color:#e5e7eb}.page-header .btn{min-width:120px;padding:.6rem 1.2rem;font-size:.9rem}.page-content{flex:1}.results-page .page-content{max-width:1440px;margin:0 auto;padding:0 2rem}.header-spacer{width:120px;min-width:120px}.friends-description,.progress-description,.results-description{margin-bottom:2rem}.friends-description p,.progress-description p,.results-description p{color:#9ab;font-size:1rem;text-align:center;margin:0}.sync-info{display:flex;justify-content:space-between;align-items:center;background:#1a1f24;border:1px solid #2c3440;border-radius:6px;padding:1rem;margin-bottom:2rem}.sync-details{flex:1}.sync-status{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sync-label{color:#9ab;font-size:.9rem;font-weight:500}.sync-date{color:#fff;font-size:.9rem}.friends-count{color:#00d9ff;font-size:.85rem;font-weight:500}.resync-btn{background:#2c3440;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.resync-btn:hover:not(:disabled){background:#00d9ff;color:#0a0f14}.resync-btn:disabled{background:#1a1f24;color:#666;cursor:not-allowed}.friends-header{margin-bottom:2rem}.friends-header button{margin-bottom:1rem}.btn-icon{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-icon:hover{background:#ffffff1a;border-color:#ff80004d;transform:translateY(-1px)}.btn-icon:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon svg{width:16px;height:16px;opacity:.8}.btn-icon:hover svg{opacity:1}.btn-text{white-space:normal;overflow:visible;text-overflow:clip}@media (max-width: 420px){.btn-icon svg{width:12px;height:12px}.btn-icon{padding:.4rem .6rem;gap:.4rem}}.friends-header h2{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.friends-header p{color:#9ab;font-size:1rem;margin-bottom:0}.friends-actions{display:flex;gap:.5rem}.friends-actions .btn{padding:.5rem 1rem;font-size:.875rem;width:auto}.friends-page .friends-grid{display:grid;grid-template-columns:repeat(auto-fit,350px);justify-content:center;gap:1.5rem;margin-bottom:2rem;padding:0;max-width:calc(1050px + 3rem);margin-left:auto;margin-right:auto}.friend-card{background:linear-gradient(135deg,#1a1f24,#1c2128);border:1px solid #2c3440;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:140px;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.friend-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff80000d,#ff66000d);opacity:0;transition:opacity .3s ease}.friend-card:hover{border-color:#ff8000;transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #0006,0 0 0 1px #ff80004d}.friend-card:hover:before{opacity:1}.friend-card.selected{border-color:#ff8000;background:linear-gradient(135deg,#ff800026,#ff66001a);box-shadow:0 8px 24px #ff80004d,0 0 0 2px #ff800080;transform:translateY(-2px)}.friend-card.selected:before{opacity:1}.friend-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#ff8000,#f60);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;font-weight:700;overflow:hidden;border:2px solid rgba(255,128,0,.3)}.friend-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.friend-info{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.friend-card h3{color:#fff;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.friend-card p{color:#9ab;margin:0;font-size:.85rem;opacity:.8}.friend-card .watchlist-count{color:#ff8000;font-weight:500;font-size:.8rem;opacity:1;margin-top:.2rem}.friend-checkbox{margin-top:.5rem}.empty-state{text-align:center;padding:4rem 2rem;background:#1a1f24;border:1px solid #2c3440;border-radius:12px;margin:2rem 0;max-width:500px;margin-left:auto;margin-right:auto}.empty-state h3{color:#fff;font-size:1.3rem;margin-bottom:1rem;font-weight:600}.empty-state p{color:#9ab;font-size:1rem;line-height:1.6;margin-bottom:2rem}.empty-state .btn{min-width:150px}.loading-friends,.loading-container{text-align:center;padding:3rem 1rem;background:#1a1f24;border:1px solid #2c3440;border-radius:8px;margin-bottom:2rem}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid #2c3440;border-radius:50%;border-top-color:#00d9ff;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.spin-text{animation:spin 2s linear infinite;display:inline-block}.spin-text-slow{animation:spin 4s ease-in-out infinite;display:inline-block}.friend-tips{text-align:left;margin:1.5rem 0}.friend-tips h3{color:#00d9ff;font-size:1.1rem;margin-bottom:.8rem}.friend-tips ul{list-style:none;padding:0;margin:0}.friend-tips li{color:#9ab;font-size:.95rem;margin-bottom:.6rem;padding-left:1.2rem;position:relative}.friend-tips li:before{content:"•";color:#00d9ff;position:absolute;left:0}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.compare-actions{text-align:center;padding:1.5rem;background:#1a1f24;border:1px solid #2c3440;border-radius:8px;margin-top:2rem}.friends-page .compare-actions{position:fixed;bottom:0;left:0;right:0;background:#0d1319;border-top:1px solid rgba(255,128,0,.3);box-shadow:0 -4px 20px #0000004d;padding:1rem 2rem;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin-top:0;border-radius:0}.compare-actions p{color:#9ab;margin-bottom:1rem;font-size:1rem}.friends-page .compare-actions p{margin-bottom:0}.compare-actions button{min-width:200px}.progress-button-container{max-width:450px;margin:0 auto;text-align:center;padding:2rem;background:linear-gradient(135deg,#ff80000d,#ff66000d);border:1px solid rgba(255,128,0,.2);border-radius:12px;box-shadow:0 4px 16px #0000001a;position:relative;overflow:hidden}.progress-button-container:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,#ff8000,transparent);animation:progressTopShimmer 3s ease-in-out infinite}.progress-button-container .progress-info h3{color:#fff;margin-bottom:.75rem;font-size:1.1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.progress-button-container .progress-info p{color:#b0b8c0;margin-bottom:1.5rem;font-size:.95rem;line-height:1.4}.progress-button-container .progress-text{color:#fff;margin-top:.75rem;font-size:1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}@keyframes progressTopShimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.loading-dots{display:inline-block;position:relative}.loading-dots:after{content:"";animation:loadingDots 1.5s ease-in-out infinite}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loading-skeleton{background:linear-gradient(90deg,#2c3440 25%,#3a4550,#2c3440 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.friend-card.loading-skeleton{height:120px;pointer-events:none}.loading-skeleton.name{width:80%;height:18px;margin-bottom:8px}.loading-skeleton.username{width:60%;height:14px;margin-bottom:8px}.loading-skeleton.watchlist{width:70%;height:14px}.empty-state{text-align:center;padding:60px 20px;max-width:400px;margin:0 auto}.empty-state-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-state h3{color:#e5e7eb;margin-bottom:12px;font-size:1.5rem}.empty-state p{color:#9ca3af;margin-bottom:30px;line-height:1.5}.movie-card.loading-skeleton{height:400px;pointer-events:none}.movie-card.loading-skeleton .movie-poster-section{background:linear-gradient(90deg,#2c3440 25%,#3a4550,#2c3440 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.movie-card.loading-skeleton .movie-info{padding:15px}.loading-skeleton.movie-title{width:85%;height:20px;margin-bottom:12px}.loading-skeleton.movie-genre{width:60%;height:14px;margin-bottom:10px}.loading-skeleton.movie-director{width:75%;height:14px;margin-bottom:10px}.loading-skeleton.movie-rating{width:40%;height:16px}.loading-spinner{margin-right:8px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn.loading{position:relative;color:#ffffffb3;pointer-events:none}.btn.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:buttonShimmer 1.5s ease-in-out infinite;border-radius:inherit}@keyframes buttonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.results-count{margin-bottom:30px;text-align:center}.results-count p{color:#9ca3af;font-size:1.1rem;font-weight:500}.fade-in:nth-child(1){animation-delay:0s}.fade-in:nth-child(2){animation-delay:.05s}.fade-in:nth-child(3){animation-delay:.1s}.fade-in:nth-child(4){animation-delay:.15s}.fade-in:nth-child(5){animation-delay:.2s}.fade-in:nth-child(6){animation-delay:.25s}.fade-in:nth-child(7){animation-delay:.3s}.fade-in:nth-child(8){animation-delay:.35s}.fade-in:nth-child(9){animation-delay:.4s}.fade-in:nth-child(10){animation-delay:.45s}.fade-in:nth-child(11){animation-delay:.5s}.fade-in:nth-child(12){animation-delay:.55s}.filter-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;background:#1a1f24;border:1px solid #2c3440;border-radius:8px;padding:.5rem 0;min-width:150px;box-shadow:0 8px 24px #0000004d;z-index:1000}.dropdown-menu button{width:100%;padding:.5rem 1rem;background:none;border:none;color:#e5e7eb;text-align:left;cursor:pointer;transition:background-color .2s}.dropdown-menu button:hover{background:#374151}.header-controls{display:flex;gap:.5rem;align-items:center}.btn.active{background:#ff8000;border-color:#ff8000;color:#fff}.filter-badge{position:absolute;top:-6px;right:-6px;background:#f44;color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700;min-width:16px;text-align:center;z-index:10}.genre-filter-menu{min-width:280px;max-height:400px;overflow-y:auto}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #2c3440;font-weight:600;color:#e5e7eb}.clear-filter-btn{background:none;border:none;color:#ff8000;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.clear-filter-btn:hover{background:#ff80001a}.genre-options{padding:.5rem 0;max-height:300px;overflow-y:auto}.genre-option{display:flex;align-items:center;padding:.5rem 1rem;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.genre-option:hover{background:#374151}.genre-option input[type=checkbox]{display:none}.checkmark{width:16px;height:16px;border:2px solid #6b7280;border-radius:3px;margin-right:.75rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.genre-option input[type=checkbox]:checked+.checkmark{background:#ff8000;border-color:#ff8000}.genre-option input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.genre-name{color:#e5e7eb;font-size:.9rem;line-height:1.2}.friends-selected-text{text-align:center;margin-bottom:15px;color:#9ca3af;font-weight:500;font-size:1rem}.progress-button-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1f2937,#374151);border-radius:12px;border:1px solid #4b5563;min-height:120px;min-width:200px;margin:0 auto}.progress-button-container .progress-info{text-align:center;margin-bottom:20px}.progress-button-container .progress-info h3{color:#e5e7eb;margin-bottom:8px;font-size:1.2rem}.progress-button-container .progress-info p{color:#9ca3af;margin:0;font-size:.9rem}.progress-button-container .progress-bar{width:100%;height:8px;background:#374151;border-radius:4px;overflow:hidden;position:relative}.progress-button-container .progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff8000,orange);width:100%;animation:indeterminateProgress 2s ease-in-out infinite}.progress-button-container .progress-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:2}.progress-details{margin-bottom:1rem}.progress-details p{margin:.25rem 0;font-size:.875rem;color:#9ca3af}.progress-status{font-style:italic;color:#fbbf24!important}@keyframes fadeInOut{0%,10%,90%,to{opacity:1}45%,55%{opacity:.7}}.progress-bar-modern{width:100%;height:12px;background:#374151;border-radius:6px;overflow:hidden;position:relative;margin-top:1rem;box-shadow:inset 0 1px 3px #0000004d}.progress-bar-fill-modern{height:100%;background:linear-gradient(90deg,#ff8000,orange,#ffb84d);border-radius:6px;transition:width .3s ease-in-out;position:relative;box-shadow:0 1px 3px #ff800066}.progress-bar-fill-modern:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#ffffff4d;border-radius:6px 6px 0 0}.progress-percentage-modern{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:3}.movie-quote-display{margin-top:1.5rem;padding:0;background:transparent;border:none;min-height:40px;display:flex;flex-direction:column;justify-content:center;text-align:center}.movie-quote-display .movie-quote{margin:0 0 .3rem;font-style:italic;color:#e5e7eb;font-size:.95rem;line-height:1.4;font-weight:400;opacity:.9}.movie-quote-display .movie-source{margin:0;color:#9ca3af;font-size:.8rem;font-weight:400;opacity:.8}.progress-button-container{min-width:400px;max-width:500px;width:100%}@keyframes indeterminateProgress{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.friend-checkbox input{width:auto;margin-right:.5rem}.results-section{margin-top:2rem}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.results-header h3{color:#fff}.results-page .movies-grid{display:grid;grid-template-columns:repeat(auto-fit,450px);justify-content:center;gap:2rem;width:100%;margin:0 auto;max-width:calc(1350px + 4rem)}.results-page .movie-card{background:linear-gradient(135deg,#1a1f24,#1c2128);border:1px solid #2c3440;border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);height:650px;position:relative;display:flex;flex-direction:column;box-shadow:0 4px 12px #0003;color:inherit;text-decoration:none}.movie-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff800008,#ff660008);opacity:0;transition:opacity .3s ease;z-index:1;pointer-events:none}.movie-card:hover{transform:translateY(-6px) scale(1.02);border-color:#ff8000;box-shadow:0 16px 40px #0006,0 0 0 1px #ff80004d}.movie-card:hover:before{opacity:1}.movie-card.clickable{cursor:pointer}.movie-card.clickable:hover{border-color:#ff8000;box-shadow:0 16px 40px #ff80004d,0 0 0 1px #ff800080}.results-page .movie-poster-section{height:488px;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:12px 12px 0 0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.movie-poster-section.has-poster{background-size:cover;background-repeat:no-repeat}.movie-poster-section.no-poster{background:linear-gradient(135deg,#374151,#4b5563);display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:2rem}.movie-poster-section.no-poster:after{content:"🎬"}.movie-poster{display:none}.movie-poster-placeholder{width:100%;height:225px;background:#2c3440;display:flex;align-items:center;justify-content:center;color:#9ab;font-size:3rem}.movie-poster-img{width:100%;height:100%;object-fit:cover}.results-page .movie-info{background:#1a1f24;padding:.75rem;border-radius:0 0 12px 12px;border-top:1px solid #2c3440;height:162px;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.results-page.dynamic-cards{--grid-gap: 2rem}.results-page.dynamic-cards .movies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,300px));justify-content:center;gap:var(--grid-gap);width:100%;margin:0 auto;max-width:calc(4 * 300px + 3 * var(--grid-gap))}.results-page.dynamic-cards .movie-card{width:100%;aspect-ratio:400 / 900;justify-self:center;display:flex;flex-direction:column;min-height:0;height:auto}.results-page.dynamic-cards .movie-poster-section{height:66.666%}.results-page.dynamic-cards .movie-info{height:33.333%;display:flex;flex-direction:column}.results-page.dynamic-cards .movie-friends{flex:0 0 33.333%}.results-page.dynamic-cards .movie-poster-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px 12px 0 0}.results-page.dynamic-cards .friend-tag{font-size:.95rem}@media (max-width: 560px){.results-page.dynamic-cards{--grid-gap: 1rem;--card-w: clamp(200px, 92vw, 400px)}.results-page.dynamic-cards .movies-grid{max-width:100%}}.movie-content{flex:1;display:flex;flex-direction:column;gap:.125rem}.results-page .movie-title-section{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.25rem;margin-bottom:.5rem}.results-page .movie-title-section h3{color:#fff;font-size:1.25rem;margin:0;line-height:1.2;font-weight:600;flex:0 0 auto}.movie-genre-badges{margin-top:.25rem;display:flex;gap:.5rem;flex-wrap:wrap}.genre-badge{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0f;color:#fff;border:1px solid rgba(0,0,0,.08);padding:.18rem .6rem;border-radius:999px!important;font-size:.78rem;line-height:1;font-weight:700;text-transform:none;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;background-clip:padding-box}.genre-action{background:linear-gradient(135deg,var(--genre-action),#b91c1c);color:#fff;border-color:#0000001f}.genre-comedy{background:linear-gradient(135deg,var(--genre-comedy),#b45309);color:#0b0f12;border-color:#0000000f}.genre-drama{background:linear-gradient(135deg,var(--genre-drama),#0284c7);color:#fff;border-color:#0000001f}.genre-romance{background:linear-gradient(135deg,var(--genre-romance),#be185d);color:#fff;border-color:#0000001f}.genre-horror{background:linear-gradient(135deg,var(--genre-horror),#4c1d95);color:#fff;border-color:#0000001f}.genre-thriller{background:linear-gradient(135deg,var(--genre-thriller),#dc2626);color:#fff;border-color:#0000001f}.genre-scifi{background:linear-gradient(135deg,var(--genre-scifi),#5b21b6);color:#fff;border-color:#0000001f}.genre-fantasy{background:linear-gradient(135deg,var(--genre-fantasy),#115e59);color:#fff;border-color:#0000001f}.genre-documentary{background:linear-gradient(135deg,var(--genre-documentary),#059669);color:#fff;border-color:#0000001f}.genre-animation{background:linear-gradient(135deg,var(--genre-animation),#c2410c);color:#fff;border-color:#0000001f}.genre-crime{background:linear-gradient(135deg,var(--genre-crime),#111827);color:#fff;border-color:#ffffff0f}.genre-mystery{background:linear-gradient(135deg,var(--genre-mystery),#0891b2);color:#fff;border-color:#0000001f}.genre-default{background:#ffffff0f;color:#e5e7eb;border-color:#ffffff0f}@media (max-width: 420px){.genre-badge{font-size:.7rem;padding:.12rem .45rem}}.genre-badge.selected{box-shadow:0 4px 12px #0006;transform:translateY(-1px)}.genre-badge:focus-visible{outline:2px solid #ff8000;outline-offset:2px;box-shadow:0 0 0 3px #ff800040}.selected-clear{background:#ffffff0f;color:#ff8000;border:1px solid rgba(255,128,0,.2)}.movie-genre-badges button.genre-badge{padding:.18rem .6rem;border-radius:999px;font-weight:700;display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(0,0,0,.08);background-clip:padding-box}.movie-details-list{display:flex;flex-direction:column;gap:.125rem;font-size:.9rem;color:#e2e8f0;margin:0;margin-left:1rem}.movie-detail-item{display:flex;align-items:center;gap:.25rem;line-height:1.2}.movie-detail-item .detail-icon{font-size:.8rem;opacity:.9;min-width:12px;color:#cbd5e1}.movie-rating-stars{color:gold;font-size:.7rem;opacity:1}.results-page .movie-friends{margin-top:auto;padding-top:.25rem;border-top:1px solid #2c3440}.friend-count-visual{display:flex;align-items:center;gap:.25rem;padding:.25rem 0}.friends-inline-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.results-page .friend-list-expanded{display:flex;gap:.25rem;flex-wrap:wrap}.results-page .friend-tag{font-size:.63rem;padding:.14rem .26rem;border-radius:5px;border:1px solid;white-space:nowrap;line-height:1}.friend-count-visual.friend-count-clickable{cursor:pointer;transition:opacity .2s ease}.friend-count-visual.friend-count-clickable:hover{opacity:.8}.friend-visual{font-size:2.4rem;line-height:1;white-space:nowrap}.friend-count-text{color:#fff;font-size:.75rem;font-weight:500;line-height:1.2;flex:1;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.expand-icon{color:#9ab;font-size:.8rem;margin-left:.25rem}.friend-list-expanded{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.friend-tag{color:#fff;padding:.32rem .63rem;font-size:.79rem;font-weight:600;margin:.21rem;border-radius:13px;border:1px solid;background:#ffffff14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:inline-block;text-shadow:0 1px 2px rgba(0,0,0,.5)}.friend-color-0{border-color:var(--friend-0);background-color:var(--friend-0-bg)}.friend-color-1{border-color:var(--friend-1);background-color:var(--friend-1-bg)}.friend-color-2{border-color:var(--friend-2);background-color:var(--friend-2-bg)}.friend-color-3{border-color:var(--friend-3);background-color:var(--friend-3-bg)}.friend-color-4{border-color:var(--friend-4);background-color:var(--friend-4-bg)}.friend-color-5{border-color:var(--friend-5);background-color:var(--friend-5-bg)}.friend-color-6{border-color:var(--friend-6);background-color:var(--friend-6-bg)}.friend-color-7{border-color:var(--friend-7);background-color:var(--friend-7-bg)}.friend-color-8{border-color:var(--friend-8);background-color:var(--friend-8-bg)}.friend-color-9{border-color:var(--friend-9);background-color:var(--friend-9-bg)}.friend-color-10{border-color:var(--friend-10);background-color:var(--friend-10-bg)}.friend-color-11{border-color:var(--friend-11);background-color:var(--friend-11-bg)}.friend-color-12{border-color:var(--friend-12);background-color:var(--friend-12-bg)}.friend-color-13{border-color:var(--friend-13);background-color:var(--friend-13-bg)}.friend-color-14{border-color:var(--friend-14);background-color:var(--friend-14-bg)}.friend-color-15{border-color:var(--friend-15);background-color:var(--friend-15-bg)}.friend-color-16{border-color:var(--friend-16);background-color:var(--friend-16-bg)}.friend-color-17{border-color:var(--friend-17);background-color:var(--friend-17-bg)}.friend-color-18{border-color:var(--friend-18);background-color:var(--friend-18-bg)}.friend-color-19{border-color:var(--friend-19);background-color:var(--friend-19-bg)}.letterboxd-link{color:#00d4ff!important;font-size:.8rem;display:flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.3rem .5rem;background:#00d4ff26;border-radius:6px;text-decoration:none;transition:all .2s ease;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.8);border:1px solid rgba(0,212,255,.3)}.letterboxd-link:hover{background:#00d4ff40;border-color:#00d4ff80;transform:translateY(-1px)}.letterboxd-icon{font-size:.875rem}.loading{text-align:center;color:#9ab;font-style:italic;padding:2rem}@media (max-width: 768px){.main{padding:.5rem .25rem}.setup-card{padding:1.5rem}.page-title{font-size:1.25rem;padding:0 3rem}.back-btn{font-size:.85rem;padding:.4rem .6rem}.back-icon{font-size:1.1rem}.friends-header{flex-direction:column;align-items:stretch}.friends-actions{justify-content:center}.friends-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.friends-page .friends-grid{grid-template-columns:repeat(2,1fr);justify-content:center;max-width:none}.friends-page .compare-actions{padding:.75rem 1rem}.friend-avatar{width:50px;height:50px;font-size:1.4rem}.empty-state{padding:3rem 1.5rem;margin:1.5rem 0}.page-header{padding:.75rem 0 1rem;margin-bottom:1.5rem;flex-direction:column;gap:1rem;text-align:center;min-height:60px}.header-title-container{order:1}.page-header h2{font-size:1.5rem}.page-header .btn{order:2;align-self:flex-start}.page-header .btn .btn-text,.header-spacer{display:none}.movies-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.results-page .movies-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));justify-content:center;max-width:none}.profile-card,.sync-info{flex-direction:column;gap:1rem;text-align:center}.sync-status{justify-content:center}}@media (max-width: 480px){.page-header h2{font-size:1.25rem;gap:.2rem}.movie-count{font-size:1.8rem}.movie-label{font-size:1rem}.page-header .btn{font-size:.85rem;padding:.4rem .6rem}}@media (max-width: 360px){.page-header .btn .btn-text{display:none}.page-header h2{font-size:1.1rem}.movie-count{font-size:1.5rem}.movie-label{font-size:.9rem}}.comparison-section{position:fixed;bottom:0;left:0;right:0;background:#1a1f24;border-top:1px solid #2c3440;padding:1rem;z-index:100;box-shadow:0 -4px 12px #0000004d}.comparison-section .btn{max-width:400px;margin:0 auto;display:block}.comparison-section .btn-primary{background:#456;border:1px solid #567}.comparison-section .btn-primary:hover:not(:disabled){background:#567;border-color:#678}.comparison-section .btn-primary:disabled{background:#3a4450;border-color:#456;opacity:.7}.progress-container{margin-top:.75rem;max-width:400px;margin-left:auto;margin-right:auto}.progress-bar{width:100%;height:6px;background:linear-gradient(90deg,#2c3440,#1a1f24,#2c3440);border-radius:3px;overflow:hidden;margin-bottom:.75rem;position:relative;box-shadow:inset 0 1px 3px #0000004d}.progress-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff8000,#f60,#ff8000);background-size:200% 100%;border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1);width:0%;position:relative;overflow:hidden;box-shadow:0 0 8px #ff800066;animation:progressShimmer 2s ease-in-out infinite}.progress-bar-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressGlide 1.5s ease-in-out infinite}.progress-bar-fill.indeterminate{width:100%!important;animation:progressPulse 2s ease-in-out infinite,progressShimmer 2s ease-in-out infinite}@keyframes progressShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes progressGlide{0%{left:-100%}to{left:100%}}.progress-container .progress-text{color:#9ab;font-size:.875rem;text-align:center}@keyframes progressPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#1a1f24;border:1px solid #2c3440;border-radius:8px;padding:2rem;max-width:500px;margin:1rem;max-height:80vh;overflow-y:auto}.modal h3{color:#fff;margin-bottom:1rem}.modal p{color:#9ab;margin-bottom:1rem}.modal ul{color:#fff;margin-bottom:1rem;padding-left:1.5rem}.modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.modal-actions .btn{flex:1;min-width:120px}@media (max-width: 480px){.title{font-size:2rem}.friends-grid{grid-template-columns:repeat(1,1fr);gap:.75rem}.friend-avatar{width:45px;height:45px;font-size:1.2rem}.movies-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.comparison-section{padding:.75rem}.page-header h2{font-size:1.3rem}.empty-state{padding:2.5rem 1rem}.friend-card{padding:1rem;min-height:120px}}@media screen and (-webkit-min-device-pixel-ratio: 0){.progress-bar-fill-modern:before{animation-duration:6s!important;opacity:.3!important}.loading-skeleton{animation-duration:3s!important;opacity:.5!important}.btn.loading:after{animation-duration:3s!important;opacity:.4!important}.progress-bar-fill:before{animation-duration:4s!important;opacity:.3!important}.progress-percentage-modern{animation:none!important}.progress-bar-fill-modern,.loading-skeleton,.btn.loading:after,.progress-bar-fill{transform:translateZ(0)!important;will-change:auto!important}.btn-pin:hover{transform:none!important;background-color:#ff800033!important}}.header-back-btn{flex:0 0 auto;min-width:64px}.header-back-btn .btn-text{white-space:nowrap;overflow:visible}@media (max-width: 420px){.header-back-btn svg{width:12px!important;height:12px!important}.header-back-btn{padding:.32rem .5rem!important}}.page-header .header-back-btn .btn-text{display:inline-block!important;white-space:nowrap!important;visibility:visible!important;opacity:1!important}@media (max-width: 768px){.page-header .header-back-btn .btn-text{display:inline-block!important}}@media (max-width: 360px){.page-header .header-back-btn .btn-text{display:inline-block!important}}
