[data-theme="dark"] .check-analysis-card,
[data-theme="dark"] .practice-report,
[data-theme="dark"] .practice-score-bar {
  background: var(--color-card);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
[data-theme="dark"] .check-text-content {
  background: var(--color-bg);
  color: var(--color-text-primary);
}
[data-theme="dark"] .check-error-badge--stavning { background: rgba(239, 68, 68, 0.15); color: #fca5a5; }
[data-theme="dark"] .check-error-badge--grammatik { background: rgba(245, 158, 11, 0.15); color: #fcd34d; }
[data-theme="dark"] .check-error-badge--stil { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
[data-theme="dark"] .check-error--stavning { background: rgba(239, 68, 68, 0.2); }
[data-theme="dark"] .check-error--grammatik { background: rgba(245, 158, 11, 0.2); }
[data-theme="dark"] .check-error--stil { background: rgba(59, 130, 246, 0.2); }
[data-theme="dark"] .practice-feedback--correct { background: rgba(16, 185, 129, 0.15); border-left-color: #34d399; }
[data-theme="dark"] .practice-feedback--incorrect { background: rgba(245, 158, 11, 0.15); border-left-color: #fbbf24; }
[data-theme="dark"] .practice-feedback--correct .practice-feedback-header { color: #34d399; }
[data-theme="dark"] .practice-feedback--incorrect .practice-feedback-header { color: #fbbf24; }
[data-theme="dark"] .practice-feedback-btn {
  background: var(--color-card);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
[data-theme="dark"] .mode-setup-textarea,
[data-theme="dark"] .mode-setup-input {
  background: var(--color-bg);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
[data-theme="dark"] .mode-chip {
  background: var(--color-card);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
[data-theme="dark"] .tutor-mode-card {
  background: var(--color-card);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
[data-theme="dark"] .tutor-mode-features { color: var(--color-text-secondary); }
[data-theme="dark"] .tutor-mode-fallback { color: var(--color-text-secondary); }
[data-theme="dark"] .practice-score-text { color: var(--color-text-primary); }
[data-theme="dark"] .practice-dot--pending { background: var(--color-border); }
[data-theme="dark"] .practice-report-score { color: #60a5fa; }
[data-theme="dark"] .practice-report-pct { color: var(--color-text-secondary); }
[data-theme="dark"] .check-progress { color: var(--color-text-secondary); }
[data-theme="dark"] .check-progress-bar { background: var(--color-border); }
.mode-setup-back:focus-visible {
  outline: none;
  outline-offset: 2px;
}
.mode-chip:focus-visible {
  outline: none;
  outline-offset: 2px;
}
.mode-setup-submit:focus-visible {
  outline: none;
  outline-offset: 2px;
}
.mode-setup-textarea:focus-visible {
  border-color: var(--chat-user-bg);
  outline: none;
  outline-offset: -2px;
}
.mode-setup-input:focus-visible {
  border-color: var(--chat-user-bg);
  outline: none;
  outline-offset: -2px;
}
.practice-feedback-btn:focus-visible {
  outline: none;
  outline-offset: 2px;
}
.check-error:focus-visible {
  outline: none;
  outline-offset: 1px;
}
@media (prefers-reduced-motion: no-preference) {
  .mode-setup {
    animation: fade-in 200ms ease;
  }
}
@keyframes editor-spinner {
  to { transform: rotate(360deg); }
}
@keyframes gentle-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes bubble-breathe {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  }
}
.gradient-loader,
.gradient-loader-smart {
  animation: editor-spinner 0.9s linear infinite;
  background: transparent;
  border: 2.5px solid rgba(0, 0, 0, 0.08);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  height: 20px;
  width: 20px;
}
.textarea-wrapper .loader-backdrop {
  background: rgba(245, 245, 249, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 0;
}
.correction-content:not(.has-explanations) .hamdan-robot-container {
  animation: gentle-float 2.5s ease infinite;
}
.correction-content:not(.has-explanations) .hamdan-speech-bubble {
  animation: bubble-breathe 2.5s ease infinite;
  border: 0.5px solid rgba(0, 0, 0, 0.08);
}
.correction-content:not(.has-explanations) .legend-section {
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.explanation-item {
  cursor: pointer;
}
.explanation-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
@media (prefers-reduced-motion: reduce) {
  .gradient-loader,
  .gradient-loader-smart {
    animation: none;
    border-top-color: var(--color-primary);
  }
  .correction-content:not(.has-explanations) .hamdan-robot-container,
  .correction-content:not(.has-explanations) .hamdan-speech-bubble {
    animation: none;
  }
  .explanation-item:hover {
    transform: none;
  }
}
#inputText h1, #inputText h2, #inputText h3,
#inputText h4, #inputText h5, #inputText h6,
.ql-editor h1, .ql-editor h2, .ql-editor h3,
.ql-editor h4, .ql-editor h5, .ql-editor h6 {
  font-weight: 650 !important;
}
.loader-backdrop {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: none !important;
}
.bubble-loader {
  height: 40px !important;
  gap: 0 !important;
  justify-content: center !important;
}
.bubble {
  display: none !important;
}
.bubble-loader::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--color-text-primary);
  opacity: 0;
  animation: sneat-spinner-grow 1.2s ease-in-out infinite;
}
@keyframes sneat-spinner-grow {
  0% {
    transform: scale(0);
    opacity: 0.6;
  }
  50% {
    transform: scale(1);
    opacity: 0.3;
  }
  100% {
    transform: scale(0);
    opacity: 0;
  }
}
.loader-text {
  font-family: var(--font-family) !important;
  color: var(--color-text-secondary) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.text-area-cancel-btn {
  font-family: var(--font-family) !important;
  border-radius: 6px !important;
  border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
  background: var(--color-card, #fff) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--color-text-secondary) !important;
  padding: 6px 16px !important;
  transition: all 0.15s ease !important;
}
.text-area-cancel-btn:hover {
  border-color: var(--color-text-primary) !important;
  color: var(--color-text-primary) !important;
  background: rgba(0, 0, 0, 0.04) !important;
  box-shadow: none !important;
  transform: none !important;
}
.voice-change-btn,
.analyze-request-btn {
  background: var(--color-text-primary) !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25) !important;
  transition: all 0.2s ease !important;
}
.voice-change-btn:hover,
.analyze-request-btn:hover {
  background: rgb(50, 50, 48) !important;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.25) !important;
  transform: translateY(-1px) !important;
}
.voice-change-btn::before,
.analyze-request-btn::before {
  display: none !important;
}
.ed-annuller-btn {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  margin-top: 6px;
  border: 0.5px solid var(--color-border);
  border-radius: 6px;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 12px;
  font-family: var(--font-family);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  float: right;
}
.ed-annuller-btn:hover {
  border-color: var(--color-error);
  color: var(--color-error);
  background: rgba(255, 62, 29, 0.04);
}
.ed-reverting {
  opacity: 0.6;
  pointer-events: none;
  animation: ed-pulse 1.2s ease infinite;
}
@keyframes ed-pulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.35; }
}
.top-controls {
  padding: 6px 12px !important;
  gap: 4px !important;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.08) !important;
  background: var(--color-card, #fff) !important;
  align-items: center !important;
}
.top-controls .control-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.top-controls .control-btn svg {
  width: 18px !important;
  height: 18px !important;
}
.top-controls .control-btn:hover {
  background: rgba(0, 0, 0, 0.07) !important;
  color: var(--color-text-primary) !important;
}
.top-controls .control-btn:disabled {
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.top-controls #micButton1 {
  color: var(--skv2-warm-light, #8A7E72) !important;
}
.top-controls #micButton1:hover {
  background: rgba(212, 168, 154, 0.08) !important;
  color: var(--skv2-warm-text, #5C4D43) !important;
}
#clearBtn { display: none !important; }
.top-controls .right-controls {
  margin-left: auto !important;
  gap: 2px !important;
}
.counter-nav-div .word-counter-div {
  display: none !important;
}
.format-toolbar {
  padding: 6px 16px !important;
  gap: 2px !important;
  border-top: 0.5px solid rgba(0, 0, 0, 0.08) !important;
  background: var(--color-card, #fff) !important;
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}
.format-toolbar .format-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}
.format-toolbar .format-btn {
  width: 32px !important;
  height: 32px !important;
  border: none !important;
  background: transparent !important;
  color: var(--color-text-primary) !important;
  border-radius: 6px !important;
  transition: all 0.12s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
.format-toolbar .format-btn svg {
  width: 16px !important;
  height: 16px !important;
}
.format-toolbar .format-btn:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: var(--color-text-primary) !important;
}
.format-toolbar .format-btn:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
  pointer-events: none !important;
}
.format-toolbar .format-btn.active {
  background: rgba(0, 0, 0, 0.07) !important;
  color: var(--color-text-primary) !important;
}
.format-toolbar .format-separator {
  width: 1px !important;
  height: 16px !important;
  background: var(--color-border) !important;
  margin: 0 6px !important;
  flex-shrink: 0 !important;
}
.format-toolbar .format-divider {
  width: 1px !important;
  height: 16px !important;
  background: var(--color-border) !important;
  margin: 0 8px !important;
  flex-shrink: 0 !important;
}
#mainSwitcher { display: none !important; }
.format-toolbar .group-2 .format-separator { display: none !important; }
.format-toolbar .format-divider {
  display: block !important;
  width: 1px !important;
  height: 16px !important;
  background: var(--color-border) !important;
  margin: 0 8px !important;
}
.format-toolbar .group-1 .format-separator:last-of-type {
  display: none !important;
}
/* readBtn stays visible — floating pill handles controls above it */
@media (max-width: 767px) {
  .s-conv { min-height: 44px; display: flex; align-items: center; }
  .s-new-chat { min-height: 44px; }
  .s-dropdown-item { min-height: 44px; display: flex; align-items: center; }
  .ss-cb-toggle { min-height: 44px; padding: 8px 12px; }
  .wm-collapse-btn { min-width: 44px; min-height: 44px; }
  .wm-nudge-link { min-height: 44px; display: inline-flex; align-items: center; }
  .wm-lang-select { min-height: 44px; }
  .mobile-nav-item { min-width: 44px; min-height: 44px; }
  .chat-sidebar .s-group { font-size: 12px !important; }
  .s-user-plan { font-size: 12px; }
  .lang-pill { min-height: 44px; }
  .chat-conv-show-more { min-height: 44px; }
}
