/* Layout: одна колонка. Единственный «громкий» элемент — ночное небо (серия, вход, игра): оно тёмное в обеих темах,
   со звёздами и светящейся луной. Всё остальное — спокойные поверхности и аккуратная типографика. */
:root{
  --bg:#eceef8; --surface:#ffffff; --surface-2:#e1e4f2; --fg:#191d3a; --muted:#5b6187; --line:#d0d4e8;
  --accent:#4b4fd0; --accent-fg:#ffffff; --moon:#d2ae45; --moon-shadow:#d6daec;
  --again:#c4453b; --hard:#b0701f; --good:#2c8657; --easy:#3a6fc4; --eclipse:#e0785a;
  /* небо — одинаковое в обеих темах */
  --sky:#121738; --sky-deep:#0a0d26; --sky-fg:#efeefa; --sky-muted:#a6abd3; --sky-line:#2c3368; --sky-moon:#f3e2a6; --sky-moon-shadow:#262c57;
  --f-display:"Unbounded","Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
  --f-body:"Golos Text","Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
  --r-lg:24px; --r-md:14px; --r-sm:10px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0e1230; --surface:#161b3f; --surface-2:#20264f; --fg:#ecebf7; --muted:#9a9fc4; --line:#2a3160;
  --accent:#a4a8ff; --accent-fg:#0e1230; --moon:#f3e2a6; --moon-shadow:#262c57;
  --again:#ef7a70; --hard:#e3a95a; --good:#5fc78f; --easy:#7ea8f0; --eclipse:#f08f70;
  --sky:#0b0f2a; --sky-deep:#070a1f; --sky-line:#252c5e; color-scheme:dark }}

/* внутри Telegram тема берётся из Telegram, а не из настроек системы */
:root.tg-dark{
  --bg:#0e1230; --surface:#161b3f; --surface-2:#20264f; --fg:#ecebf7; --muted:#9a9fc4; --line:#2a3160;
  --accent:#a4a8ff; --accent-fg:#0e1230; --moon:#f3e2a6; --moon-shadow:#262c57;
  --again:#ef7a70; --hard:#e3a95a; --good:#5fc78f; --easy:#7ea8f0; --eclipse:#f08f70;
  --sky:#0b0f2a; --sky-deep:#070a1f; --sky-line:#252c5e; color-scheme:dark }
:root.tg-light{
  --bg:#eceef8; --surface:#ffffff; --surface-2:#e1e4f2; --fg:#191d3a; --muted:#5b6187; --line:#d0d4e8;
  --accent:#4b4fd0; --accent-fg:#ffffff; --moon:#d2ae45; --moon-shadow:#d6daec;
  --again:#c4453b; --hard:#b0701f; --good:#2c8657; --easy:#3a6fc4; --eclipse:#e0785a;
  --sky:#121738; --sky-deep:#0a0d26; --sky-line:#2c3368; color-scheme:light }
.in-tg #installBtn{display:none!important}
.in-tg .wrap{padding-block:8px 40px}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{min-height:100%;margin:0}
/* фон страницы в цвет темы: два мягких пятна из акцента и цвета луны темы (каждая тема их задаёт — работает для всех),
   ночью ещё редкие звёзды. Насыщенность низкая: текст и карточки читаются как раньше */
:root{--page-glow:14%;--page-glow2:10%;--page-stars:none}
@media (prefers-color-scheme: dark){:root:not(.tg-light){--page-glow:24%;--page-glow2:16%;
  --page-stars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='31' cy='47' r='1' opacity='.55'/%3E%3Ccircle cx='174' cy='23' r='1.2' opacity='.45'/%3E%3Ccircle cx='99' cy='159' r='.9' opacity='.35'/%3E%3Ccircle cx='224' cy='122' r='1.3' opacity='.5'/%3E%3Ccircle cx='57' cy='216' r='1' opacity='.4'/%3E%3Ccircle cx='143' cy='86' r='.8' opacity='.3'/%3E%3Ccircle cx='242' cy='229' r='1.1' opacity='.45'/%3E%3C/g%3E%3C/svg%3E")}}
:root.tg-dark{--page-glow:24%;--page-glow2:16%;
  --page-stars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='31' cy='47' r='1' opacity='.55'/%3E%3Ccircle cx='174' cy='23' r='1.2' opacity='.45'/%3E%3Ccircle cx='99' cy='159' r='.9' opacity='.35'/%3E%3Ccircle cx='224' cy='122' r='1.3' opacity='.5'/%3E%3Ccircle cx='57' cy='216' r='1' opacity='.4'/%3E%3Ccircle cx='143' cy='86' r='.8' opacity='.3'/%3E%3Ccircle cx='242' cy='229' r='1.1' opacity='.45'/%3E%3C/g%3E%3C/svg%3E")}
/* фон — на html (холст), чтобы слой сцены body::before (z-index:-1) лёг между фоном и содержимым */
html{background:
    var(--page-stars) 0 0/260px 260px fixed,   /* fixed: звёзды не едут при прокрутке, весь задник неподвижен */
    radial-gradient(110% 60% at 90% -5%,color-mix(in srgb,var(--accent) var(--page-glow),transparent),transparent 65%) fixed,
    radial-gradient(90% 55% at -5% 105%,color-mix(in srgb,var(--sky-moon) var(--page-glow2),transparent),transparent 60%) fixed,
    var(--bg)}
/* широкий экран: по бокам от колонки (840 px) — сцена темы. Слева крупный «главный объект» темы (--page-obj),
   справа свечение цвета луны, внизу через всю ширину — «земля» темы (--page-ground: горы, крыши). Задаёт make_themes.py */
@media (min-width:1150px){
  body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    --side:calc((100vw - 840px) / 2);
    background:
      var(--page-ground,none),
      /* свечение вокруг месяца справа (сам месяц — body::after) */
      radial-gradient(closest-side,color-mix(in srgb,var(--sky-moon) 20%,transparent),transparent) calc(100% - var(--side) / 2 + 160px) calc(52vh - 85px)/320px 320px no-repeat}
  /* слева — крупный «главный объект» темы: отдельным слоем, чтобы живой фон мог качать только его, а не горы */
  html::before{content:"";position:fixed;z-index:-1;pointer-events:none;width:180px;height:180px;
    left:calc((100vw - 840px) / 4 - 90px);top:24vh;background:var(--page-obj,none) center/contain no-repeat}
  /* справа — большой молодой месяц цвета луны темы: маска-серп, залитая --sky-moon (без кругов «цвета фона») */
  body::after{content:"";position:fixed;z-index:-1;pointer-events:none;width:150px;height:150px;
    left:calc(100vw - (100vw - 840px) / 4 - 75px);top:calc(52vh - 75px);background:var(--sky-moon);opacity:.88;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M62 6A46 46 0 1 0 94 62A38 38 0 1 1 62 6Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M62 6A46 46 0 1 0 94 62A38 38 0 1 1 62 6Z'/%3E%3C/svg%3E") center/contain no-repeat}
}
body{background:transparent;
  color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:840px;margin:0 auto;padding-block:14px 64px;display:flex;flex-direction:column;gap:22px}
h1,h2,h3{font-family:var(--f-display);font-weight:500;margin:0;text-wrap:balance;letter-spacing:-.01em;line-height:1.2}
h2{font-size:1.4rem} h3{font-size:1.02rem}
p{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  border:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}
.small-text{font-size:.86rem}
.tnum{font-variant-numeric:tabular-nums}
.danger-text{color:var(--again)}
.stack{display:flex;flex-direction:column;gap:12px}
.stack-xs{display:flex;flex-direction:column;gap:2px;min-width:0}
.stack-lg{display:flex;flex-direction:column;gap:22px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.between{justify-content:space-between}
.center{justify-content:center}

/* ---------- шапка ---------- */
.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px}
.brand-name{font-family:var(--f-display);font-weight:700;font-size:1.25rem;letter-spacing:.01em}
.nav{display:flex;gap:4px;margin-right:auto}
.nav a{padding:7px 12px;border-radius:999px;color:var(--muted);font-weight:500;font-size:.92rem;display:inline-flex;gap:6px;align-items:center}
.nav a:hover{color:var(--fg)}
.nav a.on{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.badge{font-size:.72rem;min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
select.lang,select.field{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.9rem}
.nav-ic{display:none}
@media (max-width:600px){
  .nav{order:3;width:100%;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .nav a{flex-direction:column;justify-content:center;text-align:center;gap:2px;padding:6px 2px;border-radius:14px;font-size:.72rem;line-height:1.15;min-width:0}
  .nav-ic{display:block;font-size:1.15rem;line-height:1}
  .nav .badge{font-size:.62rem}
}

/* ---------- кнопки и поля ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.94rem;
  background:var(--surface-2);transition:transform .12s,background .12s;min-height:44px}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent);color:var(--accent-fg)}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.btn.on-sky{color:var(--sky-fg);box-shadow:inset 0 0 0 1px var(--sky-line)}
.btn.small{padding:6px 12px;min-height:34px;font-size:.86rem}
.btn.danger{color:var(--again)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.meteor-btn{background:var(--sky);color:var(--sky-moon)}
.traps-btn{color:var(--hard);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hard) 45%,transparent)}
.traps-btn .chip{margin-left:4px;padding:0 7px}
.icon{padding:6px 8px;border-radius:8px;font-size:.84rem;color:var(--muted);display:inline-flex;align-items:center}
.icon:hover{background:var(--surface-2);color:var(--fg)}
.icon.armed{color:var(--again)}
.link{color:var(--accent);font-weight:500;font-size:.9rem;padding:4px 0;align-self:center}
.link:disabled{color:var(--muted);cursor:default}
.code-input{font-family:var(--f-display);font-size:1.6rem!important;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
input[type=email],input[type=text],input[type=password],textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;min-width:0;width:100%}
textarea{resize:vertical;min-height:64px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
label.field{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:.92rem}
label.field small{font-weight:400;color:var(--muted)}
label.check{display:flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}
.inline{display:flex;gap:8px;flex-wrap:wrap}
.inline input{flex:1 1 200px;width:auto}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
details.panel summary{cursor:pointer;font-weight:600}
.chip{display:inline-block;font-size:.78rem;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums}
.chip-ok{color:var(--good)}
.lock{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--muted)}
.lock svg{flex:none;margin-top:2px}

/* ---------- ночное небо ---------- */
.sky{position:relative;isolation:isolate;overflow:hidden;background:var(--sky);color:var(--sky-fg);border-radius:var(--r-lg);
  --moon:var(--sky-moon);--moon-shadow:var(--sky-moon-shadow)}
.sky::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.9;
  background:
    var(--sky-obj, none),   /* «главный объект» темы: Земля, Марс, тыква… — задаётся темой (tools/make_themes.py) */
    radial-gradient(1.2px 1.2px at 8% 18%,#fff 98%,transparent),radial-gradient(1px 1px at 22% 72%,#fff 98%,transparent),
    radial-gradient(1.4px 1.4px at 35% 12%,#fff 98%,transparent),radial-gradient(1px 1px at 48% 58%,#dfe2ff 98%,transparent),
    radial-gradient(1.6px 1.6px at 62% 24%,#fff 98%,transparent),radial-gradient(1px 1px at 71% 82%,#fff 98%,transparent),
    radial-gradient(1.2px 1.2px at 84% 40%,#fff3c8 98%,transparent),radial-gradient(1px 1px at 93% 14%,#fff 98%,transparent),
    radial-gradient(1px 1px at 15% 46%,#cfd4ff 98%,transparent),radial-gradient(1.3px 1.3px at 55% 90%,#fff 98%,transparent),
    radial-gradient(1px 1px at 78% 62%,#fff 98%,transparent),radial-gradient(1.1px 1.1px at 4% 88%,#fff 98%,transparent),
    radial-gradient(1px 1px at 41% 34%,#fff 98%,transparent),radial-gradient(1.2px 1.2px at 97% 70%,#fff 98%,transparent),
    radial-gradient(80% 60% at 85% 0%,rgba(120,130,255,.16),transparent 70%)}
.sky-fg{color:var(--sky-fg)} .sky-muted{color:var(--sky-muted)}
.moon.glow{filter:drop-shadow(0 0 18px rgba(243,226,166,.38)) drop-shadow(0 0 48px rgba(243,226,166,.16))}
.moon.glow-soft{filter:drop-shadow(0 0 10px rgba(210,174,69,.35))}
.ecl.on{filter:drop-shadow(0 0 4px rgba(240,143,112,.55))}

/* герой: серия */
.hero{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"moon main" "today today" "days days" "ecl ecl";gap:18px 26px;padding:26px 24px 22px;align-items:center}
.hero-moon{grid-area:moon;display:flex}
.hero-main{grid-area:main;display:flex;flex-direction:column;gap:2px;min-width:0}
.hero-today{grid-area:today;display:flex;flex-direction:column;gap:8px}
.rank{font-family:var(--f-display);font-weight:300;font-size:1.02rem;color:var(--sky-moon);letter-spacing:.02em}
.num{font-family:var(--f-display);font-weight:700;font-size:4.4rem;line-height:.95;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.num-label{font-size:1rem;color:var(--sky-fg);margin-bottom:4px}
.status{font-weight:500}
.status.ok{color:#7fe0a8} .status.warn{color:#f2c179} .status.bad{color:#ff978c}
.meter{height:6px;background:var(--sky-line);border-radius:6px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--sky-moon);border-radius:6px;transition:width .5s}
.days{grid-area:days;display:grid;grid-template-columns:repeat(21,1fr);gap:3px}
.days span{display:flex;justify-content:center}
.days svg{width:100%;height:auto;max-width:22px}
.days .today svg{outline:1.5px solid var(--sky-muted);outline-offset:2px;border-radius:50%}
.eclipse-row{grid-area:ecl;display:flex;gap:12px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--sky-line)}
.ecl-discs{display:flex;gap:6px;flex:none;padding-top:2px}
.sky-fg b,.eclipse-row b{font-weight:600;color:var(--sky-fg)}
@media (max-width:520px){
  .hero{grid-template-columns:auto 1fr;gap:16px 18px;padding:22px 18px 18px}
  .hero-moon svg.moon{width:92px;height:92px}
  .num{font-size:3.2rem}
}

/* ---------- вход ---------- */
.auth{display:flex;flex-direction:column;gap:18px;align-items:center}
.sky-auth{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:40px 22px 34px}
.wordmark{font-family:var(--f-display);font-weight:700;font-size:2.6rem;letter-spacing:.02em}
.sky-text{max-width:40ch;color:var(--sky-muted)}
.auth-form{width:100%;max-width:420px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:999px;padding:4px}
.tabs button{padding:8px;border-radius:999px;font-weight:600;color:var(--muted)}
.tabs button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(20,24,60,.12)}

/* ---------- разделы ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px}
.sec{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);min-width:0;transition:border-color .15s}
.sec:hover{border-color:var(--accent)}
.sec .meta{min-width:0;display:flex;flex-direction:column;gap:3px}
.sec .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sec .kind{font-size:.78rem;color:var(--muted)}
.counts{font-size:.8rem;font-variant-numeric:tabular-nums;display:flex;gap:10px;flex-wrap:wrap}
.c-due{color:var(--good)} .c-new{color:var(--easy)}
.empty{padding:28px 20px;border:1px dashed var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.newsec{display:grid;grid-template-columns:1fr auto auto;gap:8px}
@media (max-width:520px){.newsec{grid-template-columns:1fr 1fr}.newsec input{grid-column:1/-1}}

.sechead{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.sechead .t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 220px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.stat b{font-family:var(--f-display);font-weight:500;font-size:1.4rem;font-variant-numeric:tabular-nums}
@media (max-width:480px){.stats{grid-template-columns:repeat(2,1fr)}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.pair{grid-template-columns:1fr}}
.cards{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.citem{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.citem>div{min-width:0;overflow-wrap:anywhere}
.front-cell{display:flex;gap:4px;align-items:center}
.citem .due{font-size:.76rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.citem .acts{display:flex;gap:2px;align-items:center}
@media (max-width:560px){.citem{grid-template-columns:1fr auto}.citem .acts{grid-row:1/3;grid-column:2;flex-direction:column;align-items:flex-end}}

/* ---------- достижения ---------- */
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ach{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.ach:not(.done){opacity:.72}
.ach.done{border-color:color-mix(in srgb,var(--moon) 55%,var(--line))}

/* ---------- обучение: карточка переворачивается ---------- */
.progress{height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:var(--moon);transition:width .3s}
.flip{position:relative;perspective:1400px}
.flip-inner{display:grid;transition:transform .5s cubic-bezier(.3,.7,.2,1);transform-style:preserve-3d}
.flip.flipped .flip-inner{transform:rotateY(180deg)}
.face{grid-area:1/1;min-height:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 22px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.face-front{cursor:pointer;user-select:none}
.face-back{transform:rotateY(180deg)}
.front{font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,5vw,2.1rem);overflow-wrap:anywhere;max-width:100%}
.front.small{font-size:1.05rem;color:var(--muted)}
.face hr{width:50%;border:0;border-top:1px solid var(--line);margin:0}
.backside{font-size:1.25rem;overflow-wrap:anywhere;max-width:100%;white-space:pre-wrap}
.say.float{position:absolute;top:12px;right:12px;z-index:2}
.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.grade{padding:12px 4px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:600;min-height:66px}
.grade small{font-weight:400;font-size:.76rem;color:var(--muted)}
.g1{color:var(--again)} .g2{color:var(--hard)} .g3{color:var(--good)} .g4{color:var(--easy)}
.grade:hover,.grade:focus-visible{border-color:currentColor}
.done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 20px}

/* ---------- «Метеоритный дождь» ---------- */
.meteor-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:30px 24px;min-height:260px;justify-content:flex-end}
.meteor-intro p{max-width:52ch}
.shower{position:absolute;inset:0;z-index:-1;pointer-events:none}
.shower i{position:absolute;top:-10%;width:2px;height:90px;background:linear-gradient(to bottom,transparent,var(--sky-moon));border-radius:2px;
  transform:rotate(35deg);animation:streak 3.2s linear infinite;opacity:0}
.shower i:nth-child(1){left:20%;animation-delay:0s} .shower i:nth-child(2){left:45%;animation-delay:.9s}
.shower i:nth-child(3){left:70%;animation-delay:1.7s} .shower i:nth-child(4){left:88%;animation-delay:2.3s} .shower i:nth-child(5){left:60%;animation-delay:2.9s}
@keyframes streak{0%{opacity:0;translate:0 0}10%{opacity:1}60%{opacity:0;translate:-160px 300px}100%{opacity:0;translate:-160px 300px}}
.game-bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.game-bar b{font-family:var(--f-display);font-size:1.7rem;font-weight:700}
.combo{color:var(--hard);font-weight:600}
.progress.time i{background:var(--accent);transition:width .1s linear}
.arena{height:250px}
.meteor{position:absolute;left:50%;top:0;transform:translateX(-50%);animation:fall 7s linear forwards;max-width:86%;
  padding:12px 20px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#fff6d6,var(--sky-moon) 60%,#c9a24a);color:#2a2410;
  font-family:var(--f-display);font-weight:500;font-size:1.15rem;text-align:center;overflow-wrap:anywhere;box-shadow:0 0 24px rgba(243,226,166,.45)}
.meteor::before{content:"";position:absolute;left:50%;bottom:100%;width:4px;height:70px;transform:translateX(-50%);background:linear-gradient(to top,rgba(243,226,166,.7),transparent);border-radius:4px}
.meteor.hit{animation-play-state:paused;background:#7fe0a8;box-shadow:0 0 30px rgba(127,224,168,.6);scale:1.08;transition:scale .15s}
.meteor.miss{animation-play-state:paused;background:#ff978c;box-shadow:0 0 30px rgba(255,151,140,.6)}
@keyframes fall{from{top:-8%}to{top:calc(100% - 52px)}}
.options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt{display:flex;gap:10px;align-items:center;text-align:left;padding:14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);min-height:58px;font-weight:500}
.opt span{overflow-wrap:anywhere;min-width:0}
.opt kbd{font:inherit;font-size:.74rem;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 6px;flex:none}
.opt:hover{border-color:var(--accent)}
.opt.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 14%,var(--surface))}
.opt.wrong{border-color:var(--again);background:color-mix(in srgb,var(--again) 14%,var(--surface))}
@media (max-width:480px){.options{grid-template-columns:1fr}.arena{height:200px}}
.big-score{font-family:var(--f-display);font-weight:700;font-size:4rem;line-height:1;color:var(--sky-moon)}
.record{color:var(--sky-moon);font-weight:600}

/* ---------- согласие, вход через соцсети, юридические страницы ---------- */
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.45;cursor:pointer}
.check-row input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--accent)}
.check-row a,.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.84rem}
.divider::before,.divider::after{content:"";flex:1;border-top:1px solid var(--line)}
.social{display:grid;gap:10px}
.social-btn{justify-content:flex-start;gap:12px;padding-inline:18px;min-height:50px;color:#fff;font-size:.98rem}
.social-btn span{flex:1;text-align:center;margin-right:30px}
.social-btn small{font-weight:400;font-size:.72rem;opacity:.85}
.social-btn.google{background:#fff;color:#1f1f1f;box-shadow:inset 0 0 0 1px #dadce0}
.social-btn.telegram{background:#2aabee}
.social-btn.discord{background:#5865f2}
.social-btn.email{background:var(--surface-2);color:var(--fg)}
.social-btn:disabled{opacity:.5;cursor:not-allowed}
.center-text{text-align:center}
.method{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-block:4px}
.method form{margin:0}
.contacts{display:flex;flex-wrap:wrap;gap:8px}
.contact{display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:500}
.selectable{user-select:all}
.legal{max-width:68ch}
.legal p{line-height:1.6}
mark{background:color-mix(in srgb,var(--hard) 25%,transparent);color:inherit;border-radius:4px;padding:0 4px}
.foot{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:.84rem;color:var(--muted);padding-top:12px;border-top:1px solid var(--line)}
.foot a:hover{color:var(--fg)}

/* ---------- Луна сегодня, слово дня, лимит, звездопад ---------- */
.extras{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.extras{grid-template-columns:1fr}}
.mini{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);text-align:left;min-width:0}
.sky-mini{background:var(--sky);color:var(--sky-fg);border-color:var(--sky-line);--moon:var(--sky-moon);--moon-shadow:var(--sky-moon-shadow)}
.sky-mini .muted{color:var(--sky-muted)}
.full-bonus{color:var(--sky-moon);font-weight:600;display:inline-flex;gap:6px;align-items:center}
.game-bar .full-bonus{color:var(--hard)}
.wotd{flex-direction:column;align-items:flex-start;gap:3px;cursor:pointer;width:100%}
.wotd-front{font-family:var(--f-display);font-weight:500;font-size:1.15rem;overflow-wrap:anywhere}
.wotd-back{overflow-wrap:anywhere}
.wotd.open .wotd-hint{display:none}
.limit-full{color:var(--again);font-weight:500}
.limit-tired{color:var(--hard);font-weight:500}
/* повторы */
.dup-hint{color:var(--hard);font-weight:500;margin-top:-4px}
.dup-box{border:1px solid color-mix(in srgb,var(--hard) 45%,var(--line));background:color-mix(in srgb,var(--hard) 10%,var(--surface));
  border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.dup-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}

/* безопасность */
.backup-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.backup-codes code{font-family:ui-monospace,Consolas,monospace;background:var(--surface-2);border-radius:8px;padding:6px 10px;text-align:center}
.secret{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;letter-spacing:.06em;background:var(--surface-2);border-radius:10px;padding:8px 12px;margin:6px 0;overflow-wrap:anywhere}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.devices{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.devices .method{border-bottom:1px solid var(--line);padding-block:8px}
.seclog{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.seclog li{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between}

/* «Метеоритный дождь» 2.0: ответы падают по 4 дорожкам */
.arena2{position:relative;height:min(62vh,500px);min-height:360px;touch-action:manipulation;user-select:none}
.arena2.hurt{animation:shake .3s ease}
.q-word{position:absolute;top:12px;left:12px;right:12px;text-align:center;z-index:3;font-family:var(--f-display);font-weight:500;
  font-size:clamp(1.3rem,4.5vw,1.9rem);color:var(--sky-fg);overflow-wrap:anywhere;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.q-word.pop{animation:pop .3s ease}
.lvl{position:absolute;top:8px;right:12px;color:var(--sky-muted);z-index:3}
.lanes{position:absolute;inset:0}
.rock{position:absolute;top:0;width:23%;min-height:58px;padding:9px 8px 14px;border-radius:20px 20px 24px 24px;z-index:2;
  background:radial-gradient(circle at 35% 30%,#fff6d6,var(--sky-moon) 55%,#c9a24a);color:#2a2410;font-weight:600;
  font-size:clamp(.74rem,2.4vw,.92rem);line-height:1.25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  box-shadow:0 0 18px rgba(243,226,166,.45);will-change:transform;overflow-wrap:anywhere;text-align:center;cursor:pointer}
.rock span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rock::before{content:"";position:absolute;left:50%;bottom:100%;width:5px;height:56px;transform:translateX(-50%);
  background:linear-gradient(to top,rgba(243,226,166,.65),transparent);border-radius:4px;pointer-events:none}
.rock kbd{font:inherit;font-size:.62rem;opacity:.55}
.rock:hover{filter:brightness(1.08)}
.rock.boom{animation:boom .35s ease forwards;pointer-events:none}
.rock.cracked{background:radial-gradient(circle at 35% 30%,#ffd6d0,#ff978c 60%,#b8473c);opacity:.5;pointer-events:none}
.rock.landed{background:radial-gradient(circle at 35% 30%,#ffd6d0,#ff978c 60%,#b8473c);box-shadow:0 0 26px rgba(255,151,140,.7);pointer-events:none}
.rock.gone{opacity:0;transition:opacity .3s;pointer-events:none}
.ground{position:absolute;left:0;right:0;bottom:0;height:44px;z-index:1;
  background:radial-gradient(ellipse 18px 6px at 20% 60%,rgba(0,0,0,.18),transparent),radial-gradient(ellipse 26px 8px at 70% 40%,rgba(0,0,0,.15),transparent),
  linear-gradient(to top,#8a8fa8,#c5c8d6);border-top-left-radius:50% 24px;border-top-right-radius:50% 24px}
.spark{position:absolute;width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--sky-moon);z-index:4;pointer-events:none;
  box-shadow:0 0 8px var(--sky-moon);animation:spark .6s ease-out forwards}
.level-pop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none;
  font-family:var(--f-display);font-weight:700;font-size:2.2rem;color:var(--sky-moon);text-shadow:0 0 24px rgba(243,226,166,.6)}
.level-pop.show{animation:levelup 1.1s ease forwards}
.lives{display:inline-flex;gap:4px}
@keyframes boom{to{transform:var(--t,none) scale(1.5);opacity:0}}
@keyframes spark{to{transform:translate(var(--dx),var(--dy));opacity:0}}
@keyframes levelup{0%{opacity:0;transform:scale(.6)}25%{opacity:1;transform:scale(1.05)}80%{opacity:1}100%{opacity:0;transform:scale(1.15)}}

/* «Угадай слово» */
.guess-sky{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 18px 22px;text-align:center}
.guess-sky .moon{transition:filter .3s}
.guess-clue{font-size:1.15rem;font-weight:500;color:var(--sky-fg);max-width:40ch;overflow-wrap:anywhere}
.slots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%}
.slot{width:34px;height:44px;border-bottom:3px solid var(--sky-muted);display:flex;align-items:flex-end;justify-content:center;
  font-family:var(--f-display);font-weight:500;font-size:1.5rem;color:var(--sky-fg);text-transform:uppercase;padding-bottom:4px}
.slot.open{border-color:var(--sky-moon);animation:pop .25s ease}
.slot.missed{color:#ff978c}
.slot.fixed{border-color:transparent}
.gap{width:14px}
.keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px}
.key{min-height:46px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-weight:600;font-size:1.05rem;text-transform:uppercase}
.key:hover:not(:disabled){border-color:var(--accent)}
.key.hit{background:color-mix(in srgb,var(--good) 22%,var(--surface));border-color:var(--good);color:var(--good)}
.key.miss{opacity:.35}
@media (max-width:420px){.slot{width:26px;height:38px;font-size:1.2rem}}

/* без интернета */
.offline-bar{padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--hard) 16%,var(--surface));color:var(--fg);font-size:.88rem;border:1px solid color-mix(in srgb,var(--hard) 40%,var(--line))}

/* способы обучения */
.seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface-2);border-radius:999px;padding:4px;gap:2px}
.seg button{padding:8px 6px;border-radius:999px;font-weight:600;font-size:.86rem;color:var(--muted)}
.seg button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(20,24,60,.12)}
.chip-hot{color:var(--hard);background:color-mix(in srgb,var(--hard) 14%,var(--surface))}
.quiz-face{position:relative;transition:box-shadow .3s,border-color .3s}
.quiz-face.win{border-color:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 25%,transparent),0 0 40px color-mix(in srgb,var(--moon) 35%,transparent);animation:pop .35s ease}
.quiz-face.lose{border-color:var(--again);animation:shake .3s ease}
.quiz-result{font-weight:600;font-size:1.05rem;overflow-wrap:anywhere}
.quiz-result.good{color:var(--good)} .quiz-result.bad{color:var(--again)}
.traps-title{margin:0;font-size:1.15rem}
.trap-pairs{display:grid;gap:4px;text-align:center;padding:10px 14px;border-radius:12px;background:var(--surface-2);overflow-wrap:anywhere}
.opt:disabled{cursor:default}
@keyframes pop{50%{transform:scale(1.03)}}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.celebrate{position:fixed;inset:0;pointer-events:none;z-index:20;width:100%;height:100%}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);
  padding:10px 18px;border-radius:999px;font-size:.9rem;opacity:0;transition:opacity .2s;pointer-events:none;max-width:calc(100% - 32px);text-align:center;z-index:10}
.toast.on{opacity:1}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
  .shower{display:none}
  .meteor{animation-timing-function:steps(6)}
}

/* v3.2: режимы обучения */
.seg.seg-modes{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));border-radius:18px}
.seg.seg-modes button{border-radius:14px}
.seg.seg-dir{max-width:440px;margin-inline:auto;width:100%}
.seg.seg-dir button{font-size:.8rem;padding:6px 4px}
.slots.light .slot{color:var(--fg);border-color:var(--line)}
.slots.light .slot.open{border-color:var(--accent)}
.slots.light .slot.fixed{border-color:transparent}
.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tile{min-width:46px;min-height:50px;padding:0 10px;border-radius:12px;background:var(--surface);border:1px solid var(--line);
  font-weight:600;font-size:1.2rem;text-transform:uppercase;box-shadow:0 2px 0 var(--line)}
.tile:hover:not(:disabled){border-color:var(--accent)}
.tile:disabled{opacity:.25;box-shadow:none}
.listen-btn{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem;padding:14px 22px;margin:6px auto}
.listen-btn svg{width:26px;height:26px}
@media (max-width:420px){.tile{min-width:40px;min-height:46px;font-size:1.05rem}}

/* v3.3: примеры и словарь */
.ex-row{flex-wrap:nowrap;gap:8px}
.ex-row input{flex:1;min-width:0}
.ex-pick{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ex-line{display:block;margin-top:4px;color:var(--muted);font-style:italic;overflow-wrap:anywhere}
.hint-btn{margin-top:6px}
.ex-hint{margin:8px 0 0;max-width:40ch;font-style:italic;color:var(--muted);overflow-wrap:anywhere}
.ex-hint mark{background:none;color:var(--fg);font-weight:600;font-style:normal}
.front.ctx{font-size:1.35rem;line-height:1.4;max-width:30ch}
.ex-tr{margin:4px 0 0;max-width:40ch}
.dict-panel{display:flex;flex-direction:column;gap:12px}
.dict-sel{gap:12px}
.dict-sel .field{flex:1;min-width:140px}
.seg.seg-level{display:inline-grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(44px,auto)}
.dict-words{display:flex;flex-direction:column;gap:8px}
.dict-word{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.dict-word input{margin-top:4px}
.dw-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.dw-front{font-size:1.1rem}
.dw-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px}
.dw-head .chip{align-self:center}
@media (max-width:420px){.ex-row{flex-wrap:wrap}}

/* «Как учить» и приветствие */
.guide-toc{display:flex;flex-wrap:wrap;gap:8px}
.guide-toc .chip{text-decoration:none;color:var(--fg);padding:6px 12px;font-size:.86rem}
.guide-sec h3{display:flex;align-items:center;gap:8px;margin:0}
.guide-icon{font-size:1.3rem}
.guide-list{display:grid;gap:12px;margin:0}
.guide-list div{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:4px 16px}
.guide-list dt{font-weight:600}
.guide-list dd{margin:0}
@media (max-width:560px){.guide-list div{grid-template-columns:1fr}}
.welcome{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--sky-deep) 88%,transparent);backdrop-filter:blur(4px);animation:fade .25s ease}
.welcome-card{width:min(460px,100%);padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.welcome-card h2{margin:0}
.welcome-card p{margin:0;max-width:38ch;line-height:1.5}
.welcome-icon{font-size:3rem;line-height:1}
.welcome-skip{position:absolute;top:10px;right:12px;color:var(--sky-muted)}
.welcome-skip:hover{background:transparent;color:var(--sky-fg)}
.welcome-dots{display:flex;gap:6px;margin:6px 0}
.welcome-dots i{width:8px;height:8px;border-radius:50%;background:var(--sky-line)}
.welcome-dots i.on{background:var(--sky-moon)}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* «Лунное задание дня» */
.daily-mini{grid-column:1/-1;background:var(--sky);border-color:var(--sky-line);text-decoration:none}
.daily-mini .stack-xs{flex:1;min-width:0}
.daily-mini .btn{flex:none}
.daily-moons{font-size:1.3rem;letter-spacing:1px;white-space:nowrap}
.daily-moons.big{font-size:1.8rem;white-space:normal;overflow-wrap:anywhere}
@media (max-width:560px){.daily-mini{flex-wrap:wrap}.daily-mini .daily-moons{font-size:1.05rem}}
.daily-hero{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:28px 18px}
.daily-hero h2,.daily-hero p{margin:0}
.daily-score{font-family:var(--f-display);font-size:1.4rem}
.daily-share{margin:4px 0;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--sky-deep) 70%,transparent);color:var(--sky-fg);font:inherit;white-space:pre-wrap;user-select:all}
.daily-track{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.daily-track i{height:8px;border-radius:999px;background:var(--surface-2)}
.daily-track i.ok{background:var(--good)} .daily-track i.no{background:var(--again)} .daily-track i.now{background:var(--moon)}
.daily-review{display:grid;gap:6px}
.daily-review div{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere}

/* приглашения друзей */
.ref-link{flex-wrap:nowrap}
.ref-link input{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:.85rem}
.ref-stats{grid-template-columns:repeat(3,1fr)}

/* ---------- 4.7: стихи ---------- */
.poem-text p{margin:0 0 1em}
.poem-text p:last-of-type{margin-bottom:0}
.poem-text.big{font-size:1.08rem;line-height:1.7}
.pline{display:block;padding-left:14px;position:relative;overflow-wrap:anywhere}
.pline.ln-new::before,.pline.ln-learn::before,.pline.ln-done::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%}
.pline.ln-new::before{background:var(--line)} .pline.ln-learn::before{background:var(--easy)} .pline.ln-done::before{background:var(--good)}
.poem-legend{margin-top:12px} .poem-legend .pline{display:inline-block;margin-right:12px}
.pline.tap{cursor:pointer;border-radius:var(--r-sm)} .pline.tap:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.pl-dots{color:var(--muted);letter-spacing:.08em}
.gapw{font:inherit;color:var(--accent);padding:0 2px;border-bottom:1.5px dashed var(--accent);border-radius:0;letter-spacing:.05em}
.poem-face{text-align:left;align-items:stretch}
.poem-ctx{font-size:1.1rem;font-style:italic;color:var(--muted);overflow-wrap:anywhere}
.poem-hint{color:var(--muted);letter-spacing:.04em}
.poem-ans{font-size:1.12rem;line-height:1.6;overflow-wrap:anywhere}
.poem-ans mark.miss{background:color-mix(in srgb,var(--again) 22%,transparent);color:inherit;border-radius:4px;padding:0 2px}
.poem-live{margin:0;font-size:.95rem;color:var(--muted);font-style:italic;overflow-wrap:anywhere}
.mic-box p{margin:0 0 10px}
.btn.rec{background:var(--again);color:#fff;border-color:transparent;animation:recPulse 1.4s ease-in-out infinite}
@keyframes recPulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--again) 25%,transparent)}}
@media (prefers-reduced-motion:reduce){.btn.rec{animation:none}}
.seg.seg-parts{display:flex;flex-wrap:wrap;border-radius:var(--r-md)} .seg.seg-parts button{flex:1 0 2.8em}
.poem-practice textarea{width:100%}
/* открытая бета */
.beta-chip{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);vertical-align:middle;margin-left:6px}
.beta-note{font-size:.86rem;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-md);padding:10px 12px;margin:0}

