/* Кузня Миров — светлая тема «Сакура и тушь»: фэнтези с японскими мотивами.
   Бумага васи, тушь (суми), киноварь торий (сю), индиго (ай), маття, золото (кин), сакура.
   Шапка — чёрный лак с волнами сэйгайха, на фоне — красная луна, туманные полосы касуми и горы тушью.
   Слой поверх app.css, действует только при html[data-theme=light]. Вес селекторов как у светлых правил app.css. */

:root[data-theme=light] {
  --bg: #f1ece1; --bg2: #faf7f0; --panel: #fcfaf4; --panel2: #ece5d6;
  --line: #d9cfbd; --line2: #bdae93;
  --text: #23201d; --muted: #5a5247; --faint: #665d51;
  --gold: #a8822f; --gold2: #84621a; --red: #b8382a; --green: #4f7232; --blue: #2b4c7e; --violet: #6f4f9a;
  --ai: #2b4c7e; --shu: #c4402a; --matcha: #5c7d38; --kin: #a8822f; --sakura: #c0607c; --fuji: #7558a3; --sumi: #23201d;
  --radius: 3px;
  --shadow: 0 12px 30px rgba(40,30,25,.16), 0 2px 5px rgba(40,30,25,.1);
  --fxglow: rgba(255,180,195,.4);
  --washi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .55' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --seigaiha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Cg fill='none' stroke='%23d4a24c' stroke-width='1'%3E%3Cpath d='M0 20a20 20 0 0 1 40 0M7 20a13 13 0 0 1 26 0M14 20a6 6 0 0 1 12 0'/%3E%3Cpath d='M-20 10a20 20 0 0 1 40 0M-13 10a13 13 0 0 1 26 0M-6 10a6 6 0 0 1 12 0M20 10a20 20 0 0 1 40 0M27 10a13 13 0 0 1 26 0M34 10a6 6 0 0 1 12 0'/%3E%3C/g%3E%3C/svg%3E");
  --mountains: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M700 300 L880 95 Q900 78 920 95 L1110 300Z' fill='%23384a5c' fill-opacity='.07'/%3E%3Cpath d='M0 300 L0 200 Q80 160 150 185 T300 150 Q360 115 430 150 T570 128 Q650 85 730 140 T890 150 Q970 112 1050 160 T1200 165 L1200 300Z' fill='%23384a5c' fill-opacity='.09'/%3E%3Cpath d='M0 300 L0 245 Q120 205 230 232 T430 215 Q530 182 630 222 T830 210 Q930 190 1010 226 T1200 214 L1200 300Z' fill='%232b3a48' fill-opacity='.12'/%3E%3C/svg%3E");
  scrollbar-color: #c2b49a #ece5d6;
}

