*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1a1a2e;--color-primary-light: #16213e;--color-accent: #0f3460;--color-highlight: #e94560;--color-highlight-hover: #c73652;--color-bg: #f0f2f5;--color-surface: #ffffff;--color-text: #1a1a2e;--color-text-secondary: #6b7280;--color-text-light: #9ca3af;--color-border: #e5e7eb;--color-success: #10b981;--color-success-bg: #d1fae5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition: .2s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.navbar-brand{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.5px}.navbar-brand:hover{color:var(--color-highlight)}.navbar-links{display:flex;gap:.5rem}.nav-link{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:#ffffffbf;transition:all var(--transition)}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{color:#fff;background:var(--color-highlight)}.main-content{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.placeholder-page{display:flex;align-items:center;justify-content:center;height:300px;font-size:1.25rem;color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;font-size:.875rem}.breadcrumb-link{color:var(--color-highlight);font-weight:500;transition:color var(--transition)}.breadcrumb-link:hover{color:var(--color-highlight-hover);text-decoration:underline}.breadcrumb-sep{color:var(--color-text-light);margin:0 .35rem}.breadcrumb-current{color:var(--color-text-secondary);font-weight:500}.not-found{text-align:center;padding:4rem 1rem}.not-found h2{margin-bottom:1rem;color:var(--color-text-secondary)}.not-found a{color:var(--color-highlight);font-weight:500}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.collection-card{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition);border:1px solid var(--color-border)}.collection-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-highlight);transform:translateY(-2px)}.card-content{flex:1;min-width:0}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.card-description{font-size:.825rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-arrow{font-size:1.25rem;color:var(--color-text-light);margin-left:1rem;flex-shrink:0;transition:transform var(--transition)}.collection-card:hover .card-arrow{color:var(--color-highlight);transform:translate(4px)}.collection-detail{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}.detail-thumbnail{width:72px;height:72px;border-radius:50%;background:var(--color-border);flex-shrink:0;border:2px solid var(--color-border)}.detail-title{font-size:2rem;font-weight:700;color:var(--color-text);letter-spacing:-.5px}.detail-info{background:var(--color-surface);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.detail-description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:1.25rem}.detail-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.fact-item{display:flex;flex-direction:column;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-sm)}.fact-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);margin-bottom:.25rem}.fact-value{font-size:.95rem;font-weight:600;color:var(--color-text)}.detail-filters{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.winners-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.toggle-option{padding:.45rem 1.1rem;font-size:.85rem;font-weight:500;font-family:inherit;border:none;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition)}.toggle-option:not(:last-child){border-right:1px solid var(--color-border)}.toggle-option:hover{background:var(--color-bg)}.toggle-option.toggle-active{background:var(--color-highlight);color:#fff}.range-picker{display:flex;align-items:center;gap:.5rem}.range-select{padding:.45rem .75rem;font-size:.85rem;font-family:inherit;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--transition);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.range-select:hover,.range-select:focus{border-color:var(--color-highlight);outline:none}.progress-row{display:flex;align-items:stretch;gap:.75rem;margin-bottom:1.5rem}.track-btn{padding:0 1.25rem;font-size:.85rem;font-weight:600;border:2px solid var(--color-highlight);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-highlight);cursor:pointer;white-space:nowrap;transition:all var(--transition);flex-shrink:0}.track-btn:hover,.track-btn-active{background:var(--color-highlight);color:#fff}.track-btn-active:hover{background:var(--color-highlight-hover);border-color:var(--color-highlight-hover)}.progress-section{flex:1;background:var(--color-surface);border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-text{font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.progress-percent{font-size:.9rem;font-weight:700;color:var(--color-success)}.progress-bar{width:100%;height:10px;background:var(--color-bg);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--color-success);border-radius:999px;transition:width .4s ease;min-width:0}.ceremony-controls{display:flex;gap:.5rem;margin-bottom:1rem}.control-btn{padding:.4rem .9rem;font-size:.8rem;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition)}.control-btn:hover{border-color:var(--color-highlight);color:var(--color-highlight)}.ceremony-list{display:flex;flex-direction:column;gap:.5rem}.ceremony-group{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:all var(--transition)}.ceremony-group.ceremony-complete{border-color:var(--color-success);background:var(--color-success-bg)}.ceremony-group.ceremony-complete .ceremony-header{background:var(--color-success-bg)}.ceremony-group.ceremony-complete .ceremony-title{color:#065f46}.ceremony-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.25rem;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left;transition:background var(--transition)}.ceremony-header:hover{background:var(--color-bg)}.ceremony-chevron{font-size:.65rem;color:var(--color-text-light);flex-shrink:0;width:1rem;text-align:center}.ceremony-title{font-size:.9rem;font-weight:600;color:var(--color-text);white-space:nowrap}.ceremony-winner-preview{font-size:.825rem;color:var(--color-text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ceremony-count{font-size:.75rem;font-weight:600;color:var(--color-text-light);background:var(--color-bg);padding:.15rem .55rem;border-radius:999px;flex-shrink:0;margin-left:auto;transition:all var(--transition)}.ceremony-count-done{background:var(--color-success);color:#fff}.ceremony-entries{border-top:1px solid var(--color-border)}.entry-item{display:flex;align-items:center;padding:.75rem 1.25rem .75rem 2.5rem;border-bottom:1px solid var(--color-border);transition:background var(--transition)}.entry-item:last-child{border-bottom:none}.entry-item:hover{background:var(--color-bg)}.entry-item.entry-completed{background:var(--color-success-bg)}.entry-item.entry-completed .entry-name{text-decoration:line-through;color:var(--color-text-secondary)}.entry-item.entry-winner{background:#fffbeb;border-left:3px solid #f59e0b}.entry-item.entry-winner:hover{background:#fef3c7}.entry-item.entry-winner.entry-completed{background:var(--color-success-bg);border-left-color:var(--color-success)}.winner-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.5px;color:#92400e;background:#fde68a;padding:.1rem .45rem;border-radius:3px;margin-right:.5rem;vertical-align:middle}.entry-item.entry-nominee{padding-left:3rem}.entry-item.entry-nominee .entry-name{color:var(--color-text-secondary);font-weight:400}.nominee-label{font-weight:600;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.entry-checkbox{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:1rem;flex-shrink:0}.entry-checkbox input{position:absolute;opacity:0;width:0;height:0}.checkmark{width:22px;height:22px;border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition);display:flex;align-items:center;justify-content:center}.checkmark:after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform var(--transition)}.entry-checkbox input:checked~.checkmark{background:var(--color-success);border-color:var(--color-success)}.entry-checkbox input:checked~.checkmark:after{transform:rotate(45deg) scale(1)}.entry-checkbox:hover .checkmark{border-color:var(--color-success)}.entry-info{display:flex;flex-direction:column;flex:1;cursor:pointer;min-width:0}.entry-name{font-size:.95rem;font-weight:500;color:var(--color-text);transition:color var(--transition)}.entry-info:hover .entry-name{color:var(--color-highlight)}.entry-subtitle{font-size:.8rem;color:var(--color-text-light);margin-top:.15rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease;padding:1rem}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:500px;box-shadow:var(--shadow-lg);position:relative;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--color-bg);border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--transition)}.modal-close:hover{background:var(--color-highlight);color:#fff}.modal-content h2{font-size:1.25rem;margin-bottom:1rem}.modal-placeholder{color:var(--color-text-secondary);font-size:.95rem}.modal-item{max-width:560px;max-height:85vh;overflow-y:auto}.modal-loading,.modal-error{text-align:center;padding:2rem 0;color:var(--color-text-secondary)}.modal-error{color:var(--color-highlight)}.modal-hero{display:flex;gap:1.25rem;margin-bottom:1.25rem}.modal-poster{width:120px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.modal-hero-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}.modal-title{font-size:1.3rem!important;font-weight:700;line-height:1.3}.modal-meta{display:flex;gap:.6rem;font-size:.825rem;color:var(--color-text-secondary)}.modal-meta span{white-space:nowrap}.modal-genre{font-size:.8rem;color:var(--color-text-light)}.modal-rating{font-size:.9rem;font-weight:600;color:#f59e0b}.modal-votes{font-weight:400;font-size:.8rem;color:var(--color-text-light)}.modal-plot{font-size:.9rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1.25rem}.modal-details{display:flex;flex-direction:column;gap:.5rem}.modal-detail-row{display:flex;gap:.75rem;font-size:.85rem;line-height:1.5}.modal-detail-label{font-weight:600;color:var(--color-text);min-width:80px;flex-shrink:0}.modal-detail-row>span:last-child{color:var(--color-text-secondary)}.home-title{font-size:1.5rem;font-weight:700;margin-bottom:1.25rem;color:var(--color-text)}.home-empty{text-align:center;padding:4rem 1rem}.home-empty h2{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:.5rem}.home-empty p{color:var(--color-text-light)}.home-empty a{color:var(--color-highlight);font-weight:500}.tracked-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.tracked-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition);text-decoration:none;color:inherit}.tracked-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-highlight);transform:translateY(-2px)}.tracked-card-body{flex:1;display:flex;flex-direction:column;gap:.35rem;min-width:0}.tracked-name{font-size:1rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracked-filter-badge{display:inline-block;font-size:.7rem;font-weight:600;color:var(--color-accent);background:var(--color-bg);padding:.1rem .5rem;border-radius:999px;width:fit-content}.tracked-progress{display:flex;align-items:center;gap:.5rem;margin-top:.15rem}.tracked-progress-bar{flex:1;height:6px;background:var(--color-bg);border-radius:999px;overflow:hidden}.tracked-progress-fill{height:100%;background:var(--color-success);border-radius:999px;transition:width .4s ease}.tracked-progress-text{font-size:.75rem;font-weight:500;color:var(--color-text-light);white-space:nowrap}.auth-page{display:flex;align-items:center;justify-content:center;min-height:400px}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem 2rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.auth-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-input{padding:.7rem .9rem;font-size:.9rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition)}.auth-input:focus{outline:none;border-color:var(--color-highlight)}.auth-btn{padding:.7rem;font-size:.9rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);background:var(--color-highlight);color:#fff;cursor:pointer;transition:background var(--transition);margin-top:.25rem}.auth-btn:hover:not(:disabled){background:var(--color-highlight-hover)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{font-size:.825rem;color:var(--color-highlight);background:#fef2f2;padding:.5rem .75rem;border-radius:var(--radius-sm)}.auth-switch{text-align:center;margin-top:1.25rem;font-size:.85rem;color:var(--color-text-secondary)}.auth-switch-btn{background:none;border:none;color:var(--color-highlight);font-weight:600;font-family:inherit;font-size:inherit;cursor:pointer;padding:0}.auth-switch-btn:hover{text-decoration:underline}.nav-user{padding:.5rem .75rem;font-size:.825rem;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.nav-logout{background:none;border:none;cursor:pointer;font-family:inherit}.loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:1rem;color:var(--color-text-secondary)}.error{display:flex;align-items:center;justify-content:center;height:200px;font-size:1rem;color:var(--color-highlight)}@media (max-width: 640px){.navbar{padding:0 1rem}.navbar-links{gap:.25rem}.nav-link{padding:.4rem .6rem;font-size:.8rem}.main-content{padding:1.25rem 1rem}.detail-title{font-size:1.5rem}.collection-grid{grid-template-columns:1fr}.detail-facts{grid-template-columns:1fr 1fr}}