/* ---------- 4.9: друзья и лиги ---------- */
.friend-id{font-size:1.6rem;letter-spacing:.06em}
.qr-box{display:flex;flex-direction:column;align-items:center;gap:8px}
.qr-box img{border-radius:var(--r-md);background:#fff;padding:6px;max-width:100%;height:auto}
.friend-list{display:flex;flex-direction:column;gap:8px}
.friend{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap}
.friend .grow,.league .grow{flex:1;min-width:0;overflow-wrap:anywhere}
.found{padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r-md)}
.cheer-note{margin:0}
.share-box{margin-top:10px}
.row.wrap{flex-wrap:wrap}
.league{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.league li{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--r-sm);background:var(--surface)}
.league li.me{box-shadow:inset 0 0 0 1.5px var(--accent)}
.league .place{width:2em;text-align:center;font-variant-numeric:tabular-nums}
.seg.seg-2{grid-template-columns:repeat(2,1fr)}

/* ---------- 4.10: вход по паролю ---------- */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;opacity:0}
.codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.codes code{white-space:nowrap;padding:8px 10px;border:1px dashed var(--line);border-radius:var(--r-sm);text-align:center;font-size:1rem;letter-spacing:.04em}

/* ---------- 4.11: учебные группы ---------- */
a.group-row{color:inherit;text-decoration:none}
a.group-row:hover{border-color:var(--accent)}

