.theme-picker{position:relative}.theme-picker-trigger{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;list-style:none;transition:border-color .2s,transform .15s;display:flex}.theme-picker-trigger::-webkit-details-marker{display:none}.theme-picker-trigger:hover{border-color:var(--accent);transform:scale(1.06)}.theme-picker[open] .theme-picker-trigger{border-color:var(--accent)}.theme-picker-dot{width:14px;height:14px;box-shadow:0 0 8px rgba(var(--accent-rgb), .6);border-radius:50%}.theme-picker-panel{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;width:max-content;min-width:190px;padding:8px;animation:.16s themePanelIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000059}@keyframes themePanelIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.theme-picker-option{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;transition:background .15s;display:flex}.theme-picker-option:hover{background:var(--border)}.theme-picker-option.active{color:var(--accent);font-weight:600}.theme-picker-swatch{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:18px;height:18px;display:flex;overflow:hidden}.theme-picker-swatch span{width:50%;height:100%}.theme-picker-check{margin-left:auto;font-size:12px}@media (prefers-reduced-motion:reduce){.theme-picker-panel{animation:none}}.vim-toggle{border:1px solid var(--border);background:var(--panel);height:32px;color:var(--muted);letter-spacing:.02em;cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;transition:border-color .2s,color .2s,background .2s;display:flex}.vim-toggle:hover{border-color:var(--accent);color:var(--text)}.vim-toggle-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;transition:background .2s,box-shadow .2s}.vim-toggle.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.vim-toggle.active .vim-toggle-dot{background:var(--on-accent);box-shadow:0 0 6px rgba(var(--accent-rgb), .8)}@media (width<=768px){.vim-toggle{padding:0 10px;font-size:11px}}.app-header{border-bottom:1px solid var(--border);z-index:20;background:rgba(var(--bg-rgb), .85);-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.app-header h1{margin:0;font-size:20px}.app-header-brand{align-items:center;gap:10px;display:flex}.app-header-home{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:20px;line-height:1;transition:background .2s,opacity .2s}.app-header-home:hover{background:var(--panel);opacity:.85}.app-header-title{cursor:pointer;-webkit-user-select:none;user-select:none}.app-header-title:hover{opacity:.85}.app-header-actions{align-items:center;gap:12px;display:flex}.app-header-chat,.app-header-filters{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .2s,border-color .2s;display:inline-flex}.app-header-chat:hover,.app-header-filters:hover{border-color:var(--accent)}.app-header-filters-badge{background:var(--accent);color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.user-signin{gap:6px;display:flex}.user-signin input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;width:190px;padding:6px 10px;font-size:13px}.user-signin button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600}.user-badge{align-items:center;gap:8px;display:flex}.user-badge-lists{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.user-badge-lists:hover{background:var(--border)}.user-badge-switch{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;text-decoration:underline}@media (width<=768px){.app-header{flex-wrap:wrap;row-gap:10px;padding:12px 16px}.app-header h1{font-size:17px}.app-header-actions{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.user-signin input{width:120px}}@media (width<=420px){.app-header-actions{justify-content:flex-start;width:100%}.user-signin{width:100%}.user-signin input{flex:1;width:auto;min-width:0}}.search-container{background:var(--bg);padding:16px 24px;position:relative}.search-wrapper{align-items:stretch;gap:8px;max-width:600px;margin:0 auto;display:flex}.search-hint{text-align:center;max-width:600px;color:var(--muted);margin:8px auto 0;font-size:12px}.search-input-group{flex:1;min-width:0;position:relative}.search-submit{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:0 20px;font-size:15px;font-weight:600;transition:opacity .2s}.search-submit:hover{opacity:.9}.search-submit:active{transform:scale(.98)}.search-input{background:var(--panel);border:2px solid var(--border);width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:12px 68px 12px 16px;font-size:16px;transition:border-color .2s;overflow:hidden}.search-input:focus{border-color:var(--accent);outline:none}.search-input::-webkit-search-decoration{-webkit-appearance:none}.search-input::-webkit-search-cancel-button{-webkit-appearance:none}.search-input::-webkit-search-results-button{-webkit-appearance:none}.search-input::-webkit-search-results-decoration{-webkit-appearance:none}.search-input{appearance:none}.clear-search{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1;transition:color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.clear-search:hover{color:var(--text)}.suggestions-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 6px;font-size:13px;line-height:1;transition:color .2s;position:absolute;top:50%;right:44px;transform:translateY(-50%)}.suggestions-toggle:hover{color:var(--text)}.autocomplete{background:var(--panel);border:1px solid var(--border);z-index:100;border-radius:8px;max-height:400px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000004d}.autocomplete-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.selected{background:#7c3aed1a}.autocomplete-item img{object-fit:cover;background:var(--placeholder);border-radius:4px;width:40px;height:60px}.autocomplete-item .no-poster-small{background:var(--placeholder);width:40px;height:60px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;font-size:10px;display:flex}.autocomplete-poster-col{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.autocomplete-trailer-link{color:var(--accent);white-space:nowrap;font-size:9px;font-weight:600;line-height:1;text-decoration:none}.autocomplete-trailer-link:hover{text-decoration:underline}.autocomplete-info{flex:1;min-width:0}.autocomplete-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.autocomplete-meta{color:var(--muted);font-size:12px}.autocomplete-rating{color:var(--accent);font-weight:600}@media (width<=420px){.search-submit{padding:0 14px;font-size:14px}}.filters-overlay{z-index:500;background:#000000b3;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.filters-content{background:var(--panel);box-sizing:border-box;border-radius:10px;width:100%;max-width:760px;padding:28px;position:relative}.filters-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:16px;right:16px}.filters-close:hover{color:var(--text)}.filters-title-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.filters-title-row h2{color:var(--text);margin:0;font-size:20px}.filters-reset{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:16px;padding:6px 14px;font-size:12px;font-weight:600}.filters-reset:hover{border-color:var(--accent)}.filters-section{margin-bottom:24px}.filters-section h3{color:var(--text);text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin:0 0 10px;font-size:14px;font-weight:700}.filters-subtitle{color:var(--muted);margin:-4px 0 10px;font-size:12px}.filters-row{flex-wrap:wrap;gap:8px;display:flex}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:260px;padding-right:4px;display:grid;overflow-y:auto}.filters-chip{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:16px;padding:7px 14px;font-size:13px;transition:border-color .15s,background .15s,color .15s;overflow:hidden}.filters-chip:hover{border-color:var(--accent)}.filters-chip.active,.filters-chip.filters-chip-include{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.filters-chip.filters-chip-exclude{color:#fff;background:#7a2d2d;border-color:#7a2d2d}.filters-chip-mark{margin-left:6px}@media (width<=600px){.filters-overlay{padding:16px}.filters-content{padding:20px}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.movie-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;display:flex}.movie-actions-heart,.movie-actions-bookmark,.movie-actions-star{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;line-height:1;transition:color .15s,transform .1s}.movie-actions-heart:hover,.movie-actions-bookmark:hover,.movie-actions-star:hover{transform:scale(1.15)}.movie-actions-heart{font-size:15px}.movie-actions-heart.active{color:#e0245e}.movie-actions-bookmark{opacity:.55;font-size:13px}.movie-actions-bookmark.active{opacity:1}.movie-actions-stars{gap:1px;margin-left:auto;display:inline-flex}.movie-actions-star{font-size:12px}.movie-actions-star.filled{color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.empty-state{color:var(--muted);text-align:center;padding:48px 16px}.card{background:var(--panel);border:1px solid var(--border);cursor:pointer;transform-style:preserve-3d;opacity:0;border-radius:8px;flex-direction:column;transition:transform .15s ease-out,box-shadow .2s;animation:.4s ease-out forwards fadeInUp;display:flex;overflow:hidden;box-shadow:0 0 0 1px #fff3,0 12px 28px #000000bf,inset 0 1px #ffffff1a}.card:hover{box-shadow:0 0 0 1px #ffffff52,0 22px 46px #000000d9,inset 0 1px #ffffff24}.card img,.card .no-poster{aspect-ratio:2/3;object-fit:cover;background:var(--placeholder);width:100%;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex}.card-trailer-link{text-align:center;background:var(--accent);color:var(--on-accent);padding:5px 0;font-size:11px;font-weight:600;text-decoration:none;display:block}.card-trailer-link:hover{opacity:.9}.card .info{padding:8px 10px}.card .title{margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3}.card .meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.card .rating{color:var(--accent);font-weight:600}.card .genres{color:var(--muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.skeleton-container{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.skeleton-card{background:var(--panel);border-radius:8px;position:relative;overflow:hidden}.skeleton-poster{aspect-ratio:2/3;background:linear-gradient(90deg, var(--skeleton-from) 0%, var(--skeleton-to) 50%, var(--skeleton-from) 100%);background-size:200% 100%;width:100%;animation:1.5s infinite shimmer}.skeleton-info{padding:12px}.skeleton-title{background:linear-gradient(90deg, var(--skeleton-from) 0%, var(--skeleton-to) 50%, var(--skeleton-from) 100%);background-size:200% 100%;border-radius:4px;height:16px;margin-bottom:8px;animation:1.5s infinite shimmer}.skeleton-meta{background:linear-gradient(90deg, var(--skeleton-from) 0%, var(--skeleton-to) 50%, var(--skeleton-from) 100%);background-size:200% 100%;border-radius:4px;width:70%;height:12px;animation:1.5s infinite shimmer}@media (width<=768px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card .title{font-size:12px}.card .meta{font-size:11px}}@media (width<=420px){.grid{grid-template-columns:repeat(2,1fr);gap:8px}}.pagination{justify-content:center;align-items:center;gap:16px;margin:20px 0;display:flex}.page-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.page-btn:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-label,.page-jump{color:var(--muted);text-align:center;white-space:nowrap;min-width:120px;font-size:14px}.page-input{background:var(--bg);border:1px solid var(--border);width:5.5em;color:var(--text);text-align:center;border-radius:4px;padding:4px 6px;font-size:14px}.page-input:focus{border-color:var(--accent);outline:none}.page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (width<=420px){.pagination{flex-wrap:wrap;gap:10px}.page-label,.page-jump{min-width:unset;font-size:13px}}.modal{z-index:1000;-webkit-backdrop-filter:blur(10px);background:#000000d9;justify-content:center;align-items:center;padding:20px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPopIn{0%{opacity:0;transform:scale(.9)translateY(28px)}60%{opacity:1;transform:scale(1.015)translateY(-3px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalGlowIn{0%{box-shadow:0 0 0 4px rgba(var(--accent-rgb), 0), 0 45px 60px -20px #000000d9, 0 20px 100px 10px #000000b3, 0 0 0 rgba(var(--accent-rgb), 0)}60%{box-shadow:0 0 0 4px rgba(var(--accent-rgb), .22), 0 45px 60px -20px #000000d9, 0 20px 100px 10px #000000b3, 0 0 80px rgba(var(--accent-rgb), .5)}to{box-shadow:0 0 0 4px rgba(var(--accent-rgb), .14), 0 45px 60px -20px #000000d9, 0 20px 100px 10px #000000b3, 0 0 60px -4px rgba(var(--accent-rgb), .28)}}@keyframes modalStaggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-content{background:var(--panel);color:var(--text);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:900px;max-height:90vh;box-shadow:0 0 0 4px rgba(var(--accent-rgb), .14), 0 45px 60px -20px #000000d9, 0 20px 100px 10px #000000b3, 0 0 60px -4px rgba(var(--accent-rgb), .28);scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:12px;animation:.45s cubic-bezier(.2,.9,.3,1.1) modalPopIn,.9s ease-out forwards modalGlowIn;position:relative;overflow-y:auto}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-content::-webkit-scrollbar-thumb{background-color:var(--border);border:3px solid var(--panel);background-clip:padding-box;border-radius:999px}.modal-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}.modal-poster-col,.modal-info{animation:.4s both modalStaggerIn}.modal-poster-col{animation-delay:80ms}.modal-info{animation-delay:.16s}@media (prefers-reduced-motion:reduce){.modal,.modal-content,.modal-poster-col,.modal-info{animation:none!important}}.modal-close{color:#fff;cursor:pointer;z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:32px;line-height:1;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:#000c}.modal-body{gap:24px;padding:24px;display:flex}.modal-poster-col{flex-direction:column;gap:10px;width:300px;min-width:300px;display:flex}.modal-poster{object-fit:cover;border-radius:8px;width:100%;box-shadow:0 4px 16px #0006}.modal-trailer-link{text-align:center;background:var(--accent);color:var(--on-accent);border-radius:6px;padding:8px 0;font-size:14px;font-weight:600;text-decoration:none;display:block}.modal-trailer-link:hover{opacity:.9}.modal-info{flex:1}.modal-info h2{margin:0 0 12px;font-size:28px;line-height:1.2}.modal-meta{color:var(--muted);gap:16px;margin-bottom:16px;font-size:14px;display:flex}.modal-info p{color:var(--text);margin:0;font-size:15px;line-height:1.6}.modal-overview-skeleton{flex-direction:column;gap:8px;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--skeleton-from) 0%, var(--skeleton-to) 50%, var(--skeleton-from) 100%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.5s infinite shimmer}.skeleton-line.short{width:60%}.modal-imdb-link{color:var(--accent);margin-top:16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.modal-imdb-link:hover{text-decoration:underline}.modal-scroll-hint{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;margin:10px 0 0;padding:0;font-size:13px;font-weight:600;display:block}.modal-scroll-hint:hover{text-decoration:underline}.modal-watch{border-top:1px solid var(--border);padding:20px 24px 24px}.modal-watch h3{color:var(--text);margin:0 0 12px;font-size:16px}.modal-watch-empty{color:var(--muted);margin:0;font-size:14px}.modal-watch-group{align-items:center;gap:10px;margin-bottom:10px;display:flex}.modal-watch-label{width:90px;color:var(--muted);flex-shrink:0;font-size:13px}.modal-watch-providers{flex-wrap:wrap;gap:8px;display:flex}.modal-watch-providers img{border-radius:8px;width:36px;height:36px;transition:transform .15s;display:block}.modal-watch-providers a:hover img{transform:translateY(-2px)}.modal-watch-attribution{color:var(--muted);margin:8px 0 0;font-size:12px}.modal-watch-attribution a{color:var(--muted);text-decoration:underline}.modal-mine{border-top:1px solid var(--border);padding:20px 24px 24px}.modal-mine h3{color:var(--text);margin:0 0 12px;font-size:16px}.modal-mine-hint{color:var(--muted);margin:0;font-size:14px}.modal-mine .movie-actions{border-top:none;justify-content:flex-start;padding:0 0 12px}.modal-mine .movie-actions-heart,.modal-mine .movie-actions-bookmark{font-size:20px}.modal-mine .movie-actions-star{font-size:16px}.modal-mine .movie-actions-stars{margin-left:8px}.modal-mine-comment{box-sizing:border-box;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-family:inherit;font-size:14px}.modal-mine-save{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600}.modal-mine-save:disabled{opacity:.6;cursor:default}.modal-similar{padding:0 24px 24px}.modal-similar h3{color:var(--text);margin:0 0 12px;font-size:16px}.modal-similar-loading{color:var(--muted);margin:0;font-size:14px}.modal-similar-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.modal-similar-more{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin:16px auto 0;padding:8px 20px;font-size:14px;font-weight:600;transition:all .2s;display:block}.modal-similar-more:hover:not(:disabled){background:var(--border)}.modal-similar-more:disabled{opacity:.6;cursor:default}.modal-similar-skeleton .skeleton-poster{aspect-ratio:2/3;border-radius:6px}.modal-similar-skeleton .skeleton-title{height:12px;margin-top:6px}.modal-similar-card{cursor:pointer;transition:transform .15s ease-out}.modal-similar-card img,.modal-similar-no-poster{aspect-ratio:2/3;object-fit:cover;background:var(--placeholder);width:100%;color:var(--muted);text-align:center;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.modal-similar-title{color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.modal-similar-meta{color:var(--muted);justify-content:space-between;gap:4px;margin-top:2px;font-size:11px;display:flex}.modal-similar-rating{color:var(--accent);font-weight:600}.modal-similar-card .movie-actions{border-top:none}@media (width<=768px){.modal-body{flex-direction:column;padding:16px}.modal-similar{padding:0 16px 16px}.modal-similar-grid{grid-template-columns:repeat(3,1fr)}.modal-poster-col{width:100%;min-width:unset;max-width:300px;margin:0 auto}.modal-info h2{font-size:24px}.modal-close{width:36px;height:36px;font-size:28px}}.mylist-overlay{z-index:500;background:#000000b3;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.mylist-content{background:var(--panel);box-sizing:border-box;border-radius:10px;width:100%;max-width:1000px;padding:28px;position:relative}.mylist-content h2{color:var(--text);margin:0 0 16px;font-size:20px}.mylist-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:16px;right:16px}.mylist-close:hover{color:var(--text)}.mylist-tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:20px;display:flex}.mylist-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:600}.mylist-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mylist-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:14px}.mylist-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.mylist-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;gap:12px;padding:10px;transition:border-color .2s;display:flex}.mylist-skeleton{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:12px;padding:10px;display:flex}.mylist-skeleton .skeleton-poster{border-radius:4px;flex-shrink:0;width:60px;height:90px}.mylist-skeleton-lines{flex-direction:column;flex:1;justify-content:center;gap:8px;display:flex}.mylist-card:hover{border-color:var(--accent)}.mylist-card img,.mylist-no-poster{object-fit:cover;border-radius:4px;flex-shrink:0;width:60px;height:90px}.mylist-no-poster{background:var(--panel);color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:10px;display:flex}.mylist-info{flex-direction:column;gap:4px;min-width:0;display:flex}.mylist-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.mylist-meta{color:var(--muted);gap:8px;font-size:12px;display:flex}.mylist-my-rating{color:var(--accent);font-weight:600}.mylist-comment{color:var(--muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}@media (width<=600px){.mylist-overlay{padding:16px}.mylist-content{padding:20px}}.chat-overlay{z-index:500;background:#000000b3;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.chat-content{background:var(--panel);box-sizing:border-box;border-radius:10px;flex-direction:column;width:100%;max-width:640px;padding:28px;display:flex;position:relative}.chat-content h2{color:var(--text);margin:0 0 4px;font-size:20px}.chat-subtitle{color:var(--muted);margin:0 0 16px;font-size:13px}.chat-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:16px;right:16px}.chat-close:hover{color:var(--text)}.chat-degraded{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:12px}.chat-messages{flex-direction:column;gap:10px;max-height:320px;margin-bottom:12px;padding:4px 2px;display:flex;overflow-y:auto}.chat-empty{color:var(--muted);text-align:center;padding:16px 0;font-size:13px}.chat-bubble{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.4}.chat-bubble-user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble-assistant{background:var(--bg);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble-pending{color:var(--muted);font-style:italic}.chat-error{color:#e05a5a;margin:0 0 12px;font-size:13px}.chat-suggestions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chat-suggestion{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:16px;max-width:100%;padding:8px 14px;font-size:13px;transition:border-color .15s}.chat-suggestion:hover:not(:disabled){border-color:var(--accent)}.chat-suggestion:disabled{opacity:.5;cursor:default}.chat-input-row{gap:8px;display:flex}.chat-input-row input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.chat-input-row input:focus{border-color:var(--accent);outline:none}.chat-input-row button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.chat-input-row button:disabled{opacity:.5;cursor:default}.chat-footer{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.chat-start-over{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.chat-start-over:hover{color:var(--text)}.chat-view-results{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;margin-left:auto;padding:8px 16px;font-size:13px;font-weight:600}.chat-view-results:hover{border-color:var(--accent)}@media (width<=600px){.chat-overlay{padding:16px}.chat-content{padding:20px}}.hint-overlay{z-index:3000;pointer-events:none;position:fixed;inset:0}.hint-badge{text-align:center;background:var(--accent);min-width:16px;color:var(--on-accent);text-transform:uppercase;border-radius:4px;padding:3px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800;line-height:1;animation:.1s ease-out hintPopIn;position:fixed;transform:translate(-4px,-4px);box-shadow:0 2px 8px #00000073,0 0 0 1px #ffffff80}@keyframes hintPopIn{0%{opacity:0;transform:translate(-4px,-4px)scale(.7)}to{opacity:1;transform:translate(-4px,-4px)scale(1)}}.layout{align-items:flex-start;gap:24px;padding:24px;display:flex}.main-content{flex:1;min-width:0}.status{color:var(--muted);margin-bottom:12px;font-size:14px}.status-refreshing{animation:1.3s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (width<=768px){.layout{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:0}}:root,[data-theme=midnight]{--bg:#f0ece1;--bg-rgb:240, 236, 225;--panel:#fff;--border:#ddd5c2;--text:#1e1a12;--muted:#6b6355;--accent:#b45309;--accent-rgb:180, 83, 9;--on-accent:#fff;--placeholder:#f4f0e6;--skeleton-from:#f4f0e6;--skeleton-to:#ddd5c2}[data-theme=crimson]{--bg:#f8e9ea;--bg-rgb:248, 233, 234;--panel:#fff;--border:#f0cdd0;--text:#2a1113;--muted:#8a6265;--accent:#be123c;--accent-rgb:190, 18, 60;--on-accent:#fff;--placeholder:#fbeef0;--skeleton-from:#fbeef0;--skeleton-to:#f0cdd0}[data-theme=neon]{--bg:#f5eaf8;--bg-rgb:245, 234, 248;--panel:#fff;--border:#ecd0f2;--text:#24102a;--muted:#86678f;--accent:#c026d3;--accent-rgb:192, 38, 211;--on-accent:#fff;--placeholder:#f8eefa;--skeleton-from:#f8eefa;--skeleton-to:#ecd0f2}[data-theme=ocean]{--bg:#e6f1f3;--bg-rgb:230, 241, 243;--panel:#fff;--border:#c9e3e8;--text:#0b2126;--muted:#567479;--accent:#0e7490;--accent-rgb:14, 116, 144;--on-accent:#fff;--placeholder:#edf5f7;--skeleton-from:#edf5f7;--skeleton-to:#c9e3e8}[data-theme=daylight]{--bg:#e7e9ed;--bg-rgb:231, 233, 237;--panel:#fff;--border:#d5dae2;--text:#14161a;--muted:#5b6370;--accent:#eab308;--accent-rgb:234, 179, 8;--on-accent:#14161a;--placeholder:#eef0f3;--skeleton-from:#eef0f3;--skeleton-to:#d5dae2}[data-theme=emerald]{--bg:#e7f3ec;--bg-rgb:231, 243, 236;--panel:#fff;--border:#c7e6d5;--text:#0c2118;--muted:#557a68;--accent:#15803d;--accent-rgb:21, 128, 61;--on-accent:#fff;--placeholder:#eef7f2;--skeleton-from:#eef7f2;--skeleton-to:#c7e6d5}[data-theme=amethyst]{--bg:#f0ecf9;--bg-rgb:240, 236, 249;--panel:#fff;--border:#ddd2f0;--text:#1c1430;--muted:#766a92;--accent:#6d28d9;--accent-rgb:109, 40, 217;--on-accent:#fff;--placeholder:#f5f1fb;--skeleton-from:#f5f1fb;--skeleton-to:#ddd2f0}[data-theme=ember]{--bg:#f8ede4;--bg-rgb:248, 237, 228;--panel:#fff;--border:#f0d3bd;--text:#2a1608;--muted:#8a6a52;--accent:#c2410c;--accent-rgb:194, 65, 12;--on-accent:#fff;--placeholder:#fbf1e9;--skeleton-from:#fbf1e9;--skeleton-to:#f0d3bd}[data-theme=graphite]{--bg:#ececed;--bg-rgb:236, 236, 237;--panel:#fff;--border:#d6d6d8;--text:#171718;--muted:#6b6b6e;--accent:#3f3f46;--accent-rgb:63, 63, 70;--on-accent:#fff;--placeholder:#f2f2f3;--skeleton-from:#f2f2f3;--skeleton-to:#d6d6d8}[data-theme=rosequartz]{--bg:#f3e3e8;--bg-rgb:243, 227, 232;--panel:#fff;--border:#edc9d4;--text:#241318;--muted:#8a6a72;--accent:#ec4899;--accent-rgb:236, 72, 153;--on-accent:#fff;--placeholder:#f8e8ec;--skeleton-from:#f8e8ec;--skeleton-to:#edc9d4}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:var(--bg);width:100%;color:var(--text);overscroll-behavior-y:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}input[type=number],input[type=text],select{font-family:inherit}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0}to{opacity:1}}
