: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;min-width:320px;min-height:100vh}#root{width:100%}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}}.container{max-width:1400px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:2rem}header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#f97316,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:#888;font-size:1rem}@media (prefers-color-scheme: light){.subtitle{color:#64748b}}.loading{text-align:center;padding:4rem;font-size:1.5rem;color:#888}@media (prefers-color-scheme: light){.loading{color:#64748b}}.controls{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.content-descriptors-row{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#ffffff08;border-radius:8px;border:1px solid #333}@media (prefers-color-scheme: light){.content-descriptors-row{background:#00000005;border-color:#ddd}}.filter-section{padding:.75rem 1rem;background:#ffffff08;border-radius:8px;border:1px solid #333;display:flex;flex-direction:column;gap:.75rem}.basic-filters-content{display:flex;flex-direction:column;gap:1rem}@media (prefers-color-scheme: light){.filter-section{background:#00000005;border-color:#ddd}}.section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:0;cursor:pointer;color:inherit;font-size:1rem;margin-bottom:0;outline:none;min-height:1.5rem}.section-toggle:focus{outline:none}.section-toggle:hover .section-label{color:#fb923c}.toggle-icon{color:#888;font-size:.8rem;transition:transform .2s}.filter-search{width:100%;padding:.5rem .75rem;margin:0 0 .75rem;font-size:.9rem;border:1px solid #444;border-radius:6px;background:#1a1a1a;color:#fff;box-sizing:border-box}.filter-search:focus{outline:none;border-color:#f97316}@media (prefers-color-scheme: light){.filter-search{background:#fff;color:#000;border-color:#ccc}.filter-search:focus{border-color:#f97316}}.section-header{display:flex;align-items:center;gap:.5rem}.section-label{font-weight:600;font-size:.95rem;color:#f97316}.filter-count{font-style:italic;font-size:.75rem;font-weight:500;color:#888}@media (prefers-color-scheme: light){.filter-count{color:#64748b}}.content-descriptors{display:flex;flex-wrap:wrap;gap:.5rem}.search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#1a1a1a;color:#fff;transition:border-color .3s;box-sizing:border-box}@media (prefers-color-scheme: light){.search-input{background:#f9f9f9;color:#213547;border-color:#ddd}}.search-input:focus{outline:none;border-color:#f97316}.filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.filters label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.tri-state-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid #333;border-radius:6px;background:#1a1a1a;color:#fff;cursor:pointer;transition:all .3s;font-size:.95rem;white-space:nowrap}@media (prefers-color-scheme: light){.tri-state-filter{background:#f9f9f9;color:#213547;border-color:#ddd}}.tri-state-filter:hover{border-color:#f97316;transform:translateY(-2px)}.tri-state-icon{font-size:1.2rem;font-weight:700;min-width:20px;text-align:center}.tri-state-default{border-color:#555;opacity:.7}@media (prefers-color-scheme: light){.tri-state-default{border-color:#ccc}}.tri-state-include{border-color:#22c55e;background:#16a34a;color:#fff}@media (prefers-color-scheme: light){.tri-state-include{background:#22c55e;color:#fff}}.tri-state-exclude{border-color:#ef4444;background:#dc2626;color:#fff}@media (prefers-color-scheme: light){.tri-state-exclude{background:#ef4444;color:#fff}}.rating-filter{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.rating-label{font-size:.95rem}.star-rating{display:flex;gap:.25rem}.star-btn{padding:0;border:none;background:transparent;color:#666;cursor:pointer;transition:color .2s,transform .2s;font-size:1.8rem;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}@media (prefers-color-scheme: light){.star-btn{color:#999}}.star-btn:hover{transform:scale(1.15)}.star-btn.filled{color:#f97316}@media (prefers-color-scheme: light){.star-btn.filled{color:#f97316}}.star-btn.disabled{opacity:.3;cursor:not-allowed}.star-btn.disabled:hover{transform:none}.clear-filters-btn{padding:.5rem 1rem;font-size:.9rem;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s;white-space:nowrap}.clear-filters-btn:hover{background:#b91c1c}.per-page-selector{display:flex;align-items:center;gap:.75rem}.per-page-selector label{color:#ccc;font-size:.95rem}@media (prefers-color-scheme: light){.per-page-selector label{color:#64748b}}.per-page-selector select{padding:.5rem 2rem .5rem 1rem;min-width:5rem;font-size:.95rem;background:#1a1a1a;color:#fff;border:2px solid #333;border-radius:6px;cursor:pointer;transition:border-color .3s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.2em}@media (prefers-color-scheme: light){.per-page-selector select{background:#f9f9f9;color:#213547;border-color:#ddd}}.per-page-selector select:focus{outline:none;border-color:#f97316}.per-page-selector select:hover{border-color:#555}.results-count{color:#888;margin-bottom:1.5rem;font-size:.9rem}@media (prefers-color-scheme: light){.results-count{color:#64748b}}.anime-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.anime-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.anime-card-link{text-decoration:none;color:inherit;display:block;flex:1}@media (prefers-color-scheme: light){.anime-card{background:#fff;border-color:#e5e5e5}}.anime-card-link:hover{opacity:.9}.anime-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #f9731633;border-color:#f97316}.anime-poster{width:100%;height:400px;object-fit:cover;display:block}.anime-info{padding:1.25rem}.anime-info h3{margin:0 0 .5rem;font-size:1.25rem;color:#fff;line-height:1.3}@media (prefers-color-scheme: light){.anime-info h3{color:#213547}}.anime-studios{font-size:.8rem;color:#888;margin-bottom:.75rem;font-style:italic}@media (prefers-color-scheme: light){.anime-studios{color:#64748b}}.anime-meta-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;font-size:.875rem}.anime-meta{display:flex;gap:.75rem;align-items:center;color:#aaa}@media (prefers-color-scheme: light){.anime-meta{color:#64748b}}.anime-meta .meta-source{font-weight:600;color:#f97316;font-size:.8rem}.anime-meta .rating{color:#f59e0b}.anime-episodes{font-size:.875rem;color:#aaa;margin-bottom:.75rem}@media (prefers-color-scheme: light){.anime-episodes{color:#64748b}}.description{color:#ccc;font-size:.875rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (prefers-color-scheme: light){.description{color:#64748b}}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.25rem .75rem;background:#333;border-radius:4px;font-size:.75rem;color:#aaa;white-space:nowrap}@media (prefers-color-scheme: light){.tag{background:#e5e7eb;color:#64748b}}.tag.mature{background:#dc2626;color:#fff}.tag.descriptor{background:#f97316;color:#fff}.tag.clickable,.anilist-tag.clickable{cursor:pointer;transition:transform .2s,opacity .2s}.tag.clickable:hover,.anilist-tag.clickable:hover{transform:scale(1.05);opacity:.8}.anime-card-tags-section{padding:.75rem 1rem;border-top:1px solid #333;background:#0003}@media (prefers-color-scheme: light){.anime-card-tags-section{border-top-color:#e5e5e5;background:#00000005}}.tags-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:0;cursor:pointer;color:#888;font-size:.85rem;outline:none}.tags-toggle:hover{color:#f97316}.tags-toggle:focus{outline:none}.anilist-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.anilist-tag{padding:.25rem .75rem;background:#2a2a2a;border:1px solid #444;border-radius:4px;font-size:.75rem;color:#aaa}@media (prefers-color-scheme: light){.anilist-tag{background:#f9f9f9;border-color:#ddd;color:#64748b}}.pagination{display:flex;justify-content:center;align-items:center;gap:2rem;margin:3rem 0 2rem;padding:1.5rem}.pagination button{padding:.75rem 1.5rem;font-size:1rem;background:#f97316;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .3s,opacity .3s}.pagination button:hover:not(:disabled){background:#ea580c}.pagination button:disabled{background:#333;color:#666;cursor:not-allowed;opacity:.5}.page-info{font-size:1rem;color:#ccc;min-width:150px;text-align:center}@media (prefers-color-scheme: light){.page-info{color:#64748b}}@media (max-width: 768px){.anime-grid{grid-template-columns:1fr}header h1{font-size:2rem}.controls-row{flex-direction:column;align-items:flex-start;gap:1rem}.filters{gap:1rem}.per-page-selector{width:100%}.pagination{gap:1rem}.pagination button{padding:.5rem 1rem;font-size:.9rem}.page-info{font-size:.9rem;min-width:120px}}