/* луна-питомец (4.15): лицо и наряды — SVG поверх луны (−25…125 × −45…115 в единицах луны), фраза в облачке */
.hero-moon.pet{position:relative;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}
.hero-moon.pet.has-hat{margin-top:52px}   /* шапка на макушке выходит выше луны — чтобы кончик не упирался в край */
.pet-layer,.pet-preview .pet-layer{position:absolute;left:-25%;top:-45%;width:150%;height:160%;pointer-events:none;overflow:visible}
.pet-say{position:absolute;left:-4px;top:calc(100% + 10px);z-index:3;width:max-content;max-width:min(230px,70vw);
  background:var(--sky-fg);color:var(--sky-deep);padding:8px 12px;border-radius:14px;font-size:.85rem;line-height:1.35;font-weight:500;
  box-shadow:0 6px 20px rgba(0,0,0,.35);animation:pet-pop .25s ease-out}
.pet-say::before{content:"";position:absolute;left:64px;top:-6px;width:12px;height:12px;background:inherit;transform:rotate(45deg);border-radius:2px}
@media (max-width:600px){.pet-say::before{left:44px}}
.pet-sleep .moon{filter:brightness(.8)}
.pet-z{animation:pet-z 2.4s ease-in-out infinite}
.pet-hop{animation:pet-hop .6s ease-out}
.pet-snore{animation:pet-snore .8s ease-in-out}
.pet-preview{position:relative;width:96px;height:96px;margin:60px 0 4px 26px}
.po-thumb{position:relative;display:inline-block;width:26px;height:26px;margin:4px 6px 4px 0;vertical-align:middle;flex:none}
.po-thumb .moon{display:block}.po-thumb .pet-layer{position:absolute;left:-25%;top:-45%;width:150%;height:160%;pointer-events:none;overflow:visible}
@keyframes pet-pop{from{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:none}}
@keyframes pet-hop{0%,100%{transform:translateY(0)}35%{transform:translateY(-14px) rotate(-4deg)}65%{transform:translateY(0) rotate(3deg)}80%{transform:translateY(-4px)}}
@keyframes pet-snore{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes pet-z{0%,100%{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@media (max-width:600px){.hero-moon.pet.has-hat{margin-top:26px}}
@media (prefers-reduced-motion:reduce){.pet-z,.pet-hop,.pet-snore,.pet-say{animation:none}}

/* живой фон (Mnemoon Plus, «Оформление» → «Живой фон»): класс anim-bg на <html>. Только transform и opacity —
   считает видеокарта, батарею почти не ест. «Уменьшить движение» в системе — всё стоит */
:root.anim-bg::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:var(--page-stars) 130px 90px/260px 260px;animation:bg-twinkle 5s ease-in-out infinite alternate}
:root.anim-bg .wrap::before{content:"";position:fixed;z-index:-1;pointer-events:none;top:-80px;left:70%;width:180px;height:2px;
  border-radius:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sky-moon) 90%,#fff));opacity:0;
  transform:rotate(-35deg);animation:bg-meteor 13s linear infinite 3s}
@keyframes bg-twinkle{from{opacity:.15}to{opacity:.9}}
@keyframes bg-meteor{0%,88%{opacity:0;transform:rotate(-35deg) translateX(0)}
  90%{opacity:.9}100%{opacity:0;transform:rotate(-35deg) translateX(-900px)}}
@keyframes bg-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}
@keyframes bg-float{0%,100%{transform:translate(0,0)}50%{transform:translate(-6px,10px)}}
@media (min-width:1150px){
  :root.anim-bg::before{animation:bg-bob 7s ease-in-out infinite}
  :root.anim-bg body::after{animation:bg-float 11s ease-in-out infinite}
}
@media (prefers-reduced-motion:reduce){:root.anim-bg::after,:root.anim-bg::before,:root.anim-bg body::after,:root.anim-bg .wrap::before{animation:none}
  :root.anim-bg .wrap::before{display:none}}

