/* Streamline-иконки (пак мобильного приложения) в кабинете. См. sl_icons.js. */
.sl-icon {
  width: 1.25em; height: 1.25em;
  display: inline-block; vertical-align: -0.3em; flex: none;
  fill: currentColor; overflow: visible;
  --sl-accent: var(--accent, #0d9488);
}
.sl-icon.sl-mono { --sl-accent: currentColor; }
.sl-icon.sl-lg { width: 1.5em; height: 1.5em; }
.sl-icon.sl-xl { width: 2em; height: 2em; }

/* Смысловые акценты — как AppIconColors в приложении (Apple Health-стиль):
   огонь оранжевый, кубок золотой, сердце красное, искры фиолетовые. */
.sl-icon[data-sl="flame"] { --sl-accent: #ff6b35; }
.sl-icon[data-sl="bolt"] { --sl-accent: #ffb800; }
.sl-icon[data-sl="trophy"] { --sl-accent: #f5a300; }
.sl-icon[data-sl="star"] { --sl-accent: #f0b400; }
.sl-icon[data-sl="heart"] { --sl-accent: #ff3b30; }
.sl-icon[data-sl="sparkles"] { --sl-accent: #af52de; }
.sl-icon[data-sl="alert"] { --sl-accent: #ff9500; }
.sl-icon[data-sl="gift"] { --sl-accent: #ff2d55; }
.sl-icon.sl-mono[data-sl] { --sl-accent: currentColor; }

/* Контейнеры кабинета, где раньше стояли эмодзи. */
.cabinet-edit-btn .sl-icon { width: 20px; height: 20px; }
.cabinet-more-item-icon .sl-icon { width: 20px; height: 20px; }
.cab-quick-icon .sl-icon { width: 22px; height: 22px; }
.cab-rail-mini-ico .sl-icon { width: 16px; height: 16px; }
.all-catalog-subject-emoji .sl-icon { width: 24px; height: 24px; }
.catalog-search-result-emoji .sl-icon { width: 20px; height: 20px; }
.catalog-search-icon .sl-icon, .cs-search-icon .sl-icon { width: 18px; height: 18px; vertical-align: middle; }
.cs-card-emoji .sl-icon { width: 24px; height: 24px; }
.streak-header .sl-icon { width: 1.35em; height: 1.35em; }
.league-streak-badge-flame .sl-icon { width: 1.1rem; height: 1.1rem; }
.spinw-card-emoji .sl-icon { width: 2rem; height: 2rem; }
.sbp-demo-earned__icon .sl-icon { width: 1.6em; height: 1.6em; }
.plan-toolbar-menu-x .sl-icon { width: 16px; height: 16px; }
.plan-edit-deadline .sl-icon { width: 16px; height: 16px; vertical-align: middle; }
.rl-lock .sl-icon { width: 18px; height: 18px; }
.chs-inline-ico .sl-icon { width: 18px; height: 18px; }
.catalog-promo-banner .sl-icon { vertical-align: -0.25em; }

/* ===== 08.09.2026: полный перевод кабинета на Streamline (эмодзи и текстовые глифы) ===== */
.sl-icon.sl-glyph { width: 1em; height: 1em; vertical-align: -0.15em; }
.sl-icon.sl-avatar { width: 1.15em; height: 1.15em; vertical-align: -0.2em; }
.sl-icon.sl-confetti { width: 1em; height: 1em; vertical-align: middle; }
.sl-icon.sl-plan { width: 1.1em; height: 1.1em; vertical-align: -0.2em; }
/* Медали: золото / серебро / бронза */
.sl-icon[data-sl="medal"] { --sl-accent: #f5b301; }
.sl-icon.sl-medal-2 { --sl-accent: #a8b0bd; }
.sl-icon.sl-medal-3 { --sl-accent: #cd7f32; }
.sl-icon[data-sl="crown"] { --sl-accent: #f5b301; }
.sl-icon[data-sl="party"] { --sl-accent: #ff2d55; }
.sl-icon[data-sl="tomato"] { --sl-accent: #e5383b; }
.sl-icon[data-sl="devil"] { --sl-accent: #dc2626; }
.sl-icon[data-sl="seedling"], .sl-icon[data-sl="sprout"], .sl-icon[data-sl="tree"], .sl-icon[data-sl="leaf"] { --sl-accent: #16a34a; }
.sl-icon[data-sl="bulb"] { --sl-accent: #f0b400; }
.sl-icon[data-sl="thumbs_down"] { --sl-accent: #ef4444; }
.sl-icon[data-sl="lips"], .sl-icon[data-sl="kiss"], .sl-icon[data-sl="love_it"], .sl-icon[data-sl="heart_shade"],
.sl-icon[data-sl="heart_arrow"], .sl-icon[data-sl="heart_gift"], .sl-icon[data-sl="love_letter"], .sl-icon[data-sl="nail_polish"],
.sl-icon[data-sl="flower"] { --sl-accent: #ec4899; }
.sl-icon.sl-mono[data-sl] { --sl-accent: currentColor; }

/* Аватар в шапке и пикер */
.cabinet-avatar .sl-icon { width: 32px; height: 32px; }
@media (max-width: 768px) { .cabinet-avatar .sl-icon { width: 24px; height: 24px; } }
.avatar-picker-emoji .sl-icon { width: 26px; height: 26px; }
.league-avatar .sl-icon { width: 1.25em; height: 1.25em; vertical-align: -0.3em; }
.league-emoji-step .sl-icon { width: 1.3em; height: 1.3em; }
.league-global-rank-icon .sl-icon { width: 1.4em; height: 1.4em; }
.league-tier-modal .ltm-emoji .sl-icon { width: 56px; height: 56px; }
.league-history-dir .sl-icon { width: 0.9em; height: 0.9em; }

/* Дерево навыков, рекомендации, пробелы, повторение, статистика */
.stc-emoji-box .sl-icon { width: 30px; height: 30px; }
.stc-mini-emoji .sl-icon { width: 18px; height: 18px; }
.nba-rank .sl-icon { width: 14px; height: 14px; }
.personal-rec-icon .sl-icon, .kg-icon .sl-icon { width: 22px; height: 22px; }
.srs-hero-icon .sl-icon { width: 32px; height: 32px; }
.stats-hero-icon .sl-icon { width: 28px; height: 28px; }
.stats-record-icon .sl-icon { width: 22px; height: 22px; }
.stats-empty-icon .sl-icon { width: 32px; height: 32px; }
.profile-reminder-icon .sl-icon { width: 22px; height: 22px; }
.stats-video-item-icon .sl-icon, .stats-subject-toggle .sl-icon { width: 14px; height: 14px; }
.factflash-today-empty-icon .sl-icon { width: 18px; height: 18px; vertical-align: middle; }
.cab-toast-icon .sl-icon { width: 22px; height: 22px; }
.recommended-premium-title .sl-icon { width: 1.2em; height: 1.2em; vertical-align: -0.25em; }
.sbp-upsell__name .sl-icon { width: 1.1em; height: 1.1em; vertical-align: -0.2em; }

/* План */
.plan-step-indicator .sl-icon, .plan-subj-chip-done .sl-icon { width: 12px; height: 12px; }
.plan-item-unmark-btn .sl-icon, .plan-item-markdone-btn .sl-icon, .plan-item-remove-btn .sl-icon, .plan-item-reset-btn .sl-icon { width: 14px; height: 14px; }
.plan-drag-handle .sl-icon, .all-catalog-subject-drag-handle .sl-icon { width: 14px; height: 14px; }
.plan-rate-btn .sl-icon { width: 20px; height: 20px; }
.plan-expand-icon .sl-icon { width: 12px; height: 12px; }
.all-catalog-subject-icon .sl-icon, .progress-section-group-icon .sl-icon, .catalog-search-result-icon .sl-icon { width: 12px; height: 12px; }

/* Нижний таб-бар и плавающие кнопки */
.cab-tab-btn .cab-tab-ico .sl-icon { width: 22px; height: 22px; }
.cabinet-scroll-fab-btn .sl-icon { width: 20px; height: 20px; }
.cabinet-continue-bar-arrow .sl-icon, .cabinet-continue-bar-icon .sl-icon { width: 14px; height: 14px; }
.tg-toast-icon .sl-icon { width: 24px; height: 24px; }
.login-tile-chev .sl-icon { width: 18px; height: 18px; }
.cabinet-nav-more-caret .sl-icon { width: 12px; height: 12px; }
.readiness-chev .sl-icon { width: 14px; height: 14px; }

/* AI-тьютор (легаси-панель) */
.rag-panel-clear .sl-icon, .rag-panel-icon .sl-icon { width: 18px; height: 18px; }
.rag-chat-attach .sl-icon, .rag-chat-mic .sl-icon, .rag-chat-stop .sl-icon, .rag-chat-send .sl-icon { width: 18px; height: 18px; }
.rag-chat-mode .sl-icon { width: 16px; height: 16px; }
.rag-fab-icon .sl-icon { width: 22px; height: 22px; }
.rag-scroll-to-bottom .sl-icon { width: 14px; height: 14px; }
.ai-chat-welcome-icon .sl-icon { width: 40px; height: 40px; }
.rag-msg-ai-icon .sl-icon { width: 16px; height: 16px; }
.ai-fb-btn .sl-icon { width: 16px; height: 16px; }
.ai-chat-sources-icon .sl-icon, .ai-chat-sources-num .sl-icon, .ai-chat-sources-arrow .sl-icon, .tutor-step-icon .sl-icon { width: 14px; height: 14px; }
.cc-mark .sl-icon { width: 26px; height: 26px; }
.cc-tile .sl-icon { width: 22px; height: 22px; }
.archive-back-btn .sl-icon, .archive-close-btn .sl-icon, .archive-row-delete .sl-icon { width: 20px; height: 20px; }
.voice-mode-widget-head .sl-icon { width: 1.1em; height: 1.1em; vertical-align: -0.2em; }

/* Помодоро, колесо, онбординг, тарифы, прочее */
#pomoFab .pomo-fab-emoji .sl-icon { width: 20px; height: 20px; }
#pomoRoot.pomo-methodology #pomoFab .pomo-fab-emoji .sl-icon { width: 13px; height: 13px; }
.pomo-bd-av .sl-icon { width: 14px; height: 14px; }
.pomo-bd-rx button .sl-icon { width: 20px; height: 20px; }
.pomo-bd-p .sl-icon { width: 16px; height: 16px; }
.pomo-btn .sl-icon, .pomo-close .sl-icon { width: 16px; height: 16px; }
.pomo-burst .sl-icon { width: 18px; height: 18px; }
.spinw-hub .sl-icon { width: 22px; height: 22px; }
.spinw-active-promo-emoji .sl-icon { width: 34px; height: 34px; }
.spinw-close .sl-icon { width: 18px; height: 18px; }
.cab-upgrade-emoji .sl-icon { width: 34px; height: 34px; }
.cab-mi-emoji .sl-icon { width: 44px; height: 44px; }
.ob-goal-emoji .sl-icon { width: 22px; height: 22px; }
.ob-prev-chip-icon .sl-icon { width: 14px; height: 14px; }
.ob-assemble-ic .sl-icon { width: 16px; height: 16px; vertical-align: -0.2em; }
.ob-check .sl-icon { width: 12px; height: 12px; }
.ob-assess-mark .sl-icon { width: 14px; height: 14px; }
.pending-notif-icon .sl-icon { width: 20px; height: 20px; }
.fl-intro-emoji .sl-icon { width: 26px; height: 26px; }
.fl-bd-mark .sl-icon { width: 12px; height: 12px; }
.fbk-done-mark .sl-icon { width: 24px; height: 24px; }
.fbk-modal-close .sl-icon, .fl-close .sl-icon, .fm-sticky-cta-close .sl-icon, .section-order-x .sl-icon, .plan-calendar-popover-close .sl-icon,
.srs-overlay-close .sl-icon, .plan-video-modal-close .sl-icon, .cs-modal-x .sl-icon, .modal-card-x .sl-icon, .sbp-payment-modal-x .sl-icon,
.skill-tree-sheet-close .sl-icon, .features-guide-close .sl-icon, .screenshot-remove .sl-icon, .catalog-search-clear .sl-icon, .nba-dismiss .sl-icon,
.tg-toast-close .sl-icon { width: 16px; height: 16px; }
.section-order-move .sl-icon { width: 14px; height: 14px; }
.trainer-chevron .sl-icon, .chs-subject-icon .sl-icon { width: 12px; height: 12px; }
.fg-lock .sl-icon { width: 14px; height: 14px; }
.sf-spin .sl-icon { width: 28px; height: 28px; }
.plan-calendar-move-btn .sl-icon { width: 14px; height: 14px; }
.stats-trend-delta .sl-icon { width: 0.85em; height: 0.85em; }
.plan-toolbar-menu-x .sl-icon { width: 14px; height: 14px; }

/* Кнопка «▶» перед ссылкой урока в плане (раньше content: '▶ ') */
.plan-card .plan-full-item .plan-item-link.plan-video-open::before {
  content: ''; display: inline-block; width: 0.75em; height: 0.75em; margin-right: 4px; vertical-align: -0.05em;
  background-color: var(--accent);
  -webkit-mask: url(/static/icons/streamline/play.svg) center / contain no-repeat;
  mask: url(/static/icons/streamline/play.svg) center / contain no-repeat;
}

.sl-icon.sl-flip-x { transform: scaleX(-1); }
.league-icon.sl-icon { width: 1.4em; height: 1.4em; vertical-align: -0.3em; }
.progress-deadline-ico .sl-icon, .cab-rail-toggle-ico .sl-icon, .aip-verdict .sl-icon { width: 16px; height: 16px; }
.plan-toolbar-add-ico.sl-icon, .plan-toolbar-menu-icon.sl-icon { width: 18px; height: 18px; }
.sbp-bind-spin.sl-icon { animation: sbpBindSpin 1.2s linear infinite; }
@keyframes sbpBindSpin { to { transform: rotate(360deg); } }
.login-tile .sl-icon { width: 24px; height: 24px; }
.cabinet-continue-bar-icon .sl-icon { width: 14px; height: 14px; }

/* ===== Растровые наборы иконок (22.09.2026) =========================
   Набор 'anatomy' — цветные webp: размер берут от .sl-icon и контейнерных
   правил выше, но currentColor и --sl-accent на них не действуют. */
.sl-icon.sl-raster {
  background-image: var(--sl-raster);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