/* ── фон: васи, красная луна, горы тушью, туман касуми */
[data-theme=light] body {
  background-color: var(--bg);
  background-image:
    radial-gradient(circle at 84% 17%, rgba(206,72,52,.2) 0 78px, rgba(206,72,52,.06) 80px, transparent 190px),
    var(--mountains),
    radial-gradient(ellipse 70% 50% at 10% -5%, rgba(255,252,244,.95), transparent 65%),
    radial-gradient(ellipse 60% 45% at 100% 105%, rgba(190,120,140,.12), transparent 65%);
  background-size: auto, 100% 34vh, auto, auto;
  background-position: 0 0, center bottom, 0 0, 0 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
[data-theme=light] body::before {
  content: ''; position: fixed; left: -10%; right: -10%; top: 0; bottom: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 28% 3.2% at 22% 30%, rgba(214,178,100,.32), transparent 100%),
    radial-gradient(ellipse 22% 2.6% at 72% 36%, rgba(214,178,100,.26), transparent 100%),
    radial-gradient(ellipse 34% 3.6% at 48% 62%, rgba(255,255,255,.75), transparent 100%),
    radial-gradient(ellipse 26% 3% at 86% 70%, rgba(214,178,100,.22), transparent 100%),
    radial-gradient(ellipse 30% 3.4% at 14% 76%, rgba(255,255,255,.7), transparent 100%);
}
[data-theme=light]:not([data-fx=off]) body::before { animation: kasumi 26s ease-in-out infinite alternate; }
@keyframes kasumi { from { transform: translateX(-3%); } to { transform: translateX(3%); } }
[data-theme=light] body::after {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 90% 80% at 50% 45%, transparent 62%, rgba(60,45,35,.14) 100%), var(--washi);
}
[data-theme=light] ::selection { background: rgba(192,96,124,.25); color: #1a1714; }
[data-theme=light] ::-webkit-scrollbar { width: 10px; height: 10px; }
[data-theme=light] ::-webkit-scrollbar-track { background: transparent; }
[data-theme=light] ::-webkit-scrollbar-thumb { background: #c7b99e; border: 2px solid var(--bg); border-radius: 6px; }
[data-theme=light] ::-webkit-scrollbar-thumb:hover { background: #a99878; }

/* ── письмо: тушь, киноварная буквица, индиго ссылок */
[data-theme=light] :is(h1, h2) { color: var(--sumi); letter-spacing: .02em; text-shadow: 0 1px 0 rgba(255,255,255,.7); }
[data-theme=light] h3 { color: #2f2a25; }
[data-theme=light] .page-head h1::first-letter, [data-theme=light] .modal .mh h3::first-letter { color: var(--shu); font-size: 1.18em; }
:where([data-theme=light]) a { color: var(--ai); }
[data-theme=light] .wlink { color: var(--ai); border-bottom-color: rgba(43,76,126,.45); }
[data-theme=light] .page-head {
  padding-bottom: 16px;
  background:
    radial-gradient(circle, var(--shu) 0 3.5px, transparent 4px) left calc(100% - 1px) / 9px 9px no-repeat,
    linear-gradient(90deg, var(--sumi), rgba(35,32,29,.55) 25%, rgba(35,32,29,.12) 70%, transparent) 14px calc(100% - 5px) / 100% 1.5px no-repeat;
}
[data-theme=light] .group-title { color: var(--sumi); letter-spacing: .06em; }
[data-theme=light] .group-title::before { content: '✿'; color: var(--sakura); font-size: .85em; }
[data-theme=light] .group-title::after { border-top: 0; height: 1px; background: linear-gradient(90deg, rgba(35,32,29,.5), var(--line) 40%, transparent); }
[data-theme=light] hr { border: 0; height: 11px; background:
  radial-gradient(circle, var(--shu) 0 2.5px, transparent 3px) center / 11px 11px no-repeat,
  linear-gradient(90deg, transparent, var(--line2) 15%, var(--line2) calc(50% - 12px), transparent calc(50% - 11px), transparent calc(50% + 11px), var(--line2) calc(50% + 12px), var(--line2) 85%, transparent) center / 100% 1px no-repeat; }
[data-theme=light] .prose blockquote { border-left: 3px solid var(--ai); background: linear-gradient(90deg, rgba(43,76,126,.07), transparent 75%); color: #45403a; font-style: italic; }
[data-theme=light] code { background: #ece5d6; color: #8e2a1c; }

/* ── шапка и нижняя панель: чёрный лак, золотые волны, киноварная кромка */
[data-theme=light] :is(.topbar, .bottomnav) {
  --bg: #1b1517; --bg2: #140f11; --panel: #241c1e; --panel2: #2f2527; --line: #4a3a3a; --line2: #6a5450;
  --text: #f4ece0; --muted: #cbbba6; --faint: #b6a68f; --gold: #d4a24c; --gold2: #f0c674;
  color: var(--text);
}
[data-theme=light] .topbar {
  background: linear-gradient(180deg, rgba(27,21,23,.9), rgba(20,15,17,.94)), var(--seigaiha) 0 0 / 40px 20px, #1b1517;
  border-bottom: 0;
  box-shadow: 0 2px 0 var(--shu), 0 3px 0 rgba(120,30,20,.4), 0 8px 22px rgba(40,25,20,.25);
}
[data-theme=light] .bottomnav { background: linear-gradient(0deg, rgba(20,15,17,.95), rgba(27,21,23,.9)), var(--seigaiha) 0 0 / 40px 20px, #1b1517; border-top: 0; box-shadow: 0 -2px 0 var(--shu), 0 -6px 16px rgba(40,25,20,.2); }
[data-theme=light] .brand { color: #f0c674; text-shadow: 0 1px 0 #000, 0 0 12px rgba(240,198,116,.3); }
[data-theme=light] .topbar .world-name { color: #f6eee2; }
[data-theme=light] .topbar :is(.btn, input) { color: var(--text); }
[data-theme=light] .topbar .btn { background: linear-gradient(180deg, #34292b, #241c1e); border-color: #4f3f3d; box-shadow: inset 0 1px 0 rgba(255,220,180,.08); }
[data-theme=light] .topbar .btn:hover { background: linear-gradient(180deg, #403234, #2c2224); border-color: #d4a24c; }
[data-theme=light] .topbar .btn.ghost { background: transparent; border-color: transparent; box-shadow: none; }
[data-theme=light] .topbar .btn.danger { background: linear-gradient(180deg, #b0331f, #861f10); border-color: #d0533a; color: #fff0e6; }
[data-theme=light] .topbar .gsearch input[type=search] { background: rgba(255,255,255,.06); border-color: #4f3f3d; box-shadow: inset 0 1px 3px rgba(0,0,0,.4); }
[data-theme=light] .topbar .gsearch input::placeholder { color: #a89784; }
[data-theme=light] .bottomnav a { color: #cbbba6; }
[data-theme=light] .bottomnav a.on { color: #f0c674; text-shadow: 0 0 10px rgba(240,198,116,.5); }

/* ── меню: ширма из бумаги */
[data-theme=light] .sidebar {
  background: var(--washi), linear-gradient(90deg, #ebe4d5, #f3eee4 70%, #ece5d6);
  border-right: 1px solid #c9bba2;
  box-shadow: inset -1px 0 0 #fff, inset -4px 0 0 rgba(35,32,29,.04);
}
[data-theme=light] .nav a { border-radius: 2px; transition: background-color .2s, color .2s; }
[data-theme=light] .nav a .ico { color: var(--ai); opacity: 1; }
[data-theme=light] .nav a:hover { background: rgba(192,96,124,.09); }
[data-theme=light] .nav a.on {
  background: linear-gradient(90deg, rgba(196,64,42,.14), rgba(196,64,42,.03) 75%, transparent);
  color: #8e2a1c; font-weight: 700;
  box-shadow: inset 3px 0 0 var(--shu);
}
[data-theme=light] .nav a.on .ico { color: var(--shu); }
[data-theme=light] .nav .group { font-family: var(--serif); font-size: 13px; font-weight: 700; letter-spacing: .24em; color: var(--sumi); }
[data-theme=light] .nav .group:not(.gtoggle)::before { content: '◆ '; color: var(--shu); font-size: 9px; vertical-align: 2px; letter-spacing: 0; }

/* ── листы: васи, тонкая рамка тушью, киноварные уголки */
[data-theme=light] :is(.card, .modal):not(.sessbar, .combatbanner, .actbar, .turnbar) {
  --cc: rgba(196,64,42,.6); --cl: 12px; --co: 7px;
  background:
    linear-gradient(var(--cc), var(--cc)) left var(--co) top var(--co) / var(--cl) 2px no-repeat,
    linear-gradient(var(--cc), var(--cc)) left var(--co) top var(--co) / 2px var(--cl) no-repeat,
    linear-gradient(var(--cc), var(--cc)) right var(--co) bottom var(--co) / var(--cl) 2px no-repeat,
    linear-gradient(var(--cc), var(--cc)) right var(--co) bottom var(--co) / 2px var(--cl) no-repeat,
    var(--washi), linear-gradient(180deg, #fdfbf6, #f6f1e6);
}
[data-theme=light] .card:not(.sessbar, .combatbanner, .actbar, .turnbar) {
  border-color: #d3c8b3;
  box-shadow: inset 0 0 0 3px #fcfaf4, inset 0 0 0 4px rgba(35,32,29,.1), 0 1px 0 #fff, 0 6px 18px rgba(40,30,25,.08);
}
[data-theme=light] :is(.sheet .box, .popover, .gsres, .legendpanel) { background: var(--washi), linear-gradient(180deg, #fdfbf6, #f6f1e6); box-shadow: 0 1px 0 #fff inset, 0 4px 14px rgba(40,30,25,.08); }
[data-theme=light] .sheet .box h4 { font-family: var(--serif); font-size: 16px; letter-spacing: .14em; color: var(--shu); }

/* ── карточки сущностей: каждая в своём цвете (индиго, киноварь, маття, золото, сакура) */
[data-theme=light] :is(.cards, .statgrid, .obsteps) > :nth-child(5n+1) { --acc: var(--ai); }
[data-theme=light] :is(.cards, .statgrid, .obsteps) > :nth-child(5n+2) { --acc: var(--shu); }
[data-theme=light] :is(.cards, .statgrid, .obsteps) > :nth-child(5n+3) { --acc: var(--matcha); }
[data-theme=light] :is(.cards, .statgrid, .obsteps) > :nth-child(5n+4) { --acc: var(--kin); }
[data-theme=light] :is(.cards, .statgrid, .obsteps) > :nth-child(5n+5) { --acc: var(--sakura); }
[data-theme=light] .ecard {
  border-radius: var(--radius); border-color: #d8cdb8; border-top: 3px solid var(--acc, var(--shu));
  background: var(--washi), linear-gradient(180deg, #fffdf8, #f5f0e5);
  box-shadow: 0 1px 0 #fff inset, 0 3px 10px rgba(40,30,25,.08);
  transition: border-color .2s, box-shadow .25s, transform .25s cubic-bezier(.2,.8,.2,1);
}
[data-theme=light] .ecard:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--acc, #c4402a) 45%, #d8cdb8); box-shadow: 0 1px 0 #fff inset, 0 12px 26px rgba(40,30,25,.15); }
[data-theme=light] .ecard .thumb { border: 1.5px solid color-mix(in srgb, var(--acc, #c4402a) 60%, #fff); border-radius: 50%; background-color: #f8f3ea; box-shadow: 0 2px 6px rgba(40,30,25,.12); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
[data-theme=light] .ecard:hover .thumb { transform: rotate(-8deg) scale(1.06); }
[data-theme=light] .ecard .t { color: var(--sumi); }
[data-theme=light] .ehead .portrait { border-radius: 3px; border: 2px solid var(--sumi); box-shadow: 0 0 0 4px #fcfaf4, 0 0 0 5px var(--shu), 0 10px 24px rgba(40,30,25,.18); }

[data-theme=light] .statgrid a {
  border-radius: var(--radius); border-left: 3px solid var(--acc);
  background: var(--washi), linear-gradient(180deg, color-mix(in srgb, var(--acc) 6%, #fffdf8), #f5f0e5);
  box-shadow: 0 3px 10px rgba(40,30,25,.08); transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
[data-theme=light] .statgrid a:hover { transform: translateY(-2px); border-color: var(--acc); box-shadow: 0 10px 22px rgba(40,30,25,.14); }
[data-theme=light] .statgrid b { color: var(--acc); text-shadow: 0 1px 0 #fff; }
[data-theme=light] a.obstep { border-left: 3px solid var(--acc); background: rgba(255,253,248,.65); }
[data-theme=light] .obmark { color: var(--acc); }
[data-theme=light] .gimg { border-radius: 2px; padding: 6px 6px 0; background: #fffdf8; box-shadow: 0 4px 12px rgba(40,30,25,.14); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
[data-theme=light] .gimg:nth-child(odd):hover { transform: rotate(-1.2deg) translateY(-3px); box-shadow: 0 14px 28px rgba(40,30,25,.2); }
[data-theme=light] .gimg:nth-child(even):hover { transform: rotate(1.2deg) translateY(-3px); box-shadow: 0 14px 28px rgba(40,30,25,.2); }

/* ── кнопки: бумага, киноварный лак торий, тушь */
[data-theme=light] .btn {
  border-radius: 3px; color: var(--text);
  background: linear-gradient(180deg, #fffdf8, #efe8da);
  border-color: #c7b99f;
  box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(40,30,25,.12);
  transition: background .2s, border-color .2s, box-shadow .2s, color .2s, transform .05s;
}
[data-theme=light] .btn:hover { background: linear-gradient(180deg, #fff, #f4eee2); border-color: var(--sakura); box-shadow: inset 0 1px 0 #fff, 0 2px 8px rgba(192,96,124,.2); }
[data-theme=light] .btn.primary {
  background: linear-gradient(180deg, #da5a3e, #c4402a 55%, #a63220);
  border-color: #8a2716; color: #fff7ee;
  text-shadow: 0 1px 0 rgba(90,20,10,.5);
  box-shadow: inset 0 1px 0 rgba(255,200,170,.55), inset 0 -2px 0 rgba(90,20,10,.25), 0 2px 6px rgba(160,50,30,.3);
}
[data-theme=light] .btn.primary:hover { background: linear-gradient(180deg, #e46a4c, #cf4b32 55%, #b23a26); box-shadow: inset 0 1px 0 rgba(255,210,180,.6), inset 0 -2px 0 rgba(90,20,10,.25), 0 4px 16px rgba(196,64,42,.4); }
[data-theme=light] .btn.danger { background: linear-gradient(180deg, #3a2f2c, #231c1a); border-color: #120d0c; color: #f3b7a8; box-shadow: inset 0 1px 0 rgba(255,220,200,.12), 0 2px 6px rgba(30,20,15,.3); }
[data-theme=light] .btn.danger:hover { background: linear-gradient(180deg, #4a3a36, #2c2321); color: #ffd0c2; box-shadow: inset 0 1px 0 rgba(255,220,200,.15), 0 4px 14px rgba(30,20,15,.35); }
[data-theme=light] .btn.ghost { background: transparent; border-color: transparent; box-shadow: none; }
[data-theme=light] .btn.ghost:hover { background: rgba(192,96,124,.08); border-color: var(--line); }
[data-theme=light] .btn.on { border-color: var(--ai); color: var(--ai); box-shadow: inset 0 0 0 1px rgba(43,76,126,.3); }

/* ── поля: чистая васи, фокус — индиго */
[data-theme=light] :is(input[type=text], input[type=password], input[type=number], input[type=search], select, textarea) {
  background: #fffefa; border-color: #d2c6ae; border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(40,30,25,.08);
}
[data-theme=light] :is(input, select, textarea):focus { border-color: var(--ai); box-shadow: inset 0 1px 3px rgba(40,30,25,.08), 0 0 0 3px rgba(43,76,126,.14); }
[data-theme=light] ::placeholder { color: #9b8f7c; }

/* ── фишки, вкладки, значки */
[data-theme=light] .chip { border-radius: 3px; background: #fcfaf4; border-color: #d3c8b3; color: var(--muted); }
[data-theme=light] .chip:hover { border-color: var(--ai); color: var(--ai); }
[data-theme=light] .chip.on { background: linear-gradient(180deg, #375d93, #24426e); border-color: #1b3557; color: #f6f1e6; box-shadow: 0 2px 6px rgba(43,76,126,.3); }
[data-theme=light] .tabs { border-bottom-color: var(--line2); }
[data-theme=light] .tabs button { font-family: var(--serif); font-size: 17px; font-weight: 700; color: var(--muted); transition: color .2s; }
[data-theme=light] .tabs button:hover { color: var(--ai); }
[data-theme=light] .tabs button.on { color: var(--shu); border-color: var(--shu); }
[data-theme=light] .badge { border-radius: 2px; background: rgba(255,253,248,.7); }
[data-theme=light] .empty {
  border-color: #c9bca2; font-style: italic;
  background: linear-gradient(rgba(252,250,244,.85), rgba(252,250,244,.85)), var(--seigaiha) 0 0 / 40px 20px;
}

/* ── окна и уведомления */
[data-theme=light] .modal-back { background: radial-gradient(ellipse at center, rgba(30,22,20,.25), rgba(25,18,16,.55)); backdrop-filter: blur(3px); }
[data-theme=light] .modal { --cl: 16px; border-color: #c7b99f; box-shadow: 0 0 0 1px rgba(40,30,25,.15), 0 30px 70px rgba(30,20,15,.3); }
[data-theme=light] .modal .mh { background: linear-gradient(180deg, rgba(252,250,244,.85), rgba(252,250,244,.95)), var(--seigaiha) 0 0 / 40px 20px; border-bottom: 2px solid var(--shu); }
[data-theme=light] .toast { background: var(--washi), linear-gradient(180deg, #fffdf8, #f2ece0); border-color: #d3c8b3; box-shadow: 0 10px 26px rgba(40,30,25,.2); }

/* ── кубы из фарфора, у каждого своя глазурь */
[data-theme=light] .dicepad > :nth-child(7n+1) { --acc: var(--shu); }
[data-theme=light] .dicepad > :nth-child(7n+2) { --acc: var(--ai); }
[data-theme=light] .dicepad > :nth-child(7n+3) { --acc: var(--matcha); }
[data-theme=light] .dicepad > :nth-child(7n+4) { --acc: var(--fuji); }
[data-theme=light] .dicepad > :nth-child(7n+5) { --acc: var(--kin); }
[data-theme=light] .dicepad > :nth-child(7n+6) { --acc: var(--sakura); }
[data-theme=light] .dicepad > :nth-child(7n+7) { --acc: var(--sumi); }
[data-theme=light] .die {
  border-radius: 10px; border-color: color-mix(in srgb, var(--acc, #c4402a) 30%, #d3c8b3); color: var(--acc, var(--shu));
  background: radial-gradient(circle at 35% 25%, #ffffff, #f4efe6 65%, #e4dccd);
  box-shadow: inset 0 -6px 12px rgba(60,45,35,.1), inset 0 2px 0 #fff, 0 4px 10px rgba(40,30,25,.12);
  text-shadow: 0 1px 0 #fff;
}
[data-theme=light] .die svg { color: var(--acc); }
[data-theme=light] .die:hover { border-color: var(--acc, var(--shu)); box-shadow: inset 0 -6px 12px rgba(60,45,35,.1), inset 0 2px 0 #fff, 0 10px 20px rgba(40,30,25,.18); }
[data-theme=light] .dice-total { color: var(--shu); text-shadow: 0 1px 0 #fff; }
[data-theme=light] .dice-total.crit { color: #3f7a22; text-shadow: 0 0 14px rgba(120,200,80,.45), 0 1px 0 #fff; }
[data-theme=light] .dice-total.fail { color: var(--sumi); }
[data-theme=light] .hpbar i, [data-theme=light] .token .thp i { background: linear-gradient(90deg, #c4402a, #d79a3c 50%, #5c7d38); }
[data-theme=light] .xpbar i { background: linear-gradient(90deg, #c0607c, #e8a6b6, #c0607c); }

/* ── журнал, бой */
[data-theme=light] .jentry { transition: background-color .2s; }
[data-theme=light] .jentry:hover { background: rgba(232,166,182,.12); }
[data-theme=light] .jentry .ic { box-shadow: 0 0 0 1px rgba(40,30,25,.12), 0 2px 4px rgba(40,30,25,.08); }
[data-theme=light] .combatbanner { background: linear-gradient(90deg, #f2d2c8, #fcfaf4 80%); border-color: #cf6a52; color: var(--text); }
[data-theme=light] :is(table.ctable tr.cur td, .cprow.cur) { background: linear-gradient(90deg, rgba(196,64,42,.14), rgba(196,64,42,.03)); }

/* ── вход: лист под красной луной */
[data-theme=light] .login {
  --cc: rgba(196,64,42,.7); --cl: 22px; --co: 9px;
  padding: 32px 30px;
  box-shadow: inset 0 0 0 4px #fcfaf4, inset 0 0 0 5px rgba(35,32,29,.12), 0 30px 70px rgba(40,30,25,.22);
}
[data-theme=light] .login .brand { justify-content: center; font-size: 32px !important; color: var(--sumi); text-shadow: 0 1px 0 #fff; }
[data-theme=light] .login .brand + p { text-align: center; font-style: italic; }

/* ── живое (выключается вместе с частицами) */
[data-theme=light]:not([data-fx=off]) .brand svg { animation: lit-glint 5s ease-in-out infinite; }
@keyframes lit-glint { 0%, 100% { filter: drop-shadow(0 0 2px rgba(240,198,116,.4)); } 50% { filter: drop-shadow(0 0 8px rgba(255,215,130,.9)); } }
[data-theme=light]:not([data-fx=off]) .nav a.on .ico { animation: lit-ink 3.5s ease-in-out infinite; }
@keyframes lit-ink { 50% { text-shadow: 0 0 8px rgba(196,64,42,.45); } }
[data-theme=light]:not([data-fx=off]) .login { animation: grim-rise .7s cubic-bezier(.2,.8,.2,1); }

/* выпадающий поиск внутри шапки — снова светлый лист, а не лак */
[data-theme=light] .topbar .gsres {
  --bg: #f1ece1; --bg2: #faf7f0; --panel: #fcfaf4; --panel2: #ece5d6; --line: #d9cfbd; --line2: #bdae93;
  --text: #23201d; --muted: #5a5247; --faint: #665d51; --gold: #a8822f; --gold2: #84621a;
  color: var(--text);
}

/* панели поверх карты (окно жетона, легенда, масштаб): app.css держит внутри карты тёмные цвета текста,
   а здесь фон этих панелей светлый — возвращаем им тёмный, хорошо читаемый текст */
[data-theme=light] .viewport :is(.popover, .legendpanel, .zoomctl) {
  --bg: #f1ece1; --bg2: #faf7f0; --panel: #fcfaf4; --panel2: #ece5d6; --line: #d9cfbd; --line2: #bdae93;
  --text: #1a1714; --muted: #3f3a33; --faint: #4f483f; --gold: #a8822f; --gold2: #84621a;
  color: var(--text);
}
[data-theme=light] .viewport :is(.popover, .legendpanel) :is(h3, h4, .btn, small, label) { color: var(--text); }
[data-theme=light] .viewport .zoomctl .btn { color: var(--text); }
[data-theme=light] .viewport :is(.popover, .legendpanel) .btn.primary { color: #fff7ee; }
[data-theme=light] .viewport :is(.popover, .legendpanel) .btn.danger { color: #f3b7a8; }
