/* Движение настоящих экранов — те же приёмы, что в показе (showcase.css): карточки «всплывают» по очереди, шкалы заполняются,
   звёзды и аватары выскакивают. Базовые стили не меняются: анимация только появляется из скрытого, поэтому без неё всё видно сразу. */
@keyframes mo-rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes mo-pop{from{opacity:0;transform:scale(.6) translateY(8px)}to{opacity:1;transform:none}}
@keyframes mo-shine{to{transform:translateX(100%)}}
@property --mo-fill{syntax:'<number>';inherits:true;initial-value:0}
@keyframes mo-ring-fill{from{--mo-fill:0}to{--mo-fill:var(--fill)}}
@keyframes mo-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mo-star{from{opacity:0;transform:scale(.2) rotate(-60deg)}to{opacity:1;transform:none}}
@keyframes mo-ring{from{opacity:0;transform:rotate(-120deg) scale(.6)}to{opacity:1;transform:none}}
@keyframes mo-slide{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
#fgu-diary-design .day-details>.fd-lesson-card,#fgu-diary-design .fd-detail-page>.fd-lesson-card,#fgu-diary-design .deadline-group>.fd-lesson-card,#fgu-diary-design .profile-panel,#fgu-diary-design .rating-card,#fgu-diary-design .review-card,#fgu-diary-design .unified-materials>*{animation:mo-rise .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--mo-i,0)*.07s)}
#fgu-diary-design .day-details>:nth-child(2),#fgu-diary-design .profile-page>:nth-child(2),#fgu-diary-design .rating-list>:nth-child(2),#fgu-diary-design .review-list>:nth-child(2){--mo-i:1}
#fgu-diary-design .day-details>:nth-child(3),#fgu-diary-design .profile-page>:nth-child(3),#fgu-diary-design .rating-list>:nth-child(3),#fgu-diary-design .review-list>:nth-child(3){--mo-i:2}
#fgu-diary-design .day-details>:nth-child(4),#fgu-diary-design .profile-page>:nth-child(4),#fgu-diary-design .rating-list>:nth-child(4),#fgu-diary-design .review-list>:nth-child(4){--mo-i:3}
#fgu-diary-design .day-details>:nth-child(n+5),#fgu-diary-design .profile-page>:nth-child(n+5),#fgu-diary-design .rating-list>:nth-child(n+5),#fgu-diary-design .review-list>:nth-child(n+5){--mo-i:4}
#fgu-diary-design .day-details>*{animation:mo-rise .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--mo-i,0)*.07s)}
/* выбранный день обведён зелёным внутри своей клетки (без увеличения: полоса обрезает всё, что выходит за её край) */
/* шкалы оценок преподавателя и аватары */
#fgu-diary-design .rating-avatar{animation:mo-pop .5s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--mo-i,0)*.07s + .1s)}
/* вкладки материалов и чипы напоминаний */
#fgu-diary-design .material-tabs button,#fgu-diary-design .offset-chip{transition:background .4s,color .4s,transform .4s}
#fgu-diary-design .material-tabs button[aria-pressed=true],#fgu-diary-design .offset-chip[aria-pressed=true]{transform:scale(1.04)}
#fgu-diary-design .offset-chip{animation:mo-pop .45s cubic-bezier(.3,1.5,.5,1) both}
/* файлы, загрузка и офлайн-плашка */
#fgu-diary-design .lesson-file-name,#fgu-diary-design .fd-files>*{animation:mo-rise .5s both}
#fgu-diary-design .upload-progress,#fgu-diary-design .import-progress-box{animation:mo-rise .5s both}
#fgu-diary-design .offline-banner{animation:mo-rise .6s cubic-bezier(.2,.8,.2,1) both}
/* дедлайны: ближайшие мягко пульсируют */
/* смена страниц и всплывающие окна */
#fgu-diary-design dialog[open]{animation:mo-rise .35s cubic-bezier(.2,.8,.2,1) both}
#fgu-diary-design .profile-panel details[open]>*:not(summary){animation:mo-slide .35s both}
/* идущая пара: зелёная рамка и живая полоса, как в показе */
#fgu-diary-design .fd-lesson-card.mo-live{outline:1.5px solid hsl(150 70% 55%/.8);outline-offset:-1.5px}
#fgu-diary-design :is(.lesson-when,.lesson-card-meta):has(>.mo-progress){display:flex;flex-wrap:nowrap;align-items:center;gap:8px;white-space:nowrap;padding-right:36px;overflow:hidden}
#fgu-diary-design .mo-progress{display:flex;align-items:center;gap:7px;margin:0;padding:0;min-width:0;flex:0 1 auto}
#fgu-diary-design .mo-progress .mo-track{flex:0 100 40px;width:40px;min-width:12px;height:4px}
#fgu-diary-design .mo-progress .mo-track[hidden]{display:none}
/* компактные карточки пар: минимум воздуха внутри */
#fgu-diary-design[data-theme] .day-details .fd-lesson-card{padding:10px 14px 10px;margin:8px 0}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .lesson-card-heading{min-height:26px}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .lesson-settings{top:8px;right:10px}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card :is(.lesson-when,.lesson-card-meta){margin:2px 0 0}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .lesson-card-body{margin:4px 0 0}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .lesson-card-body .fd-lesson-name{line-height:1.2;min-height:0;padding:0}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .lesson-attachments{margin:8px 0 0}
#fgu-diary-design[data-theme] .day-details .fd-lesson-card .homework-preview{margin-top:8px}
#fgu-diary-design .mo-track{height:5px;border-radius:5px;overflow:hidden;background:color-mix(in srgb,var(--fd-text) 12%,transparent)}
#fgu-diary-design .mo-track span{position:relative;display:block;height:100%;width:0;border-radius:5px;overflow:hidden;background:linear-gradient(90deg,hsl(150 70% 55%),hsl(190 80% 60%));transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
#fgu-diary-design .mo-progress[data-state=live] .mo-track span::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:translateX(-100%);animation:mo-shine 1.8s ease-in-out 1.6s infinite}
#fgu-diary-design .mo-progress[data-level=orange] .mo-track span{background:linear-gradient(90deg,hsl(32 95% 58%/.9),hsl(42 95% 62%/.9))}
#fgu-diary-design .mo-progress[data-level=red] .mo-track span{background:linear-gradient(90deg,hsl(8 90% 60%/.9),hsl(355 90% 62%/.9))}
#fgu-diary-design .fd-lesson-card.mo-live:has(.mo-progress[data-level=orange]){outline-color:hsl(36 95% 58%/.8)}
#fgu-diary-design .fd-lesson-card.mo-live:has(.mo-progress[data-level=red]){outline-color:hsl(355 90% 62%/.85)}
/* выбранный день обведён зелёным, как идущая пара */
#fgu-diary-design .day-cell.active{outline:1.5px solid hsl(150 70% 55%/.8);outline-offset:-1.5px}
#fgu-diary-design .mo-progress[data-state=length] .mo-track span{background:linear-gradient(90deg,hsl(232 70% 62%),hsl(190 70% 58%));opacity:.7}
#fgu-diary-design .mo-progress em{font-size:inherit;font-style:normal;color:var(--fd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* дедлайн: кольцо с числом дней */
#fgu-diary-design .fd-lesson-card.has-ring{position:relative;padding-left:86px!important;min-height:58px}
#fgu-diary-design .mo-ring{position:absolute;left:16px;top:50%;margin-top:-30px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ring) 9%,rgba(255,255,255,.05));box-shadow:inset 0 1px 1px rgba(255,255,255,.28),inset 0 -6px 14px color-mix(in srgb,var(--ring) 14%,transparent),0 6px 20px color-mix(in srgb,var(--ring) 22%,transparent);-webkit-backdrop-filter:blur(8px) saturate(1.6);backdrop-filter:blur(8px) saturate(1.6);animation:mo-pop .5s cubic-bezier(.3,1.5,.5,1) both}
#fgu-diary-design .mo-arc-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
#fgu-diary-design .mo-arc-track,#fgu-diary-design .mo-arc{fill:none;stroke-width:4.5;stroke-linecap:round}
#fgu-diary-design .mo-arc-track{stroke:color-mix(in srgb,var(--fd-text) 14%,transparent)}
#fgu-diary-design .mo-arc{stroke:color-mix(in srgb,var(--ring) 78%,transparent);stroke-dasharray:100;stroke-dashoffset:var(--off,50);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--ring) 70%,transparent));animation:mo-arc 1.8s cubic-bezier(.3,.7,.2,1) .25s both}
@keyframes mo-arc{from{stroke-dashoffset:100}to{stroke-dashoffset:var(--off,50)}}
#fgu-diary-design .mo-ring b,#fgu-diary-design .mo-ring small{position:relative;line-height:1}
#fgu-diary-design .mo-ring b{font-size:19px;margin-top:-6px;text-shadow:0 1px 8px color-mix(in srgb,var(--ring) 50%,transparent)}
#fgu-diary-design .mo-ring small{position:absolute;bottom:13px;font-size:9px;color:var(--fd-muted)}
/* звёзды и шкалы оценок преподавателя */
#fgu-diary-design .mo-stars{display:flex;align-items:center;gap:6px;font-size:30px;margin:6px 0}
#fgu-diary-design .mo-stars strong{font-size:16px;margin-left:6px}
#fgu-diary-design .mo-star{color:#f5b942;text-shadow:0 0 14px #f5b94266;animation:mo-star .5s cubic-bezier(.3,1.6,.5,1) both;animation-delay:var(--d,0s)}
#fgu-diary-design .mo-star.half{color:color-mix(in srgb,var(--fd-text) 30%,#f5b942)}
#fgu-diary-design .mo-star.off{color:color-mix(in srgb,var(--fd-text) 22%,transparent);text-shadow:none}
#fgu-diary-design .rating-metric{grid-template-columns:125px 1fr 34px}
#fgu-diary-design .mo-bar{position:relative;display:block;height:8px;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--fd-text) 12%,transparent)}
#fgu-diary-design .mo-bar::after{content:'';position:absolute;inset:0;width:var(--v,0%);border-radius:8px;background:linear-gradient(90deg,hsl(232 90% 66%),hsl(190 90% 60%));transform-origin:left;animation:mo-fill 1.2s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,.4s)}
#fgu-diary-design .review-comment{padding:14px;border-radius:18px;border:1px solid var(--fd-border);background:color-mix(in srgb,var(--fd-surface) 80%,transparent);line-height:1.45;animation:mo-rise .7s .3s cubic-bezier(.2,.8,.2,1) both}
#fgu-diary-design .lesson-attachments>*,#fgu-diary-design .homework-preview.has-homework{animation:mo-pop .5s cubic-bezier(.3,1.5,.5,1) both}
#fgu-diary-design .lesson-attachments>:nth-child(2){animation-delay:.12s}#fgu-diary-design .lesson-attachments>:nth-child(3){animation-delay:.24s}
/* помощник: пузыри выскакивают, ожидание — три точки */
#fgu-diary-design .diary-assistant-dialog :is(.assistant-message,.assistant-bubble,[class*=assistant-answer],[class*=assistant-user]){animation:mo-pop .45s cubic-bezier(.3,1.4,.5,1) both}
@media (max-width:380px){#fgu-diary-design .rating-metric{grid-template-columns:96px 1fr 30px}#fgu-diary-design .mo-stars{font-size:24px}}
@media (prefers-reduced-motion:reduce){#fgu-diary-design *{animation-duration:.001s!important;animation-delay:0s!important;transition:none!important}}
