@import "https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);--page-bg:#0d0324;--text-primary:#f7f7fb;--text-secondary:#bbc1d2;--text-muted:#adadc2;--text-soft:#b6b6b6;--surface:#ffffff08;--surface-raised:#ffffff0d;--border-soft:#ffffff14;--border-strong:#ffffff4d;--input-border:#ffffff1a;--accent:#e46ae6;--accent-soft:#fd90ff6e;--danger:#fd5858;--error:#ff7a7a;--tooltip-bg:#f7f7fb;--tooltip-text:#151226;--shadow-soft:#5b66ff2e;--disabled-text:#ffffff73;--disabled-border:#ffffff52;background:#0f1218;font-family:Google Sans,Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);max-width:100vw;min-height:100vh;color:var(--text-primary);margin:0;transition:background-color .22s,color .22s}body.theme-light{--page-bg:#e1dceb;--text-primary:#201b2f;--text-secondary:#5c5771;--text-muted:#716b86;--text-soft:#665f7a;--surface:#ffffffc2;--surface-raised:#ffffffeb;--border-soft:#362b5829;--border-strong:#362b5847;--input-border:#362b582e;--accent:#b832bc;--accent-soft:#b832bc38;--danger:#c7293f;--error:#c7293f;--tooltip-bg:#211a31;--tooltip-text:#fff;--shadow-soft:#48327824;--disabled-text:#201b2f6b;--disabled-border:#201b2f38}button,input{font:inherit}a{color:inherit;text-decoration:none}.app{max-width:1280px;min-height:100vh;margin:0 auto;padding-left:2rem;padding-right:2rem;display:flow-root}@media screen and (width<=500px){.app{padding-left:1rem;padding-right:1rem}}.app--centered{justify-content:center;align-items:center;min-height:100vh;display:flex}.app--loading,.app__loading{justify-content:center;align-items:center;display:flex}.app--loading{min-height:100vh}.app__loading{min-height:40vh}.app--loading .app__info-block__title,.app__loading .app__info-block__title{margin:0}.app__header{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:32px;padding-top:1rem;padding-left:3rem;padding-right:3rem;display:flex}@media screen and (width<=500px){.app__header{padding-left:1rem;padding-right:1rem;font-size:.9rem}}.app__title{margin:0;font-size:1.8rem}.app__logo-link{display:inline-block;position:relative}.app__logo{width:34px;height:34px;transition:transform .5s}@media screen and (width<=500px){.app__logo{width:32px;height:32px}}.app__logo-link:hover .app__logo{transform:rotate(180deg)}.app__user{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;padding:16px 20px}.app__user-avatar{object-fit:cover;border-radius:50%;width:40px;height:40px}@media screen and (width<=500px){.app__user-avatar{width:36px;height:36px}}.app__info-block{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.app__info-block__title,.app__error{color:var(--text-muted);margin:20px 0}.app__error{color:var(--error)}.login-card{border-radius:24px;flex-direction:column;align-items:center;width:380px;height:400px;padding:64px;display:flex}@media screen and (width<=378px){.login-card{padding:60px 30px 30px;font-size:1.1rem}}@media screen and (width<=500px){.login-card{padding:60px 50px 50px;font-size:1.1rem}}.login-card__title,.search-page__title,.recommendations-page__title{text-align:center;border-bottom:1px solid var(--border-strong);margin:0 0 20px;padding-bottom:15px;font-size:1.2rem;font-weight:500}@media screen and (width<=500px){.login-card__title,.search-page__title,.recommendations-page__title{font-size:1.1rem}}.search-page__text,.recommendations-page__text{color:var(--text-secondary);margin:0}.login-card__buttons{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.login-card__button{color:var(--text-primary);cursor:pointer;border:2px solid;border-radius:14px;justify-content:center;align-items:center;width:80%;height:38px;padding:14px 22px;transition:transform .18s,box-shadow .18s;display:inline-flex}@media screen and (width<=380px){.login-card__button{width:90%;height:32px}}.login-card__button--disabled{color:var(--disabled-text);border-color:var(--disabled-border);cursor:not-allowed;pointer-events:auto}.login-card__button--disabled:hover{color:var(--disabled-text);box-shadow:none;background:0 0;transform:none}.login-card__privacy{width:fit-content;max-width:70%;color:var(--text-secondary);text-align:left;cursor:pointer;justify-content:flex-start;align-items:center;gap:16px;font-size:.85rem;line-height:1.4;display:flex}@media screen and (width<=380px){.login-card__privacy{max-width:90%}}.login-card__privacy input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:2px 0 0}.login-card__privacy-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.login-card__privacy-link:hover{color:var(--text-primary)}.search-form{width:100%;max-width:500px;margin:24px 0;position:relative}.search-form__field{background:var(--surface-raised);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:24px;padding:10px 64px 10px 22px}.search-form__button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.search-form__button:hover{color:var(--text-primary);background:0 0}.login-card__button:not(.login-card__button--disabled):hover{background:var(--text-primary);color:var(--page-bg);box-shadow:0 8px 40px var(--shadow-soft);position:relative;transform:translateY(-1px)}.login-card__error{color:var(--error);margin-top:16px}.anime-list{grid-template-columns:repeat(auto-fit,minmax(180px,180px));gap:1.25rem;display:grid}@media screen and (width<=768px){.anime-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));column-gap:1rem}}@media screen and (width<=500px){.anime-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));column-gap:.5rem}}@media screen and (width<=300px){.anime-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));column-gap:.4rem}}.anime-card{flex-direction:column;gap:10px;min-height:320px;display:flex;overflow:hidden}@media screen and (width<=768px){.anime-card{gap:8px;min-height:280px}}@media screen and (width<=500px){.anime-card{gap:6px;min-height:260px}}@media screen and (width<=380px){.anime-card{gap:4px;min-height:200px}}.anime-card__image{background-position:50%;background-size:cover;border-radius:20px;height:17.5rem}@media (width<=768px){.anime-card__image{height:15rem}}@media (width<=500px){.anime-card__image{height:16rem}}@media (width<=380px){.anime-card__image{height:14rem}}.anime-card__title{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;margin:0;padding-left:5%;padding-right:5%;font-weight:400;overflow:hidden}@media (width<=768px){.anime-card__title{font-size:.9rem;font-weight:500}}.anime-card:hover{text-decoration:underline;transition:all .3s;transform:scale(1.01)}.anime-page{gap:48px;margin-top:24px;display:flex}@media screen and (width<=768px){.anime-page{flex-direction:column;gap:24px;margin-top:16px}.anime-page__poster{justify-content:center;display:flex}}.anime-page__poster img{object-fit:cover;border-radius:16px;width:16rem}@media screen and (width<=1024px){.anime-page__poster img{width:14rem}}@media screen and (width<=500px){.anime-page__poster img{width:12rem}}.anime-page__info{flex:1}.anime-page__title{margin:0 0 24px;font-size:2rem}@media screen and (width<=768px){.anime-page__title{text-align:center;margin-bottom:16px;font-size:1.7rem}}@media screen and (width<=500px){.anime-page__title{font-size:1.4rem}}.anime-page__meta{grid-template-columns:max-content 1fr;gap:12px 24px;margin-bottom:32px;display:grid}@media screen and (width<=768px){.anime-page__meta{grid-template-columns:1fr;gap:8px 16px;margin-bottom:24px}}.anime-page__meta p{margin:0;display:contents}.anime-page__description{margin-bottom:32px}@media screen and (width<=768px){.anime-page__description{margin-bottom:24px}}.anime-page__description p{margin:0}.anime-page__description strong{color:var(--text-soft);margin-bottom:8px;font-weight:400;display:block}.anime-page__description p:last-child{color:var(--text-primary);line-height:1.5}.anime-page__meta strong{color:var(--text-soft);font-weight:400}.anime-page__meta span{color:var(--text-primary)}.anime-page__rating{flex-direction:column;align-items:center;gap:16px;padding:10px 30px 30px;display:flex}.stars{gap:8px;margin:16px 0;display:flex}@media screen and (width<=425px){.stars{grid-template-columns:repeat(5,1fr);justify-items:center;gap:0 8px;display:grid}}.star{cursor:pointer;color:#a3a3a3;background:0 0;border:none;padding:0;font-size:34px;transition:color .2s,transform .15s}.star:hover{transform:scale(1.15)}.star--active{color:gold}.ratings-page__header{border-bottom:1px solid var(--input-border);align-items:center;gap:24px;margin-bottom:48px;padding-bottom:24px;display:flex}.ratings-page__avatar{object-fit:cover;border-radius:50%;width:70px;height:70px}@media screen and (width<=500px){.ratings-page__avatar{width:50px;height:50px}}.ratings-page__user-info{flex-direction:column;gap:4px;min-width:0;display:flex}.ratings-page__name{margin:0;font-size:1.5rem;font-weight:500}@media screen and (width<=500px){.ratings-page__name{font-size:1.2rem}}.ratings-page__email{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.95rem}.ratings-page__actions{justify-content:center;align-self:flex-end;align-items:center;gap:14px;margin-left:auto;display:inline-flex}@media screen and (width<=500px){.ratings-page__actions{gap:0}}.ratings-page__theme-toggle,.ratings-page__logout{cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;min-width:40px;height:40px;font-size:1rem;font-weight:500;transition:color .2s,background-color .2s,transform .16s;display:inline-flex}.ratings-page__theme-toggle:hover,.ratings-page__logout:hover{background:var(--surface);transform:translateY(-1px)}.ratings-page__theme-toggle{color:var(--text-primary)}.ratings-page__logout{color:var(--danger);padding:8px}@media screen and (width<=500px){.ratings-page__logout{flex:0 0 40px;width:40px;height:40px;padding:0}}.ratings-page__logout-icon{flex:none}@media screen and (width<=500px){.ratings-page__logout-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.ratings-page__login-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.ratings-page__login-link:hover{color:var(--text-primary)}.ratings-page__list{flex-direction:column;grid-template-columns:1fr 1fr;gap:16px;display:grid}@media screen and (width<=1024px){.ratings-page__list{grid-template-columns:1fr}}.app__user-link{line-height:0;display:block}.anime-card--with-rating{background:var(--surface);border:1px solid var(--border-soft);border-radius:20px;flex-direction:row;gap:20px;min-height:0;padding:16px;text-decoration:none;display:flex}.anime-card--with-rating:hover{text-decoration:none;transform:none}.anime-card--with-rating .anime-card__link{flex-shrink:0;line-height:0;display:block}.anime-card--with-rating .anime-card__image{border-radius:12px;justify-self:center;width:120px;height:170px}@media screen and (width<=500px){.anime-card--with-rating .anime-card__image{width:100px;height:140px}}.anime-card--with-rating .anime-card__right{flex-direction:column;flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.anime-card--with-rating .anime-card__title-link{text-decoration:none}.anime-card--with-rating .anime-card__title-link:hover{text-decoration:underline}.anime-card--with-rating .anime-card__title{text-align:center;white-space:normal;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:0;font-size:1.15rem;font-weight:500;display:-webkit-box;overflow:hidden}@media screen and (width<=425px){.anime-card--with-rating .anime-card__title{font-size:1rem;font-weight:450}}.anime-card--with-rating .anime-card__rating{flex-direction:column;align-items:center;gap:8px;margin-top:8px;padding:0;display:flex}.anime-card--with-rating .anime-card__rating .stars{gap:3px;margin:0;display:flex}@media screen and (width<=425px){.anime-card--with-rating .anime-card__rating .stars{grid-template-columns:repeat(5,1fr);justify-items:center;gap:0 2px;display:grid}}.anime-card--with-rating .anime-card__rating .star{font-size:28px}@media screen and (width<=500px){.anime-card--with-rating .anime-card__rating .star{font-size:23px}}.anime-card--with-rating .anime-card__save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 16px;font-size:.9rem;font-weight:450;transition:opacity .2s}.anime-card--with-rating .anime-card__save-btn:hover{transition:all .1s;scale:1.005}.anime-card--with-rating .anime-card__save-btn:disabled{background:var(--accent-soft);color:var(--text-secondary);cursor:not-allowed}.anime-page__save-btn{background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:1rem;font-weight:450;transition:opacity .2s}.anime-page__save-btn:hover{transition:all .1s;scale:1.03}.anime-page__save-btn:disabled{background:var(--accent-soft);color:var(--text-secondary);cursor:not-allowed}.footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-top:48px;margin-left:20px;margin-right:20px;padding:24px 50px;display:flex}@media screen and (width<=500px){.footer{flex-direction:column;gap:16px;margin-top:32px;padding:20px 0}}.footer-left,.footer-right{align-items:center;gap:16px;display:flex}.footer-link{color:var(--text-soft);font-size:.9rem;transition:color .2s}.footer-icon{color:var(--text-primary);transition:color .2s,transform .2s}.footer-icon:hover{transform:scale(1.1)}.footer-icon--heart{color:var(--accent)}.footer-link:hover{color:var(--text-primary)}.privacy-policy{max-width:800px;margin:0 auto;padding:40px 0}@media screen and (width<=500px){.privacy-policy{padding:24px 0}}.privacy-policy__title{margin-bottom:32px;font-size:2rem}@media screen and (width<=768px){.privacy-policy__title{margin-bottom:24px;font-size:1.7rem}}@media screen and (width<=500px){.privacy-policy__title{font-size:1.4rem}}.privacy-policy__section{margin-bottom:24px}.privacy-policy__section h2{color:var(--text-primary);margin-bottom:12px;font-size:1.2rem;font-weight:500}.privacy-policy__section p{color:var(--text-secondary);margin:0 0 12px;line-height:1.6}.privacy-policy__section ul{color:var(--text-secondary);margin:0 0 12px;padding-left:24px}.privacy-policy__section ul li{margin-bottom:8px}.privacy-policy__section a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.privacy-policy__section a:hover{color:var(--text-primary)}
