:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:1rem;text-align:center}.app-container{max-width:900px;margin:2rem auto;padding:2rem;background:#2a2a2a;border-radius:12px;box-shadow:0 2px 16px #0003}.app-container h1{color:#61dafbaa}.app-container p{color:#aaa}.health-status-ok{color:#4caf50;font-weight:700}.health-status-checking{color:#f5a623}.health-status-unavailable{color:#d32f2f;font-weight:700}.recommendation-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.form-disabled{opacity:.5;pointer-events:none;transition:opacity .3s ease-in-out}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{margin-bottom:.5rem;font-weight:600;color:#ccc}.recommendation-form input[type=text],.recommendation-form select{width:100%;padding:.8rem 1rem;border-radius:8px;border:1px solid #444;background-color:#333;color:#eee;font-size:1rem;box-sizing:border-box}.recommendation-form select:required:invalid{color:#888}.recommendation-form input[type=text]::placeholder{color:#666}.mood-examples{font-size:.8rem;color:#888;margin-top:.5rem;text-align:left;min-height:1.2em;transition:color .3s}.recommendation-form button{background-color:#646cff;color:#fff;font-weight:700}.recommendation-form button:disabled{background-color:#444;cursor:not-allowed}.streaming-services{border:1px solid #444;border-radius:8px;padding:16px;margin-bottom:16px}.fieldset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.streaming-services legend{padding:0 8px;font-weight:600;color:#ccc}.clear-button{background:none;border:none;color:#646cff;cursor:pointer;padding:0;font-size:.85rem;text-decoration:underline}.services-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.provider-label-tag input[type=checkbox]{display:none}.provider-label-tag{cursor:pointer}.provider-label-tag .provider-tag{display:block;filter:grayscale(80%);opacity:.7;transition:filter .2s ease-in-out,opacity .2s ease-in-out,border-color .2s ease-in-out;border:2px solid transparent}.provider-label-tag:hover .provider-tag{filter:grayscale(50%);opacity:1}.provider-label-tag input[type=checkbox]:checked+.provider-tag{filter:grayscale(0%);opacity:1;border-color:#a9a9a9}@media(min-width:768px){.recommendation-form{display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"main providers" "submit submit";gap:1.5rem}.form-main-inputs{grid-area:main;background:#303030;padding:1.5rem;border-radius:8px;border:1px solid #404040;display:flex;flex-direction:column;gap:1.5rem}.streaming-services{grid-area:providers;margin-bottom:0}.recommendation-form button[type=submit]{grid-area:submit}.mood-examples em{animation:text-fade-in .5s ease-out}}.recommendations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}.recommendations-list.is-refining .recommendation-card{opacity:.4;transform:none;filter:blur(1px);transition:opacity .3s,filter .3s}.recommendation-card{background:#333;border-radius:12px;box-shadow:0 1px 6px #0003;padding:1rem;text-align:left;display:flex;flex-direction:column;transition:transform .2s;animation:fade-in .5s ease-out forwards;opacity:0}.recommendation-card:hover{transform:translateY(-5px)}.recommendation-card .poster{width:100%;height:auto;border-radius:6px;margin-bottom:1rem;align-self:center}.card-title-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.release-year{font-size:.9rem;color:#888;white-space:nowrap}.recommendation-card h3{font-size:1.1rem;margin:0 0 .5rem;color:#eee}.recommendation-card p{font-size:.9rem;margin:.25rem 0;color:#bbb}.recommendation-card .card-reason{font-style:italic;color:silver;border-left:4px solid #646cff;padding-left:.75rem;margin:.75rem 0;font-size:.95rem}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:.5rem 0}.ai-tag{background-color:#404040;color:#b0b0b0;padding:3px 8px;border-radius:4px;font-size:.75rem}.poster-placeholder{width:100%;aspect-ratio:2 / 3;background-color:#444;border-radius:6px;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;color:#888;font-size:.9rem;font-style:italic}.card-providers{display:flex;flex-wrap:wrap;gap:8px}.provider-tag{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap;background-color:var(--bg-color, #555);color:var(--text-color, #fff)}.no-provider-info{font-size:.8rem;font-style:italic;color:#888;margin:0}.recommendation-card a{margin-top:auto;padding-top:.5rem;font-weight:700}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;flex-wrap:wrap;gap:12px}.similar-button{background:#4a4a4a;border:1px solid #666;color:#ddd;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.similar-button:hover{background:#5a5a5a}.error{color:#d32f2f;background:#4d2f2f;border:1px solid #d32f2f;border-radius:6px;padding:.5rem 1rem;margin:1rem auto}.back-button{background:none;border:1px solid #555;color:#ccc;padding:6px 12px;border-radius:6px;cursor:pointer;margin-bottom:1.5rem;transition:all .2s}.back-button:hover{background:#3a3a3a;border-color:#777}.contextual-loading-message{font-style:italic;color:#aaa;overflow:hidden;border-right:.15em solid #646cff;white-space:nowrap;margin:0 auto;letter-spacing:.1em;animation:typing 2s steps(30,end),blink-caret .75s step-end infinite}footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #444}.feedback-link{font-size:.9rem;color:#888;text-decoration:none;transition:color .2s}.feedback-link:hover{color:#aaa}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:#09f;margin:2rem auto;animation:spin 1s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#646cff}}@keyframes text-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{to{opacity:1;transform:translateY(0)}}