/* «Лунный босс» группы и «Битва групп» (4.13) */
.boss{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.boss-head{display:flex;align-items:center;gap:12px}.boss-head .grow{flex:1;min-width:0}
.boss-icon{font-size:2.4rem;line-height:1;filter:drop-shadow(0 0 12px rgba(255,255,255,.25))}
.boss.won .boss-icon{filter:grayscale(1) opacity(.6)}
.boss-name{font-family:var(--f-display);font-weight:500;font-size:1.1rem;color:var(--sky-fg)}
.boss-hp{height:10px;border-radius:6px;background:var(--sky-line);overflow:hidden}
.boss-hp i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#e0574a,var(--sky-moon));transition:width .6s}
.boss.won{box-shadow:inset 0 0 0 2px var(--sky-moon)}
.battle-bar{height:10px;border-radius:6px;background:color-mix(in srgb,var(--again) 55%,var(--surface-2));overflow:hidden}
.battle-bar i{display:block;height:100%;background:var(--good);border-radius:6px 0 0 6px}
.battle.win{box-shadow:inset 0 0 0 1.5px var(--good)}

/* отчёт об учёбе (4.13): на экране — как лист бумаги, при печати — только он */
.report-doc{background:#fff;color:#1b1d2a;border-radius:var(--r-md);padding:28px 30px;box-shadow:0 1px 0 var(--line),0 8px 30px rgba(0,0,0,.12);
  display:flex;flex-direction:column;gap:12px;font-size:.95rem}
.report-doc h2{font-size:1.35rem;color:#1b1d2a}.report-doc h3{font-size:1rem;color:#1b1d2a;margin-top:6px}
.rp-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #1b1d2a;padding-bottom:12px}
.rp-brand{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:700;--moon:#d2ae45;--moon-shadow:#e3e5ef}
.rp-muted{color:#5b6075}
.rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.rp-stat{border:1px solid #d9dbe6;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.rp-stat b{font-family:var(--f-display);font-size:1.5rem;font-weight:600}.rp-stat span{color:#5b6075;font-size:.82rem}
.rp-chart{width:100%;height:110px;fill:#4b4fd0}.rp-chart .rp-zero{fill:#d9dbe6}
.rp-table{width:100%;border-collapse:collapse}.rp-table th,.rp-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #e3e5ef}
.rp-table th{font-size:.8rem;color:#5b6075;font-weight:600}
.rp-note{font-size:.8rem}.rp-code{font-size:.85rem;border-top:1px dashed #c9ccda;padding-top:10px;overflow-wrap:anywhere}
.rp-ok{padding:12px 16px}
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important}
  body::before,body::after,.top,#nav,.foot,.no-print,.toast{display:none!important}
  body{padding:0}.wrap,main{padding:0;max-width:none}
  .report-doc{box-shadow:none;border-radius:0;padding:0}
}

/* ===== темы оформления (4.12) — начало ===== */
/* Тема = набор цветов поверх основных. Небо одинаковое в обоих режимах; светлый/тёмный и Telegram — как раньше.
   Сгенерировано: python tools/make_themes.py — цвета меняйте там и запускайте заново. */
:root[data-theme="crescent"]{--sky:#101c33; --sky-deep:#08111f; --sky-line:#2a3d5c; --sky-moon:#e3ebf7; --sky-muted:#a9b9d1; --sky-moon-shadow:#22324d; --accent:#33639f; --moon:#8ea7c6}
:root[data-theme="fullmoon"]{--sky:#1c1530; --sky-deep:#110c1f; --sky-line:#3c2f55; --sky-moon:#ffd77a; --sky-muted:#c7b8d9; --sky-moon-shadow:#33284a; --accent:#92630f; --moon:#d29a2e}
:root[data-theme="meteor"]{--sky:#0f1430; --sky-deep:#080b1f; --sky-line:#2b3263; --sky-moon:#ffbf96; --sky-muted:#b3b6d8; --sky-moon-shadow:#262c57; --accent:#b34f22; --moon:#e08a52}
:root[data-theme="library"]{--sky:#3a2c1d; --sky-deep:#261c12; --sky-line:#5a4630; --sky-moon:#f4dfb0; --sky-muted:#d2bd99; --sky-moon-shadow:#4e3c28; --bg:#f3ecdf; --surface:#fffaf0; --surface-2:#ece2cf; --fg:#2f2416; --muted:#6b5a42; --line:#d8cbb1; --accent:#8a5a2b; --moon:#b8862b; --moon-shadow:#e3d6bd}
:root[data-theme="poet"]{--sky:#16133a; --sky-deep:#0c0a26; --sky-line:#352f6e; --sky-moon:#ebe0ff; --sky-muted:#b6afe0; --sky-moon-shadow:#2c2760; --accent:#6338b0; --moon:#9a7bd6}
:root[data-theme="constellation"]{--sky:#0c1d2b; --sky-deep:#06121c; --sky-line:#22425a; --sky-moon:#c4ecff; --sky-muted:#9fc1d6; --sky-moon-shadow:#1c3448; --accent:#1b7480; --moon:#4ea3b5}
:root[data-theme="eclipse"]{--sky:#06060b; --sky-deep:#000; --sky-line:#202030; --sky-moon:#ffe6b0; --sky-muted:#a8a8c0; --sky-moon-shadow:#000; --accent:#2b2b3a; --moon:#b8862b}
:root[data-theme="aurora"]{--sky:#071a24; --sky-deep:#031016; --sky-line:#16404a; --sky-moon:#ccfff0; --sky-muted:#9cc9c4; --sky-moon-shadow:#123640; --accent:#0f7d61; --moon:#3fae8e}
:root[data-theme="mars"]{--sky:#2a0f0b; --sky-deep:#1a0805; --sky-line:#5a2418; --sky-moon:#ffb59a; --sky-muted:#e0a693; --sky-moon-shadow:#4a1c13; --bg:#f6ece8; --surface-2:#efdcd5; --line:#e3c9bf; --accent:#ab3f25; --moon:#d9704f}
:root[data-theme="solar"]{--sky:#120c02; --sky-deep:#070400; --sky-line:#3d2a0c; --sky-moon:#ffd257; --sky-muted:#d1b98a; --sky-moon-shadow:#000; --accent:#9a6800; --moon:#e0a800}
:root[data-theme="sakura"]{--sky:#2a1530; --sky-deep:#1a0c1f; --sky-line:#553060; --sky-moon:#ffd3e4; --sky-muted:#d9adc6; --sky-moon-shadow:#45244f; --bg:#fbf0f4; --surface-2:#f4e0e8; --line:#ecd0dc; --accent:#b8336f; --moon:#e07aa5}
:root[data-theme="neon"]{--sky:#0a0420; --sky-deep:#05010f; --sky-line:#3a1a6a; --sky-moon:#4ff3ff; --sky-muted:#b49de0; --sky-moon-shadow:#1d0d40; --accent:#7a22d1; --moon:#18b9c9}
:root[data-theme="owl"]{--sky:#120d2e; --sky-deep:#09061c; --sky-line:#2e2560; --sky-moon:#ffc857; --sky-muted:#b2a9dd; --sky-moon-shadow:#241c4f; --accent:#5634ad; --moon:#d99a1e}
:root[data-theme="dawn"]{--sky:#3a2747; --sky-deep:#241830; --sky-line:#5e4170; --sky-moon:#ffe0b8; --sky-muted:#e3c3cf; --sky-moon-shadow:#4f3660; --bg:#fbf1ec; --surface-2:#f4e1d8; --line:#ead2c6; --accent:#b5482d; --moon:#e8925f}
:root[data-theme="polyglot"]{--sky:#0f2233; --sky-deep:#081521; --sky-line:#244560; --sky-moon:#e8f4ff; --sky-muted:#a7c3d9; --sky-moon-shadow:#1b3549; --accent:#1c6892; --moon:#4c95c2}
:root[data-theme="terminal"]{--sky:#050c06; --sky-deep:#020603; --sky-line:#1a3a22; --sky-moon:#39ff88; --sky-fg:#c9ffd9; --sky-muted:#7cc496; --sky-moon-shadow:#0c2312; --accent:#13703a; --moon:#1f9e54}
:root[data-theme="flawless"]{--sky:#1a1d24; --sky-deep:#0f1116; --sky-line:#3a3f4b; --sky-moon:#f2f4f8; --sky-muted:#b8bfcc; --sky-moon-shadow:#2c303a; --accent:#465166; --moon:#8b95a8}
:root[data-theme="lunaryear"]{--sky:#140b00; --sky-deep:#0a0500; --sky-line:#46300a; --sky-moon:#ffd34d; --sky-muted:#d9c08a; --sky-moon-shadow:#2e1f05; --accent:#8a5f00; --moon:#d9a300}
:root[data-theme="halloween"]{--sky:#1a0b1f; --sky-deep:#0e0512; --sky-line:#40204a; --sky-moon:#ff9a3d; --sky-muted:#d0aed8; --sky-moon-shadow:#2e1436; --accent:#b8480c; --moon:#f07d16}
:root[data-theme="winter"]{--sky:#0e1f33; --sky-deep:#071220; --sky-line:#28445f; --sky-moon:#ffffff; --sky-muted:#b4cbe0; --sky-moon-shadow:#1c3550; --bg:#eef4fa; --surface-2:#dfe9f3; --line:#cbdbea; --accent:#285f9e; --moon:#8fb3d9}
:root[data-theme="spring"]{--sky:#17283a; --sky-deep:#0d1826; --sky-line:#2f4a63; --sky-moon:#ffe6f1; --sky-muted:#bdd3c6; --sky-moon-shadow:#243c52; --bg:#f1f8f2; --surface-2:#e0efe3; --line:#cfe3d4; --accent:#2a7d45; --moon:#e48fb5}
:root[data-theme="ocean"]{--sky:#031a26; --sky-deep:#010e15; --sky-line:#0f3f52; --sky-moon:#7ff7ff; --sky-muted:#8fc5cf; --sky-moon-shadow:#0a3040; --accent:#08707f; --moon:#1fb3c4}
:root[data-theme="saturn"]{--sky:#14100a; --sky-deep:#0a0805; --sky-line:#3d321f; --sky-moon:#f5d9a0; --sky-muted:#cbbb98; --sky-moon-shadow:#2c2414; --accent:#8d5f22; --moon:#c99a4e}
:root[data-theme="nebula"]{--sky:#0b0820; --sky-deep:#050312; --sky-line:#32245e; --sky-moon:#ffd6ff; --sky-muted:#c0aee0; --sky-moon-shadow:#22184a; --accent:#8536a8; --moon:#c56fe0}
:root[data-theme="alps"]{--sky:#24384f; --sky-deep:#162538; --sky-line:#3f5878; --sky-moon:#ffffff; --sky-muted:#c3d2e3; --sky-moon-shadow:#344a64; --bg:#f3f6fa; --surface-2:#e3eaf2; --line:#d0dbe7; --accent:#2b5a85; --moon:#9db6d1}
:root[data-theme="city"]{--sky:#0d0f1f; --sky-deep:#06070f; --sky-line:#2b2f4d; --sky-moon:#ffe9a8; --sky-muted:#b4b6cf; --sky-moon-shadow:#1d2038; --accent:#a5641a; --moon:#e0a645}
@media (prefers-color-scheme: dark){
  :root[data-theme="crescent"]:not(.tg-light){--accent:#a3c4ef; --moon:#e3ebf7}
  :root[data-theme="fullmoon"]:not(.tg-light){--accent:#f2c46a; --accent-fg:#1c1530; --moon:#ffd77a}
  :root[data-theme="meteor"]:not(.tg-light){--accent:#ffa47a; --accent-fg:#0f1430; --moon:#ffbf96}
  :root[data-theme="library"]:not(.tg-light){--bg:#1d1812; --surface:#2a231a; --surface-2:#352c21; --fg:#f1e7d6; --muted:#b8a68b; --line:#4a3e2e; --accent:#e0b47a; --accent-fg:#1d1812; --moon:#f4dfb0; --moon-shadow:#4e3c28}
  :root[data-theme="poet"]:not(.tg-light){--accent:#c6a8ff; --moon:#ebe0ff}
  :root[data-theme="constellation"]:not(.tg-light){--accent:#84d8e2; --accent-fg:#0c1d2b; --moon:#c4ecff}
  :root[data-theme="eclipse"]:not(.tg-light){--bg:#07070c; --surface:#111118; --surface-2:#1a1a24; --line:#26263a; --accent:#ffcf70; --accent-fg:#07070c; --moon:#ffe6b0; --moon-shadow:#000}
  :root[data-theme="aurora"]:not(.tg-light){--accent:#72e4c2; --accent-fg:#071a24; --moon:#ccfff0}
  :root[data-theme="mars"]:not(.tg-light){--bg:#1b0f0d; --surface:#281614; --surface-2:#34201c; --line:#4d2c25; --accent:#ff8d6a; --accent-fg:#1b0f0d; --moon:#ffb59a}
  :root[data-theme="solar"]:not(.tg-light){--accent:#ffcb4d; --accent-fg:#120c02; --moon:#ffd257}
  :root[data-theme="sakura"]:not(.tg-light){--bg:#1c1020; --surface:#28172d; --surface-2:#33203a; --line:#4b2d55; --accent:#ff9fc8; --accent-fg:#1c1020; --moon:#ffd3e4}
  :root[data-theme="neon"]:not(.tg-light){--accent:#ff5ad9; --accent-fg:#0a0420; --moon:#4ff3ff}
  :root[data-theme="owl"]:not(.tg-light){--accent:#b9a4ff; --accent-fg:#120d2e; --moon:#ffc857}
  :root[data-theme="dawn"]:not(.tg-light){--bg:#1d1420; --surface:#2a1d2c; --surface-2:#352536; --line:#4c3550; --accent:#ffad8c; --accent-fg:#1d1420; --moon:#ffe0b8}
  :root[data-theme="polyglot"]:not(.tg-light){--accent:#86c8f0; --accent-fg:#0f2233; --moon:#e8f4ff}
  :root[data-theme="terminal"]:not(.tg-light){--bg:#050c06; --surface:#0b160d; --surface-2:#102014; --fg:#c9ffd9; --muted:#7cb98f; --line:#1d3a24; --accent:#39ff88; --accent-fg:#050c06; --moon:#39ff88; --moon-shadow:#0c2312}
  :root[data-theme="flawless"]:not(.tg-light){--accent:#d7dde8; --accent-fg:#1a1d24; --moon:#f2f4f8}
  :root[data-theme="lunaryear"]:not(.tg-light){--accent:#ffd34d; --accent-fg:#140b00; --moon:#ffd34d}
  :root[data-theme="halloween"]:not(.tg-light){--bg:#140a17; --surface:#201224; --surface-2:#2b1830; --line:#432649; --accent:#ff9a3d; --accent-fg:#140a17; --moon:#ff9a3d}
  :root[data-theme="winter"]:not(.tg-light){--bg:#0b1726; --surface:#122236; --surface-2:#1a2d44; --line:#27405c; --accent:#a3cbff; --accent-fg:#0e1f33; --moon:#ffffff; --moon-shadow:#1c3550}
  :root[data-theme="spring"]:not(.tg-light){--bg:#0f1c17; --surface:#16271f; --surface-2:#1e3329; --line:#2b4639; --accent:#93e2ab; --accent-fg:#0f1c17; --moon:#ffe6f1; --moon-shadow:#243c52}
  :root[data-theme="ocean"]:not(.tg-light){--accent:#66e8f4; --accent-fg:#031a26; --moon:#7ff7ff}
  :root[data-theme="saturn"]:not(.tg-light){--accent:#f0c98a; --accent-fg:#14100a; --moon:#f5d9a0}
  :root[data-theme="nebula"]:not(.tg-light){--accent:#f0a0ff; --accent-fg:#0b0820; --moon:#ffd6ff}
  :root[data-theme="alps"]:not(.tg-light){--bg:#121c28; --surface:#1a2736; --surface-2:#223244; --line:#30455c; --accent:#a9cdf0; --accent-fg:#121c28; --moon:#ffffff; --moon-shadow:#344a64}
  :root[data-theme="city"]:not(.tg-light){--accent:#ffc266; --accent-fg:#0d0f1f; --moon:#ffe9a8}
}
:root.tg-dark[data-theme="crescent"]{--accent:#a3c4ef; --moon:#e3ebf7}
:root.tg-dark[data-theme="fullmoon"]{--accent:#f2c46a; --accent-fg:#1c1530; --moon:#ffd77a}
:root.tg-dark[data-theme="meteor"]{--accent:#ffa47a; --accent-fg:#0f1430; --moon:#ffbf96}
:root.tg-dark[data-theme="library"]{--bg:#1d1812; --surface:#2a231a; --surface-2:#352c21; --fg:#f1e7d6; --muted:#b8a68b; --line:#4a3e2e; --accent:#e0b47a; --accent-fg:#1d1812; --moon:#f4dfb0; --moon-shadow:#4e3c28}
:root.tg-dark[data-theme="poet"]{--accent:#c6a8ff; --moon:#ebe0ff}
:root.tg-dark[data-theme="constellation"]{--accent:#84d8e2; --accent-fg:#0c1d2b; --moon:#c4ecff}
:root.tg-dark[data-theme="eclipse"]{--bg:#07070c; --surface:#111118; --surface-2:#1a1a24; --line:#26263a; --accent:#ffcf70; --accent-fg:#07070c; --moon:#ffe6b0; --moon-shadow:#000}
:root.tg-dark[data-theme="aurora"]{--accent:#72e4c2; --accent-fg:#071a24; --moon:#ccfff0}
:root.tg-dark[data-theme="mars"]{--bg:#1b0f0d; --surface:#281614; --surface-2:#34201c; --line:#4d2c25; --accent:#ff8d6a; --accent-fg:#1b0f0d; --moon:#ffb59a}
:root.tg-dark[data-theme="solar"]{--accent:#ffcb4d; --accent-fg:#120c02; --moon:#ffd257}
:root.tg-dark[data-theme="sakura"]{--bg:#1c1020; --surface:#28172d; --surface-2:#33203a; --line:#4b2d55; --accent:#ff9fc8; --accent-fg:#1c1020; --moon:#ffd3e4}
:root.tg-dark[data-theme="neon"]{--accent:#ff5ad9; --accent-fg:#0a0420; --moon:#4ff3ff}
:root.tg-dark[data-theme="owl"]{--accent:#b9a4ff; --accent-fg:#120d2e; --moon:#ffc857}
:root.tg-dark[data-theme="dawn"]{--bg:#1d1420; --surface:#2a1d2c; --surface-2:#352536; --line:#4c3550; --accent:#ffad8c; --accent-fg:#1d1420; --moon:#ffe0b8}
:root.tg-dark[data-theme="polyglot"]{--accent:#86c8f0; --accent-fg:#0f2233; --moon:#e8f4ff}
:root.tg-dark[data-theme="terminal"]{--bg:#050c06; --surface:#0b160d; --surface-2:#102014; --fg:#c9ffd9; --muted:#7cb98f; --line:#1d3a24; --accent:#39ff88; --accent-fg:#050c06; --moon:#39ff88; --moon-shadow:#0c2312}
:root.tg-dark[data-theme="flawless"]{--accent:#d7dde8; --accent-fg:#1a1d24; --moon:#f2f4f8}
:root.tg-dark[data-theme="lunaryear"]{--accent:#ffd34d; --accent-fg:#140b00; --moon:#ffd34d}
:root.tg-dark[data-theme="halloween"]{--bg:#140a17; --surface:#201224; --surface-2:#2b1830; --line:#432649; --accent:#ff9a3d; --accent-fg:#140a17; --moon:#ff9a3d}
:root.tg-dark[data-theme="winter"]{--bg:#0b1726; --surface:#122236; --surface-2:#1a2d44; --line:#27405c; --accent:#a3cbff; --accent-fg:#0e1f33; --moon:#ffffff; --moon-shadow:#1c3550}
:root.tg-dark[data-theme="spring"]{--bg:#0f1c17; --surface:#16271f; --surface-2:#1e3329; --line:#2b4639; --accent:#93e2ab; --accent-fg:#0f1c17; --moon:#ffe6f1; --moon-shadow:#243c52}
:root.tg-dark[data-theme="ocean"]{--accent:#66e8f4; --accent-fg:#031a26; --moon:#7ff7ff}
:root.tg-dark[data-theme="saturn"]{--accent:#f0c98a; --accent-fg:#14100a; --moon:#f5d9a0}
:root.tg-dark[data-theme="nebula"]{--accent:#f0a0ff; --accent-fg:#0b0820; --moon:#ffd6ff}
:root.tg-dark[data-theme="alps"]{--bg:#121c28; --surface:#1a2736; --surface-2:#223244; --line:#30455c; --accent:#a9cdf0; --accent-fg:#121c28; --moon:#ffffff; --moon-shadow:#344a64}
:root.tg-dark[data-theme="city"]{--accent:#ffc266; --accent-fg:#0d0f1f; --moon:#ffe9a8}
/* украшения неба для некоторых тем */
:root[data-theme="eclipse"] .moon.glow{filter:drop-shadow(0 0 6px #fff3cf) drop-shadow(0 0 22px rgba(255,214,140,.55)) drop-shadow(0 0 60px rgba(255,190,90,.25))}
:root[data-theme="fullmoon"] .moon.glow,:root[data-theme="solar"] .moon.glow{filter:drop-shadow(0 0 20px rgba(255,210,100,.5)) drop-shadow(0 0 56px rgba(255,190,80,.22))}
:root[data-theme="neon"] .moon.glow{filter:drop-shadow(0 0 10px #4ff3ff) drop-shadow(0 0 30px rgba(255,90,217,.45))}
:root[data-theme="aurora"] .sky::after,:root[data-theme="neon"] .sky::after,:root[data-theme="sakura"] .sky::after,
:root[data-theme="meteor"] .sky::after,:root[data-theme="poet"] .sky::after,:root[data-theme="constellation"] .sky::after,
:root[data-theme="mars"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
:root[data-theme="aurora"] .sky::after{background:linear-gradient(115deg,transparent 20%,rgba(80,255,190,.20) 38%,rgba(120,120,255,.16) 55%,rgba(255,90,200,.10) 70%,transparent 85%);
  background-size:220% 100%;filter:blur(14px);animation:aurora 14s ease-in-out infinite alternate}
@keyframes aurora{from{background-position:0% 0}to{background-position:100% 0}}
:root[data-theme="neon"] .sky::after{background:linear-gradient(to top,rgba(255,90,217,.18),transparent 45%),
  repeating-linear-gradient(90deg,rgba(79,243,255,.07) 0 1px,transparent 1px 40px)}
:root[data-theme="sakura"] .sky::after{background:radial-gradient(5px 3px at 12% 30%,rgba(255,190,215,.7),transparent),radial-gradient(4px 3px at 70% 20%,rgba(255,190,215,.6),transparent),
  radial-gradient(5px 3px at 40% 75%,rgba(255,200,222,.55),transparent),radial-gradient(4px 3px at 88% 65%,rgba(255,190,215,.6),transparent),
  radial-gradient(60% 50% at 10% 100%,rgba(255,150,190,.18),transparent)}
:root[data-theme="mars"] .sky::after{background:linear-gradient(to top,rgba(180,70,30,.45),transparent 40%)}
:root[data-theme="meteor"] .sky::after{background:linear-gradient(200deg,transparent 46%,rgba(255,200,160,.55) 50%,transparent 51%) 0 0/220px 160px no-repeat,
  linear-gradient(200deg,transparent 46%,rgba(255,220,190,.4) 50%,transparent 51%) 60% 30%/180px 130px no-repeat;opacity:.8}
:root[data-theme="poet"] .sky::after,:root[data-theme="constellation"] .sky::after{opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200'%3E%3Cpath d='M30 40L90 70L150 50L210 90M210 90L260 60L330 80L370 40M90 70L110 140L180 160' fill='none' stroke='%23c8d4ff' stroke-width='.7'/%3E%3Cg fill='%23fff'%3E%3Ccircle cx='30' cy='40' r='1.6'/%3E%3Ccircle cx='90' cy='70' r='1.6'/%3E%3Ccircle cx='150' cy='50' r='1.4'/%3E%3Ccircle cx='210' cy='90' r='1.8'/%3E%3Ccircle cx='260' cy='60' r='1.4'/%3E%3Ccircle cx='330' cy='80' r='1.6'/%3E%3Ccircle cx='370' cy='40' r='1.4'/%3E%3Ccircle cx='110' cy='140' r='1.4'/%3E%3Ccircle cx='180' cy='160' r='1.6'/%3E%3C/g%3E%3C/svg%3E") right top/400px 200px no-repeat}
@media (prefers-reduced-motion:reduce){:root[data-theme="aurora"] .sky::after{animation:none}}

:root[data-theme="owl"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120px 60px at 50% 115%,rgba(255,200,87,.16),transparent 70%)}
:root[data-theme="dawn"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,rgba(255,150,110,.45),rgba(255,190,150,.18) 35%,transparent 65%)}
:root[data-theme="polyglot"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(160,200,240,.07) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,rgba(160,200,240,.07) 0 1px,transparent 1px 38px)}
:root[data-theme="terminal"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(57,255,136,.06) 0 1px,transparent 1px 3px)}
:root[data-theme="flawless"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%)}
:root[data-theme="halloween"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,rgba(255,120,30,.22),transparent 40%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200'%3E%3Cg fill='%23000' opacity='.55'%3E%3Cpath d='M60 40q8-6 16 0q4-8 8 0q8-6 16 0q-8 2-12 8q-4-4-8 0q-4-6-12-8z'/%3E%3Cpath d='M300 70q6-5 12 0q3-6 6 0q6-5 12 0q-6 2-9 6q-3-3-6 0q-3-4-9-6z'/%3E%3C/g%3E%3C/svg%3E") left top/400px 200px no-repeat}
:root[data-theme="winter"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='20' cy='30' r='2'/%3E%3Ccircle cx='80' cy='10' r='1.5'/%3E%3Ccircle cx='140' cy='50' r='2.2'/%3E%3Ccircle cx='180' cy='120' r='1.6'/%3E%3Ccircle cx='50' cy='150' r='2'/%3E%3Ccircle cx='110' cy='110' r='1.4'/%3E%3Ccircle cx='160' cy='180' r='2'/%3E%3Ccircle cx='30' cy='90' r='1.3'/%3E%3C/g%3E%3C/svg%3E") 0 0/200px 200px;animation:snow 14s linear infinite}
:root[data-theme="spring"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(4px 3px at 18% 70%,rgba(255,200,225,.7),transparent),radial-gradient(4px 3px at 62% 30%,rgba(190,240,200,.6),transparent),radial-gradient(5px 3px at 82% 78%,rgba(255,210,230,.6),transparent),radial-gradient(70% 50% at 50% 110%,rgba(140,220,160,.18),transparent)}
:root[data-theme="ocean"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(2px 2px at 12% 80%,#7ff7ff,transparent),radial-gradient(1.5px 1.5px at 40% 90%,#7ff7ff,transparent),radial-gradient(2px 2px at 70% 85%,#a0fff0,transparent),radial-gradient(1.5px 1.5px at 90% 75%,#7ff7ff,transparent),linear-gradient(to top,rgba(0,180,200,.22),transparent 45%);animation:glow 5s ease-in-out infinite alternate}
:root[data-theme="nebula"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 50% at 20% 30%,rgba(240,120,255,.22),transparent 70%),radial-gradient(45% 55% at 75% 70%,rgba(90,140,255,.22),transparent 70%),radial-gradient(30% 40% at 55% 20%,rgba(255,140,190,.14),transparent 70%);animation:nebula 18s ease-in-out infinite alternate}
:root[data-theme="alps"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='120' preserveAspectRatio='none'%3E%3Cpath d='M0 120L0 80L90 30L150 70L240 10L330 75L420 35L520 85L610 25L700 70L800 45L800 120Z' fill='%23162538' opacity='.85'/%3E%3Cpath d='M240 10L262 26L248 24L240 32L230 24L220 28Z M610 25L630 40L615 38L610 45L600 38L592 40Z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") left bottom/100% 45% no-repeat}
:root[data-theme="city"] .sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='120' preserveAspectRatio='none'%3E%3Cg fill='%2306070f'%3E%3Crect x='0' y='60' width='70' height='60'/%3E%3Crect x='70' y='40' width='50' height='80'/%3E%3Crect x='120' y='70' width='80' height='50'/%3E%3Crect x='200' y='30' width='40' height='90'/%3E%3Cpath d='M215 30L220 5L225 30Z'/%3E%3Crect x='240' y='55' width='90' height='65'/%3E%3Crect x='330' y='45' width='60' height='75'/%3E%3Crect x='390' y='65' width='100' height='55'/%3E%3Crect x='490' y='35' width='55' height='85'/%3E%3Crect x='545' y='60' width='85' height='60'/%3E%3Crect x='630' y='50' width='70' height='70'/%3E%3Crect x='700' y='70' width='100' height='50'/%3E%3C/g%3E%3Cg fill='%23ffe9a8' opacity='.75'%3E%3Crect x='80' y='50' width='4' height='5'/%3E%3Crect x='95' y='62' width='4' height='5'/%3E%3Crect x='210' y='45' width='4' height='5'/%3E%3Crect x='255' y='68' width='4' height='5'/%3E%3Crect x='345' y='58' width='4' height='5'/%3E%3Crect x='500' y='48' width='4' height='5'/%3E%3Crect x='520' y='70' width='4' height='5'/%3E%3Crect x='645' y='62' width='4' height='5'/%3E%3C/g%3E%3C/svg%3E") left bottom/100% 40% no-repeat}
@keyframes snow{from{background-position:0 0}to{background-position:40px 200px}}
@keyframes nebula{from{transform:scale(1) translate(0,0)}to{transform:scale(1.15) translate(-3%,2%)}}
@keyframes glow{from{opacity:.55}to{opacity:1}}
:root[data-theme="lunaryear"] .moon.glow{filter:drop-shadow(0 0 16px rgba(255,211,77,.7)) drop-shadow(0 0 50px rgba(255,180,40,.35))}
:root[data-theme="terminal"] .moon.glow{filter:drop-shadow(0 0 10px rgba(57,255,136,.7))}
:root[data-theme="halloween"] .moon.glow{filter:drop-shadow(0 0 18px rgba(255,140,40,.6))}
:root[data-theme="owl"] .moon.glow{filter:drop-shadow(0 0 14px rgba(255,200,87,.55))}
:root[data-theme="ocean"] .moon.glow{filter:drop-shadow(0 0 14px rgba(127,247,255,.6))}
@media (prefers-reduced-motion:reduce){:root[data-theme="winter"] .sky::after{animation:none}:root[data-theme="nebula"] .sky::after{animation:none}:root[data-theme="ocean"] .sky::after{animation:none}}
:root{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CradialGradient id='a' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%237cc0ff'/%3E%3Cstop offset='1' stop-color='%231d4f9a'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23a)'/%3E%3Cpath d='M18 20c7-4 13 0 11 7s-9 4-11 10-7 2-6-5 2-8 6-12zM38 36c5-2 10 1 9 7s-7 6-10 3-3-8 1-10z' fill='%234caf6a'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="crescent"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='14' fill='%23dfe8ff' opacity='.22'/%3E%3Cpath d='M32 6L35 29L58 32L35 35L32 58L29 35L6 32L29 29Z' fill='%23fff'/%3E%3Ccircle cx='32' cy='32' r='5' fill='%23fff'/%3E%3C/svg%3E") 88% 14%/40px 40px no-repeat}
:root[data-theme="fullmoon"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3CclipPath id='c'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='64' height='64' fill='%23ecd2aa'/%3E%3Crect y='17' width='64' height='7' fill='%23b98757'/%3E%3Crect y='30' width='64' height='4' fill='%23cfa074'/%3E%3Crect y='41' width='64' height='6' fill='%23a8744c'/%3E%3Cellipse cx='42' cy='44' rx='6' ry='3.5' fill='%23c4553a'/%3E%3C/g%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="meteor"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cdefs%3E%3ClinearGradient id='t' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffbf96' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23fff3e0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 62L74 13L81 23Z' fill='url(%23t)'/%3E%3Ccircle cx='78' cy='17' r='13' fill='%23ffbf96' opacity='.3'/%3E%3Ccircle cx='78' cy='17' r='7' fill='%23fff6ea'/%3E%3C/svg%3E") 86% 12%/84px 56px no-repeat}
:root[data-theme="library"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23f4dfb0' stroke-linejoin='round'%3E%3Cpath d='M6 18q13-6 26 2v30q-13-8-26-2zM58 18q-13-6-26 2v30q13-8 26-2z' stroke-width='2.6'/%3E%3Cpath d='M11 27q9-3 16 1M11 34q9-3 16 1M37 28q7-4 16-1M37 35q7-4 16-1' stroke-width='1.5' opacity='.6'/%3E%3C/g%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="poet"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 4C30 9 17 26 13 50l5 2C24 32 37 19 54 4z' fill='%23ebe0ff'/%3E%3Cpath d='M54 4C41 19 28 34 15 51' stroke='%2316133a' stroke-width='1.3' fill='none'/%3E%3Cpath d='M13 50l-5 10' stroke='%23ebe0ff' stroke-width='2.2'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="constellation"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='28' r='24' fill='%23c4ecff' opacity='.08'/%3E%3Cg fill='%23e6f7ff'%3E%3Ccircle cx='20' cy='22' r='2.8'/%3E%3Ccircle cx='30' cy='15' r='2.1'/%3E%3Ccircle cx='39' cy='24' r='3'/%3E%3Ccircle cx='28' cy='30' r='2.3'/%3E%3Ccircle cx='45' cy='35' r='1.9'/%3E%3Ccircle cx='34' cy='41' r='2.5'/%3E%3Ccircle cx='21' cy='39' r='1.7'/%3E%3C/g%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="eclipse"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23ffe6b0' opacity='.14'/%3E%3Ccircle cx='32' cy='32' r='22' fill='%23ffe6b0' opacity='.55'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23000'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="owl"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M2 57H62' stroke='%234a3a2e' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M20 22L23 11L28 19Q32 17 36 19L41 11L44 22Q48 30 46 42Q44 54 32 56Q20 54 18 42Q16 30 20 22Z' fill='%233a2f75'/%3E%3Ccircle cx='26' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='38' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='26' cy='28' r='2.6' fill='%23120d2e'/%3E%3Ccircle cx='38' cy='28' r='2.6' fill='%23120d2e'/%3E%3Cpath d='M30 35l2 4 2-4z' fill='%23ffc857'/%3E%3C/svg%3E") 88% 10%/56px 56px no-repeat}
:root[data-theme="dawn"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='100' cy='0' r='86' fill='%23ffb27a' opacity='.22'/%3E%3Ccircle cx='100' cy='0' r='62' fill='%23ffc58f' opacity='.35'/%3E%3Ccircle cx='100' cy='0' r='40' fill='%23ffe0b0'/%3E%3C/svg%3E") 100% 0/130px 130px no-repeat}
:root[data-theme="polyglot"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e8f4ff' stroke-width='1.7'%3E%3Ccircle cx='32' cy='32' r='24'/%3E%3Cellipse cx='32' cy='32' rx='11' ry='24'/%3E%3Cpath d='M8 32h48M12 20h40M12 44h40M32 8v48'/%3E%3C/g%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="terminal"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3Canimate attributeName='opacity' values='1;1;0;0' dur='1.1s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E") 88% 14%/96px 40px no-repeat}
:root[data-theme="flawless"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='26' fill='%23fff' opacity='.07'/%3E%3Cpath d='M14 22L23 11H41L50 22L32 55Z' fill='%23f2f4f8'/%3E%3Cpath d='M14 22H50M23 11L28 22L32 55L36 22L41 11M28 22L32 11L36 22' stroke='%231a1d24' stroke-width='1.1' fill='none' opacity='.45'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="lunaryear"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffd34d'%3E%3Ccircle cx='60' cy='60' r='34' stroke-width='2' opacity='.5'/%3E%3Ccircle cx='60' cy='60' r='46' stroke-width='1.6' opacity='.3'/%3E%3Ccircle cx='60' cy='60' r='57' stroke-width='1.2' opacity='.16'/%3E%3C/g%3E%3Cpath d='M38 72L34 44L48 56L60 38L72 56L86 44L82 72Z' fill='%23ffd34d'/%3E%3Crect x='38' y='74' width='44' height='6' rx='2' fill='%23e0a800'/%3E%3Ccircle cx='60' cy='38' r='3' fill='%23fff4c2'/%3E%3Ccircle cx='34' cy='44' r='2.6' fill='%23fff4c2'/%3E%3Ccircle cx='86' cy='44' r='2.6' fill='%23fff4c2'/%3E%3C/svg%3E") 90% 8%/110px 110px no-repeat}
:root[data-theme="halloween"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 20q-2-9 5-11' stroke='%234a7a2e' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='21' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='43' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='32' cy='40' rx='12' ry='18' fill='%23ff8c2a'/%3E%3Cpath d='M21 36l5-6 5 6zM34 36l5-6 5 6z' fill='%232a1200'/%3E%3Cpath d='M20 46q12 9 24 0l-4 3-4-3-4 3-4-3-4 3z' fill='%232a1200'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="winter"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg stroke='%23fff' stroke-width='2.6' stroke-linecap='round' fill='none'%3E%3Cpath d='M32 6v52M9 19l46 26M9 45l46-26'/%3E%3Cpath d='M32 15l-5-5M32 15l5-5M32 49l-5 5M32 49l5 5M17 24l-7 1M17 24l-2-7M47 40l7-1M47 40l2 7M17 40l-2 7M17 40l-7-1M47 24l2-7M47 24l7 1'/%3E%3C/g%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="spring"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 32C20 10 6 14 8 26s14 10 24 6zM32 32C44 10 58 14 56 26S42 36 32 32z' fill='%23ffb8d6'/%3E%3Cpath d='M32 34C22 44 14 52 20 56s12-10 12-22zM32 34c10 10 18 18 12 22S32 46 32 34z' fill='%23ffd9a8'/%3E%3Cpath d='M32 19v27M32 19l-5-7M32 19l5-7' stroke='%233b2a3a' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="aurora"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='16' fill='%23ccfff0' opacity='.18'/%3E%3Cpath d='M32 4L34.5 29.5L60 32L34.5 34.5L32 60L29.5 34.5L4 32L29.5 29.5ZM32 18L36 28L46 32L36 36L32 46L28 36L18 32L28 28Z' fill='%23f0fffa'/%3E%3C/svg%3E") 88% 14%/46px 46px no-repeat}
:root[data-theme="mars"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='m' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%23ff9a6b'/%3E%3Cstop offset='1' stop-color='%23a8381c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23m)'/%3E%3Cpath d='M16 30q7-5 11 0t9 4q-7 7-13 2t-7-6zM37 19q7 0 9 5-5 2-9-5z' fill='%237a2a14' opacity='.55'/%3E%3Cellipse cx='29' cy='9.5' rx='9' ry='3.2' fill='%23fff' opacity='.88'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3Ccircle cx='72' cy='14' r='3' fill='%23c9a08a'/%3E%3C/svg%3E") 88% 14%/66px 52px no-repeat}
:root[data-theme="solar"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='%23ffd257' opacity='.18'/%3E%3Ccircle cx='32' cy='32' r='21' fill='%23ffd257' opacity='.6'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23120c02'/%3E%3Ccircle cx='46' cy='19' r='9' fill='%23fff6d0' opacity='.5'/%3E%3Ccircle cx='46' cy='19' r='4' fill='%23fff'/%3E%3C/svg%3E") 88% 14%/52px 52px no-repeat}
:root[data-theme="sakura"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M80 4Q52 12 34 32T2 60' stroke='%235a3838' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cg fill='%23ffc6dc'%3E%3Ccircle cx='58' cy='11' r='6'/%3E%3Ccircle cx='40' cy='25' r='7'/%3E%3Ccircle cx='24' cy='42' r='6'/%3E%3Ccircle cx='66' cy='20' r='4.5'/%3E%3Ccircle cx='12' cy='54' r='4'/%3E%3C/g%3E%3Cg fill='%23ff8ab6'%3E%3Ccircle cx='58' cy='11' r='2'/%3E%3Ccircle cx='40' cy='25' r='2.3'/%3E%3Ccircle cx='24' cy='42' r='2'/%3E%3C/g%3E%3C/svg%3E") 100% 0/96px 76px no-repeat}
:root[data-theme="neon"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M30 46l-8 16M50 46l8 16' stroke='%234ff3ff' stroke-width='1.6' opacity='.45'/%3E%3Cpath d='M26 32q14-22 28 0' fill='none' stroke='%234ff3ff' stroke-width='2.6'/%3E%3Cellipse cx='40' cy='36' rx='31' ry='9' fill='none' stroke='%23ff5ad9' stroke-width='2.6'/%3E%3Cg fill='%234ff3ff'%3E%3Ccircle cx='28' cy='37' r='2.2'/%3E%3Ccircle cx='40' cy='39' r='2.2'/%3E%3Ccircle cx='52' cy='37' r='2.2'/%3E%3C/g%3E%3C/svg%3E") 88% 12%/66px 52px no-repeat}
:root[data-theme="ocean"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M10 34Q10 8 32 8T54 34Q46 30 40 34Q32 30 24 34Q18 30 10 34Z' fill='%237ff7ff' opacity='.8'/%3E%3Cpath d='M18 34q-4 14 2 30M28 34q4 16-2 36M38 34q-4 16 2 36M48 34q4 14-2 28' stroke='%237ff7ff' stroke-width='1.7' fill='none' opacity='.6'/%3E%3C/svg%3E") 88% 10%/44px 56px no-repeat}
:root[data-theme="saturn"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 64'%3E%3Cellipse cx='60' cy='32' rx='56' ry='12' fill='none' stroke='%23f5d9a0' stroke-width='3' opacity='.45'/%3E%3Ccircle cx='60' cy='32' r='20' fill='%23e8c98c'/%3E%3Cpath d='M41 28h38M42 37h36' stroke='%23b8924f' stroke-width='3' opacity='.55'/%3E%3Cpath d='M4 32A56 12 0 0 0 116 32' fill='none' stroke='%23f5d9a0' stroke-width='3'/%3E%3C/svg%3E") 92% 14%/110px 58px no-repeat}
:root[data-theme="nebula"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.3' stop-color='%23ffd6ff'/%3E%3Cstop offset='1' stop-color='%23ffd6ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='rotate(-20 40 32)'%3E%3Cellipse cx='40' cy='32' rx='37' ry='13' fill='url(%23g)' opacity='.75'/%3E%3Cpath d='M40 32c12-6 20 2 14 8s-22 4-28-4 6-16 20-12' stroke='%23f0a0ff' stroke-width='1.6' fill='none' opacity='.75'/%3E%3C/g%3E%3C/svg%3E") 88% 12%/80px 64px no-repeat}
:root[data-theme="alps"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M32 4C16 4 8 16 8 28c0 14 14 24 20 30h8c6-6 20-16 20-30C56 16 48 4 32 4z' fill='%23ff6b5a'/%3E%3Cpath d='M32 4c-6 6-8 16-8 26s4 22 8 28c4-6 8-18 8-28S38 10 32 4z' fill='%23ffd166'/%3E%3Cpath d='M28 58l-2 8M36 58l2 8' stroke='%235a4030' stroke-width='1.3'/%3E%3Crect x='25' y='66' width='14' height='10' rx='2' fill='%238a5a3a'/%3E%3C/svg%3E") 86% 10%/42px 54px no-repeat}
:root[data-theme="city"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 300'%3E%3Cpath d='M19 0h2v52h-2z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='2' r='2.4' fill='%23ff5a5a'/%3E%3Cpath d='M17 50h6v10h-6z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='70' r='12' fill='%23b9bbd4'/%3E%3Cpath d='M8 70h24' stroke='%23ffe9a8' stroke-width='1.8'/%3E%3Cpath d='M16.5 81h7l2 219h-11z' fill='%239ea1bd'/%3E%3C/svg%3E") 86% 100%/auto 82% no-repeat}
@media (max-width:600px){:root{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CradialGradient id='a' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%237cc0ff'/%3E%3Cstop offset='1' stop-color='%231d4f9a'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23a)'/%3E%3Cpath d='M18 20c7-4 13 0 11 7s-9 4-11 10-7 2-6-5 2-8 6-12zM38 36c5-2 10 1 9 7s-7 6-10 3-3-8 1-10z' fill='%234caf6a'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="crescent"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='14' fill='%23dfe8ff' opacity='.22'/%3E%3Cpath d='M32 6L35 29L58 32L35 35L32 58L29 35L6 32L29 29Z' fill='%23fff'/%3E%3Ccircle cx='32' cy='32' r='5' fill='%23fff'/%3E%3C/svg%3E") 97% 14%/26px 26px no-repeat}:root[data-theme="fullmoon"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3CclipPath id='c'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='64' height='64' fill='%23ecd2aa'/%3E%3Crect y='17' width='64' height='7' fill='%23b98757'/%3E%3Crect y='30' width='64' height='4' fill='%23cfa074'/%3E%3Crect y='41' width='64' height='6' fill='%23a8744c'/%3E%3Cellipse cx='42' cy='44' rx='6' ry='3.5' fill='%23c4553a'/%3E%3C/g%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="meteor"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cdefs%3E%3ClinearGradient id='t' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffbf96' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23fff3e0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 62L74 13L81 23Z' fill='url(%23t)'/%3E%3Ccircle cx='78' cy='17' r='13' fill='%23ffbf96' opacity='.3'/%3E%3Ccircle cx='78' cy='17' r='7' fill='%23fff6ea'/%3E%3C/svg%3E") 97% 12%/55px 37px no-repeat}:root[data-theme="library"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23f4dfb0' stroke-linejoin='round'%3E%3Cpath d='M6 18q13-6 26 2v30q-13-8-26-2zM58 18q-13-6-26 2v30q13-8 26-2z' stroke-width='2.6'/%3E%3Cpath d='M11 27q9-3 16 1M11 34q9-3 16 1M37 28q7-4 16-1M37 35q7-4 16-1' stroke-width='1.5' opacity='.6'/%3E%3C/g%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="poet"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 4C30 9 17 26 13 50l5 2C24 32 37 19 54 4z' fill='%23ebe0ff'/%3E%3Cpath d='M54 4C41 19 28 34 15 51' stroke='%2316133a' stroke-width='1.3' fill='none'/%3E%3Cpath d='M13 50l-5 10' stroke='%23ebe0ff' stroke-width='2.2'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="constellation"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='28' r='24' fill='%23c4ecff' opacity='.08'/%3E%3Cg fill='%23e6f7ff'%3E%3Ccircle cx='20' cy='22' r='2.8'/%3E%3Ccircle cx='30' cy='15' r='2.1'/%3E%3Ccircle cx='39' cy='24' r='3'/%3E%3Ccircle cx='28' cy='30' r='2.3'/%3E%3Ccircle cx='45' cy='35' r='1.9'/%3E%3Ccircle cx='34' cy='41' r='2.5'/%3E%3Ccircle cx='21' cy='39' r='1.7'/%3E%3C/g%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="eclipse"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23ffe6b0' opacity='.14'/%3E%3Ccircle cx='32' cy='32' r='22' fill='%23ffe6b0' opacity='.55'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23000'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="owl"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M2 57H62' stroke='%234a3a2e' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M20 22L23 11L28 19Q32 17 36 19L41 11L44 22Q48 30 46 42Q44 54 32 56Q20 54 18 42Q16 30 20 22Z' fill='%233a2f75'/%3E%3Ccircle cx='26' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='38' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='26' cy='28' r='2.6' fill='%23120d2e'/%3E%3Ccircle cx='38' cy='28' r='2.6' fill='%23120d2e'/%3E%3Cpath d='M30 35l2 4 2-4z' fill='%23ffc857'/%3E%3C/svg%3E") 97% 10%/37px 37px no-repeat}:root[data-theme="dawn"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='100' cy='0' r='86' fill='%23ffb27a' opacity='.22'/%3E%3Ccircle cx='100' cy='0' r='62' fill='%23ffc58f' opacity='.35'/%3E%3Ccircle cx='100' cy='0' r='40' fill='%23ffe0b0'/%3E%3C/svg%3E") 100% 0/86px 86px no-repeat}:root[data-theme="polyglot"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e8f4ff' stroke-width='1.7'%3E%3Ccircle cx='32' cy='32' r='24'/%3E%3Cellipse cx='32' cy='32' rx='11' ry='24'/%3E%3Cpath d='M8 32h48M12 20h40M12 44h40M32 8v48'/%3E%3C/g%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="terminal"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3Canimate attributeName='opacity' values='1;1;0;0' dur='1.1s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E") 97% 14%/63px 26px no-repeat}:root[data-theme="flawless"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='26' fill='%23fff' opacity='.07'/%3E%3Cpath d='M14 22L23 11H41L50 22L32 55Z' fill='%23f2f4f8'/%3E%3Cpath d='M14 22H50M23 11L28 22L32 55L36 22L41 11M28 22L32 11L36 22' stroke='%231a1d24' stroke-width='1.1' fill='none' opacity='.45'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="lunaryear"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffd34d'%3E%3Ccircle cx='60' cy='60' r='34' stroke-width='2' opacity='.5'/%3E%3Ccircle cx='60' cy='60' r='46' stroke-width='1.6' opacity='.3'/%3E%3Ccircle cx='60' cy='60' r='57' stroke-width='1.2' opacity='.16'/%3E%3C/g%3E%3Cpath d='M38 72L34 44L48 56L60 38L72 56L86 44L82 72Z' fill='%23ffd34d'/%3E%3Crect x='38' y='74' width='44' height='6' rx='2' fill='%23e0a800'/%3E%3Ccircle cx='60' cy='38' r='3' fill='%23fff4c2'/%3E%3Ccircle cx='34' cy='44' r='2.6' fill='%23fff4c2'/%3E%3Ccircle cx='86' cy='44' r='2.6' fill='%23fff4c2'/%3E%3C/svg%3E") 97% 8%/73px 73px no-repeat}:root[data-theme="halloween"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 20q-2-9 5-11' stroke='%234a7a2e' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='21' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='43' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='32' cy='40' rx='12' ry='18' fill='%23ff8c2a'/%3E%3Cpath d='M21 36l5-6 5 6zM34 36l5-6 5 6z' fill='%232a1200'/%3E%3Cpath d='M20 46q12 9 24 0l-4 3-4-3-4 3-4-3-4 3z' fill='%232a1200'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="winter"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg stroke='%23fff' stroke-width='2.6' stroke-linecap='round' fill='none'%3E%3Cpath d='M32 6v52M9 19l46 26M9 45l46-26'/%3E%3Cpath d='M32 15l-5-5M32 15l5-5M32 49l-5 5M32 49l5 5M17 24l-7 1M17 24l-2-7M47 40l7-1M47 40l2 7M17 40l-2 7M17 40l-7-1M47 24l2-7M47 24l7 1'/%3E%3C/g%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="spring"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 32C20 10 6 14 8 26s14 10 24 6zM32 32C44 10 58 14 56 26S42 36 32 32z' fill='%23ffb8d6'/%3E%3Cpath d='M32 34C22 44 14 52 20 56s12-10 12-22zM32 34c10 10 18 18 12 22S32 46 32 34z' fill='%23ffd9a8'/%3E%3Cpath d='M32 19v27M32 19l-5-7M32 19l5-7' stroke='%233b2a3a' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="aurora"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='16' fill='%23ccfff0' opacity='.18'/%3E%3Cpath d='M32 4L34.5 29.5L60 32L34.5 34.5L32 60L29.5 34.5L4 32L29.5 29.5ZM32 18L36 28L46 32L36 36L32 46L28 36L18 32L28 28Z' fill='%23f0fffa'/%3E%3C/svg%3E") 97% 14%/30px 30px no-repeat}:root[data-theme="mars"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='m' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%23ff9a6b'/%3E%3Cstop offset='1' stop-color='%23a8381c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23m)'/%3E%3Cpath d='M16 30q7-5 11 0t9 4q-7 7-13 2t-7-6zM37 19q7 0 9 5-5 2-9-5z' fill='%237a2a14' opacity='.55'/%3E%3Cellipse cx='29' cy='9.5' rx='9' ry='3.2' fill='%23fff' opacity='.88'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3Ccircle cx='72' cy='14' r='3' fill='%23c9a08a'/%3E%3C/svg%3E") 97% 14%/44px 34px no-repeat}:root[data-theme="solar"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='%23ffd257' opacity='.18'/%3E%3Ccircle cx='32' cy='32' r='21' fill='%23ffd257' opacity='.6'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23120c02'/%3E%3Ccircle cx='46' cy='19' r='9' fill='%23fff6d0' opacity='.5'/%3E%3Ccircle cx='46' cy='19' r='4' fill='%23fff'/%3E%3C/svg%3E") 97% 14%/34px 34px no-repeat}:root[data-theme="sakura"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M80 4Q52 12 34 32T2 60' stroke='%235a3838' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cg fill='%23ffc6dc'%3E%3Ccircle cx='58' cy='11' r='6'/%3E%3Ccircle cx='40' cy='25' r='7'/%3E%3Ccircle cx='24' cy='42' r='6'/%3E%3Ccircle cx='66' cy='20' r='4.5'/%3E%3Ccircle cx='12' cy='54' r='4'/%3E%3C/g%3E%3Cg fill='%23ff8ab6'%3E%3Ccircle cx='58' cy='11' r='2'/%3E%3Ccircle cx='40' cy='25' r='2.3'/%3E%3Ccircle cx='24' cy='42' r='2'/%3E%3C/g%3E%3C/svg%3E") 100% 0/63px 50px no-repeat}:root[data-theme="neon"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M30 46l-8 16M50 46l8 16' stroke='%234ff3ff' stroke-width='1.6' opacity='.45'/%3E%3Cpath d='M26 32q14-22 28 0' fill='none' stroke='%234ff3ff' stroke-width='2.6'/%3E%3Cellipse cx='40' cy='36' rx='31' ry='9' fill='none' stroke='%23ff5ad9' stroke-width='2.6'/%3E%3Cg fill='%234ff3ff'%3E%3Ccircle cx='28' cy='37' r='2.2'/%3E%3Ccircle cx='40' cy='39' r='2.2'/%3E%3Ccircle cx='52' cy='37' r='2.2'/%3E%3C/g%3E%3C/svg%3E") 97% 12%/44px 34px no-repeat}:root[data-theme="ocean"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M10 34Q10 8 32 8T54 34Q46 30 40 34Q32 30 24 34Q18 30 10 34Z' fill='%237ff7ff' opacity='.8'/%3E%3Cpath d='M18 34q-4 14 2 30M28 34q4 16-2 36M38 34q-4 16 2 36M48 34q4 14-2 28' stroke='%237ff7ff' stroke-width='1.7' fill='none' opacity='.6'/%3E%3C/svg%3E") 97% 10%/29px 37px no-repeat}:root[data-theme="saturn"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 64'%3E%3Cellipse cx='60' cy='32' rx='56' ry='12' fill='none' stroke='%23f5d9a0' stroke-width='3' opacity='.45'/%3E%3Ccircle cx='60' cy='32' r='20' fill='%23e8c98c'/%3E%3Cpath d='M41 28h38M42 37h36' stroke='%23b8924f' stroke-width='3' opacity='.55'/%3E%3Cpath d='M4 32A56 12 0 0 0 116 32' fill='none' stroke='%23f5d9a0' stroke-width='3'/%3E%3C/svg%3E") 97% 14%/73px 38px no-repeat}:root[data-theme="nebula"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.3' stop-color='%23ffd6ff'/%3E%3Cstop offset='1' stop-color='%23ffd6ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='rotate(-20 40 32)'%3E%3Cellipse cx='40' cy='32' rx='37' ry='13' fill='url(%23g)' opacity='.75'/%3E%3Cpath d='M40 32c12-6 20 2 14 8s-22 4-28-4 6-16 20-12' stroke='%23f0a0ff' stroke-width='1.6' fill='none' opacity='.75'/%3E%3C/g%3E%3C/svg%3E") 97% 12%/53px 42px no-repeat}:root[data-theme="alps"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M32 4C16 4 8 16 8 28c0 14 14 24 20 30h8c6-6 20-16 20-30C56 16 48 4 32 4z' fill='%23ff6b5a'/%3E%3Cpath d='M32 4c-6 6-8 16-8 26s4 22 8 28c4-6 8-18 8-28S38 10 32 4z' fill='%23ffd166'/%3E%3Cpath d='M28 58l-2 8M36 58l2 8' stroke='%235a4030' stroke-width='1.3'/%3E%3Crect x='25' y='66' width='14' height='10' rx='2' fill='%238a5a3a'/%3E%3C/svg%3E") 97% 10%/28px 36px no-repeat}:root[data-theme="city"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 300'%3E%3Cpath d='M19 0h2v52h-2z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='2' r='2.4' fill='%23ff5a5a'/%3E%3Cpath d='M17 50h6v10h-6z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='70' r='12' fill='%23b9bbd4'/%3E%3Cpath d='M8 70h24' stroke='%23ffe9a8' stroke-width='1.8'/%3E%3Cpath d='M16.5 81h7l2 219h-11z' fill='%239ea1bd'/%3E%3C/svg%3E") 97% 100%/auto 70% no-repeat}}
@media (prefers-reduced-motion:reduce){:root[data-theme="terminal"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3C/rect%3E%3C/svg%3E") 88% 14%/96px 40px no-repeat}}
@media (prefers-reduced-motion:reduce) and (max-width:600px){:root[data-theme="terminal"]{--sky-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3C/rect%3E%3C/svg%3E") 97% 14%/63px 26px no-repeat}}
:root{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CradialGradient id='a' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%237cc0ff'/%3E%3Cstop offset='1' stop-color='%231d4f9a'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23a)'/%3E%3Cpath d='M18 20c7-4 13 0 11 7s-9 4-11 10-7 2-6-5 2-8 6-12zM38 36c5-2 10 1 9 7s-7 6-10 3-3-8 1-10z' fill='%234caf6a'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E")}
:root[data-theme="crescent"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='14' fill='%23dfe8ff' opacity='.22'/%3E%3Cpath d='M32 6L35 29L58 32L35 35L32 58L29 35L6 32L29 29Z' fill='%23fff'/%3E%3Ccircle cx='32' cy='32' r='5' fill='%23fff'/%3E%3C/svg%3E")}
:root[data-theme="fullmoon"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3CclipPath id='c'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='64' height='64' fill='%23ecd2aa'/%3E%3Crect y='17' width='64' height='7' fill='%23b98757'/%3E%3Crect y='30' width='64' height='4' fill='%23cfa074'/%3E%3Crect y='41' width='64' height='6' fill='%23a8744c'/%3E%3Cellipse cx='42' cy='44' rx='6' ry='3.5' fill='%23c4553a'/%3E%3C/g%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E")}
:root[data-theme="meteor"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cdefs%3E%3ClinearGradient id='t' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffbf96' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23fff3e0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 62L74 13L81 23Z' fill='url(%23t)'/%3E%3Ccircle cx='78' cy='17' r='13' fill='%23ffbf96' opacity='.3'/%3E%3Ccircle cx='78' cy='17' r='7' fill='%23fff6ea'/%3E%3C/svg%3E")}
:root[data-theme="library"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23f4dfb0' stroke-linejoin='round'%3E%3Cpath d='M6 18q13-6 26 2v30q-13-8-26-2zM58 18q-13-6-26 2v30q13-8 26-2z' stroke-width='2.6'/%3E%3Cpath d='M11 27q9-3 16 1M11 34q9-3 16 1M37 28q7-4 16-1M37 35q7-4 16-1' stroke-width='1.5' opacity='.6'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="poet"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 4C30 9 17 26 13 50l5 2C24 32 37 19 54 4z' fill='%23ebe0ff'/%3E%3Cpath d='M54 4C41 19 28 34 15 51' stroke='%2316133a' stroke-width='1.3' fill='none'/%3E%3Cpath d='M13 50l-5 10' stroke='%23ebe0ff' stroke-width='2.2'/%3E%3C/svg%3E")}
:root[data-theme="constellation"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='28' r='24' fill='%23c4ecff' opacity='.08'/%3E%3Cg fill='%23e6f7ff'%3E%3Ccircle cx='20' cy='22' r='2.8'/%3E%3Ccircle cx='30' cy='15' r='2.1'/%3E%3Ccircle cx='39' cy='24' r='3'/%3E%3Ccircle cx='28' cy='30' r='2.3'/%3E%3Ccircle cx='45' cy='35' r='1.9'/%3E%3Ccircle cx='34' cy='41' r='2.5'/%3E%3Ccircle cx='21' cy='39' r='1.7'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="eclipse"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23ffe6b0' opacity='.14'/%3E%3Ccircle cx='32' cy='32' r='22' fill='%23ffe6b0' opacity='.55'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23000'/%3E%3C/svg%3E")}
:root[data-theme="owl"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M2 57H62' stroke='%234a3a2e' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M20 22L23 11L28 19Q32 17 36 19L41 11L44 22Q48 30 46 42Q44 54 32 56Q20 54 18 42Q16 30 20 22Z' fill='%233a2f75'/%3E%3Ccircle cx='26' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='38' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='26' cy='28' r='2.6' fill='%23120d2e'/%3E%3Ccircle cx='38' cy='28' r='2.6' fill='%23120d2e'/%3E%3Cpath d='M30 35l2 4 2-4z' fill='%23ffc857'/%3E%3C/svg%3E")}
:root[data-theme="dawn"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='100' cy='0' r='86' fill='%23ffb27a' opacity='.22'/%3E%3Ccircle cx='100' cy='0' r='62' fill='%23ffc58f' opacity='.35'/%3E%3Ccircle cx='100' cy='0' r='40' fill='%23ffe0b0'/%3E%3C/svg%3E")}
:root[data-theme="polyglot"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e8f4ff' stroke-width='1.7'%3E%3Ccircle cx='32' cy='32' r='24'/%3E%3Cellipse cx='32' cy='32' rx='11' ry='24'/%3E%3Cpath d='M8 32h48M12 20h40M12 44h40M32 8v48'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="terminal"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3C/rect%3E%3C/svg%3E")}
:root[data-theme="flawless"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='26' fill='%23fff' opacity='.07'/%3E%3Cpath d='M14 22L23 11H41L50 22L32 55Z' fill='%23f2f4f8'/%3E%3Cpath d='M14 22H50M23 11L28 22L32 55L36 22L41 11M28 22L32 11L36 22' stroke='%231a1d24' stroke-width='1.1' fill='none' opacity='.45'/%3E%3C/svg%3E")}
:root[data-theme="lunaryear"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffd34d'%3E%3Ccircle cx='60' cy='60' r='34' stroke-width='2' opacity='.5'/%3E%3Ccircle cx='60' cy='60' r='46' stroke-width='1.6' opacity='.3'/%3E%3Ccircle cx='60' cy='60' r='57' stroke-width='1.2' opacity='.16'/%3E%3C/g%3E%3Cpath d='M38 72L34 44L48 56L60 38L72 56L86 44L82 72Z' fill='%23ffd34d'/%3E%3Crect x='38' y='74' width='44' height='6' rx='2' fill='%23e0a800'/%3E%3Ccircle cx='60' cy='38' r='3' fill='%23fff4c2'/%3E%3Ccircle cx='34' cy='44' r='2.6' fill='%23fff4c2'/%3E%3Ccircle cx='86' cy='44' r='2.6' fill='%23fff4c2'/%3E%3C/svg%3E")}
:root[data-theme="halloween"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 20q-2-9 5-11' stroke='%234a7a2e' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='21' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='43' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='32' cy='40' rx='12' ry='18' fill='%23ff8c2a'/%3E%3Cpath d='M21 36l5-6 5 6zM34 36l5-6 5 6z' fill='%232a1200'/%3E%3Cpath d='M20 46q12 9 24 0l-4 3-4-3-4 3-4-3-4 3z' fill='%232a1200'/%3E%3C/svg%3E")}
:root[data-theme="winter"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg stroke='%23fff' stroke-width='2.6' stroke-linecap='round' fill='none'%3E%3Cpath d='M32 6v52M9 19l46 26M9 45l46-26'/%3E%3Cpath d='M32 15l-5-5M32 15l5-5M32 49l-5 5M32 49l5 5M17 24l-7 1M17 24l-2-7M47 40l7-1M47 40l2 7M17 40l-2 7M17 40l-7-1M47 24l2-7M47 24l7 1'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="spring"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 32C20 10 6 14 8 26s14 10 24 6zM32 32C44 10 58 14 56 26S42 36 32 32z' fill='%23ffb8d6'/%3E%3Cpath d='M32 34C22 44 14 52 20 56s12-10 12-22zM32 34c10 10 18 18 12 22S32 46 32 34z' fill='%23ffd9a8'/%3E%3Cpath d='M32 19v27M32 19l-5-7M32 19l5-7' stroke='%233b2a3a' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E")}
:root[data-theme="aurora"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='16' fill='%23ccfff0' opacity='.18'/%3E%3Cpath d='M32 4L34.5 29.5L60 32L34.5 34.5L32 60L29.5 34.5L4 32L29.5 29.5ZM32 18L36 28L46 32L36 36L32 46L28 36L18 32L28 28Z' fill='%23f0fffa'/%3E%3C/svg%3E")}
:root[data-theme="mars"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='m' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%23ff9a6b'/%3E%3Cstop offset='1' stop-color='%23a8381c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23m)'/%3E%3Cpath d='M16 30q7-5 11 0t9 4q-7 7-13 2t-7-6zM37 19q7 0 9 5-5 2-9-5z' fill='%237a2a14' opacity='.55'/%3E%3Cellipse cx='29' cy='9.5' rx='9' ry='3.2' fill='%23fff' opacity='.88'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3Ccircle cx='72' cy='14' r='3' fill='%23c9a08a'/%3E%3C/svg%3E")}
:root[data-theme="solar"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='%23ffd257' opacity='.18'/%3E%3Ccircle cx='32' cy='32' r='21' fill='%23ffd257' opacity='.6'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23120c02'/%3E%3Ccircle cx='46' cy='19' r='9' fill='%23fff6d0' opacity='.5'/%3E%3Ccircle cx='46' cy='19' r='4' fill='%23fff'/%3E%3C/svg%3E")}
:root[data-theme="sakura"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M80 4Q52 12 34 32T2 60' stroke='%235a3838' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cg fill='%23ffc6dc'%3E%3Ccircle cx='58' cy='11' r='6'/%3E%3Ccircle cx='40' cy='25' r='7'/%3E%3Ccircle cx='24' cy='42' r='6'/%3E%3Ccircle cx='66' cy='20' r='4.5'/%3E%3Ccircle cx='12' cy='54' r='4'/%3E%3C/g%3E%3Cg fill='%23ff8ab6'%3E%3Ccircle cx='58' cy='11' r='2'/%3E%3Ccircle cx='40' cy='25' r='2.3'/%3E%3Ccircle cx='24' cy='42' r='2'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="neon"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M30 46l-8 16M50 46l8 16' stroke='%234ff3ff' stroke-width='1.6' opacity='.45'/%3E%3Cpath d='M26 32q14-22 28 0' fill='none' stroke='%234ff3ff' stroke-width='2.6'/%3E%3Cellipse cx='40' cy='36' rx='31' ry='9' fill='none' stroke='%23ff5ad9' stroke-width='2.6'/%3E%3Cg fill='%234ff3ff'%3E%3Ccircle cx='28' cy='37' r='2.2'/%3E%3Ccircle cx='40' cy='39' r='2.2'/%3E%3Ccircle cx='52' cy='37' r='2.2'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="ocean"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M10 34Q10 8 32 8T54 34Q46 30 40 34Q32 30 24 34Q18 30 10 34Z' fill='%237ff7ff' opacity='.8'/%3E%3Cpath d='M18 34q-4 14 2 30M28 34q4 16-2 36M38 34q-4 16 2 36M48 34q4 14-2 28' stroke='%237ff7ff' stroke-width='1.7' fill='none' opacity='.6'/%3E%3C/svg%3E")}
:root[data-theme="saturn"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 64'%3E%3Cellipse cx='60' cy='32' rx='56' ry='12' fill='none' stroke='%23f5d9a0' stroke-width='3' opacity='.45'/%3E%3Ccircle cx='60' cy='32' r='20' fill='%23e8c98c'/%3E%3Cpath d='M41 28h38M42 37h36' stroke='%23b8924f' stroke-width='3' opacity='.55'/%3E%3Cpath d='M4 32A56 12 0 0 0 116 32' fill='none' stroke='%23f5d9a0' stroke-width='3'/%3E%3C/svg%3E")}
:root[data-theme="nebula"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.3' stop-color='%23ffd6ff'/%3E%3Cstop offset='1' stop-color='%23ffd6ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='rotate(-20 40 32)'%3E%3Cellipse cx='40' cy='32' rx='37' ry='13' fill='url(%23g)' opacity='.75'/%3E%3Cpath d='M40 32c12-6 20 2 14 8s-22 4-28-4 6-16 20-12' stroke='%23f0a0ff' stroke-width='1.6' fill='none' opacity='.75'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="alps"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M32 4C16 4 8 16 8 28c0 14 14 24 20 30h8c6-6 20-16 20-30C56 16 48 4 32 4z' fill='%23ff6b5a'/%3E%3Cpath d='M32 4c-6 6-8 16-8 26s4 22 8 28c4-6 8-18 8-28S38 10 32 4z' fill='%23ffd166'/%3E%3Cpath d='M28 58l-2 8M36 58l2 8' stroke='%235a4030' stroke-width='1.3'/%3E%3Crect x='25' y='66' width='14' height='10' rx='2' fill='%238a5a3a'/%3E%3C/svg%3E");--page-ground:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='120' preserveAspectRatio='none'%3E%3Cpath d='M0 120L0 80L90 30L150 70L240 10L330 75L420 35L520 85L610 25L700 70L800 45L800 120Z' fill='%23162538' opacity='.85'/%3E%3Cpath d='M240 10L262 26L248 24L240 32L230 24L220 28Z M610 25L630 40L615 38L610 45L600 38L592 40Z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") center bottom/100% 22vh no-repeat}
:root[data-theme="city"]{--page-obj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 300'%3E%3Cpath d='M19 0h2v52h-2z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='2' r='2.4' fill='%23ff5a5a'/%3E%3Cpath d='M17 50h6v10h-6z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='70' r='12' fill='%23b9bbd4'/%3E%3Cpath d='M8 70h24' stroke='%23ffe9a8' stroke-width='1.8'/%3E%3Cpath d='M16.5 81h7l2 219h-11z' fill='%239ea1bd'/%3E%3C/svg%3E");--page-ground:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='120' preserveAspectRatio='none'%3E%3Cg fill='%2306070f'%3E%3Crect x='0' y='60' width='70' height='60'/%3E%3Crect x='70' y='40' width='50' height='80'/%3E%3Crect x='120' y='70' width='80' height='50'/%3E%3Crect x='200' y='30' width='40' height='90'/%3E%3Cpath d='M215 30L220 5L225 30Z'/%3E%3Crect x='240' y='55' width='90' height='65'/%3E%3Crect x='330' y='45' width='60' height='75'/%3E%3Crect x='390' y='65' width='100' height='55'/%3E%3Crect x='490' y='35' width='55' height='85'/%3E%3Crect x='545' y='60' width='85' height='60'/%3E%3Crect x='630' y='50' width='70' height='70'/%3E%3Crect x='700' y='70' width='100' height='50'/%3E%3C/g%3E%3Cg fill='%23ffe9a8' opacity='.75'%3E%3Crect x='80' y='50' width='4' height='5'/%3E%3Crect x='95' y='62' width='4' height='5'/%3E%3Crect x='210' y='45' width='4' height='5'/%3E%3Crect x='255' y='68' width='4' height='5'/%3E%3Crect x='345' y='58' width='4' height='5'/%3E%3Crect x='500' y='48' width='4' height='5'/%3E%3Crect x='520' y='70' width='4' height='5'/%3E%3Crect x='645' y='62' width='4' height='5'/%3E%3C/g%3E%3C/svg%3E") center bottom/100% 18vh no-repeat}
.theme-sw.sw-moon::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CradialGradient id='a' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%237cc0ff'/%3E%3Cstop offset='1' stop-color='%231d4f9a'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23a)'/%3E%3Cpath d='M18 20c7-4 13 0 11 7s-9 4-11 10-7 2-6-5 2-8 6-12zM38 36c5-2 10 1 9 7s-7 6-10 3-3-8 1-10z' fill='%234caf6a'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-crescent::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='14' fill='%23dfe8ff' opacity='.22'/%3E%3Cpath d='M32 6L35 29L58 32L35 35L32 58L29 35L6 32L29 29Z' fill='%23fff'/%3E%3Ccircle cx='32' cy='32' r='5' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-fullmoon::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3CclipPath id='c'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='64' height='64' fill='%23ecd2aa'/%3E%3Crect y='17' width='64' height='7' fill='%23b98757'/%3E%3Crect y='30' width='64' height='4' fill='%23cfa074'/%3E%3Crect y='41' width='64' height='6' fill='%23a8744c'/%3E%3Cellipse cx='42' cy='44' rx='6' ry='3.5' fill='%23c4553a'/%3E%3C/g%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-meteor::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cdefs%3E%3ClinearGradient id='t' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffbf96' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23fff3e0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 62L74 13L81 23Z' fill='url(%23t)'/%3E%3Ccircle cx='78' cy='17' r='13' fill='%23ffbf96' opacity='.3'/%3E%3Ccircle cx='78' cy='17' r='7' fill='%23fff6ea'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-library::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23f4dfb0' stroke-linejoin='round'%3E%3Cpath d='M6 18q13-6 26 2v30q-13-8-26-2zM58 18q-13-6-26 2v30q13-8 26-2z' stroke-width='2.6'/%3E%3Cpath d='M11 27q9-3 16 1M11 34q9-3 16 1M37 28q7-4 16-1M37 35q7-4 16-1' stroke-width='1.5' opacity='.6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-poet::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M54 4C30 9 17 26 13 50l5 2C24 32 37 19 54 4z' fill='%23ebe0ff'/%3E%3Cpath d='M54 4C41 19 28 34 15 51' stroke='%2316133a' stroke-width='1.3' fill='none'/%3E%3Cpath d='M13 50l-5 10' stroke='%23ebe0ff' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-constellation::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='28' r='24' fill='%23c4ecff' opacity='.08'/%3E%3Cg fill='%23e6f7ff'%3E%3Ccircle cx='20' cy='22' r='2.8'/%3E%3Ccircle cx='30' cy='15' r='2.1'/%3E%3Ccircle cx='39' cy='24' r='3'/%3E%3Ccircle cx='28' cy='30' r='2.3'/%3E%3Ccircle cx='45' cy='35' r='1.9'/%3E%3Ccircle cx='34' cy='41' r='2.5'/%3E%3Ccircle cx='21' cy='39' r='1.7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-eclipse::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23ffe6b0' opacity='.14'/%3E%3Ccircle cx='32' cy='32' r='22' fill='%23ffe6b0' opacity='.55'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-owl::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M2 57H62' stroke='%234a3a2e' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M20 22L23 11L28 19Q32 17 36 19L41 11L44 22Q48 30 46 42Q44 54 32 56Q20 54 18 42Q16 30 20 22Z' fill='%233a2f75'/%3E%3Ccircle cx='26' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='38' cy='28' r='6' fill='%23ffc857'/%3E%3Ccircle cx='26' cy='28' r='2.6' fill='%23120d2e'/%3E%3Ccircle cx='38' cy='28' r='2.6' fill='%23120d2e'/%3E%3Cpath d='M30 35l2 4 2-4z' fill='%23ffc857'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-dawn::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='100' cy='0' r='86' fill='%23ffb27a' opacity='.22'/%3E%3Ccircle cx='100' cy='0' r='62' fill='%23ffc58f' opacity='.35'/%3E%3Ccircle cx='100' cy='0' r='40' fill='%23ffe0b0'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-polyglot::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e8f4ff' stroke-width='1.7'%3E%3Ccircle cx='32' cy='32' r='24'/%3E%3Cellipse cx='32' cy='32' rx='11' ry='24'/%3E%3Cpath d='M8 32h48M12 20h40M12 44h40M32 8v48'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-terminal::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40'%3E%3Ctext x='4' y='28' font-family='monospace' font-size='22' font-weight='bold' fill='%2339ff88'%3E&gt;%3C/text%3E%3Crect x='26' y='11' width='12' height='20' fill='%2339ff88'%3E%3C/rect%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-flawless::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='26' fill='%23fff' opacity='.07'/%3E%3Cpath d='M14 22L23 11H41L50 22L32 55Z' fill='%23f2f4f8'/%3E%3Cpath d='M14 22H50M23 11L28 22L32 55L36 22L41 11M28 22L32 11L36 22' stroke='%231a1d24' stroke-width='1.1' fill='none' opacity='.45'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-lunaryear::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffd34d'%3E%3Ccircle cx='60' cy='60' r='34' stroke-width='2' opacity='.5'/%3E%3Ccircle cx='60' cy='60' r='46' stroke-width='1.6' opacity='.3'/%3E%3Ccircle cx='60' cy='60' r='57' stroke-width='1.2' opacity='.16'/%3E%3C/g%3E%3Cpath d='M38 72L34 44L48 56L60 38L72 56L86 44L82 72Z' fill='%23ffd34d'/%3E%3Crect x='38' y='74' width='44' height='6' rx='2' fill='%23e0a800'/%3E%3Ccircle cx='60' cy='38' r='3' fill='%23fff4c2'/%3E%3Ccircle cx='34' cy='44' r='2.6' fill='%23fff4c2'/%3E%3Ccircle cx='86' cy='44' r='2.6' fill='%23fff4c2'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-halloween::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 20q-2-9 5-11' stroke='%234a7a2e' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='21' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='43' cy='40' rx='13' ry='17' fill='%23e0701a'/%3E%3Cellipse cx='32' cy='40' rx='12' ry='18' fill='%23ff8c2a'/%3E%3Cpath d='M21 36l5-6 5 6zM34 36l5-6 5 6z' fill='%232a1200'/%3E%3Cpath d='M20 46q12 9 24 0l-4 3-4-3-4 3-4-3-4 3z' fill='%232a1200'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-winter::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg stroke='%23fff' stroke-width='2.6' stroke-linecap='round' fill='none'%3E%3Cpath d='M32 6v52M9 19l46 26M9 45l46-26'/%3E%3Cpath d='M32 15l-5-5M32 15l5-5M32 49l-5 5M32 49l5 5M17 24l-7 1M17 24l-2-7M47 40l7-1M47 40l2 7M17 40l-2 7M17 40l-7-1M47 24l2-7M47 24l7 1'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-spring::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 32C20 10 6 14 8 26s14 10 24 6zM32 32C44 10 58 14 56 26S42 36 32 32z' fill='%23ffb8d6'/%3E%3Cpath d='M32 34C22 44 14 52 20 56s12-10 12-22zM32 34c10 10 18 18 12 22S32 46 32 34z' fill='%23ffd9a8'/%3E%3Cpath d='M32 19v27M32 19l-5-7M32 19l5-7' stroke='%233b2a3a' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-aurora::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='16' fill='%23ccfff0' opacity='.18'/%3E%3Cpath d='M32 4L34.5 29.5L60 32L34.5 34.5L32 60L29.5 34.5L4 32L29.5 29.5ZM32 18L36 28L46 32L36 36L32 46L28 36L18 32L28 28Z' fill='%23f0fffa'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-mars::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='m' cx='35%25' cy='35%25'%3E%3Cstop offset='0' stop-color='%23ff9a6b'/%3E%3Cstop offset='1' stop-color='%23a8381c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='32' cy='32' r='26' fill='url(%23m)'/%3E%3Cpath d='M16 30q7-5 11 0t9 4q-7 7-13 2t-7-6zM37 19q7 0 9 5-5 2-9-5z' fill='%237a2a14' opacity='.55'/%3E%3Cellipse cx='29' cy='9.5' rx='9' ry='3.2' fill='%23fff' opacity='.88'/%3E%3Cpath d='M32 6a26 26 0 0 1 0 52a19 26 0 0 0 0-52z' fill='%23000' opacity='.32'/%3E%3Ccircle cx='72' cy='14' r='3' fill='%23c9a08a'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-solar::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='%23ffd257' opacity='.18'/%3E%3Ccircle cx='32' cy='32' r='21' fill='%23ffd257' opacity='.6'/%3E%3Ccircle cx='32' cy='32' r='18' fill='%23120c02'/%3E%3Ccircle cx='46' cy='19' r='9' fill='%23fff6d0' opacity='.5'/%3E%3Ccircle cx='46' cy='19' r='4' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-sakura::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M80 4Q52 12 34 32T2 60' stroke='%235a3838' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cg fill='%23ffc6dc'%3E%3Ccircle cx='58' cy='11' r='6'/%3E%3Ccircle cx='40' cy='25' r='7'/%3E%3Ccircle cx='24' cy='42' r='6'/%3E%3Ccircle cx='66' cy='20' r='4.5'/%3E%3Ccircle cx='12' cy='54' r='4'/%3E%3C/g%3E%3Cg fill='%23ff8ab6'%3E%3Ccircle cx='58' cy='11' r='2'/%3E%3Ccircle cx='40' cy='25' r='2.3'/%3E%3Ccircle cx='24' cy='42' r='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-neon::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cpath d='M30 46l-8 16M50 46l8 16' stroke='%234ff3ff' stroke-width='1.6' opacity='.45'/%3E%3Cpath d='M26 32q14-22 28 0' fill='none' stroke='%234ff3ff' stroke-width='2.6'/%3E%3Cellipse cx='40' cy='36' rx='31' ry='9' fill='none' stroke='%23ff5ad9' stroke-width='2.6'/%3E%3Cg fill='%234ff3ff'%3E%3Ccircle cx='28' cy='37' r='2.2'/%3E%3Ccircle cx='40' cy='39' r='2.2'/%3E%3Ccircle cx='52' cy='37' r='2.2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-ocean::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M10 34Q10 8 32 8T54 34Q46 30 40 34Q32 30 24 34Q18 30 10 34Z' fill='%237ff7ff' opacity='.8'/%3E%3Cpath d='M18 34q-4 14 2 30M28 34q4 16-2 36M38 34q-4 16 2 36M48 34q4 14-2 28' stroke='%237ff7ff' stroke-width='1.7' fill='none' opacity='.6'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-saturn::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 64'%3E%3Cellipse cx='60' cy='32' rx='56' ry='12' fill='none' stroke='%23f5d9a0' stroke-width='3' opacity='.45'/%3E%3Ccircle cx='60' cy='32' r='20' fill='%23e8c98c'/%3E%3Cpath d='M41 28h38M42 37h36' stroke='%23b8924f' stroke-width='3' opacity='.55'/%3E%3Cpath d='M4 32A56 12 0 0 0 116 32' fill='none' stroke='%23f5d9a0' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-nebula::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 64'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.3' stop-color='%23ffd6ff'/%3E%3Cstop offset='1' stop-color='%23ffd6ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='rotate(-20 40 32)'%3E%3Cellipse cx='40' cy='32' rx='37' ry='13' fill='url(%23g)' opacity='.75'/%3E%3Cpath d='M40 32c12-6 20 2 14 8s-22 4-28-4 6-16 20-12' stroke='%23f0a0ff' stroke-width='1.6' fill='none' opacity='.75'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-alps::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M32 4C16 4 8 16 8 28c0 14 14 24 20 30h8c6-6 20-16 20-30C56 16 48 4 32 4z' fill='%23ff6b5a'/%3E%3Cpath d='M32 4c-6 6-8 16-8 26s4 22 8 28c4-6 8-18 8-28S38 10 32 4z' fill='%23ffd166'/%3E%3Cpath d='M28 58l-2 8M36 58l2 8' stroke='%235a4030' stroke-width='1.3'/%3E%3Crect x='25' y='66' width='14' height='10' rx='2' fill='%238a5a3a'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-sw.sw-city::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 300'%3E%3Cpath d='M19 0h2v52h-2z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='2' r='2.4' fill='%23ff5a5a'/%3E%3Cpath d='M17 50h6v10h-6z' fill='%23c9cbe0'/%3E%3Ccircle cx='20' cy='70' r='12' fill='%23b9bbd4'/%3E%3Cpath d='M8 70h24' stroke='%23ffe9a8' stroke-width='1.8'/%3E%3Cpath d='M16.5 81h7l2 219h-11z' fill='%239ea1bd'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;border-radius:0;width:34px;height:34px;top:6px;right:8px}
.theme-tile .chip-season{background:color-mix(in srgb,var(--eclipse) 25%,transparent);color:var(--fg);font-size:.72rem}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.theme-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px;border-radius:var(--r-md);background:var(--surface-2);
  box-shadow:inset 0 0 0 1px var(--line);text-align:left;min-width:0}
.theme-tile.on{box-shadow:inset 0 0 0 2px var(--accent)}
.theme-tile:disabled{cursor:not-allowed}
.theme-tile:disabled .theme-name{color:var(--muted)}
.theme-tile:disabled .theme-sw{filter:saturate(.6)}
.theme-tile .chip.chip-plus{white-space:normal;max-width:100%;line-height:1.25;padding-block:2px}
.theme-name{font-weight:600;font-size:.9rem;overflow-wrap:anywhere}
.theme-need{font-size:.74rem;line-height:1.3}
.theme-sw{display:block;width:100%;height:46px;border-radius:10px;position:relative;overflow:hidden}
.theme-sw::after{content:"";position:absolute;top:9px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--swm);box-shadow:0 0 14px var(--swm)}
.panel h4{font-family:var(--f-display);font-weight:500;font-size:.92rem;margin:4px 0 0}
.chip.chip-plus{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--moon) 26%,transparent));color:var(--fg);font-size:.72rem;white-space:nowrap}
.badge-row .btn.on,.badge-row .btn[data-badge-pick=""].on{box-shadow:inset 0 0 0 2px var(--accent)}
.nick-preview{font-size:1.15rem}
.nick{display:inline-flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}
.nick-badge{display:inline-block;line-height:1}
.nick-badge.anim{animation:twinkle 2.4s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:scale(1);filter:none}50%{transform:scale(1.18) rotate(8deg);filter:drop-shadow(0 0 4px gold)}}
.nick-frame{padding:0 8px;border-radius:999px;box-shadow:inset 0 0 0 1.5px currentColor,0 0 8px color-mix(in srgb,currentColor 35%,transparent)}
.color-row{gap:8px}
.nc-sw{width:30px;height:30px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fg) 15%,transparent)}
.nc-sw.on{outline:2px solid var(--fg);outline-offset:2px}
.nc-sw.nc-none{color:transparent;background:repeating-linear-gradient(45deg,var(--surface-2) 0 5px,var(--line) 5px 7px)}
.nc-sw:disabled{opacity:.45;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.nick-badge.anim{animation:none}}
/* «Слова с фото» */
.file-btn{position:relative;cursor:pointer}
.file-btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.photo-words{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto;padding-right:2px}
.photo-word{align-items:center}
.photo-word .dw-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;align-items:center;width:100%}
.photo-word .pw-back{width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font-size:.92rem}
.photo-word.unknown .dw-front{color:var(--muted)}
@media (max-width:520px){.photo-word .dw-main{grid-template-columns:1fr}}
.sw-moon{background:linear-gradient(135deg,#121738,color-mix(in srgb,#121738 70%,#f3e2a6));--swm:#f3e2a6}
.sw-crescent{background:linear-gradient(135deg,#101c33,color-mix(in srgb,#101c33 70%,#e3ebf7));--swm:#e3ebf7}
.sw-fullmoon{background:linear-gradient(135deg,#1c1530,color-mix(in srgb,#1c1530 70%,#ffd77a));--swm:#ffd77a}
.sw-meteor{background:linear-gradient(135deg,#0f1430,color-mix(in srgb,#0f1430 70%,#ffbf96));--swm:#ffbf96}
.sw-library{background:linear-gradient(135deg,#3a2c1d,color-mix(in srgb,#3a2c1d 70%,#f4dfb0));--swm:#f4dfb0}
.sw-poet{background:linear-gradient(135deg,#16133a,color-mix(in srgb,#16133a 70%,#ebe0ff));--swm:#ebe0ff}
.sw-constellation{background:linear-gradient(135deg,#0c1d2b,color-mix(in srgb,#0c1d2b 70%,#c4ecff));--swm:#c4ecff}
.sw-eclipse{background:linear-gradient(135deg,#06060b,color-mix(in srgb,#06060b 70%,#ffe6b0));--swm:#ffe6b0}
.sw-aurora{background:linear-gradient(135deg,#071a24,color-mix(in srgb,#071a24 70%,#ccfff0));--swm:#ccfff0}
.sw-mars{background:linear-gradient(135deg,#2a0f0b,color-mix(in srgb,#2a0f0b 70%,#ffb59a));--swm:#ffb59a}
.sw-solar{background:linear-gradient(135deg,#120c02,color-mix(in srgb,#120c02 70%,#ffd257));--swm:#ffd257}
.sw-sakura{background:linear-gradient(135deg,#2a1530,color-mix(in srgb,#2a1530 70%,#ffd3e4));--swm:#ffd3e4}
.sw-neon{background:linear-gradient(135deg,#0a0420,color-mix(in srgb,#0a0420 70%,#4ff3ff));--swm:#4ff3ff}
.sw-owl{background:linear-gradient(135deg,#120d2e,color-mix(in srgb,#120d2e 70%,#ffc857));--swm:#ffc857}
.sw-dawn{background:linear-gradient(135deg,#3a2747,color-mix(in srgb,#3a2747 70%,#ffe0b8));--swm:#ffe0b8}
.sw-polyglot{background:linear-gradient(135deg,#0f2233,color-mix(in srgb,#0f2233 70%,#e8f4ff));--swm:#e8f4ff}
.sw-terminal{background:linear-gradient(135deg,#050c06,color-mix(in srgb,#050c06 70%,#39ff88));--swm:#39ff88}
.sw-flawless{background:linear-gradient(135deg,#1a1d24,color-mix(in srgb,#1a1d24 70%,#f2f4f8));--swm:#f2f4f8}
.sw-lunaryear{background:linear-gradient(135deg,#140b00,color-mix(in srgb,#140b00 70%,#ffd34d));--swm:#ffd34d}
.sw-halloween{background:linear-gradient(135deg,#1a0b1f,color-mix(in srgb,#1a0b1f 70%,#ff9a3d));--swm:#ff9a3d}
.sw-winter{background:linear-gradient(135deg,#0e1f33,color-mix(in srgb,#0e1f33 70%,#ffffff));--swm:#ffffff}
.sw-spring{background:linear-gradient(135deg,#17283a,color-mix(in srgb,#17283a 70%,#ffe6f1));--swm:#ffe6f1}
.sw-ocean{background:linear-gradient(135deg,#031a26,color-mix(in srgb,#031a26 70%,#7ff7ff));--swm:#7ff7ff}
.sw-saturn{background:linear-gradient(135deg,#14100a,color-mix(in srgb,#14100a 70%,#f5d9a0));--swm:#f5d9a0}
.sw-nebula{background:linear-gradient(135deg,#0b0820,color-mix(in srgb,#0b0820 70%,#ffd6ff));--swm:#ffd6ff}
.sw-alps{background:linear-gradient(135deg,#24384f,color-mix(in srgb,#24384f 70%,#ffffff));--swm:#ffffff}
.sw-city{background:linear-gradient(135deg,#0d0f1f,color-mix(in srgb,#0d0f1f 70%,#ffe9a8));--swm:#ffe9a8}
.sw-aurora{background:linear-gradient(120deg,#071a24 20%,#1d6b57 50%,#3b3a8a 75%,#071a24)}.sw-neon{background:linear-gradient(135deg,#0a0420,#3a1a6a 60%,#ff5ad9)}.sw-eclipse::after{background:#06060b;box-shadow:0 0 0 2px #ffe6b0,0 0 14px #ffcf70}
.nc-rose{color:#b0174f}
.nc-coral{color:#b2401f}
.nc-amber{color:#8a5a00}
.nc-lime{color:#3d7a00}
.nc-teal{color:#00766e}
.nc-sky{color:#1a62b0}
.nc-violet{color:#6a35c2}
.nc-silver{color:#56607a}
@media (prefers-color-scheme: dark){
  :root:not(.tg-light) .nc-rose{color:#ff8fb8}
  :root:not(.tg-light) .nc-coral{color:#ff9e80}
  :root:not(.tg-light) .nc-amber{color:#ffcc66}
  :root:not(.tg-light) .nc-lime{color:#a5e06a}
  :root:not(.tg-light) .nc-teal{color:#5fe0d2}
  :root:not(.tg-light) .nc-sky{color:#8cc4ff}
  :root:not(.tg-light) .nc-violet{color:#c3a3ff}
  :root:not(.tg-light) .nc-silver{color:#c9d0e3}
}
:root.tg-dark .nc-rose{color:#ff8fb8}
:root.tg-dark .nc-coral{color:#ff9e80}
:root.tg-dark .nc-amber{color:#ffcc66}
:root.tg-dark .nc-lime{color:#a5e06a}
:root.tg-dark .nc-teal{color:#5fe0d2}
:root.tg-dark .nc-sky{color:#8cc4ff}
:root.tg-dark .nc-violet{color:#c3a3ff}
:root.tg-dark .nc-silver{color:#c9d0e3}
/* ===== темы оформления — конец ===== */

.ext-list{margin:0;padding-left:1.3em;display:grid;gap:4px}

/* готовые курсы и артикли der/die/das (4.21) */
.art{font-weight:700}
.art-m{color:#4f8ff7}.art-f{color:#e5536b}.art-n{color:#2fa86b}.art-pl{color:#8a8fb0}
.gram{margin-top:6px;opacity:.85;font-style:italic}
.course-box .course-bar{margin:2px 0}
.course-steps .btn{min-width:64px}
.course-pick{display:contents}
.course-pick[hidden]{display:none}
.art-btns{gap:12px}
.art-btn{min-width:88px;font-size:1.1rem;font-weight:700;border:2px solid currentColor;background:transparent}
.art-btn.art-m{color:#4f8ff7}.art-btn.art-f{color:#e5536b}.art-btn.art-n{color:#2fa86b}
.art-btn.ok,.art-btn.bad{opacity:1}
.art-btn.ok{color:#fff}.art-btn.ok.art-m{background:#4f8ff7;border-color:#4f8ff7}.art-btn.ok.art-f{background:#e5536b;border-color:#e5536b}.art-btn.ok.art-n{background:#2fa86b;border-color:#2fa86b}
.art-btn.ok::after{content:" ✓"}
.art-btn.bad{text-decoration:line-through}
.course-shelf{margin-top:14px;padding-top:12px;border-top:1px solid var(--line, rgba(127,127,160,.25))}
.course-chips{gap:8px;flex-wrap:wrap}
