.login-modal__overlay{z-index:100;-webkit-backdrop-filter:blur(4px);padding:var(--space-4);background:#1e193c73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-8);border:1px solid var(--color-border);position:relative;box-shadow:0 8px 40px #6450c82e,0 2px 8px #00000014}.login-modal__star{font-size:var(--font-size-2xl);color:var(--color-accent);margin-bottom:var(--space-2-5);line-height:1;display:block}.login-modal__title{margin:0 0 var(--space-1);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.02em}.login-modal__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.login-modal__header{margin-bottom:var(--space-6)}.login-modal__close{top:var(--space-5);right:var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.login-modal__close:hover{color:var(--color-text-primary);background:var(--color-bg)}.login-modal__form{gap:var(--space-4);flex-direction:column;display:flex}.login-modal__field{gap:var(--space-1-5);flex-direction:column;display:flex}.login-modal__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:.02em;text-transform:uppercase}.login-modal__input{height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--font-size-base);box-sizing:border-box;width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;font-family:inherit}.login-modal__input:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus-ring)}.login-modal__error{padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;gap:7px;display:flex}.login-modal__submit{border-radius:var(--radius-md);background:var(--color-accent);height:42px;color:var(--color-text-on-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--space-1);letter-spacing:-.01em;transition:background var(--transition-fast);border:none;font-family:inherit}.login-modal__submit:hover:not(:disabled){background:var(--color-accent-dark)}.login-modal__submit:disabled{opacity:.6;cursor:not-allowed}.login-modal__footer{margin-top:var(--space-5);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.login-modal__footer-link{color:var(--color-accent);font-weight:var(--font-weight-semibold);text-decoration:none}.login-modal__footer-link:hover{text-decoration:underline}.feedback-modal__overlay{z-index:100;-webkit-backdrop-filter:blur(4px);padding:var(--space-4);background:#1e193c73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.feedback-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:var(--space-8);border:1px solid var(--color-border);position:relative}.feedback-modal__header{margin-bottom:18px}.feedback-modal__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.02em;margin:0}.feedback-modal__close{top:var(--space-5);right:var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.feedback-modal__close:hover{color:var(--color-text-primary);background:var(--color-bg)}.feedback-modal__form{gap:var(--space-2);flex-direction:column;display:flex}.feedback-modal__textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-2-5) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg);resize:vertical;box-sizing:border-box;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.feedback-modal__textarea:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus-ring)}.feedback-modal__count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);align-self:flex-end}.feedback-modal__error{padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.feedback-modal__success{padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.feedback-modal__submit{border-radius:var(--radius-md);background:var(--color-accent);height:42px;color:var(--color-text-on-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--space-1);letter-spacing:-.01em;transition:background var(--transition-fast);border:none;font-family:inherit}.feedback-modal__submit:hover:not(:disabled){background:var(--color-accent-dark)}.feedback-modal__submit:disabled{opacity:.6;cursor:not-allowed}.navbar{z-index:40;width:100%;height:var(--navbar-height);background:var(--color-navbar-bg);border-bottom:1px solid var(--color-navbar-border);box-shadow:var(--shadow-sm);position:sticky;top:0}.navbar__inner{align-items:center;gap:var(--space-4);max-width:1152px;height:100%;padding:0 var(--space-6);grid-template-columns:auto 1fr auto;margin:0 auto;display:grid}.navbar__left{align-items:center;min-width:0;display:flex}.navbar__mid{justify-content:center;align-items:center;min-width:0;display:flex}.navbar__right{justify-content:flex-end;align-items:center;min-width:0;display:flex}.navbar__logo{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-on-accent);letter-spacing:-.01em;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.navbar__logo-star{color:#ffffffa6;font-size:var(--font-size-lg);line-height:1}.navbar__btn{align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);border:none;padding:6px 13px;line-height:1.4;text-decoration:none;display:inline-flex}.navbar__btn--ghost{background:var(--color-navbar-btn-bg);color:var(--color-navbar-text);border:1px solid var(--color-navbar-btn-border)}.navbar__btn--ghost:hover,.navbar__btn--active{background:#fff3;border-color:#fff6}.navbar__btn--solid{background:var(--color-surface);color:var(--color-accent);border:1px solid var(--color-surface);font-weight:var(--font-weight-semibold)}.navbar__auth-group{align-items:center;row-gap:var(--space-1-5);gap:var(--space-2);flex-wrap:wrap;display:flex}.navbar__account-btn{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;background:var(--color-navbar-btn-bg);color:var(--color-navbar-text);border:1px solid var(--color-navbar-btn-border);padding:6px 13px;line-height:1.4;text-decoration:none;display:inline-flex}.navbar__account-group{align-items:center;row-gap:var(--space-1-5);gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.navbar__account-group .navbar__account-btn{margin-left:var(--space-1)}.navbar__avatar{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-on-accent);font-size:11px;font-weight:var(--font-weight-bold);background:#fff3;flex-shrink:0;justify-content:center;align-items:center;display:flex}.navbar__search-group{align-items:center;gap:var(--space-2);display:flex}.navbar__search-wrap{align-items:center;display:flex;position:relative}.navbar__search-icon{left:var(--space-2-5);color:var(--color-navbar-search-placeholder);pointer-events:none;position:absolute}.navbar__search-input{width:200px;height:34px;padding:0 var(--space-3) 0 30px;border-radius:var(--radius-md);border:1px solid var(--color-navbar-search-border);background:var(--color-navbar-search-bg);color:var(--color-navbar-search-text);font-size:var(--font-size-sm);font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none}.navbar__search-input:focus{border-color:#ffffff80}.navbar__sort-wrap{position:relative}.navbar__sort-dropdown{top:calc(100% + var(--space-1-5));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:50;min-width:160px;position:absolute;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.navbar__sort-option{align-items:center;gap:var(--space-2);width:100%;font-size:var(--font-size-sm);font-family:var(--font-sans);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:9px 14px;transition:background .1s;display:flex}.navbar__sort-option:hover{background:var(--color-bg)}.navbar__sort-option--active{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.navbar__sort-option svg{color:var(--color-accent);flex-shrink:0}@media (width<=640px){.navbar{height:auto}.navbar__inner{row-gap:var(--space-2-5);padding:var(--space-3) var(--space-4);grid-template-columns:1fr;grid-auto-rows:auto}.navbar__left,.navbar__mid,.navbar__right{justify-content:flex-start;row-gap:var(--space-2);flex-wrap:wrap}.navbar__search-group{flex-wrap:wrap;width:100%;min-width:0}.navbar__search-wrap{flex:auto;min-width:0}.navbar__search-input{width:100%}.navbar__account-group,.navbar__auth-group{flex-wrap:wrap;min-width:0}}.tmdb-attribution{z-index:100;justify-content:center;align-items:center;gap:var(--space-2);padding:6px var(--space-3);background:var(--color-accent-dark);display:flex;position:fixed;bottom:0;left:0;right:0}.tmdb-attribution__logo{width:auto;height:14px}.tmdb-attribution__text{color:var(--color-text-on-accent);font-size:var(--font-size-xs);text-align:center;margin:0}.anime-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);min-width:0;color:inherit;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.anime-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.anime-card__image-wrap{background:var(--color-bg);flex-shrink:0;width:100%;padding-bottom:142%;position:relative}.anime-card__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.anime-card__image-fallback{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.anime-card__fallback-star{font-size:var(--font-size-4xl);color:#fff6}.anime-card__rating-badge{top:var(--space-2);right:var(--space-2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:11px;font-weight:var(--font-weight-semibold);background:#0000009e;border-radius:6px;align-items:center;gap:3px;padding:3px 7px;display:flex;position:absolute}.anime-card__info{padding:var(--space-2-5) var(--space-3) var(--space-3);gap:var(--space-1-5);flex-direction:column;display:flex}.anime-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.35;display:-webkit-box;overflow:hidden}.anime-card__star-row{align-items:center;gap:2px;display:flex}.anime-card__tag-row{gap:var(--space-1);margin-top:var(--space-0-5);flex-wrap:wrap;display:flex}.anime-card__tag{background:var(--color-bg);border:1px solid var(--color-border);font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);white-space:nowrap;border-radius:4px;padding:2px 7px}.anime-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.anime-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=700px){.anime-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=960px){.anime-grid{grid-template-columns:repeat(5,1fr)}}.anime-grid__empty{text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-text-tertiary);font-size:var(--font-size-md)}.anime-grid__skeleton-card{border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;box-shadow:0 1px 4px #00000012}.anime-grid__skeleton-image{aspect-ratio:2/3;background:linear-gradient(90deg, var(--color-skeleton-base) 25%, var(--color-navbar-search-bg) 50%, var(--color-skeleton-base) 75%);background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}.anime-grid__skeleton-body{padding:var(--space-2-5) var(--space-3) var(--space-3)}.anime-grid__skeleton-line{background:var(--color-skeleton-base);height:14px;margin-bottom:var(--space-2);border-radius:6px}.anime-grid__skeleton-line--short{background:var(--color-surface-hover);width:60%;height:12px;margin-bottom:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-bar__select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer}.filter-bar__genre{position:relative}.filter-bar__genre-toggle{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer}.filter-bar__genre-toggle:hover{background:var(--color-bg)}.filter-bar__genre-menu{top:calc(100% + var(--space-1));z-index:10;gap:var(--space-1-5);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md);flex-direction:column;min-width:220px;max-height:280px;display:flex;position:absolute;left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.filter-bar__genre-option{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;display:flex}.filter-bar__clear{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-accent-dark);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;text-decoration:underline}.filter-bar__clear:hover{color:var(--color-accent)}.home{max-width:1200px;padding:var(--space-8) var(--space-6) var(--space-16);margin:0 auto}.home__error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);margin-bottom:var(--space-6)}.home__sentinel{height:1px}.register-page{background:radial-gradient(ellipse at 60% 40%, #7c6fcd1f 0%, transparent 65%), radial-gradient(ellipse at 20% 80%, #7c6fcd12 0%, transparent 55%), var(--color-bg);min-height:100vh;padding:var(--space-8) var(--space-4);justify-content:center;align-items:center;display:flex}.register-card{background:var(--color-surface);border-radius:var(--radius-lg);border-top:5px solid var(--color-accent);width:100%;max-width:420px;overflow:hidden;box-shadow:0 2px 8px #0000000f,0 8px 24px #00000014}.register-card__body{padding:var(--space-10) 2.25rem 2.25rem}.register-card__title{font-size:1.6rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 1.75rem}.register-error{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-base);margin-bottom:var(--space-5);padding:.65rem .9rem}.register-form{flex-direction:column;gap:1.1rem;display:flex}.register-form__field{gap:var(--space-1-5);flex-direction:column;display:flex}.register-form__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:.01em}.register-form__input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);height:2.6rem;font-family:inherit;font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:0 .85rem}.register-form__input:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus-ring)}.register-form__submit{height:2.75rem;margin-top:var(--space-1-5);background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast);border:none}.register-form__submit:hover:not(:disabled){background:var(--color-accent-dark)}.register-form__submit:disabled{opacity:.6;cursor:not-allowed}.register-footer{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin-top:1.4rem}.register-footer a{color:var(--color-accent);font-weight:var(--font-weight-semibold);text-decoration:none}.register-footer a:hover{text-decoration:underline}.register-form__hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-0-5)}.anime-detail{background:var(--color-bg);min-height:100vh;position:relative}.anime-detail__backdrop{z-index:0;background-position:top;background-size:cover;height:420px;position:absolute;top:0;left:0;right:0}.anime-detail__backdrop-overlay{background:linear-gradient(to bottom, #00000073 0%, var(--color-bg) 100%);position:absolute;inset:0}.anime-detail__loading,.anime-detail__error{min-height:60vh;font-size:var(--font-size-xl);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.anime-detail__error{color:var(--color-danger)}.anime-detail__hero{z-index:1;gap:var(--space-8);max-width:960px;padding:var(--space-10) var(--space-6) var(--space-8);align-items:flex-start;margin:0 auto;display:flex;position:relative}.anime-detail__poster-wrap{flex:0 0 200px}.anime-detail__poster{border-radius:var(--radius-lg);width:200px;display:block;box-shadow:0 8px 32px #00000047}.anime-detail__poster-placeholder{border-radius:var(--radius-lg);background:var(--color-surface);width:200px;height:300px;color:var(--color-text-tertiary);font-size:var(--font-size-base);border:1px solid var(--color-border);justify-content:center;align-items:center;display:flex}.anime-detail__meta{min-width:0;padding-top:var(--space-4);flex:1}.anime-detail__title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);line-height:1.2}.anime-detail__original-title{font-size:var(--font-size-md);color:var(--color-text-primary);margin:0 0 var(--space-3)}.anime-detail__tags{gap:var(--space-1-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.anime-detail__genre-tag{background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:.2rem var(--space-2-5);border-radius:var(--radius-full);letter-spacing:.02em}.anime-detail__facts{gap:var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.anime-detail__fact{font-size:var(--font-size-base);color:var(--color-text-primary);flex-direction:column;display:flex}.anime-detail__fact-label{font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-primary);margin-bottom:var(--space-0-5)}.anime-detail__rating-summary{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.anime-detail__stars{font-size:1.2rem;line-height:1}.anime-detail__star--filled{color:#f5a623}.anime-detail__star--empty{color:#d0cfe8}.anime-detail__star--half{color:#d0cfe8;display:inline-block;position:relative}.anime-detail__star--half:before{content:"★";color:#f5a623;width:50%;position:absolute;top:0;left:0;overflow:hidden}.anime-detail__rating-number{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.anime-detail__rating-count{font-size:var(--font-size-base);color:var(--color-text-primary)}.anime-detail__overview{font-size:var(--font-size-md);color:var(--color-text-primary);max-width:620px;margin:0;line-height:1.65}.anime-detail__actions{z-index:1;gap:var(--space-3);max-width:960px;margin:0 auto var(--space-6);padding:0 var(--space-6);flex-wrap:wrap;align-items:center;display:flex;position:relative}.anime-detail__action-btn{padding:.55rem var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border:none}.anime-detail__action-btn--primary{background:var(--color-accent);color:var(--color-text-on-accent)}.anime-detail__action-btn--primary:hover{background:var(--color-accent-dark)}.anime-detail__action-btn--secondary{background:var(--color-surface);color:var(--color-accent);border:2px solid var(--color-accent)}.anime-detail__action-btn--secondary:hover{background:var(--color-accent);color:var(--color-text-on-accent)}.anime-detail__action-btn:disabled{opacity:.6;cursor:not-allowed}.anime-detail__watchlist-select{padding:.55rem var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:2px solid var(--color-accent);color:var(--color-accent);background:var(--color-surface);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast)}.anime-detail__watchlist-select:hover{background:var(--color-accent);color:var(--color-text-on-accent)}.anime-detail__rating-panel{z-index:1;max-width:960px;margin:0 auto var(--space-6);padding:var(--space-5) var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex;position:relative;box-shadow:0 2px 12px #7c6fcd12}.anime-detail__rating-panel-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);gap:var(--space-1-5);flex-direction:column;display:flex}.anime-detail__review-form{z-index:1;max-width:960px;margin:0 auto var(--space-8);padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);position:relative;box-shadow:0 2px 12px #7c6fcd12}.anime-detail__review-form-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-5);color:var(--color-text-primary)}.anime-detail__form-row{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.anime-detail__form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);gap:var(--space-1-5);margin-bottom:var(--space-4);flex-direction:column;display:flex}.anime-detail__form-label--grow{flex:1}.anime-detail__form-input{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-border);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.anime-detail__form-input:focus{border-color:var(--color-accent);outline:none}.anime-detail__form-input--rating{width:80px}.anime-detail__form-textarea{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-border);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text-primary);resize:vertical;transition:border-color var(--transition-fast);font-family:inherit}.anime-detail__form-textarea:focus{border-color:var(--color-accent);outline:none}.anime-detail__form-checkbox{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:var(--space-4);cursor:pointer;display:flex}.anime-detail__form-error{font-size:var(--font-size-base);color:var(--color-danger);margin:0 0 var(--space-3)}.anime-detail__reviews{z-index:1;max-width:960px;padding:0 var(--space-6) var(--space-12);margin:0 auto;position:relative}.anime-detail__reviews-heading{font-size:1.3rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-5);align-items:center;gap:var(--space-2-5);display:flex}.anime-detail__reviews-count{background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:var(--space-0-5) .55rem;border-radius:var(--radius-full)}.anime-detail__reviews-empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-md);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.anime-detail__reviews-list{gap:var(--space-4);flex-direction:column;display:flex}.anime-detail__review-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-5) var(--space-6);transition:box-shadow var(--transition-fast);box-shadow:0 1px 6px #7c6fcd0d}.anime-detail__review-card:hover{box-shadow:0 4px 16px #7c6fcd1a}.anime-detail__review-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.anime-detail__review-username{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-accent);text-decoration:none}.anime-detail__review-username:hover{text-decoration:underline}.anime-detail__review-rating{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);background:var(--color-bg);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border)}.anime-detail__review-rating-denom{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}.anime-detail__spoiler-badge{font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);color:#856404;background:#fff3cd;border:1px solid #ffc107}.anime-detail__review-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1-5)}.anime-detail__review-body{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-3);white-space:pre-wrap;line-height:1.6}.anime-detail__review-footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.anime-detail__review-date{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.anime-detail__review-actions{gap:var(--space-2);display:flex}.anime-detail__review-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.3rem var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.anime-detail__review-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.anime-detail__review-btn--report:hover{color:#e74c3c;border-color:#e74c3c}@media (width<=640px){.anime-detail__hero{text-align:center;padding-top:var(--space-6);flex-direction:column;align-items:center}.anime-detail__tags,.anime-detail__facts,.anime-detail__rating-summary{justify-content:center}.anime-detail__poster-wrap{flex:none}.anime-detail__title{font-size:var(--font-size-3xl)}.anime-detail__form-row{flex-direction:column}.anime-detail__form-input--rating{width:100%}.anime-detail__rating-panel{flex-direction:column;align-items:stretch}}.review-detail{background-color:var(--color-bg);min-height:100vh;padding:var(--space-8) var(--space-4) var(--space-16)}.review-detail__container{max-width:720px;margin:0 auto}.review-detail__back{align-items:center;gap:var(--space-1-5);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-accent);margin-bottom:var(--space-6);transition:opacity var(--transition-fast) ease;text-decoration:none;display:inline-flex}.review-detail__back:hover{opacity:.75}.review-detail__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.75rem var(--space-8);margin-bottom:var(--space-8);box-shadow:0 2px 12px #00000012}.review-detail__card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.review-detail__meta{align-items:center;gap:var(--space-1-5);font-size:var(--font-size-base);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.review-detail__username{font-weight:var(--font-weight-semibold);color:var(--color-accent);text-decoration:none}.review-detail__username:hover{text-decoration:underline}.review-detail__dot,.review-detail__date{color:var(--color-text-secondary)}.review-detail__edited{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.review-detail__rating{flex-shrink:0;align-items:baseline;gap:.2rem;display:inline-flex}.review-detail__rating-star{font-size:var(--font-size-xl);color:#f5a623}.review-detail__rating-value{font-size:1.4rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.review-detail__rating-max{font-size:var(--font-size-base);color:var(--color-text-secondary)}.review-detail__anime-title{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-5)}.review-detail__anime-link{color:var(--color-accent);font-weight:var(--font-weight-medium);text-decoration:none}.review-detail__anime-link:hover{text-decoration:underline}.review-detail__body{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--space-6);white-space:pre-wrap;line-height:1.7}.review-detail__body--empty{color:var(--color-text-secondary);font-style:italic}.review-detail__card-footer{border-top:1px solid var(--color-border);padding-top:var(--space-5);margin-top:var(--space-2);justify-content:flex-end;display:flex}.review-detail__comments{flex-direction:column;gap:0;display:flex}.review-detail__comments-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-5);align-items:center;gap:var(--space-2-5);display:flex}.review-detail__comments-count{background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);min-width:1.4rem;height:1.4rem;padding:0 var(--space-1-5);justify-content:center;align-items:center;display:inline-flex}.review-detail__comments-empty{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;font-style:italic}.review-detail__comment{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);box-shadow:0 1px 6px #0000000d}.review-detail__comment-header{align-items:center;gap:var(--space-1-5);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.review-detail__comment-username{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-decoration:none}.review-detail__comment-username:hover{text-decoration:underline}.review-detail__comment-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.review-detail__comment-edited{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.review-detail__comment-body{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-2);white-space:pre-wrap;line-height:1.6}.review-detail__comment-actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.review-detail__action-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast) ease;background:0 0;border:none;padding:0;font-family:inherit}.review-detail__action-btn:hover{color:var(--color-accent)}.review-detail__action-btn--danger:hover{color:var(--color-danger)}.review-detail__comment-edit{gap:var(--space-3);flex-direction:column;display:flex}.review-detail__comment-edit-actions{gap:var(--space-2);display:flex}.review-detail__compose{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex;box-shadow:0 1px 6px #0000000d}.review-detail__compose-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.review-detail__compose-actions{gap:var(--space-2);display:flex}.review-detail__textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg);resize:vertical;transition:border-color var(--transition-fast) ease;box-sizing:border-box}.review-detail__textarea:focus{border-color:var(--color-accent);outline:none}.review-detail__btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast) ease, opacity var(--transition-fast) ease;border:none;justify-content:center;align-items:center;display:inline-flex}.review-detail__btn--primary{background:var(--color-accent);color:var(--color-text-on-accent)}.review-detail__btn--primary:hover:not(:disabled){background:var(--color-accent-dark)}.review-detail__btn--primary:disabled{opacity:.5;cursor:not-allowed}.review-detail__btn--ghost{color:var(--color-text-secondary);border:1.5px solid var(--color-border);background:0 0}.review-detail__btn--ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}.review-detail__state{justify-content:center;align-items:center;gap:var(--space-4);min-height:60vh;color:var(--color-text-secondary);flex-direction:column;display:flex}.review-detail__state--error{color:var(--color-danger)}.review-detail__spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite review-detail-spin;display:block}@keyframes review-detail-spin{to{transform:rotate(360deg)}}@media (width<=640px){.review-detail{padding:var(--space-5) var(--space-3) var(--space-12)}.review-detail__card{padding:var(--space-5) var(--space-5)}.review-detail__card-header{gap:var(--space-2);flex-direction:column}}.user-profile{background:var(--color-bg);min-height:100vh;padding:var(--space-8) var(--space-4) var(--space-16)}.user-profile__container{max-width:860px;margin:0 auto}.user-profile__state{justify-content:center;align-items:center;gap:var(--space-4);min-height:40vh;color:var(--color-text-secondary);flex-direction:column;display:flex}.user-profile__state--error{color:var(--color-danger)}.user-profile__spinner{border:3px solid var(--color-accent);border-top-color:#0000;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.user-profile__back{color:var(--color-accent);font-size:var(--font-size-base);cursor:pointer;margin-bottom:var(--space-6);background:0 0;border:none;padding:0}.user-profile__back:hover{text-decoration:underline}.user-profile__admin-strip{align-items:center;gap:var(--space-4);background:var(--color-warning-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);border:1px solid #f0d9b5;flex-wrap:wrap;display:flex}.user-profile__admin-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning);text-transform:uppercase;letter-spacing:.05em}.user-profile__admin-error{font-size:var(--font-size-base);color:var(--color-danger)}.user-profile__admin-actions{gap:var(--space-2);margin-left:auto;display:flex}.user-profile__admin-btn{padding:var(--space-1-5) .85rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast);border:none}.user-profile__admin-btn:disabled{opacity:.5;cursor:not-allowed}.user-profile__admin-btn--ban{background:var(--color-danger-light);color:var(--color-danger)}.user-profile__admin-btn--ban:hover:not(:disabled){background:var(--color-danger-hover)}.user-profile__admin-btn--unban{background:var(--color-success-light);color:var(--color-success)}.user-profile__admin-btn--unban:hover:not(:disabled){background:#c8e8cf}.user-profile__admin-btn--delete{background:var(--color-danger-light);color:var(--color-danger)}.user-profile__admin-btn--delete:hover:not(:disabled){background:var(--color-danger-hover)}.user-profile__header{align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.user-profile__avatar-wrap{flex-shrink:0;position:relative}.user-profile__avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.user-profile__avatar--initials{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.user-profile__avatar--md{width:52px;height:52px;font-size:1.3rem}.user-profile__avatar--lg{width:80px;height:80px;font-size:var(--font-size-5xl)}.user-profile__avatar-edit{border:2px solid var(--color-surface);background:var(--color-accent);width:24px;height:24px;color:var(--color-text-on-accent);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;right:0}.user-profile__avatar-edit:hover:not(:disabled){background:var(--color-accent-dark)}.user-profile__avatar-edit:disabled{opacity:.5;cursor:not-allowed}.user-profile__avatar-input{display:none}.user-profile__avatar-error{top:calc(100% + var(--space-1));font-size:var(--font-size-xs);color:var(--color-danger);white-space:nowrap;position:absolute;left:0}.user-profile__header-info{flex:1;min-width:0}.user-profile__name-row{align-items:center;gap:var(--space-2-5);flex-wrap:wrap;display:flex}.user-profile__username{font-size:1.6rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.user-profile__banned-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--color-danger-light);color:var(--color-danger);padding:.2rem var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.user-profile__joined{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:.2rem 0 var(--space-3)}.user-profile__bio{font-size:var(--font-size-md);color:var(--color-text-primary);white-space:pre-wrap;margin:0;line-height:1.55}.user-profile__profile-edit{gap:var(--space-1-5);flex-direction:column;display:flex}.user-profile__field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-top:.3rem}.user-profile__field-label:first-child{margin-top:0}.user-profile__username-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;height:2.2rem;padding:0 var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);box-sizing:border-box;transition:border-color var(--transition-fast)}.user-profile__username-input:focus{border-color:var(--color-accent);outline:none}.user-profile__bio-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-2-5) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);resize:vertical;box-sizing:border-box;transition:border-color var(--transition-fast)}.user-profile__bio-input:focus{border-color:var(--color-accent);outline:none}.user-profile__bio-footer{justify-content:space-between;align-items:center;display:flex}.user-profile__bio-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.user-profile__bio-save{padding:var(--space-1-5) .9rem;background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border:none}.user-profile__bio-save:hover:not(:disabled){background:var(--color-accent-dark)}.user-profile__bio-save:disabled{opacity:.5;cursor:not-allowed}.user-profile__bio-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.user-profile__bio-success{font-size:var(--font-size-sm);color:var(--color-success);margin:0}.user-profile__stats{gap:var(--space-6);padding-top:var(--space-1);align-self:flex-start;margin-left:auto;display:flex}.user-profile__stat{align-items:center;gap:var(--space-0-5);flex-direction:column;display:flex}.user-profile__stat-value{font-size:1.4rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.user-profile__stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.user-profile__favorites{margin-bottom:var(--space-10)}.user-profile__section-heading{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-4)}.user-profile__fav-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.user-profile__fav-card{gap:var(--space-1-5);color:inherit;flex-direction:column;text-decoration:none;display:flex}.user-profile__fav-poster{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-md);background:var(--color-poster-placeholder);width:100%;display:block}.user-profile__fav-poster--empty{background:var(--color-poster-placeholder)}.user-profile__fav-rating{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);align-items:center;gap:.2rem;display:flex}.user-profile__fav-star{color:var(--color-accent)}.user-profile__fav-title{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-profile__tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-6);gap:0;display:flex}.user-profile__tab{padding:var(--space-2-5) 1.2rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.user-profile__tab:hover{color:var(--color-text-primary)}.user-profile__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.user-profile__panel{padding-top:var(--space-1)}.user-profile__empty{color:var(--color-text-secondary);font-size:var(--font-size-base);padding:var(--space-8) 0;text-align:center}.user-profile__reviews-list{gap:var(--space-3);flex-direction:column;display:flex}.user-profile__review-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);color:inherit;border:1px solid var(--color-border);transition:box-shadow var(--transition-fast);text-decoration:none;display:block}.user-profile__review-card:hover{box-shadow:0 2px 12px #7c6fcd1a}.user-profile__review-top{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1-5);display:flex}.user-profile__review-anime{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}.user-profile__review-rating{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap}.user-profile__review-star{color:var(--color-accent);margin-right:var(--space-0-5)}.user-profile__review-max{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.user-profile__review-body{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-1-5);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.user-profile__review-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.user-profile__wl-group{margin-bottom:var(--space-8)}.user-profile__wl-group-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-3);align-items:center;gap:var(--space-2);display:flex}.user-profile__wl-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-surface-hover);color:var(--color-text-secondary);padding:var(--space-0-5) .45rem;border-radius:var(--radius-full)}.user-profile__wl-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.user-profile__wl-card{gap:var(--space-1-5);color:inherit;flex-direction:column;text-decoration:none;display:flex}.user-profile__wl-poster{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-md);background:var(--color-poster-placeholder);width:100%;transition:opacity var(--transition-fast);display:block}.user-profile__wl-poster--empty{background:var(--color-poster-placeholder)}.user-profile__wl-card:hover .user-profile__wl-poster{opacity:.85}.user-profile__wl-title{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-profile__btn{padding:var(--space-2) 1.2rem;background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-decoration:none;display:inline-block}.watchlist{max-width:800px;padding:var(--space-8) var(--space-6);margin:0 auto}.watchlist__header{align-items:baseline;gap:var(--space-3);margin-bottom:1.75rem;display:flex}.watchlist__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.watchlist__total{font-size:var(--font-size-base);color:var(--color-text-secondary)}.watchlist__tabs{gap:var(--space-1);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-6);display:flex}.watchlist__tab{align-items:center;gap:var(--space-1-5);padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;display:flex}.watchlist__tab:hover{color:var(--color-text-primary)}.watchlist__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.watchlist__tab-count{background:var(--color-bg);border-radius:var(--radius-full);min-width:1.25rem;height:1.25rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);justify-content:center;align-items:center;padding:0 .3rem;display:inline-flex}.watchlist__tab--active .watchlist__tab-count{background:var(--color-accent);color:var(--color-text-on-accent)}.watchlist__empty{align-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-4);text-align:center;flex-direction:column;display:flex}.watchlist__empty-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.watchlist__empty-link{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-accent);text-decoration:none}.watchlist__empty-link:hover{text-decoration:underline}.watchlist__loading,.watchlist__error{padding:var(--space-16) var(--space-6);text-align:center;font-size:var(--font-size-lg);color:var(--color-danger)}.watchlist__list{gap:var(--space-3);flex-direction:column;display:flex}.watchlist-card{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);transition:box-shadow var(--transition-fast);display:flex}.watchlist-card:hover{box-shadow:0 2px 8px #00000012}.watchlist-card__poster-wrap{border-radius:var(--radius-sm);background:var(--color-bg);flex-shrink:0;width:52px;height:74px;display:block;overflow:hidden}.watchlist-card__poster{object-fit:cover;width:100%;height:100%;display:block}.watchlist-card__poster-fallback{width:100%;height:100%;font-size:var(--font-size-2xl);color:var(--color-text-secondary);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.watchlist-card__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.watchlist-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.watchlist-card__title:hover{color:var(--color-accent)}.watchlist-card__updated{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.watchlist-card__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.watchlist-card__status-select{padding:var(--space-1-5) var(--space-2-5);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);outline:none;font-family:inherit}.watchlist-card__status-select:focus{border-color:var(--color-accent)}.watchlist-card__remove{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:2rem;height:2rem;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.watchlist-card__remove:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-light)}.reports{max-width:900px;margin:var(--space-10) auto;padding:0 var(--space-6)}.reports__header{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.reports__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.reports__count{font-size:var(--font-size-base);color:var(--color-text-secondary)}.reports__empty,.reports__error{color:var(--color-text-secondary);font-size:var(--font-size-md)}.reports__error{color:var(--color-danger)}.reports__table{border-collapse:collapse;width:100%;font-size:var(--font-size-md)}.reports__table th{text-align:left;padding:var(--space-2-5) 14px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.reports__table td{vertical-align:middle;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:14px}.reports__row:last-child td{border-bottom:none}.reports__user-link{color:var(--color-accent);font-weight:var(--font-weight-medium);text-decoration:none}.reports__user-link:hover{text-decoration:underline}.reports__badge{margin-left:var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 8px;display:inline-block}.reports__badge--banned{background:var(--color-danger-light);color:var(--color-danger)}.reports__count-cell{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.reports__no-reason{color:var(--color-text-tertiary)}.reports__content-link{color:var(--color-accent);font-weight:var(--font-weight-medium);text-decoration:none}.reports__content-link:hover{text-decoration:underline}.reports__actions{gap:var(--space-2);display:flex}.reports__btn{padding:var(--space-1-5) 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast);border:none}.reports__btn:disabled{opacity:.5;cursor:not-allowed}.reports__btn--ban{background:var(--color-danger-light);color:var(--color-danger)}.reports__btn--ban:hover:not(:disabled){background:var(--color-danger-hover)}.reports__btn--dismiss{background:var(--color-surface-hover);color:var(--color-accent-dark)}.reports__btn--dismiss:hover:not(:disabled){background:var(--color-border)}.admin{background:var(--color-bg);min-height:100vh;padding:var(--space-8) var(--space-6) var(--space-16)}.admin__container{max-width:1100px;margin:0 auto}.admin__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-6)}.admin__section{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6)}.admin__section--spaced{margin-top:var(--space-6)}.admin__section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.admin__section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.admin__controls{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin__search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-text-tertiary);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);min-width:240px}.admin__search:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.admin__toggle{align-items:center;gap:var(--space-1-5);font-size:var(--font-size-base);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;display:flex}.admin__error{background:var(--color-danger-light);color:var(--color-danger);border-radius:var(--radius-md);padding:var(--space-2-5) 14px;font-size:var(--font-size-base);margin-bottom:var(--space-4)}.admin__state{color:var(--color-text-secondary);font-size:var(--font-size-base);padding:var(--space-8) 0;text-align:center}.admin__state--error{color:var(--color-danger)}.admin__table-wrap{overflow-x:auto}.admin__table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.admin__table th{text-align:left;padding:var(--space-2-5) var(--space-3);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-bg);white-space:nowrap}.admin__table td{padding:var(--space-3);color:var(--color-text-primary);border-bottom:1px solid var(--color-bg);vertical-align:middle}.admin__role{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize;background:var(--color-bg);color:var(--color-text-secondary);padding:2px 8px;display:inline-block}.admin__role--admin{background:var(--color-accent);color:var(--color-text-on-accent)}.admin__role--moderator{background:var(--color-accent-dark);color:var(--color-text-on-accent)}.admin__status{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 8px;display:inline-block}.admin__status--active{background:var(--color-success-light);color:var(--color-success)}.admin__status--banned{background:var(--color-danger-light);color:var(--color-danger)}.admin__actions{gap:var(--space-2);white-space:nowrap;display:flex}.admin__no-actions{color:var(--color-text-tertiary)}.admin__feedback-type{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;padding:2px 8px;display:inline-block}.admin__feedback-type--show_request{background:var(--color-accent-light);color:var(--color-accent-dark)}.admin__feedback-type--bug_report{background:var(--color-warning-light);color:var(--color-warning)}.admin__feedback-content{white-space:pre-wrap;word-break:break-word;max-width:420px}.admin__add-show-form{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.admin__add-show-form .admin__search{flex:1;min-width:0}.admin__add-show-results{gap:var(--space-2-5);flex-direction:column;display:flex}.admin__add-show-card{padding:var(--space-2-5) 14px;border-radius:var(--radius-md);background:var(--color-bg);align-items:center;gap:14px;display:flex}.admin__add-show-poster{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-border);flex-shrink:0;width:46px;height:69px}.admin__add-show-poster--empty{background:var(--color-border)}.admin__add-show-info{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.admin__add-show-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base)}.admin__add-show-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin__add-show-season{margin-top:var(--space-0-5);width:160px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-text-tertiary);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-primary)}.admin__add-show-season:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.admin__add-show-result{margin:var(--space-0-5) 0 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success)}.admin__add-show-result--error{color:var(--color-danger)}.admin__btn{border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast) ease;border:none}.admin__btn:disabled{opacity:.5;cursor:not-allowed}.admin__btn:not(:disabled):hover{opacity:.85}.admin__btn--secondary{background:var(--color-bg);color:var(--color-text-primary)}.admin__btn--warning{background:var(--color-warning-light);color:var(--color-warning)}.admin__btn--danger{background:var(--color-danger-light);color:var(--color-danger)}.admin__btn--success{background:var(--color-success-light);color:var(--color-success)}.admin__feedback-actions{align-items:flex-start;gap:var(--space-1-5);white-space:nowrap;flex-direction:column;display:flex}.admin__feedback-resolve-error{font-size:var(--font-size-xs);color:var(--color-danger);white-space:normal;margin:0}:root{--color-accent:#7c6fcd;--color-accent-dark:#5c4fb5;--color-accent-hover:#6a5dc0;--color-accent-light:#ede9ff;--color-navbar-bg:#7c6fcd;--color-navbar-border:#5c4fb5;--color-navbar-text:#ffffffe6;--color-navbar-btn-bg:#ffffff1f;--color-navbar-btn-border:#fff3;--color-navbar-search-bg:#f5f4fc;--color-navbar-search-border:#e8e6f5;--color-navbar-search-text:#1a1830;--color-navbar-search-placeholder:#a09db8;--color-bg:#f7f7fb;--color-surface:#fff;--color-surface-hover:#f0eff8;--color-border:#e2e0f0;--color-border-focus:#7c6fcd;--color-skeleton-base:#ede9f7;--color-text-primary:#1a1830;--color-text-secondary:#6b6880;--color-text-tertiary:#a09db8;--color-text-on-accent:#fff;--color-danger:#b3261e;--color-danger-light:#fdecec;--color-danger-hover:#f5c6c6;--color-success:#1e7a34;--color-success-light:#e6f4ea;--color-warning:#92600a;--color-warning-light:#fcefd9;--color-poster-placeholder:#e0dff0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #645aa014;--shadow-md:0 4px 16px #645aa01f;--shadow-lg:0 8px 32px #645aa029;--shadow-focus-ring:0 0 0 3px #7c6fcd26;--navbar-height:56px;--transition-fast:.15s;--font-sans:"DM Sans", system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:.9375rem;--font-size-lg:1rem;--font-size-xl:1.1rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:1.75rem;--font-size-5xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-sans);margin:0;padding:0}@tailwind base;@tailwind components;@tailwind utilities;
