/* ==========================================================
   THEME PICKER
   ========================================================== */
.theme-picker { position: relative; display: inline-block; }

.theme-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 240px;
  padding: 6px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  /* Выше любого возможного «конкурента» в стеке.
     Дополнительно к .topbar { z-index: 100 } — двойная защита. */
  z-index: 9999;
  max-height: 70vh;
  overflow-y: auto;
}
.theme-picker.open .theme-menu { display: block; }
.theme-form { margin: 0; }
.theme-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  color: var(--ink);
  text-align: left;
}
.theme-item:hover { background: rgba(127,127,127,.12); }
.theme-item.active { background: var(--marker); font-weight: 700; }
.theme-swatch {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--ink);
}
.swatch-notebook  { background: #fdfaf3; }
.swatch-office    { background: #f0f2f5; }
.swatch-cyberpunk { background: linear-gradient(135deg, #ff2e88 50%, #00fff0 50%); }
.swatch-wood      { background: linear-gradient(135deg, #8b5a2b, #d4a574); }
.swatch-glass     { background: linear-gradient(135deg, #667eea, #f093fb, #4facfe); }
.swatch-laser     { background: #00ff41; }
.swatch-autumn    { background: linear-gradient(135deg, #d35400, #f39c12); }
.swatch-summer    { background: linear-gradient(135deg, #00bcd4, #ffeb3b); }
.swatch-spring    { background: linear-gradient(135deg, #a8e6cf, #ffd3e0); }
.swatch-winter    { background: linear-gradient(135deg, #e0f7fa, #90caf9); }

/* Без «пружины» слева в остальных темах — уменьшаем отступ */
html[data-theme] .notebook { padding-left: 28px; }
html[data-theme="notebook"] .notebook { padding-left: 46px; }

/* ==========================================================
   ОФИС — чистый корпоративный
   ========================================================== */
[data-theme="office"] {
  --paper: #f5f7fa;
  --paper-line: transparent;
  --ink: #1f2937;
  --ink-soft: #6b7280;
  --pen-red: #dc2626;
  --pen-blue: #2563eb;
  --marker: #dbeafe;
  --tape-yellow: #e0e7ff;
  --tape-pink: #e0e7ff;
  --tape-blue: #e0e7ff;
}
[data-theme="office"] body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #f5f7fa;
  background-image: none;
  font-size: 16px;
}
[data-theme="office"] h1,
[data-theme="office"] h2,
[data-theme="office"] h3,
[data-theme="office"] .task-title {
  font-family: inherit;
  font-weight: 600;
}
[data-theme="office"] .btn-sketch {
  border-radius: 8px;
  border-width: 1px;
  border-color: #d1d5db;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
  font-family: inherit;
}
[data-theme="office"] .btn-sketch:hover {
  transform: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  background: #f9fafb;
}
[data-theme="office"] .btn-primary {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
}
[data-theme="office"] .btn-primary:hover { background: #1d4ed8; }
[data-theme="office"] .btn-danger {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fecaca;
}
[data-theme="office"] .form-card,
[data-theme="office"] .notebook {
  border-radius: 12px;
  border-width: 1px;
  border-color: #e5e7eb;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
  transform: none;
}
[data-theme="office"] .form-card::before,
[data-theme="office"] .notebook::before,
[data-theme="office"] .logo-scribble::after { display: none; }
[data-theme="office"] .input-sketch {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  font-family: inherit;
  font-size: 15px;
}
[data-theme="office"] .input-sketch:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.1);
}
[data-theme="office"] .topbar {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
[data-theme="office"] .logo-scribble { font-family: inherit; font-weight: 700; }
[data-theme="office"] .flash {
  border-radius: 8px;
  border-width: 1px;
  transform: none;
}
[data-theme="office"] .tag {
  border-radius: 4px;
  transform: none;
  padding: 2px 8px;
}
[data-theme="office"] .task-item { border-bottom-color: #f3f4f6; }
[data-theme="office"] .task-title { font-size: 1.1rem; }

/* ==========================================================
   КИБЕРПАНК — тёмный неоновый
   ========================================================== */
[data-theme="cyberpunk"] {
  --paper: #0a0e17;
  --paper-line: rgba(0, 255, 240, 0.04);
  --ink: #e0f7ff;
  --ink-soft: #6cb8d9;
  --pen-red: #ff2e88;
  --pen-blue: #00fff0;
  --marker: rgba(255, 46, 136, 0.2);
  --tape-yellow: rgba(255, 46, 136, 0.3);
  --tape-blue: rgba(0, 255, 240, 0.2);
}
[data-theme="cyberpunk"] body {
  font-family: 'Courier New', Consolas, monospace;
  background-color: #0a0e17;
  background-image:
    linear-gradient(rgba(0, 255, 240, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 255, 240, 0.03) 1px, transparent 1px),
    radial-gradient(ellipse at top left, rgba(255, 46, 136, 0.08), transparent 50%),
    radial-gradient(ellipse at bottom right, rgba(0, 255, 240, 0.08), transparent 50%);
  background-size: 22px 22px, 22px 22px, 100% 100%, 100% 100%;
}
[data-theme="cyberpunk"] h1,
[data-theme="cyberpunk"] h2,
[data-theme="cyberpunk"] h3,
[data-theme="cyberpunk"] .task-title {
  font-family: 'Courier New', monospace;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
[data-theme="cyberpunk"] h1 {
  color: #ff2e88;
  text-shadow: 0 0 10px rgba(255, 46, 136, 0.6);
}
[data-theme="cyberpunk"] .btn-sketch {
  border-radius: 4px;
  background: transparent;
  color: var(--pen-blue);
  border: 2px solid var(--pen-blue);
  box-shadow: 0 0 10px rgba(0, 255, 240, 0.3), inset 0 0 10px rgba(0, 255, 240, 0.1);
  text-transform: uppercase;
  font-size: .9rem;
  letter-spacing: .05em;
}
[data-theme="cyberpunk"] .btn-sketch:hover {
  transform: none;
  background: rgba(0, 255, 240, 0.1);
  box-shadow: 0 0 20px rgba(0, 255, 240, 0.6), inset 0 0 15px rgba(0, 255, 240, 0.2);
}
[data-theme="cyberpunk"] .btn-primary {
  color: var(--pen-red);
  border-color: var(--pen-red);
  box-shadow: 0 0 10px rgba(255, 46, 136, 0.4);
}
[data-theme="cyberpunk"] .btn-primary:hover {
  background: rgba(255, 46, 136, 0.1);
  box-shadow: 0 0 20px rgba(255, 46, 136, 0.7);
}
[data-theme="cyberpunk"] .btn-danger { color: #ff5555; border-color: #ff5555; }
[data-theme="cyberpunk"] .form-card,
[data-theme="cyberpunk"] .notebook {
  border-radius: 4px;
  border: 2px solid var(--pen-blue);
  background: rgba(10, 14, 23, 0.85);
  box-shadow: 0 0 20px rgba(0, 255, 240, 0.15);
  transform: none;
  backdrop-filter: blur(4px);
}
[data-theme="cyberpunk"] .form-card::before,
[data-theme="cyberpunk"] .notebook::before,
[data-theme="cyberpunk"] .logo-scribble::after { display: none; }
[data-theme="cyberpunk"] .input-sketch {
  border: 1px solid rgba(0, 255, 240, 0.3);
  border-radius: 4px;
  padding: 10px 12px;
  background: rgba(0, 255, 240, 0.03);
  font-family: 'Courier New', monospace;
  color: var(--ink);
}
[data-theme="cyberpunk"] .input-sketch:focus {
  border-color: var(--pen-blue);
  box-shadow: 0 0 10px rgba(0, 255, 240, 0.4);
}
[data-theme="cyberpunk"] .topbar {
  border-bottom: 1px solid rgba(0, 255, 240, 0.3);
  background: rgba(10, 14, 23, 0.9);
}
[data-theme="cyberpunk"] .logo-scribble {
  color: #ff2e88;
  text-shadow: 0 0 8px rgba(255, 46, 136, 0.6);
  text-transform: uppercase;
  letter-spacing: .05em;
}
[data-theme="cyberpunk"] .flash {
  border-radius: 4px;
  transform: none;
  border-color: var(--pen-blue);
  box-shadow: 0 0 10px rgba(0, 255, 240, 0.3);
}
[data-theme="cyberpunk"] .tag {
  border-radius: 2px;
  transform: none;
  text-transform: uppercase;
  font-size: .75rem;
  letter-spacing: .03em;
  padding: 2px 6px;
}
[data-theme="cyberpunk"] .task-item { border-bottom-color: rgba(0, 255, 240, 0.15); }
[data-theme="cyberpunk"] .task-title { font-size: 1.4rem; }
[data-theme="cyberpunk"] .check .box { stroke: var(--pen-blue); }
[data-theme="cyberpunk"] .check .mark { stroke: var(--pen-red); }
[data-theme="cyberpunk"] .theme-menu {
  background: #0f1420;
  border-color: var(--pen-blue);
}

/* ==========================================================
   ДЕРЕВО — тёплые коричневые
   ========================================================== */
[data-theme="wood"] {
  --paper: #f2e2c9;
  --paper-line: rgba(90, 50, 20, 0.08);
  --ink: #3e2416;
  --ink-soft: #6b4732;
  --pen-red: #8b3a1f;
  --pen-blue: #5a3a1f;
  --marker: #e0c197;
  --tape-yellow: #c49a6c;
  --tape-blue: #a67c52;
}
[data-theme="wood"] body {
  font-family: Georgia, 'Times New Roman', serif;
  background-color: #f2e2c9;
  background-image:
    repeating-linear-gradient(90deg, transparent 0 40px, rgba(139, 90, 43, 0.05) 40px 41px),
    repeating-linear-gradient(0deg, transparent 0 6px, rgba(139, 90, 43, 0.03) 6px 7px);
}
[data-theme="wood"] h1,
[data-theme="wood"] h2,
[data-theme="wood"] h3,
[data-theme="wood"] .task-title {
  font-family: Georgia, serif;
  font-weight: 700;
  color: #3e2416;
}
[data-theme="wood"] .btn-sketch {
  border-radius: 6px;
  background: #e0c197;
  border: 2px solid #6b4732;
  color: #3e2416;
  box-shadow: 2px 2px 0 #8b5a2b;
  font-family: Georgia, serif;
}
[data-theme="wood"] .btn-sketch:hover {
  transform: none;
  background: #d4b283;
  box-shadow: 3px 3px 0 #8b5a2b;
}
[data-theme="wood"] .btn-primary {
  background: #a67c52;
  color: #fff8ec;
  border-color: #5a3a1f;
}
[data-theme="wood"] .form-card,
[data-theme="wood"] .notebook {
  border-radius: 8px;
  border: 2px solid #8b5a2b;
  background: #fbf2e0;
  box-shadow: 4px 4px 0 rgba(90, 58, 31, 0.3);
  transform: none;
}
[data-theme="wood"] .form-card::before,
[data-theme="wood"] .notebook::before,
[data-theme="wood"] .logo-scribble::after { display: none; }
[data-theme="wood"] .input-sketch {
  border: 1.5px solid #a67c52;
  border-radius: 6px;
  padding: 8px 12px;
  background: #fdf8ec;
  font-family: Georgia, serif;
  color: #3e2416;
}
[data-theme="wood"] .input-sketch:focus { border-color: #8b3a1f; }
[data-theme="wood"] .topbar {
  background: #e8d3b0;
  border-bottom: 3px double #8b5a2b;
}
[data-theme="wood"] .flash {
  border-radius: 6px;
  transform: none;
  border-color: #8b5a2b;
}
[data-theme="wood"] .tag { border-radius: 4px; transform: none; }
[data-theme="wood"] .task-item { border-bottom-color: rgba(139, 90, 43, 0.2); }
[data-theme="wood"] .check .box { stroke: #5a3a1f; }
[data-theme="wood"] .check .mark { stroke: #8b3a1f; }

/* ==========================================================
   РАЗНОЦВЕТНОЕ СТЕКЛО — glassmorphism
   ========================================================== */
[data-theme="glass"] {
  --paper: transparent;
  --paper-line: transparent;
  --ink: #ffffff;
  --ink-soft: #e0d5ff;
  --pen-red: #ff6b9d;
  --pen-blue: #6ae5ff;
  --marker: rgba(255, 255, 255, 0.2);
  --tape-yellow: rgba(255, 255, 255, 0.15);
  --tape-blue: rgba(255, 255, 255, 0.15);
}
[data-theme="glass"] body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background-image: linear-gradient(135deg, #667eea, #764ba2, #f093fb, #4facfe, #00f2fe);
  background-size: 400% 400%;
  background-attachment: fixed;
  animation: glass-bg 20s ease infinite;
  min-height: 100vh;
  color: #fff;
}
@keyframes glass-bg {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
[data-theme="glass"] h1,
[data-theme="glass"] h2,
[data-theme="glass"] h3,
[data-theme="glass"] .task-title {
  font-family: -apple-system, 'Segoe UI', sans-serif;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
[data-theme="glass"] .btn-sketch {
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.2);
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  font-family: inherit;
}
[data-theme="glass"] .btn-sketch:hover {
  transform: none;
  background: rgba(255, 255, 255, 0.3);
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
[data-theme="glass"] .btn-primary {
  background: rgba(255, 107, 157, 0.45);
  border-color: rgba(255, 255, 255, 0.5);
}
[data-theme="glass"] .form-card,
[data-theme="glass"] .notebook {
  border-radius: 20px;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), inset 0 1px 1px rgba(255, 255, 255, 0.3);
  transform: none;
}
[data-theme="glass"] .form-card::before,
[data-theme="glass"] .notebook::before,
[data-theme="glass"] .logo-scribble::after { display: none; }
[data-theme="glass"] .input-sketch {
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-family: inherit;
}
[data-theme="glass"] .input-sketch:focus {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.15);
}
[data-theme="glass"] .input-sketch::placeholder { color: rgba(255, 255, 255, 0.6); }
[data-theme="glass"] .topbar {
  background: rgba(255, 255, 255, 0.08);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
[data-theme="glass"] .logo-scribble,
[data-theme="glass"] .user-name { color: #fff; }
[data-theme="glass"] .flash {
  border-radius: 10px;
  transform: none;
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
  backdrop-filter: blur(12px);
}
[data-theme="glass"] .tag {
  border-radius: 8px;
  transform: none;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}
[data-theme="glass"] .tag-red    { background: rgba(255, 107, 157, 0.4); }
[data-theme="glass"] .tag-yellow { background: rgba(255, 215, 100, 0.4); }
[data-theme="glass"] .tag-green  { background: rgba(120, 255, 180, 0.3); }
[data-theme="glass"] .task-item  { border-bottom-color: rgba(255, 255, 255, 0.15); }
[data-theme="glass"] .task-meta  { color: rgba(255, 255, 255, 0.85); }
[data-theme="glass"] .theme-menu {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
[data-theme="glass"] .theme-item { color: #fff; }
[data-theme="glass"] .check .box  { stroke: #fff; }
[data-theme="glass"] .check .mark { stroke: #ff6b9d; }

/* ==========================================================
   ЛАЗЕР — неоновый терминал
   ========================================================== */
[data-theme="laser"] {
  --paper: #050505;
  --paper-line: rgba(0, 255, 65, 0.03);
  --ink: #00ff41;
  --ink-soft: #00aa2c;
  --pen-red: #ff0040;
  --pen-blue: #00ff41;
  --marker: rgba(0, 255, 65, 0.15);
  --tape-yellow: rgba(0, 255, 65, 0.2);
  --tape-blue: rgba(0, 255, 65, 0.2);
}
[data-theme="laser"] body {
  font-family: 'Courier New', monospace;
  background-color: #050505;
  background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0, 255, 65, 0.02) 3px 4px);
  color: var(--ink);
}
[data-theme="laser"] h1,
[data-theme="laser"] h2,
[data-theme="laser"] h3,
[data-theme="laser"] .task-title {
  font-family: 'Courier New', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-shadow: 0 0 8px currentColor;
}
[data-theme="laser"] h1 {
  color: #00ff41;
  text-shadow: 0 0 15px #00ff41, 0 0 30px #00ff41;
}
[data-theme="laser"] .btn-sketch {
  border-radius: 2px;
  background: transparent;
  color: #00ff41;
  border: 1.5px solid #00ff41;
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.5), inset 0 0 8px rgba(0, 255, 65, 0.15);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .85rem;
}
[data-theme="laser"] .btn-sketch:hover {
  transform: none;
  background: rgba(0, 255, 65, 0.1);
  box-shadow: 0 0 20px rgba(0, 255, 65, 0.8), inset 0 0 12px rgba(0, 255, 65, 0.3);
}
[data-theme="laser"] .btn-primary {
  color: #ff0040;
  border-color: #ff0040;
  box-shadow: 0 0 8px rgba(255, 0, 64, 0.5);
}
[data-theme="laser"] .btn-primary:hover {
  background: rgba(255, 0, 64, 0.1);
  box-shadow: 0 0 20px rgba(255, 0, 64, 0.8);
}
[data-theme="laser"] .btn-danger { color: #ff0040; border-color: #ff0040; }
[data-theme="laser"] .form-card,
[data-theme="laser"] .notebook {
  border-radius: 2px;
  border: 1.5px solid #00ff41;
  background: rgba(0, 20, 5, 0.85);
  box-shadow: 0 0 15px rgba(0, 255, 65, 0.2), inset 0 0 15px rgba(0, 255, 65, 0.05);
  transform: none;
  backdrop-filter: blur(2px);
}
[data-theme="laser"] .form-card::before,
[data-theme="laser"] .notebook::before,
[data-theme="laser"] .logo-scribble::after { display: none; }
[data-theme="laser"] .input-sketch {
  border: 1px solid rgba(0, 255, 65, 0.4);
  border-radius: 2px;
  padding: 10px 12px;
  background: rgba(0, 255, 65, 0.03);
  color: #00ff41;
  font-family: 'Courier New', monospace;
}
[data-theme="laser"] .input-sketch:focus {
  border-color: #00ff41;
  box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
}
[data-theme="laser"] .input-sketch::placeholder { color: rgba(0, 255, 65, 0.4); }
[data-theme="laser"] .topbar {
  border-bottom: 1.5px solid #00ff41;
  background: #050505;
  box-shadow: 0 2px 15px rgba(0, 255, 65, 0.2);
}
[data-theme="laser"] .logo-scribble {
  color: #00ff41;
  text-shadow: 0 0 10px #00ff41;
  text-transform: uppercase;
  letter-spacing: .1em;
}
[data-theme="laser"] .flash {
  border-radius: 2px;
  transform: none;
  border-color: #00ff41;
  background: rgba(0, 255, 65, 0.1);
  color: #00ff41;
}
[data-theme="laser"] .tag {
  border-radius: 2px;
  transform: none;
  background: rgba(0, 255, 65, 0.15);
  color: #00ff41;
}
[data-theme="laser"] .tag-red { background: rgba(255, 0, 64, 0.2); color: #ff0040; }
[data-theme="laser"] .task-item { border-bottom-color: rgba(0, 255, 65, 0.15); }
[data-theme="laser"] .task-meta { color: var(--ink-soft); }
[data-theme="laser"] .check .box { stroke: #00ff41; }
[data-theme="laser"] .check .mark { stroke: #00ff41; }
[data-theme="laser"] .theme-menu { background: #050505; border-color: #00ff41; }
[data-theme="laser"] .theme-item { color: #00ff41; }

/* ==========================================================
   ОСЕНЬ — тёплая
   ========================================================== */
[data-theme="autumn"] {
  --paper: #fdf4e3;
  --paper-line: rgba(180, 100, 30, 0.1);
  --ink: #4a2510;
  --ink-soft: #8b5a2b;
  --pen-red: #c0392b;
  --pen-blue: #d35400;
  --marker: #f9c784;
  --tape-yellow: #e8a87c;
  --tape-blue: #d4a574;
}
[data-theme="autumn"] body {
  font-family: Georgia, 'Neucha', serif;
  background-color: #fdf4e3;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(243, 156, 18, 0.06), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(192, 57, 43, 0.06), transparent 40%),
    linear-gradient(rgba(180, 100, 30, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180, 100, 30, 0.08) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 22px 22px, 22px 22px;
}
[data-theme="autumn"] h1,
[data-theme="autumn"] h2,
[data-theme="autumn"] h3,
[data-theme="autumn"] .task-title {
  font-family: Georgia, serif;
  font-weight: 700;
  color: #4a2510;
}
[data-theme="autumn"] h1 { color: #c0392b; }
[data-theme="autumn"] .btn-sketch {
  border-radius: 10px;
  background: #fdebd0;
  border: 2px solid #a04000;
  box-shadow: 3px 3px 0 rgba(160, 64, 0, 0.25);
  color: #4a2510;
  font-family: Georgia, serif;
}
[data-theme="autumn"] .btn-sketch:hover {
  transform: none;
  background: #f9dbb0;
  box-shadow: 4px 4px 0 rgba(160, 64, 0, 0.35);
}
[data-theme="autumn"] .btn-primary {
  background: #d35400;
  color: #fff;
  border-color: #873600;
}
[data-theme="autumn"] .btn-danger {
  background: #f5b7b1;
  color: #7b241c;
  border-color: #922b21;
}
[data-theme="autumn"] .form-card,
[data-theme="autumn"] .notebook {
  border-radius: 12px;
  border: 2px solid #a04000;
  background: #fff8ec;
  box-shadow: 4px 4px 0 rgba(160, 64, 0, 0.2);
  transform: none;
}
[data-theme="autumn"] .form-card::before { display: block; background: #e8a87c; border-radius: 2px; }
[data-theme="autumn"] .notebook::before,
[data-theme="autumn"] .logo-scribble::after { display: none; }
[data-theme="autumn"] .input-sketch {
  border: 1.5px solid #d4a574;
  border-radius: 8px;
  padding: 9px 12px;
  background: #fffaf0;
  color: #4a2510;
  font-family: Georgia, serif;
}
[data-theme="autumn"] .input-sketch:focus { border-color: #c0392b; }
[data-theme="autumn"] .topbar {
  background: #fdebd0;
  border-bottom: 2px dashed #a04000;
}
[data-theme="autumn"] .logo-scribble { color: #c0392b; }
[data-theme="autumn"] .flash {
  border-radius: 8px;
  transform: none;
  border-color: #a04000;
  background: #f9c784;
}
[data-theme="autumn"] .tag { border-radius: 6px; transform: none; }
[data-theme="autumn"] .tag-red    { background: #f5b7b1; }
[data-theme="autumn"] .tag-yellow { background: #f9c784; }
[data-theme="autumn"] .tag-green  { background: #d5e8a0; }
[data-theme="autumn"] .task-item  { border-bottom-color: rgba(160, 64, 0, 0.15); }

/* ==========================================================
   ЛЕТО — солнечное
   ========================================================== */
[data-theme="summer"] {
  --paper: #fffef5;
  --paper-line: rgba(0, 150, 180, 0.08);
  --ink: #055160;
  --ink-soft: #0d7a91;
  --pen-red: #ff6b6b;
  --pen-blue: #00bcd4;
  --marker: #ffe66d;
  --tape-yellow: #ffeb3b;
  --tape-blue: #81ecec;
}
[data-theme="summer"] body {
  font-family: 'Neucha', 'Comic Sans MS', cursive;
  background-color: #fffef5;
  background-image:
    radial-gradient(circle at top, rgba(255, 235, 59, 0.15), transparent 40%),
    radial-gradient(circle at bottom right, rgba(129, 236, 236, 0.15), transparent 40%),
    linear-gradient(rgba(0, 150, 180, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 150, 180, 0.06) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 22px 22px, 22px 22px;
}
[data-theme="summer"] h1,
[data-theme="summer"] h2,
[data-theme="summer"] h3,
[data-theme="summer"] .task-title {
  font-family: 'Caveat', cursive;
  font-weight: 700;
  color: #0d7a91;
}
[data-theme="summer"] h1 { color: #00bcd4; }
[data-theme="summer"] .btn-sketch {
  border-radius: 20px;
  background: #ffe66d;
  border: 2px solid #f4b400;
  color: #055160;
  box-shadow: 0 4px 0 #f4b400;
}
[data-theme="summer"] .btn-sketch:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #f4b400;
}
[data-theme="summer"] .btn-sketch:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #f4b400;
}
[data-theme="summer"] .btn-primary {
  background: #ff6b6b;
  color: #fff;
  border-color: #d94c4c;
  box-shadow: 0 4px 0 #d94c4c;
}
[data-theme="summer"] .btn-primary:hover { box-shadow: 0 6px 0 #d94c4c; }
[data-theme="summer"] .form-card,
[data-theme="summer"] .notebook {
  border-radius: 20px;
  border: 2px solid #00bcd4;
  background: #fff;
  box-shadow: 0 6px 0 rgba(0, 188, 212, 0.3);
  transform: none;
}
[data-theme="summer"] .form-card::before,
[data-theme="summer"] .notebook::before,
[data-theme="summer"] .logo-scribble::after { display: none; }
[data-theme="summer"] .input-sketch {
  border: 2px solid #81ecec;
  border-radius: 20px;
  padding: 8px 16px;
  background: #f0fffe;
  color: #055160;
}
[data-theme="summer"] .input-sketch:focus { border-color: #00bcd4; }
[data-theme="summer"] .topbar {
  background: linear-gradient(90deg, #81ecec, #ffe66d);
  border-bottom: 2px solid #00bcd4;
}
[data-theme="summer"] .logo-scribble { color: #055160; }
[data-theme="summer"] .flash {
  border-radius: 20px;
  transform: none;
  border-color: #00bcd4;
  background: #fff8b0;
}
[data-theme="summer"] .tag {
  border-radius: 12px;
  transform: none;
  padding: 2px 12px;
}
[data-theme="summer"] .task-item { border-bottom-color: rgba(0, 188, 212, 0.2); }

/* ==========================================================
   ВЕСНА — нежная пастель
   ========================================================== */
[data-theme="spring"] {
  --paper: #f8fff5;
  --paper-line: rgba(120, 190, 120, 0.1);
  --ink: #2d5016;
  --ink-soft: #5a8a3a;
  --pen-red: #d65a8c;
  --pen-blue: #7bc96f;
  --marker: #d4f5c4;
  --tape-yellow: #ffe0e9;
  --tape-blue: #d4f5c4;
}
[data-theme="spring"] body {
  font-family: 'Neucha', cursive;
  background-color: #f8fff5;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255, 182, 193, 0.12), transparent 30%),
    radial-gradient(circle at 85% 80%, rgba(168, 230, 207, 0.15), transparent 30%),
    linear-gradient(rgba(120, 190, 120, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 190, 120, 0.08) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 22px 22px, 22px 22px;
}
[data-theme="spring"] h1,
[data-theme="spring"] h2,
[data-theme="spring"] h3,
[data-theme="spring"] .task-title {
  font-family: 'Caveat', cursive;
  font-weight: 700;
  color: #d65a8c;
}
[data-theme="spring"] .btn-sketch {
  border-radius: 18px 22px 16px 20px / 20px 16px 22px 18px;
  background: #d4f5c4;
  border: 2px solid #7bc96f;
  color: #2d5016;
  box-shadow: 3px 3px 0 rgba(123, 201, 111, 0.3);
}
[data-theme="spring"] .btn-sketch:hover {
  transform: translate(-1px, -1px) rotate(-.5deg);
  background: #c2ecad;
  box-shadow: 4px 4px 0 rgba(123, 201, 111, 0.4);
}
[data-theme="spring"] .btn-primary {
  background: #d65a8c;
  color: #fff;
  border-color: #a83e6b;
}
[data-theme="spring"] .btn-danger {
  background: #f5c6d6;
  color: #a83e6b;
  border-color: #d65a8c;
}
[data-theme="spring"] .form-card,
[data-theme="spring"] .notebook {
  border-radius: 18px 22px 16px 20px / 20px 16px 22px 18px;
  border: 2px solid #7bc96f;
  background: #fff;
  box-shadow: 4px 4px 0 rgba(123, 201, 111, 0.25);
  transform: rotate(-.3deg);
}
[data-theme="spring"] .form-card::before { display: block; background: #ffe0e9; border-radius: 4px; }
[data-theme="spring"] .notebook::before,
[data-theme="spring"] .logo-scribble::after { display: none; }
[data-theme="spring"] .input-sketch {
  border: 1.5px solid #a8e6cf;
  border-radius: 14px;
  padding: 9px 14px;
  background: #f5fff4;
  color: #2d5016;
}
[data-theme="spring"] .input-sketch:focus { border-color: #d65a8c; }
[data-theme="spring"] .topbar {
  background: #fff;
  border-bottom: 2px dashed #7bc96f;
}
[data-theme="spring"] .logo-scribble { color: #d65a8c; }
[data-theme="spring"] .flash {
  border-radius: 14px;
  border-color: #7bc96f;
  background: #d4f5c4;
}
[data-theme="spring"] .tag { border-radius: 10px; transform: none; }
[data-theme="spring"] .tag-red    { background: #ffe0e9; color: #a83e6b; }
[data-theme="spring"] .tag-yellow { background: #fff4c4; }
[data-theme="spring"] .tag-green  { background: #d4f5c4; }
[data-theme="spring"] .task-item  { border-bottom-color: rgba(123, 201, 111, 0.2); }

/* ==========================================================
   ЗИМА — ледяная
   ========================================================== */
[data-theme="winter"] {
  --paper: #f5fbff;
  --paper-line: rgba(100, 160, 220, 0.1);
  --ink: #0d3b66;
  --ink-soft: #3d7ab8;
  --pen-red: #d62828;
  --pen-blue: #4a90e2;
  --marker: #d6ecff;
  --tape-yellow: #c9e4f5;
  --tape-blue: #e0f2ff;
}
[data-theme="winter"] body {
  font-family: 'Neucha', cursive;
  background-color: #f5fbff;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.9) 0%, transparent 15%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.7) 0%, transparent 12%),
    radial-gradient(circle at 60% 70%, rgba(255, 255, 255, 0.8) 0%, transparent 18%),
    linear-gradient(rgba(100, 160, 220, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100, 160, 220, 0.08) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 100% 100%, 22px 22px, 22px 22px;
}
[data-theme="winter"] h1,
[data-theme="winter"] h2,
[data-theme="winter"] h3,
[data-theme="winter"] .task-title {
  font-family: 'Caveat', cursive;
  font-weight: 700;
  color: #0d3b66;
}
[data-theme="winter"] h1 { color: #1e6091; }
[data-theme="winter"] .btn-sketch {
  border-radius: 12px;
  background: #e0f2ff;
  border: 2px solid #4a90e2;
  color: #0d3b66;
  box-shadow: 0 3px 0 rgba(74, 144, 226, 0.4);
}
[data-theme="winter"] .btn-sketch:hover {
  transform: none;
  background: #c9e4f5;
  box-shadow: 0 4px 0 rgba(74, 144, 226, 0.5);
}
[data-theme="winter"] .btn-primary {
  background: #4a90e2;
  color: #fff;
  border-color: #2c6fb8;
}
[data-theme="winter"] .btn-danger {
  background: #fadcdc;
  color: #8b1a1a;
  border-color: #d62828;
}
[data-theme="winter"] .form-card,
[data-theme="winter"] .notebook {
  border-radius: 16px;
  border: 2px solid #4a90e2;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(74, 144, 226, 0.15);
  transform: none;
}
[data-theme="winter"] .form-card::before {
  display: block;
  background: #e0f2ff;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(224, 242, 255, 0.8);
}
[data-theme="winter"] .notebook::before,
[data-theme="winter"] .logo-scribble::after { display: none; }
[data-theme="winter"] .input-sketch {
  border: 1.5px solid #a8cef0;
  border-radius: 10px;
  padding: 9px 12px;
  background: #f5fbff;
  color: #0d3b66;
}
[data-theme="winter"] .input-sketch:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 8px rgba(74, 144, 226, 0.3);
}
[data-theme="winter"] .topbar {
  background: #ffffff;
  border-bottom: 2px solid #a8cef0;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.1);
}
[data-theme="winter"] .logo-scribble { color: #1e6091; }
[data-theme="winter"] .flash {
  border-radius: 12px;
  transform: none;
  border-color: #4a90e2;
  background: #e0f2ff;
}
[data-theme="winter"] .tag { border-radius: 8px; transform: none; }
[data-theme="winter"] .tag-red    { background: #fadcdc; }
[data-theme="winter"] .tag-yellow { background: #fff4c4; }
[data-theme="winter"] .tag-green  { background: #d4f0d4; }
[data-theme="winter"] .task-item  { border-bottom-color: rgba(74, 144, 226, 0.2); }