:root{font-family:Outfit,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:#ffffffeb;background-color:#0d0d0d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:400;color:#ffffffd9;text-decoration:none}a:hover{color:#d4af37}body{margin:0;min-width:320px;min-height:100vh}h1{font-family:Cormorant Garamond,Georgia,serif;font-size:2.5rem;font-weight:500;line-height:1.2;letter-spacing:.02em}button{border-radius:6px;border:1px solid rgba(255,255,255,.12);padding:.6em 1.2em;font-size:.95rem;font-weight:500;font-family:inherit;background-color:#ffffff0d;color:#ffffffe6;cursor:pointer;transition:background-color .2s,border-color .2s}button:hover{background-color:#ffffff14;border-color:#fff3}button:focus,button:focus-visible{outline:2px solid rgba(212,175,55,.5);outline-offset:2px}.layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1.5rem 1.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.logo-wrap{margin:0 0 1.5rem}.logo{font-family:Cormorant Garamond,Georgia,serif;font-size:2.25rem;font-weight:500;color:#fffffffa;text-decoration:none;letter-spacing:.12em;text-transform:uppercase}.logo:hover{color:#d4af37}.nav{display:flex;gap:2rem}.header nav a{font-size:.9rem;font-weight:400;color:#ffffff8c;letter-spacing:.04em;transition:color .2s}.header nav a:hover{color:#ffffffe6}.header nav a.active{color:#d4af37}.main{flex:1;min-height:0;overflow-y:auto;padding:2.5rem 1.5rem;max-width:1200px;margin:0 auto;width:100%}.search-page h1,.watchlists-page h1,.shared-page h1{font-family:Cormorant Garamond,Georgia,serif;font-size:1.85rem;font-weight:500;margin-bottom:.5rem;letter-spacing:.03em}.subtitle{color:#ffffff80;margin-bottom:2rem;font-size:.9rem;font-weight:300;letter-spacing:.02em}.search-form{background:#ffffff05;border-radius:8px;padding:2rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.06)}.form-row{margin-bottom:1rem}.form-row label{display:block;margin-bottom:.35rem;font-size:.85rem;color:#ffffffb3}.type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.type-toggle button{padding:.5rem 1rem;border-radius:8px;background:#ffffff14;color:#fffc;border:1px solid transparent;cursor:pointer}.type-toggle button.active{background:#d4af3733;color:#d4af37;border-color:#d4af3766}.search-input{width:100%;max-width:400px;padding:.6rem .9rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;font-size:1rem}.search-input::placeholder{color:#fff6}.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1rem}.filters select,.filters input[type=number]{width:100%;padding:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff}.btn-primary{padding:.6rem 1.5rem;border-radius:6px;background:#d4af3740;color:#d4af37;font-weight:500;border:1px solid rgba(212,175,55,.35);cursor:pointer;letter-spacing:.03em}.btn-primary:hover:not(:disabled){background:#d4af3759;border-color:#d4af3780}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error{color:#f87171;margin-bottom:1rem}.results-count{color:#fff9;margin-bottom:1rem;font-size:.9rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem}.result-card{background:#ffffff05;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.05);transition:border-color .2s,box-shadow .2s}.result-card:hover{border-color:#ffffff1f;box-shadow:0 4px 20px #0000004d}.poster-wrap{display:block;aspect-ratio:2/3;overflow:hidden;background:#0006}.poster-wrap img{width:100%;height:100%;object-fit:cover}.no-poster{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;font-size:.8rem;text-align:center;color:#ffffff80}.card-info{padding:.75rem}.card-title{display:block;font-weight:600;color:#fff;text-decoration:none;font-size:.95rem;margin-bottom:.25rem;line-height:1.3}.card-title:hover{color:#d4af37}.card-meta{font-size:.8rem;color:#ffffff80;margin:0 0 .5rem}.card-badges{margin-left:.25rem}.badge-star{color:#d4af37;font-size:.75rem}.badge-watched{color:#22c55e;font-size:.85rem}.add-to-list select{width:100%;padding:.35rem;font-size:.8rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;cursor:pointer}.link-small{font-size:.8rem;color:#d4af37}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.pagination button{padding:.5rem 1rem;border-radius:6px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);cursor:pointer}.pagination button:hover:not(:disabled){background:#ffffff26}.pagination button:disabled{opacity:.4;cursor:not-allowed}.create-form{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem}.create-form input[type=text]{padding:.6rem .9rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;min-width:200px}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:#fffc;cursor:pointer;font-size:.9rem}.create-form button{padding:.6rem 1.25rem;border-radius:6px;background:#d4af3733;color:#d4af37;font-weight:500;border:1px solid rgba(212,175,55,.35);cursor:pointer;letter-spacing:.02em}.create-form button:disabled{opacity:.6;cursor:not-allowed}.watchlist-list{list-style:none;padding:0;margin:0}.watchlist-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffff05;border-radius:8px;margin-bottom:.75rem;border:1px solid rgba(255,255,255,.05)}.list-name{font-weight:600;color:#fff;text-decoration:none;flex:1}.list-name:hover{color:#d4af37}.list-meta{font-size:.85rem;color:#ffffff80}.share-code{margin-left:1rem;color:#ffffffb3}.btn-delete{padding:.4rem .8rem;font-size:.85rem;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4);border-radius:6px;cursor:pointer}.btn-delete:hover{background:#f8717126}.empty{color:#ffffff80;font-style:italic}.watchlist-detail .breadcrumb{margin-bottom:.75rem;font-size:.9rem}.breadcrumb a{color:#d4af37}.breadcrumb span{color:#ffffff80;margin:0 .35rem}.share-info{font-size:.9rem;color:#ffffffb3;margin-bottom:1rem;padding:.75rem;background:#d4af370f;border-radius:6px;border:1px solid rgba(212,175,55,.12)}.badge{font-size:.75rem;background:#ffffff26;padding:.2rem .5rem;border-radius:4px;font-weight:500}.btn-watched{display:block;width:100%;margin-bottom:.5rem;font-size:.8rem;padding:.35rem .6rem;background:#ffffff0f;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer}.btn-watched:hover{background:#ffffff1a}.btn-watched.watched{background:#22c55e26;color:#22c55e;border-color:#22c55e66}.btn-remove{font-size:.8rem;padding:.35rem .6rem;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.3);border-radius:4px;cursor:pointer}.btn-remove:hover{background:#f871711a}.btn-add-to-watchlist{margin-bottom:1.5rem;padding:.5rem 1.25rem;background:#d4af3733;color:#d4af37;border:1px solid rgba(212,175,55,.4);border-radius:6px;font-size:.9rem;cursor:pointer}.btn-add-to-watchlist:hover{background:#d4af374d}.add-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.add-modal{background:#121212fa;border:1px solid rgba(255,255,255,.1);border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.add-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.add-modal-header h3{margin:0;font-size:1.25rem}.add-modal-close{width:2rem;height:2rem;padding:0;background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer}.add-modal-close:hover{background:#ffffff1a}.add-modal-search{padding:1.25rem 1.5rem}.add-modal-type{display:flex;gap:.5rem;margin-bottom:1rem}.add-modal-type button{padding:.4rem .9rem;background:#ffffff0f;color:#ffffffb3;border:1px solid transparent;border-radius:6px;cursor:pointer}.add-modal-type button.active{background:#d4af3733;color:#d4af37;border-color:#d4af3766}.add-modal-row{display:flex;gap:.75rem}.add-modal-input{flex:1;padding:.6rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;font-size:1rem}.add-modal-results{flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem}.add-modal-grid{max-height:400px;overflow-y:auto}.btn-add-item{display:block;width:100%;margin-top:.5rem;padding:.35rem .6rem;font-size:.8rem;background:#d4af3733;color:#d4af37;border:1px solid rgba(212,175,55,.4);border-radius:4px;cursor:pointer}.btn-add-item:hover:not(:disabled){background:#d4af374d}.btn-add-item:disabled{opacity:.7;cursor:not-allowed}.already-in-list{display:block;margin-top:.5rem;font-size:.8rem;color:#ffffff80}.shared-form{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.share-code-input{padding:.6rem 1rem;width:200px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;font-size:1rem}.shared-form button{padding:.6rem 1.25rem;border-radius:6px;background:#d4af3733;color:#d4af37;font-weight:500;border:1px solid rgba(212,175,55,.35);cursor:pointer;letter-spacing:.02em}.detail-page .back{display:inline-block;margin-bottom:1rem;color:#d4af37;font-size:.9rem;letter-spacing:.02em}.detail-hero{display:flex;gap:2rem;flex-wrap:wrap}.detail-poster-wrap{position:relative;flex-shrink:0}.detail-poster{width:280px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px #0006;display:block}.detail-trailer-btn{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:#d4af3726;color:#d4af37;border:1px solid rgba(212,175,55,.5);border-radius:6px;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .2s}.detail-trailer-btn:hover{background:#d4af3740}.detail-meta{flex:1;min-width:280px}.detail-page h1{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:500;margin-bottom:.5rem;letter-spacing:.02em}.detail-date{color:#fff9;margin-bottom:1rem}.detail-overview{line-height:1.6;color:#ffffffe6;margin-bottom:1rem}.detail-genres{font-size:.9rem;color:#fff9}.detail-rating{color:#d4af37}.detail-crew{margin-top:.75rem;font-size:.9rem;color:#ffffffd9}.detail-director,.detail-cast{margin:.35rem 0}.detail-add-to-list{margin-top:1rem}.detail-add-to-list select{padding:.5rem 1rem;border-radius:6px;border:1px solid rgba(212,175,55,.4);background:#d4af371a;color:#d4af37;font-size:.9rem;cursor:pointer}.detail-add-to-list select:disabled{opacity:.6;cursor:not-allowed}.detail-create-list{display:inline-block;margin-top:1rem;font-size:.9rem;color:#d4af37}.detail-create-list:hover{text-decoration:underline}.detail-trailer-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;outline:none}.detail-trailer-overlay:focus{outline:none}.detail-trailer-modal{position:relative;width:100%;max-width:900px;outline:none;overflow:hidden;border-radius:8px}.detail-trailer-close{position:absolute;top:-2.5rem;right:0;width:2rem;height:2rem;padding:0;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.detail-trailer-close:hover{background:#fff3}.detail-trailer-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;line-height:0}.detail-trailer-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;outline:none}.loading{color:#fff9}
