:root{--primary-teal: #b3b3b3;--dark-teal: #959595;--cream: #eae9e6;--dark-cream: #d5d3cc;--light-teal: #d8d8d8;--accent-yellow: rgb(236, 230, 213);--text-dark: #474747;--text-light: #e6e5e5;--font-stack-mono: "Courier New", Courier, monospace, system-ui, sans-serif;--font-stack: system-ui;font-family:var(--font-stack);line-height:1.6;font-weight:400;color-scheme:light;color:var(--text-dark);background-color:var(--primary-teal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:600;color:var(--dark-teal);text-decoration:none;text-transform:uppercase;letter-spacing:.05em}a:hover{color:var(--text-dark);text-decoration:underline}*{box-sizing:border-box}body{margin:0;display:flex;min-width:320px;min-height:100vh;background-color:var(--primary-teal)}#root{width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark)}h2{font-size:2em;margin-bottom:1rem}h3{font-size:1.5em;margin-bottom:.75rem}h1{font-size:3.2em;line-height:1.1}button{border-radius:0;border:3px solid var(--text-dark);padding:.8em 1.5em;font-size:1em;font-weight:700;font-family:var(--font-stack) background-color: var(--cream);color:var(--text-dark);cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal)}button:hover{background-color:var(--accent-yellow);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal)}button:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--dark-teal)}button:disabled{opacity:.5;cursor:not-allowed;background-color:var(--dark-cream)}button:disabled:hover{transform:none;box-shadow:4px 4px 0 var(--dark-teal)}input,textarea,select{font-family:var(--font-stack) border: 3px solid var(--text-dark);background-color:var(--cream);color:var(--text-dark);padding:.6em;font-size:1em;border-radius:0}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-yellow);box-shadow:0 0 0 3px #f4e9424d}.btn-primary{background-color:var(--dark-teal);color:var(--cream)}.btn-primary:hover{background-color:var(--text-dark)}.btn-secondary{padding:.5rem 1rem;font-size:.85rem;box-shadow:3px 3px 0 var(--dark-teal)}.btn-secondary:hover{box-shadow:1px 1px 0 var(--dark-teal)}.back-button{display:inline-block;padding:.75rem 1.5rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal);transition:all .2s;color:var(--text-dark);text-decoration:none}.back-button:hover{background:var(--accent-yellow);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal);text-decoration:none;color:var(--text-dark)}.card{background:var(--cream);border:4px solid var(--text-dark);border-radius:0;padding:2rem;box-shadow:6px 6px 0 var(--dark-teal);transition:all .2s}.card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--dark-teal)}.card-static{background:var(--cream);border:4px solid var(--text-dark);border-radius:0;padding:2rem;box-shadow:6px 6px 0 var(--dark-teal)}.card-sm{padding:1rem;border-width:3px;box-shadow:4px 4px 0 var(--dark-teal)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:3px solid var(--text-dark);border-radius:0;font-size:1rem;background:var(--cream);color:var(--text-dark)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--dark-teal);box-shadow:0 0 0 3px #9595954d}.checkbox-wrapper{display:flex;align-items:center;gap:.75rem}.checkbox-wrapper input[type=checkbox]{width:1.5rem;height:1.5rem;cursor:pointer;border:3px solid var(--text-dark);appearance:none;-webkit-appearance:none;background:var(--cream);position:relative;flex-shrink:0}.checkbox-wrapper input[type=checkbox]:checked{background:var(--dark-teal)}.checkbox-wrapper input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--cream);font-size:1.2rem;font-weight:700}.error-message{padding:1rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal);margin-bottom:1rem}.success-message{padding:1rem;background:var(--light-teal);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal);margin-bottom:1rem}.table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream)}.table thead{background:var(--dark-teal);color:var(--cream)}.table th{padding:1rem;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark)}.table td{padding:1rem;border-bottom:1px solid var(--dark-cream);color:var(--text-dark)}.table tbody tr:hover{background:var(--accent-yellow)}.table tbody tr.selected{background:var(--light-teal)}.modal-overlay{position:fixed;inset:0;background:#474747b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--cream);border:4px solid var(--text-dark);border-radius:0;padding:2rem;box-shadow:8px 8px 0 var(--dark-teal);max-width:90vw;max-height:90vh;overflow-y:auto}.badge{display:inline-block;padding:.25rem .75rem;border:2px solid var(--text-dark);border-radius:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--cream);color:var(--text-dark)}.badge-primary{background:var(--dark-teal);color:var(--cream)}.badge-secondary{background:var(--accent-yellow)}.page-container{max-width:1200px;margin:0 auto;padding:2rem}.page-container-narrow{max-width:800px;margin:0 auto;padding:2rem}.keyboard-hints{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:var(--text-dark);color:var(--cream);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--text-dark);z-index:100}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark)}.layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--text-light)}.header{background-color:var(--cream);border-bottom:6px solid var(--text-dark);padding:1.5rem 2rem}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{text-decoration:none;color:inherit}.logo h1{margin:0;font-size:2rem;color:var(--primary-teal);text-transform:uppercase;letter-spacing:.15em}.nav{display:flex;gap:2rem}.nav a{color:var(--text-dark);text-decoration:none;font-weight:700;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;padding:.5rem 0;border-bottom:3px solid transparent}.nav a:hover{color:var(--dark-teal);border-bottom-color:var(--accent-yellow)}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.footer{background-color:var(--cream);border-top:6px solid var(--text-dark);padding:2rem;margin-top:4rem}.footer-content{max-width:1200px;margin:0 auto;text-align:center;color:var(--text-dark)}.footer-content p{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.header-auth{display:flex;align-items:center;gap:1rem}.username{color:var(--text-dark);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.username-link{color:var(--text-dark);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;padding:.5rem 0;border-bottom:3px solid transparent;transition:all .2s}.username-link:hover{color:var(--dark-teal);border-bottom-color:var(--accent-yellow)}.logout-button{padding:.6rem 1.2rem;background-color:var(--cream);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;font-size:.85rem;cursor:pointer;transition:all .2s;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:3px 3px 0 var(--dark-teal)}.logout-button:hover{background-color:var(--primary-teal);color:var(--cream);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.login-link,.register-link{padding:.6rem 1.2rem;text-decoration:none;border-radius:0;font-size:.85rem;transition:all .2s;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:3px solid var(--text-dark)}.login-link{color:var(--text-dark);background-color:var(--cream);box-shadow:3px 3px 0 var(--dark-teal)}.login-link:hover{background-color:var(--dark-cream);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.register-link{color:var(--cream);background-color:var(--dark-teal);box-shadow:3px 3px 0 var(--text-dark)}.register-link:hover{background-color:var(--accent-yellow);color:var(--text-dark);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--text-dark)}.movie-card{cursor:pointer;border-radius:8px;overflow:hidden;background:#1a1a1a;transition:transform .2s,box-shadow .2s}.movie-card:hover{box-shadow:0 4px 12px #00000026}.movie-card.selected{outline:2px solid var(--primary-color, #007bff);outline-offset:2px}.movie-poster{width:100%;aspect-ratio:2/3;object-fit:cover;contain:layout;display:block}.movie-poster-placeholder{width:100%;aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:1rem;text-align:center;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:8px}.placeholder-title{font-weight:700;font-size:1.1rem;color:var(--text-dark, #1a1a1a);text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.movie-info h3{margin:0 0 4px;font-size:16px;font-weight:600}.movie-year{margin:0;color:#2a2a2a;font-size:14px}.movie-rating{margin:4px 0 0;font-size:14px;font-weight:500;color:#fff}.movie-info{padding:8px 12px 12px}.movie-info__title-year{gap:1rem;justify-content:space-between;display:flex}.movie-search-modal{width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.movie-search-modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid var(--dark-teal);margin-bottom:1rem}.movie-search-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark)}.modal-close-btn{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-dark);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:var(--dark-teal)}.movie-search-input-wrapper{margin-bottom:1rem}.movie-search-input{width:100%;padding:1rem;font-size:1rem;font-family:var(--font-stack);font-weight:600;border:3px solid var(--text-dark);background:var(--cream);color:var(--text-dark)}.movie-search-input:focus{outline:none;border-color:var(--dark-teal)}.movie-search-input::placeholder{color:var(--text-dark);opacity:.5}.movie-search-results{flex:1;overflow-y:auto;min-height:200px;max-height:400px}.search-loading,.search-no-results{padding:2rem;text-align:center;color:var(--text-dark);font-weight:600}.search-no-results p{margin:0 0 1rem}.advanced-search-btn{padding:.75rem 1.5rem;background:var(--cream);border:2px solid var(--text-dark);font-family:var(--font-stack);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark);cursor:pointer;transition:all .15s}.advanced-search-btn:hover{background:var(--light-teal);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--dark-teal)}.search-result-item{display:flex;align-items:center;gap:1rem;width:100%;padding:.75rem;background:var(--cream);border:2px solid var(--text-dark);margin-bottom:.5rem;cursor:pointer;text-align:left;font-family:var(--font-stack);transition:all .15s}.search-result-item:hover{background:var(--light-teal);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--dark-teal)}.search-result-poster{width:40px;height:60px;object-fit:cover;border:2px solid var(--text-dark);flex-shrink:0}.search-result-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.search-result-title{font-weight:700;color:var(--text-dark);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-year{font-size:.85rem;color:var(--text-dark);opacity:.7;font-weight:600}.home-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:var(--font-stack)}.home-section{margin-bottom:4rem}.section-header{margin-bottom:2rem}.section-header h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark)}.section-subtitle{margin:0;font-size:1rem;font-weight:600;color:var(--text-dark);opacity:.8}.subsection{margin-bottom:2.5rem}.subsection h3{margin:0 0 1rem;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark);padding-bottom:.5rem;border-bottom:2px solid var(--dark-teal)}.plex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.movie-club-header{display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--dark-teal)}.ticket-stub{border:none;padding:4.8rem;background:url(/assets/ticket-stub-BogV09HK.png) center / contain no-repeat;font-family:var(--font-stack);cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:none;display:flex;justify-content:center}.ticket-stub:hover{transform:translate(-2px,-2px)}.ticket-stub h3{margin:0;text-align:center;font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;background:#bebebe}.movie-club-header h3{margin:0;padding:0;border:none}.see-all-link{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dark-teal)}.see-all-link:hover{color:var(--text-dark)}.movie-club-message{display:flex;gap:1.5rem;padding:1.5rem;background:var(--cream);border:4px solid var(--text-dark);box-shadow:6px 6px 0 var(--dark-teal);margin-bottom:1.5rem}.host-avatar{width:60px;height:60px;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.message-content{flex:1}.host-name{margin:0 0 .5rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dark-teal)}.theme-message{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-dark)}.theme-message strong{color:var(--text-dark)}.make-pick-card{display:inline-flex;width:auto}.quick-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.ticket-stub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding-bottom:4rem}.quick-actions{display:flex;gap:1.5rem}.quick-start-card{display:flex;flex-direction:column;position:relative;padding:2rem;background:var(--cream);border:4px solid var(--text-dark);box-shadow:6px 6px 0 var(--dark-teal);text-decoration:none;color:var(--text-dark);transition:all .2s}.quick-start-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--dark-teal);text-decoration:none;color:var(--text-dark)}.quick-start-card h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.quick-start-card p{margin:0;font-size:.9rem;font-weight:600;line-height:1.4}@media(max-width:968px){.quick-start-grid{grid-template-columns:1fr}.plex-grid{grid-template-columns:repeat(2,1fr)}.quick-actions{flex-direction:column}.movie-club-message{flex-direction:column;align-items:center;text-align:center}}@media(max-width:600px){.plex-grid{grid-template-columns:1fr}}.add-pick-page{max-width:800px;margin:0 auto;padding:2rem}.add-pick-header{margin-bottom:2rem}.add-pick-header h2{margin-top:1rem;font-size:2rem}.add-pick-content{display:flex;flex-direction:column;gap:2rem}.pick-form{background:var(--cream);padding:2rem;border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal)}.pick-form .form-group textarea{min-height:120px}.pick-form .form-group small{display:block;margin-top:.5rem;color:var(--text-dark);font-size:.85rem;font-weight:600}.add-review-page{max-width:800px;margin:0 auto;padding:2rem}.add-review-header{margin-bottom:2rem}.add-review-header h2{margin-top:1rem;font-size:2rem}.add-review-content{display:flex;flex-direction:column;gap:2rem}.movie-info-card{display:flex;gap:1.5rem;padding:1.5rem;background:var(--cream);border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal)}.movie-info-card .movie-poster{width:150px;height:225px;object-fit:cover;border:3px solid var(--text-dark);border-radius:0}.movie-info-card .movie-details{flex:1}.movie-info-card h3{margin:0 0 .5rem;font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em}.movie-info-card .year,.movie-info-card .rating,.movie-info-card .genres{margin:.5rem 0;font-weight:600}.review-form{background:var(--cream);padding:2rem;border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal)}.review-form .form-group textarea{min-height:200px}.review-form .form-group small{display:block;margin-top:.5rem;color:var(--text-dark);font-size:.85rem;font-weight:600}.rating-input{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.rating-input input[type=range]{flex:1;cursor:pointer}.rating-input.inactive input[type=range]{opacity:.4}.rating-input .clear-rating{padding:.5rem 1rem;background:var(--cream);border:2px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:2px 2px 0 var(--dark-teal);transition:all .2s}.rating-input .clear-rating:hover{background:var(--dark-cream);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--dark-teal)}.review-form .star-rating-input{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.review-form .star-rating-input .star{font-size:2.5rem;color:var(--dark-cream);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;text-shadow:2px 2px 0 var(--text-dark)}.review-form .star-rating-input .star:hover,.review-form .star-rating-input .star.filled{color:var(--accent-yellow);transform:scale(1.1)}.review-form .star-rating-input .clear-rating{padding:.6rem 1rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.8rem;margin-left:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:2px 2px 0 var(--dark-teal);transition:all .2s}.review-form .star-rating-input .clear-rating:hover{background:var(--dark-cream);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--dark-teal)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.movies-page{max-width:1400px;margin:0 auto;padding:2rem}.movies-header{margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-top h2{margin:0}.view-mode-toggle{display:flex;gap:.5rem}.view-mode-toggle button{padding:.5rem 1rem;border:3px solid var(--text-dark);background:var(--cream);color:var(--text-dark);cursor:pointer;border-radius:0;transition:all .2s;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;box-shadow:3px 3px 0 var(--dark-teal)}.view-mode-toggle button:hover{background:var(--dark-cream);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.view-mode-toggle button.active{background:var(--text-dark);color:var(--text-light);border-color:var(--text-dark)}.search-controls{display:flex;flex-direction:column;gap:1rem}.search-mode-toggle{display:flex;gap:.5rem}.search-mode-toggle button{padding:.75rem 1.5rem;border:3px solid var(--text-dark);background:var(--cream);color:var(--text-dark);cursor:pointer;border-radius:0;transition:all .2s;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:3px 3px 0 var(--dark-teal)}.search-mode-toggle button:hover{background:var(--dark-cream);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.search-mode-toggle button.active{background:var(--accent-yellow);color:var(--text-dark);border-color:var(--text-dark)}.search-form{display:flex;gap:.5rem}.search-input{flex:1;padding:.75rem;border:3px solid var(--text-dark);border-radius:0;font-size:1rem;background:var(--cream);color:var(--text-dark);font-family:var(--font-stack)}.search-form button{padding:.75rem 1.5rem;background:var(--cream);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;box-shadow:4px 4px 0 var(--dark-teal)}.search-form button:hover:not(:disabled){background:var(--accent-yellow);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal)}.search-form button:disabled{opacity:.5;cursor:not-allowed;background:var(--dark-cream)}.error-message{background:var(--cream);color:var(--text-dark);padding:1rem;border-radius:0;margin-bottom:1rem;border:3px solid var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.movies-grid{display:grid;display:grid-lanes;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;background:var(--dark-cream);margin-left:-4.5rem;margin-right:-4.5rem;padding:2rem}.movie-card{cursor:pointer;border-radius:0;overflow:hidden;transition:all .2s;background:var(--cream)}.movie-card.selected{border-color:var(--accent-yellow);background:var(--accent-yellow)}.movie-poster{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border-bottom:4px solid var(--text-dark)}.movie-info{padding:1rem}.movie-info h3{margin:0 0 .5rem;font-size:1rem;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.05em}.movie-year{margin:0;font-size:.85rem;font-weight:600}.movie-rating{margin:.5rem 0 0;font-size:.9rem;color:var(--text-dark);font-weight:700}.search-results{margin-top:2rem}.results-list{display:flex;flex-direction:column;gap:1rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border:4px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:4px 4px 0 var(--dark-teal)}.result-info h3{margin:0 0 .5rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em}.result-year,.result-imdb{margin:.25rem 0;color:var(--text-dark);font-size:.9rem;font-weight:600}.result-item button{padding:.75rem 1.5rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;white-space:nowrap;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:3px 3px 0 var(--text-dark);transition:all .2s}.result-item button:hover:not(:disabled){background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--text-dark)}.result-item button.added{background:var(--dark-cream);color:var(--text-dark);cursor:default;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#1bb3aae6;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{max-width:900px;background:var(--cream);border:6px solid var(--text-dark);border-radius:0;padding:0;max-height:90vh;overflow-y:auto;position:relative;box-shadow:12px 12px 0 var(--dark-teal)}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--text-dark);color:var(--cream);border:3px solid var(--cream);width:3rem;height:3rem;border-radius:0;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;font-weight:700;transition:all .2s}.modal-close:hover{background:var(--accent-yellow);color:var(--text-dark);border-color:var(--text-dark)}.movie-detail{display:grid;grid-template-columns:300px 1fr;gap:2rem;padding:2rem}.detail-poster img{width:100%;border:4px solid var(--text-dark);border-radius:0}.detail-info h2{margin:0 0 1rem;font-size:2rem}.detail-year,.detail-rating,.detail-genres,.detail-directors,.detail-plot{margin:.75rem 0;line-height:1.6;font-weight:600}.detail-plot{margin-top:1.5rem;font-weight:400}.detail-actions{margin-top:2rem;display:flex;gap:1rem}.detail-actions button{padding:.75rem 1.5rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--text-dark);transition:all .2s}.detail-actions button:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}@media(max-width:768px){.movies-page{padding:1rem}.movies-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.movie-detail{grid-template-columns:1fr}.result-item{flex-direction:column;align-items:flex-start;gap:1rem}.result-item button{align-self:stretch}}.movies-table-container{overflow-x:auto}.movies-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream);font-family:var(--font-stack)}.movies-table thead{background:var(--dark-teal);color:var(--cream)}.movies-table th{padding:1rem;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark);font-size:.9rem}.movies-table td{padding:1rem;border-bottom:2px solid var(--text-dark);font-weight:600}.movies-table tbody tr{cursor:pointer;transition:background .2s}.movies-table tbody tr:hover{background:var(--dark-cream)}.movies-table tbody tr.selected{background:var(--accent-yellow)}.movies-table tbody tr:last-child td{border-bottom:none}.movie-title{font-weight:700;text-transform:uppercase;letter-spacing:.05em}.table-actions{display:flex;gap:.5rem}.action-btn{padding:.5rem 1rem;background:var(--dark-teal);color:var(--cream);border:2px solid var(--text-dark);border-radius:0;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;transition:all .2s;box-shadow:2px 2px 0 var(--text-dark)}.action-btn:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--text-dark)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.75rem 1.5rem;background:var(--cream);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;transition:all .2s;box-shadow:3px 3px 0 var(--dark-teal)}.pagination-btn:hover:not(:disabled){background:var(--accent-yellow);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pagination-info{font-weight:600;color:var(--text-dark)}.search-imdb-prompt{text-align:center;padding:1.5rem;margin-top:1rem}.search-imdb-btn{background:transparent;border:2px dashed var(--text-dark);color:var(--text-dark);padding:.75rem 1.5rem;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.search-imdb-btn:hover:not(:disabled){border-style:solid;background:var(--dark-cream)}.search-imdb-btn:disabled{opacity:.6;cursor:not-allowed}.keyboard-hints{position:fixed;bottom:0;left:0;right:0;background:var(--text-dark);color:var(--cream);padding:.75rem;text-align:center;font-family:var(--font-stack) font-weight: 700;font-size:.85rem;letter-spacing:.05em;border-top:3px solid var(--dark-teal);z-index:100}.movies-sidebar{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--cream);border-left:4px solid var(--text-dark);box-shadow:-6px 0 0 var(--dark-teal);overflow-y:auto;z-index:1000}.sidebar-close{position:absolute;top:.5rem;right:.5rem;background:var(--text-dark);color:var(--cream);border:none;width:2rem;height:2rem;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.sidebar-close:hover{background:var(--accent-yellow);color:var(--text-dark)}.add-pick-embedded{padding:1rem}.add-pick-embedded .add-pick-content{padding:0}.add-pick-embedded .movie-info-card .movie-poster{display:none}.add-pick-embedded .movie-info-card{padding:1rem;border-width:2px;box-shadow:3px 3px 0 var(--dark-teal);margin-bottom:1rem}.add-pick-embedded .pick-form .form-group{margin-bottom:1rem}.sidebar-controls{padding:2.5rem 1rem 1rem;border-bottom:2px solid var(--text-dark);background:var(--dark-cream)}.sidebar-mode-toggle{display:flex;gap:0;margin-bottom:1rem}.sidebar-mode-toggle button{flex:1;padding:.5rem 1rem;border:2px solid var(--text-dark);background:var(--cream);color:var(--text-dark);cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;transition:all .2s}.sidebar-mode-toggle button:first-child{border-right:none}.sidebar-mode-toggle button:hover:not(.active){background:var(--dark-cream)}.sidebar-mode-toggle button.active{background:var(--dark-teal);color:var(--cream)}.sidebar-collection-select{display:flex;flex-direction:column;gap:.25rem}.sidebar-collection-select label{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.sidebar-collection-select select{padding:.5rem;border:2px solid var(--text-dark);background:var(--cream);font-family:var(--font-stack);font-weight:600;font-size:.9rem}.add-review-embedded{padding:1rem}.add-review-embedded .add-review-content{padding:0}.add-review-embedded .movie-info-card .movie-poster{display:none}.add-review-embedded .movie-info-card{padding:1rem;border-width:2px;box-shadow:3px 3px 0 var(--dark-teal);margin-bottom:1rem}.add-review-embedded .review-form .form-group{margin-bottom:1rem}.add-review-embedded .review-form textarea{min-height:80px}@media(max-width:1024px){.movies-sidebar{width:100%;height:auto;max-height:70vh;inset:auto 0 0;border-left:none;border-top:4px solid var(--text-dark);box-shadow:0 -6px 0 var(--dark-teal)}}.movie-detail-page{max-width:1200px;margin:0 auto;padding:2rem}.movie-detail-page.loading,.movie-detail-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.back-button{background:none;border:1px solid var(--border-color, #333);color:var(--text-color, #fff);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin-bottom:2rem;transition:all .2s}.back-button:hover{background:var(--hover-bg, rgba(255, 255, 255, .1));border-color:var(--hover-border, #666)}.movie-detail-content{display:grid;grid-template-columns:300px 1fr;gap:3rem;margin-bottom:2rem}.movie-poster{width:100%;border-radius:8px;box-shadow:0 4px 20px #0000004d;contain:layout}.movie-info{display:flex;flex-direction:column}.movie-info h1{font-size:2.5rem;margin:0;line-height:1.2;width:fit-content}.movie-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:1.1rem}.movie-meta .year{color:var(--text-secondary, #aaa)}.movie-meta .rating{font-weight:600}.movie-meta .runtime{color:var(--text-secondary, #aaa)}.genres{display:flex;gap:.5rem;flex-wrap:wrap}.genre-tag{background:var(--tag-bg, rgba(255, 255, 255, .1));padding:.4rem .8rem;border-radius:4px;font-size:.9rem;border:1px solid var(--border-color, #333)}.detail-section{line-height:1.6}.detail-section.plot{font-size:1.1rem;line-height:1.8;padding:1rem 0;border-top:1px solid var(--border-color, #333);border-bottom:1px solid var(--border-color, #333)}.imdb-link{color:var(--link-color, #4a9eff);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;transition:color .2s}.imdb-link:hover{color:var(--link-hover, #6bb0ff)}.action-buttons{display:flex;gap:1rem;margin-top:1rem}.primary-button{background:var(--primary-teal);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.primary-button:hover{background:var(--primary-hover, #6bb0ff);transform:translateY(-1px)}.keyboard-hint{text-align:center;color:var(--text-secondary, #666);font-size:.9rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color, #333)}@media(max-width:768px){.movie-detail-content{grid-template-columns:1fr;gap:2rem}.movie-poster{max-width:300px;margin:0 auto;position:relative}.movie-info h1{font-size:2rem}}.star-rating{display:inline-flex;gap:.1em;font-size:1.1rem;line-height:1}.star,.star.full{color:#000;-webkit-text-fill-color:#000}.star.empty{color:#000;-webkit-text-fill-color:#000;opacity:.2}.star.half{position:relative;display:inline-block}.star.half .star-bg{color:#000;-webkit-text-fill-color:#000;opacity:.2}.star.half .star-fill{position:absolute;left:0;top:0;width:50%;overflow:hidden;color:#000;-webkit-text-fill-color:#000}.reviews-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:var(--font-stack);color:var(--text-dark)}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.reviews-header h2{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.filter-buttons button{padding:.5rem 1rem;border:2px solid var(--text-dark);background:var(--cream);color:var(--text-dark);cursor:pointer;border-radius:0;transition:all .2s;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;box-shadow:2px 2px 0 var(--dark-teal);font-family:var(--font-stack)}.filter-buttons button.active{background:var(--dark-teal);color:var(--cream);border-color:var(--text-dark);box-shadow:2px 2px 0 var(--accent-yellow)}.filter-buttons button:hover:not(.active){background:var(--light-teal);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--dark-teal)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-dark);background:var(--cream);border:3px solid var(--text-dark);border-radius:0;box-shadow:4px 4px 0 var(--dark-teal);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.empty-state p{margin:.5rem 0}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-card{padding:1.5rem;border:3px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:4px 4px 0 var(--dark-teal);font-family:var(--font-stack)}.review-header{display:flex;align-items:flex-start;gap:1rem}.review-poster{width:50px;height:75px;object-fit:cover;border-radius:0;border:2px solid var(--text-dark);flex-shrink:0}.review-header-content{flex:1;min-width:0}.review-title-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-title-line h3{margin:0;font-size:1.1rem;font-weight:700}.review-title-line .movie-year{font-weight:400;opacity:.7}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.8rem;color:var(--text-dark);opacity:.8;font-weight:600}.reviewer{font-weight:700}.private-badge,.collection-badge{font-size:.75rem;font-weight:700;padding:.15rem .4rem;border:1px solid var(--text-dark)}.private-badge{background:var(--light-teal)}.collection-badge{background:var(--accent-yellow)}.review-text{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--text-dark);border-color:#00000026}.review-text p{margin:0;line-height:1.6;color:var(--text-dark);white-space:pre-wrap;font-weight:500;max-height:200px;overflow-y:auto}.review-actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--text-dark);border-color:#00000026;display:flex;gap:.5rem}.edit-review-button,.delete-review-button{padding:.4rem .75rem;background:var(--cream);color:var(--text-dark);border:1px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;font-family:var(--font-stack)}.delete-review-button:hover{background:var(--dark-teal);color:var(--cream)}.error-message{background:var(--cream);color:var(--text-dark);padding:1rem;border:2px solid var(--text-dark);border-radius:0;margin-bottom:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:3px 3px 0 var(--dark-teal)}@media(max-width:768px){.reviews-page{padding:1rem}.reviews-header{flex-direction:column;align-items:flex-start;gap:1rem}.review-title-line{flex-direction:column;align-items:flex-start;gap:.5rem}}.collections-page{max-width:1400px;margin:0 auto;padding:2rem;font-family:var(--font-stack);color:var(--text-dark);min-height:100vh}.collections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.collections-header h1{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.create-button{padding:.75rem 1.5rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--accent-yellow);transition:all .2s;font-family:var(--font-stack)}.create-button:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-yellow)}.create-card{display:flex;align-items:center;justify-content:center;padding:1rem;min-width:150px;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;font-family:var(--font-stack)}.create-card:hover{filter:invert(100%)}.collections-layout{display:flex;flex-direction:column;gap:2rem}.collections-list{display:flex;flex-direction:column;gap:1rem}.collection-card{padding:1rem;border:3px solid var(--text-dark);border-radius:0;cursor:pointer;transition:all .2s;background:var(--cream);font-family:var(--font-stack);min-width:200px;max-width:250px}.collection-card.selected{background:var(--accent-yellow);border-color:var(--text-dark)}.collection-info{display:flex;flex-direction:column}.collection-info h3{margin:.25rem 0 .5rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.collection-info p{margin:.5rem 0 0;color:var(--text-dark);font-size:.9rem;font-weight:600}.collection-type{display:inline-block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark);opacity:.7;border:none;background:none;padding:0}.collection-type.pick{color:var(--dark-teal);opacity:1}.collection-type.review{color:var(--text-dark);opacity:.7}.collection-private{margin-left:.5rem;font-size:.85rem;color:var(--text-dark);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.collection-actions{display:flex;gap:.5rem;margin-top:1rem}.edit-button,.delete-button{padding:.5rem 1rem;background:var(--cream);color:var(--text-dark);border:2px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:2px 2px 0 var(--dark-teal);transition:all .2s;font-family:var(--font-stack)}.edit-button:hover,.delete-button:hover{background:var(--dark-teal);color:var(--cream);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--dark-teal)}.collection-details{padding:2rem;border:4px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:6px 6px 0 var(--dark-teal);font-family:var(--font-stack)}.details-header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:3px solid var(--text-dark)}.header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.view-mode-toggle{display:flex;gap:.25rem}.view-mode-toggle button{padding:.5rem 1rem;background:var(--cream);color:var(--text-dark);border:2px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;box-shadow:2px 2px 0 var(--dark-teal);font-family:var(--font-stack)}.diff-button{padding:.75rem 1.5rem;background:var(--accent-yellow);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--text-dark);transition:all .2s;font-family:var(--font-stack)}.diff-button:hover{background:var(--dark-teal);color:var(--cream);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}.details-header h3{margin:0;font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.type-badge{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark);opacity:.7;border:none;background:none;padding:0}.stats-button{padding:.75rem 1.5rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--text-dark);transition:all .2s;font-family:var(--font-stack) margin-left: auto}.stats-button:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}.type-badge.pick{color:var(--dark-teal);opacity:1}.type-badge.review{color:var(--text-dark);opacity:.7}.description{margin:1rem 0;color:var(--text-dark);line-height:1.6;font-weight:600}.picks-section{margin-top:2rem}.picks-section h4{margin:0 0 1rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.no-picks{padding:2rem;text-align:center;color:var(--text-dark);background:var(--light-teal);border-radius:0;border:3px solid var(--text-dark);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.picks-list{display:flex;flex-direction:column;gap:1rem}.pick-item{padding:1.5rem;border:3px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:4px 4px 0 var(--dark-teal);transition:all .2s;font-family:var(--font-stack)}.pick-item:hover{transform:translate(1px,1px);box-shadow:3px 3px 0 var(--dark-teal)}.pick-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.pick-rank{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.pick-header h4{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.pick-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-dark);margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pick-description{margin:.75rem 0;line-height:1.5;color:var(--text-dark);font-weight:600}.pick-movie-info{display:flex;gap:1rem;font-size:.9rem;color:var(--text-dark);margin-top:.5rem;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--cream);border-radius:0;border:4px solid var(--text-dark);padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:8px 8px 0 var(--dark-teal);font-family:var(--font-stack)}.modal-content h3{margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:3px solid var(--text-dark);border-radius:0;font-size:1rem;font-family:var(--font-stack) background: var(--cream);color:var(--text-dark);font-weight:600}.form-group textarea{resize:vertical;min-height:100px}.form-group.checkbox{display:flex;align-items:center;gap:.75rem}.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;margin-bottom:0;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.form-group.checkbox input[type=checkbox]{width:1.5rem;height:1.5rem;cursor:pointer;border:3px solid var(--text-dark);appearance:none;-webkit-appearance:none;background:var(--cream);position:relative;margin:0}.form-group.checkbox input[type=checkbox]:checked{background:var(--dark-teal)}.form-group.checkbox input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--cream);font-size:1.2rem;font-weight:700}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal-actions button{padding:.75rem 1.5rem;border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;font-family:var(--font-stack)}.modal-actions button[type=button]{background:var(--cream);color:var(--text-dark);box-shadow:3px 3px 0 var(--dark-teal)}.modal-actions button[type=button]:hover{background:var(--dark-cream);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.modal-actions button.primary{background:var(--dark-teal);color:var(--cream);box-shadow:4px 4px 0 var(--text-dark)}.modal-actions button.primary:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}.error-message{padding:1rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal)}.picks-poster-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;margin-top:1.5rem}.poster-card{border:3px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:4px 4px 0 var(--dark-teal);transition:all .2s;overflow:hidden}.poster-card:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal)}.poster-image{width:100%;aspect-ratio:2/3;object-fit:cover;border-bottom:3px solid var(--text-dark)}.poster-placeholder{width:100%;aspect-ratio:2/3;background:var(--dark-cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark)}.poster-info{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.poster-info h4{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;line-height:1.2}.pick-rank{font-size:.8rem;color:var(--dark-teal);font-weight:700}.pick-user,.pick-date{font-size:.75rem;color:var(--text-dark);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pick-actions{display:flex;gap:.25rem;margin-top:.5rem}.pick-edit-btn,.pick-delete-btn{padding:.25rem .5rem;background:var(--cream);color:var(--text-dark);border:1px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;font-family:var(--font-stack)}.pick-edit-btn:hover,.pick-delete-btn:hover{background:var(--dark-teal);color:var(--cream)}.table-actions{display:flex;gap:.25rem}.edit-pick-movie{margin:0 0 1.5rem;font-weight:700;font-size:1.1rem}.picks-table-container{overflow-x:auto;margin-top:1.5rem}.picks-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream)}.picks-table thead{background:var(--dark-teal);color:var(--cream)}.picks-table th{padding:1rem;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark);font-size:.85rem}.picks-table td{padding:1rem;border-bottom:2px solid var(--text-dark);font-weight:600}.picks-table tbody tr:last-child td{border-bottom:none}.picks-table tbody tr:hover{background:var(--dark-cream)}.picks-checklist-view{margin-top:1.5rem}.picks-checklist-view h4{margin:0 0 1rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.checklist-table-container{overflow-x:auto;margin-bottom:1rem}.checklist-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream)}.checklist-table thead{background:var(--dark-teal);color:var(--cream)}.checklist-table th{padding:1rem;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark);font-size:.75rem;min-width:100px}.checklist-table th.movie-header{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;padding:1rem .5rem}.checklist-table.checklist-flipped th.user-header{text-align:center;white-space:nowrap;padding:.75rem 1rem;min-width:auto}.checklist-table.checklist-flipped td.movie-name{text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--light-teal);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.checklist-table td{padding:.75rem;border-bottom:2px solid var(--text-dark);border-right:2px solid var(--text-dark);text-align:center}.checklist-table td.user-name{text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--light-teal)}.checklist-table tbody tr:last-child td{border-bottom:none}.checklist-cell{text-align:center}.checkbox.checked{background:var(--dark-teal);color:var(--cream)}.checklist-completion{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:var(--light-teal);border:3px solid var(--text-dark);border-radius:0}.completion-stat{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}@media(max-width:968px){.collections-layout{grid-template-columns:1fr}.collections-list{max-height:400px;overflow-y:auto}.picks-poster-view{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.details-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;margin-left:0;flex-wrap:wrap}}.reviews-list-view{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.review-item{padding:1rem;border:2px solid var(--text-dark);background:var(--cream);box-shadow:3px 3px 0 var(--dark-teal)}.review-item-header{display:flex;gap:1rem;align-items:flex-start}.review-item-poster{width:60px;height:90px;object-fit:cover;border:2px solid var(--text-dark);flex-shrink:0}.review-item-info{display:flex;flex-direction:column;gap:.25rem}.review-item-info h4{margin:0;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.review-rating{font-size:.85rem;color:var(--dark-teal);font-weight:700}.review-user,.review-date{font-size:.75rem;color:var(--text-dark);opacity:.7;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.review-item-text{margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(0,0,0,.15);line-height:1.5;font-weight:500;max-height:150px;overflow-y:auto}.review-item-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.15)}.film-strip{border-image-source:url(/assets/filmstrip-BdEK6Ibj.png);border-image-slice:1 71;border-image-width:40px;border-image-repeat:repeat;border-style:solid;border-width:40px;max-width:450px}.film-strip>*{border:solid black;border-left-width:4px;border-right-width:4px}.film-strip>*:hover{filter:invert(100%)}.film-strip--horiz{border-image-source:url(/assets/filmstrip--horizontal-vBH07rE4.png);display:flex;flex-direction:row;overflow-x:auto;padding:0 2.4rem;max-width:none;border-image-slice:67;border-width:40px 0;background-color:#000;background-clip:padding-box;width:100vw;margin-left:calc(-50vw + 50%);padding-left:max(2.4rem,calc(50vw - 700px + 2rem));padding-right:max(2.4rem,calc(50vw - 700px + 2rem))}.film-strip--horiz>*{flex-shrink:0}.collection-stats-page{max-width:1400px;margin:0 auto;padding:2rem}.stats-header{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.stats-header h2{margin:1rem 0 .5rem;font-size:2.5rem}.collection-description{margin:.5rem 0 0;font-size:1rem;font-weight:600;color:var(--text-dark)}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--cream);border:4px solid var(--text-dark);border-radius:0;padding:2rem;text-align:center;box-shadow:6px 6px 0 var(--dark-teal);transition:all .2s}.stat-value{font-size:3rem;font-weight:700;color:var(--dark-teal);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.stat-label{font-size:.9rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.1em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.stat-section{background:var(--cream);border:4px solid var(--text-dark);border-radius:0;padding:2rem;box-shadow:6px 6px 0 var(--dark-teal)}.stat-section h3{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.1em;padding-bottom:.75rem;border-bottom:3px solid var(--text-dark)}.stat-list{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--dark-cream);border:3px solid var(--text-dark);border-radius:0;transition:all .2s}.stat-item:hover{background:var(--light-teal);transform:translate(5px)}.stat-name{font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.95rem}.stat-count{font-weight:700;color:var(--dark-teal);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;background:var(--cream);padding:.25rem .75rem;border:2px solid var(--text-dark);border-radius:0}.back-button{padding:.75rem 1.5rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal);transition:all .2s;color:var(--text-dark)}.back-button:hover{background:var(--dark-cream);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal)}.error-message{padding:1rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.stats-overview,.stats-grid{grid-template-columns:1fr}.stat-value{font-size:2.5rem}}.export-container{position:relative;margin-left:auto}.export-button{padding:.75rem 1.5rem;background:var(--accent-yellow);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--text-dark);transition:all .2s;font-family:var(--font-stack)}.export-button:hover{background:var(--dark-teal);color:var(--cream);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}.export-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal);z-index:100;min-width:200px}.export-menu button{display:block;width:100%;padding:.75rem 1rem;background:var(--cream);color:var(--text-dark);border:none;border-bottom:2px solid var(--text-dark);text-align:left;cursor:pointer;font-family:var(--font-stack) font-weight: 600;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;transition:background .2s}.export-menu button:last-child{border-bottom:none}.export-menu button:hover{background:var(--accent-yellow)}.collection-stats-index{max-width:1400px;margin:0 auto;padding:2rem}.stats-index-header{display:flex;align-items:center;gap:20px;margin-bottom:2rem}.stats-index-header h2{margin:0}.stats-index-header .back-button{padding:.75rem 1.5rem;background:var(--cream);color:var(--text-dark);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;box-shadow:4px 4px 0 var(--dark-teal)}.stats-index-header .back-button:hover{background:var(--accent-yellow);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark-teal)}.collections-table-container{overflow-x:auto}.collections-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream);font-family:var(--font-stack)}.collections-table thead{background:var(--dark-teal);color:var(--cream)}.collections-table th{padding:1rem;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark);font-size:.9rem}.collections-table td{padding:1rem;border-bottom:2px solid var(--text-dark);font-weight:600}.collections-table tbody tr{cursor:pointer;transition:background .2s}.collections-table tbody tr:hover{background:var(--dark-cream)}.collections-table tbody tr:last-child td{border-bottom:none}.collection-title{font-weight:700;text-transform:uppercase;letter-spacing:.05em}.type-badge{display:inline-block;margin-left:.75rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--text-dark);vertical-align:middle}.type-badge--pick{background:var(--accent-yellow);color:var(--text-dark)}.type-badge--review{background:var(--dark-teal);color:var(--cream)}.collection-description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-actions{text-align:right}.view-stats-btn{padding:.5rem 1rem;background:var(--dark-teal);color:var(--cream);border:2px solid var(--text-dark);border-radius:0;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;transition:all .2s;box-shadow:2px 2px 0 var(--text-dark)}.view-stats-btn:hover{background:var(--accent-yellow);color:var(--text-dark);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--text-dark)}.empty-state{text-align:center;padding:3rem;background:var(--cream);border:3px solid var(--text-dark);font-weight:600}.error-message{background:var(--cream);color:var(--text-dark);padding:1rem;border:3px solid var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.collection-stats-index{padding:1rem}.stats-index-header{flex-direction:column;align-items:flex-start;gap:1rem}.collection-description{display:none}}.compare-page{max-width:1200px;margin:0 auto;padding:2rem 2rem 4rem;font-family:var(--font-stack) min-height: 100vh}.compare-header h2{margin:0 0 2rem;font-size:2rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.compare-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;margin-bottom:2rem;padding:2rem;background:var(--cream);border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal)}.collection-selector{display:flex;flex-direction:column;gap:.5rem}.collection-selector label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.collection-selector select{padding:.75rem;border:3px solid var(--text-dark);border-radius:0;background:var(--cream);color:var(--text-dark);font-family:var(--font-stack) font-weight: 600;font-size:1rem;cursor:pointer}.collection-selector select:focus{outline:none;border-color:var(--dark-teal);background:var(--light-teal)}.compare-button{padding:.75rem 2rem;background:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;cursor:pointer;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--text-dark);transition:all .2s;font-family:var(--font-stack) align-self: flex-end}.compare-button:hover:not(:disabled){background:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text-dark)}.compare-button:disabled{opacity:.5;cursor:not-allowed;background:var(--dark-cream)}.diff-results{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:2rem}.diff-section{padding:1.5rem;background:var(--cream);border:4px solid var(--text-dark);border-radius:0;box-shadow:4px 4px 0 var(--dark-teal)}.diff-section h3{margin:0 0 1.5rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding-bottom:.75rem;border-bottom:3px solid var(--text-dark)}.empty-section{padding:2rem;text-align:center;background:var(--light-teal);border:3px solid var(--text-dark);border-radius:0;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.movie-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.movie-item{padding:1rem;border:3px solid var(--text-dark);border-radius:0;background:var(--cream);box-shadow:3px 3px 0 var(--dark-teal);transition:all .2s}.movie-item:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--dark-teal)}.movie-item h4{margin:0 0 .5rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;line-height:1.3}.movie-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:var(--text-dark);font-weight:600}.movie-meta span{padding:.25rem .5rem;background:var(--light-teal);border:2px solid var(--text-dark);border-radius:0;text-transform:uppercase;letter-spacing:.05em}.stats-comparison{padding:2rem;background:var(--cream);border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal);margin-bottom:2rem}.stats-comparison h3{margin:0 0 1.5rem;font-size:1.3rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.stats-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);background:var(--cream)}.stats-table thead{background:var(--dark-teal);color:var(--cream)}.stats-table th{padding:1rem;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--text-dark);font-size:.9rem}.stats-table td{padding:1rem;border-bottom:2px solid var(--text-dark);font-weight:600}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover{background:var(--light-teal)}.stats-table td:first-child{font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--light-teal)}.error-message{padding:1rem;margin-bottom:1.5rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:4px 4px 0 var(--dark-teal)}@media(max-width:968px){.compare-controls{grid-template-columns:1fr}.compare-button{align-self:stretch}.diff-results{grid-template-columns:1fr}.movie-list{max-height:300px}}.status-page{max-width:1200px;margin:0 auto;padding:2rem}.status-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.status-header h2{margin:0;font-size:2rem}.last-updated{color:var(--text-dark);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-section{background:var(--cream);padding:2rem;border:4px solid var(--text-dark);border-radius:0;box-shadow:6px 6px 0 var(--dark-teal);margin-bottom:2rem}.status-section h3{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.1em}.overall-status{display:block;align-items:center;gap:1rem;padding:1.5rem;border:3px solid var(--text-dark);border-radius:0;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.overall-status.status-ok{background:var(--accent-yellow);color:var(--text-dark)}.overall-status.status-warning{background:var(--dark-cream);color:var(--text-dark)}.status-indicator{width:20px;height:20px;border-radius:0;background:currentColor;border:2px solid var(--text-dark)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.service-card{padding:1.5rem;border-radius:0;border:4px solid;box-shadow:4px 4px 0 var(--dark-teal);transition:all .2s}.service-card.status-ok{border-color:var(--dark-teal);background:var(--light-teal)}.service-card.status-warning{border-color:var(--text-dark);background:var(--accent-yellow)}.service-card.status-error{border-color:var(--text-dark);background:var(--dark-cream)}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.service-header h4{margin:0;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark)}.service-status{font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--text-dark)}.service-latency{margin:.5rem 0 0;font-size:.85rem;color:var(--text-dark);font-weight:600}.service-optional{margin:.5rem 0 0;font-size:.8rem;color:var(--text-dark);font-style:normal;font-weight:600;text-transform:uppercase}.enrichment-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.enrichment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--dark-cream);border:3px solid var(--text-dark);border-radius:0}.enrichment-label{font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em}.enrichment-item .status-ok{color:var(--dark-teal);font-weight:700;font-size:1.1rem}.enrichment-item .status-warning,.enrichment-item .status-error{color:var(--text-dark);font-weight:700;font-size:1.1rem}.enrichment-note{padding:1.5rem;background:var(--light-teal);border:3px solid var(--text-dark);border-radius:0;margin-top:1rem}.enrichment-note p{margin-top:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.enrichment-note ul{margin-bottom:0;padding-left:1.5rem}.enrichment-note li{margin-bottom:.5rem;color:var(--text-dark);font-weight:600}.schedulers-table{overflow-x:auto}.schedulers-table table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--text-dark);border-radius:0}.schedulers-table th{text-align:left;padding:1rem;background:var(--dark-teal);color:var(--cream);border-bottom:3px solid var(--text-dark);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.schedulers-table th:not(:last-child){border-right:3px solid var(--text-dark)}.schedulers-table td{padding:.75rem 1rem;border-bottom:2px solid var(--text-dark);background:var(--cream);font-weight:600}.schedulers-table td:not(:last-child){border-right:2px solid var(--text-dark)}.schedulers-table tr:last-child td{border-bottom:none}.scheduler-name{font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em}.scheduler-description{font-size:.85rem;color:var(--text-dark);font-weight:500;max-width:250px}.status-running{color:var(--dark-teal);font-weight:700;text-transform:uppercase}.status-idle{color:var(--text-dark);font-weight:600;text-transform:uppercase}.status-ready{color:var(--dark-teal);font-weight:700}.status-not-ready{color:var(--text-dark);font-weight:600;opacity:.6}.info-message{color:var(--text-dark);font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1rem;background:var(--dark-cream);border:3px solid var(--text-dark);border-radius:0}.error-message{padding:1rem;background:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);margin-bottom:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat-card{padding:1.5rem;border:4px solid var(--text-dark);box-shadow:4px 4px 0 var(--dark-teal);background:var(--light-teal);text-align:center}.stat-number{font-size:2.5rem;font-weight:700;color:var(--text-dark);line-height:1.1}.stat-count{font-size:1rem;font-weight:600;color:var(--text-dark);opacity:.8;margin-top:.25rem}.stat-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark);margin-top:.75rem}.enrichment-progress{display:flex;flex-direction:column;gap:1rem}.progress-row{display:flex;align-items:center;gap:1rem}.progress-label{width:120px;flex-shrink:0;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark)}.progress-bar-container{flex:1;height:24px;background:var(--dark-cream);border:3px solid var(--text-dark);position:relative}.progress-bar-fill{height:100%;background:var(--dark-teal);transition:width .3s ease}.progress-value{width:120px;text-align:right;font-weight:700;font-size:.9rem;color:var(--text-dark)}.stale-info{margin-top:1.5rem;padding:1rem;background:var(--dark-cream);border:3px solid var(--text-dark);font-size:.85rem;font-weight:600;color:var(--text-dark)}.stale-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem}.queue-status{display:flex;flex-wrap:wrap;gap:2rem;padding:1rem;background:var(--dark-cream);border:3px solid var(--text-dark)}.queue-item{display:flex;align-items:center;gap:.5rem}.queue-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;color:var(--text-dark)}.queue-value{font-weight:600;font-size:1rem;color:var(--text-dark)}.trigger-button{padding:.4rem .8rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--dark-teal);color:var(--cream);border:2px solid var(--text-dark);cursor:pointer;transition:all .2s}.trigger-button:hover:not(:disabled){background:var(--text-dark);color:var(--cream)}.trigger-button:disabled{background:var(--dark-cream);color:var(--text-dark);cursor:not-allowed;opacity:.7}.trigger-message{padding:.75rem 1rem;margin-bottom:1rem;border:3px solid var(--text-dark);font-weight:600}.trigger-message.success{background:var(--light-teal);color:var(--text-dark)}.trigger-message.error{background:var(--accent-yellow);color:var(--text-dark)}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.auth-card{background-color:var(--cream);border:5px solid var(--text-dark);border-radius:0;padding:2.5rem;width:100%;max-width:450px;box-shadow:10px 10px 0 var(--dark-teal)}.auth-card h2{margin-top:0;margin-bottom:.5rem;color:var(--primary-teal);text-align:center;font-size:2.5rem;text-transform:uppercase;letter-spacing:.15em}.auth-subtitle{text-align:center;color:var(--text-dark);margin-bottom:2rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form .form-group input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--dark-cream)}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-dark);font-size:.9rem;font-weight:600}.auth-footer a{color:var(--dark-teal);text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.auth-footer a:hover{text-decoration:underline;color:var(--primary-teal)}.auth-test-credentials{margin-top:2rem;padding:1rem;background-color:var(--light-teal);border:3px solid var(--text-dark);border-radius:0;font-size:.85rem}.auth-test-credentials p{margin:.5rem 0;color:var(--text-dark);font-weight:600}.auth-test-credentials strong{color:var(--text-dark);font-weight:700;text-transform:uppercase}.profile-container{display:flex;justify-content:center;align-items:flex-start;min-height:60vh;padding:2rem}.profile-card{background-color:var(--cream);border:5px solid var(--text-dark);border-radius:0;padding:2.5rem;width:100%;max-width:600px;box-shadow:10px 10px 0 var(--dark-teal)}.profile-card h2{margin-top:0;margin-bottom:1.5rem;color:var(--primary-teal);font-size:2.5rem;text-transform:uppercase;letter-spacing:.15em}.profile-error{background-color:#ff6b6b;color:var(--cream);padding:1rem;border:3px solid var(--text-dark);border-radius:0;margin-bottom:1rem;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.profile-success{background-color:var(--light-teal);color:var(--text-dark);padding:1rem;border:3px solid var(--text-dark);border-radius:0;margin-bottom:1rem;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.profile-view{display:flex;flex-direction:column;gap:2rem}.profile-info{display:flex;flex-direction:column;gap:1.5rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{font-weight:700;color:var(--text-dark);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.profile-value{padding:.75rem;background-color:var(--dark-cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-size:1rem;font-weight:600}.status-badge{display:inline-block;padding:.4rem .8rem;border:2px solid var(--text-dark);border-radius:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem}.status-badge.active{background-color:var(--light-teal);color:var(--text-dark)}.status-badge.inactive{background-color:#ff6b6b;color:var(--cream)}.status-badge.admin{background-color:var(--accent-yellow);color:var(--text-dark)}.profile-edit-button{padding:1rem;background-color:var(--dark-teal);color:var(--cream);border:3px solid var(--text-dark);border-radius:0;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.1em;box-shadow:5px 5px 0 var(--text-dark);font-family:var(--font-stack)}.profile-edit-button:hover{background-color:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:3px 3px 0 var(--text-dark)}.profile-edit-button:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--text-dark)}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-form .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-form .form-group label{font-weight:700;color:var(--text-dark);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.profile-form .form-group input{padding:.75rem;background-color:var(--cream);border:3px solid var(--text-dark);border-radius:0;color:var(--text-dark);font-size:1rem;font-family:var(--font-stack);transition:all .2s}.profile-form .form-group input:focus{outline:none;border-color:var(--dark-teal);box-shadow:0 0 0 3px #1bb3aa33}.profile-form .form-group input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--dark-cream)}.profile-form .form-group input.disabled-input{background-color:var(--dark-cream)}.profile-form .form-group small{font-size:.8rem;color:var(--text-dark);font-style:italic;margin-top:-.25rem}.password-section{border-top:3px solid var(--text-dark);padding-top:1.5rem;margin-top:1rem}.password-section h3{margin:0 0 .5rem;color:var(--primary-teal);font-size:1.5rem;text-transform:uppercase;letter-spacing:.1em}.section-description{margin:0 0 1.5rem;color:var(--text-dark);font-size:.85rem;font-style:italic}.form-actions{display:flex;gap:1rem;margin-top:1rem}.cancel-button,.save-button{flex:1;padding:1rem;border:3px solid var(--text-dark);border-radius:0;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.1em;box-shadow:5px 5px 0 var(--text-dark);font-family:var(--font-stack)}.cancel-button{background-color:var(--cream);color:var(--text-dark)}.cancel-button:hover:not(:disabled){background-color:var(--dark-cream);transform:translate(2px,2px);box-shadow:3px 3px 0 var(--text-dark)}.save-button{background-color:var(--dark-teal);color:var(--cream)}.save-button:hover:not(:disabled){background-color:var(--accent-yellow);color:var(--text-dark);transform:translate(2px,2px);box-shadow:3px 3px 0 var(--text-dark)}.cancel-button:active,.save-button:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--text-dark)}.cancel-button:disabled,.save-button:disabled{opacity:.5;cursor:not-allowed;background-color:var(--dark-cream)}.cancel-button:disabled:hover,.save-button:disabled:hover{transform:none;box-shadow:5px 5px 0 var(--text-dark)}.keyboard-help-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.keyboard-help-modal{background:var(--cream, #f5f5dc);border:3px solid var(--text-dark, #1a1a1a);box-shadow:6px 6px 0 var(--dark-teal, #006666);padding:2rem;max-width:600px;max-height:80vh;overflow-y:auto;position:relative}.keyboard-help-modal h2{font-family:var(--font-stack) font-size: 1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.5rem;border-bottom:3px solid var(--text-dark, #1a1a1a);padding-bottom:.5rem}.keyboard-help-modal h3{font-family:var(--font-stack) font-size: 1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;color:var(--dark-teal, #006666)}.shortcuts-section{margin-bottom:1.5rem}.shortcut-list{display:flex;flex-direction:column;gap:.5rem}.shortcut-item{display:flex;align-items:center;gap:1rem;font-family:var(--font-stack) font-size: .9rem}.shortcut-item kbd{background:var(--text-dark, #1a1a1a);color:var(--cream, #f5f5dc);padding:.25rem .5rem;border:2px solid var(--text-dark, #1a1a1a);font-family:var(--font-stack) font-weight: 700;font-size:.85rem;text-transform:uppercase;min-width:2rem;text-align:center;display:inline-block}.shortcut-item span{flex:1;font-weight:600}.help-footer{margin-top:1.5rem;padding-top:1rem;border-top:2px solid var(--text-dark, #1a1a1a);text-align:center;font-family:var(--font-stack) font-size: .85rem;font-weight:600}.help-footer kbd{background:var(--text-dark, #1a1a1a);color:var(--cream, #f5f5dc);padding:.25rem .5rem;border:2px solid var(--text-dark, #1a1a1a);font-family:var(--font-stack) font-weight: 700;font-size:.85rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-dark, #1a1a1a);font-weight:700;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--dark-teal, #006666)}.image-list>div{display:grid;grid-template-columns:repeat(4,1fr);column-gap:10px}.image-list h1{font-size:2rem;font-weight:600}.image-list img{max-width:100%;contain:layout}.image-list p{width:fit-content}.image-detail h1{font-size:2rem;font-weight:600;width:fit-content}.image-detail img{max-width:100%;contain:layout}#root{max-width:1280px;margin:0 auto;padding:2rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}@view-transition{navigation:auto}
