/* Motywy i selektor motywu ShadowStudio. */
.theme-picker { position: relative; justify-self: end; }
.header-inner > .theme-picker { grid-column: 3; grid-row: 1; }
.theme-picker .theme-toggle { width: 40px; height: 40px; font-size: 18px; }
.theme-menu { position: absolute; z-index: 80; top: calc(100% + 12px); right: 0; width: min(300px, calc(100vw - 32px)); display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 10px; border: 1px solid var(--line-strong); border-radius: 16px; background: color-mix(in srgb, var(--page-raised) 96%, transparent); box-shadow: 0 18px 50px rgba(0,0,0,.38); backdrop-filter: blur(18px); }
.theme-menu[hidden] { display: none; }
.theme-option { min-width: 0; min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 7px 8px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--muted); font: 500 10px var(--display); text-align: left; cursor: pointer; transition: background .18s, border-color .18s, color .18s; }
.theme-option:hover,.theme-option:focus-visible,.theme-option.active { outline: 0; border-color: var(--line-strong); background: var(--surface-hover); color: var(--text); }
.theme-option i { width: 14px; height: 14px; flex: 0 0 14px; border: 2px solid color-mix(in srgb, var(--theme-swatch) 48%, white); border-radius: 50%; background: var(--theme-swatch); box-shadow: 0 0 12px color-mix(in srgb, var(--theme-swatch) 40%, transparent); }
.theme-toggle[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }

:root[data-theme="moonlight"] { color-scheme: dark; --page:#090a12;--page-raised:#0e101b;--surface:#141624;--surface-hover:#1c1f31;--text:#f4f1ff;--muted:#aaa8bd;--subtle:#77768f;--line:rgba(197,190,255,.13);--line-strong:rgba(197,190,255,.25);--accent:#a98aff;--accent-strong:#c2adff;--mint:#7fd9c2;--pink:#e5a0dc;--header:rgba(9,10,18,.94);--art:#0d1020; }
:root[data-theme="amethyst"] { color-scheme:dark;--page:#110b18;--page-raised:#180f22;--surface:#20142d;--surface-hover:#2b1b3b;--text:#faf2ff;--muted:#c1abc9;--subtle:#8d749b;--line:rgba(221,177,255,.14);--line-strong:rgba(221,177,255,.27);--accent:#c18aff;--accent-strong:#d7b0ff;--mint:#8edbbd;--pink:#ed9dd2;--header:rgba(17,11,24,.94);--art:#170f20; }
:root[data-theme="emerald"] { color-scheme:dark;--page:#08130f;--page-raised:#0c1b15;--surface:#11231a;--surface-hover:#183326;--text:#effff5;--muted:#a8c4b3;--subtle:#718b7b;--line:rgba(133,227,173,.13);--line-strong:rgba(133,227,173,.27);--accent:#64d6a1;--accent-strong:#8ce6b8;--mint:#64d6a1;--pink:#a6ddc7;--header:rgba(8,19,15,.94);--art:#0a1711; }
:root[data-theme="rose"] { color-scheme:dark;--page:#180d14;--page-raised:#21111b;--surface:#2a1723;--surface-hover:#381d2d;--text:#fff2f7;--muted:#d0acbb;--subtle:#997b89;--line:rgba(255,170,206,.14);--line-strong:rgba(255,170,206,.27);--accent:#ef8dbb;--accent-strong:#ffb2d1;--mint:#a6dfc6;--pink:#ef8dbb;--header:rgba(24,13,20,.94);--art:#1a1018; }
:root[data-theme="ocean"] { color-scheme:dark;--page:#081319;--page-raised:#0c1b23;--surface:#11252d;--surface-hover:#17333d;--text:#effcff;--muted:#a5c4cb;--subtle:#718b92;--line:rgba(124,220,235,.14);--line-strong:rgba(124,220,235,.28);--accent:#62cde0;--accent-strong:#91e4ef;--mint:#7fdbbc;--pink:#9bc9ed;--header:rgba(8,19,25,.94);--art:#0a171e; }
:root[data-theme="crimson"] { color-scheme:dark;--page:#170b0e;--page-raised:#210f13;--surface:#2b151a;--surface-hover:#391a21;--text:#fff2f3;--muted:#d0aaae;--subtle:#987579;--line:rgba(255,145,154,.14);--line-strong:rgba(255,145,154,.27);--accent:#f17d86;--accent-strong:#ffa0a7;--mint:#9ed5b5;--pink:#f17d86;--header:rgba(23,11,14,.94);--art:#1b0d11; }
:root[data-theme="gold"] { color-scheme:dark;--page:#151109;--page-raised:#1e190e;--surface:#282113;--surface-hover:#352b18;--text:#fff9e9;--muted:#c7b995;--subtle:#938568;--line:rgba(238,204,128,.14);--line-strong:rgba(238,204,128,.27);--accent:#e4bd72;--accent-strong:#f3d391;--mint:#a7d5a2;--pink:#edc28d;--header:rgba(21,17,9,.94);--art:#19150c; }
:root[data-theme="arctic"] { color-scheme:light;--page:#f0f8fa;--page-raised:#e5f1f4;--surface:#fbfeff;--surface-hover:#eaf6f8;--text:#12232a;--muted:#526b74;--subtle:#738b93;--line:rgba(24,77,91,.13);--line-strong:rgba(24,77,91,.25);--accent:#287e99;--accent-strong:#1e657c;--mint:#308d77;--pink:#9b68a8;--header:rgba(240,248,250,.94);--art:#e5f1f4; }
:root[data-theme="lavender"] { color-scheme:light;--page:#f6f1fb;--page-raised:#eee6f6;--surface:#fffaff;--surface-hover:#f1e9fa;--text:#24192c;--muted:#685c72;--subtle:#897c93;--line:rgba(82,50,105,.13);--line-strong:rgba(82,50,105,.25);--accent:#8959c4;--accent-strong:#7043a8;--mint:#438d78;--pink:#ba6b9d;--header:rgba(246,241,251,.94);--art:#eee6f6; }
:root[data-theme="pearl"] { color-scheme:light;--page:#f8f5ef;--page-raised:#eee9df;--surface:#fffdf8;--surface-hover:#f4eee3;--text:#29231d;--muted:#6b6258;--subtle:#91877b;--line:rgba(70,52,29,.13);--line-strong:rgba(70,52,29,.25);--accent:#a36e35;--accent-strong:#855625;--mint:#4f8b72;--pink:#bd788b;--header:rgba(248,245,239,.94);--art:#eee9df; }

@media(max-width:680px) { .theme-menu { right:-45px; } }

:root[data-theme="aurora"] { color-scheme:dark;--page:#071313;--page-raised:#0b1d1d;--surface:#102625;--surface-hover:#173331;--text:#effffc;--muted:#a9c8c2;--subtle:#708e88;--line:rgba(123,231,213,.13);--line-strong:rgba(123,231,213,.26);--accent:#69d7ce;--accent-strong:#94eee0;--mint:#82dfae;--pink:#b59de8;--header:rgba(7,19,19,.94);--art:#0b1b1a; }
:root[data-theme="graphite"] { color-scheme:dark;--page:#101114;--page-raised:#17191e;--surface:#1d2026;--surface-hover:#272a32;--text:#f3f4f7;--muted:#b0b3bc;--subtle:#7d818c;--line:rgba(205,211,224,.12);--line-strong:rgba(205,211,224,.24);--accent:#a4a7b3;--accent-strong:#d0d2da;--mint:#8dd0b2;--pink:#c6a8d8;--header:rgba(16,17,20,.94);--art:#181a1f; }
:root[data-theme="sakura"]{color-scheme:dark;--page:#170d13;--page-raised:#21121a;--surface:#2a1722;--surface-hover:#391d2c;--text:#fff3f8;--muted:#d0afbd;--subtle:#997c88;--line:rgba(255,160,198,.14);--line-strong:rgba(255,160,198,.27);--accent:#f28eb5;--accent-strong:#ffb4ce;--mint:#8cd5b1;--pink:#f28eb5;--header:rgba(23,13,19,.94);--art:#1a1017}
:root[data-theme="volcano"]{color-scheme:dark;--page:#180d0a;--page-raised:#24120d;--surface:#301911;--surface-hover:#422016;--text:#fff4ec;--muted:#d2b0a0;--subtle:#9c796b;--line:rgba(255,139,97,.14);--line-strong:rgba(255,139,97,.27);--accent:#ff704f;--accent-strong:#ff9b77;--mint:#a9d795;--pink:#f28b72;--header:rgba(24,13,10,.94);--art:#1b100c}
:root[data-theme="sapphire"]{color-scheme:dark;--page:#09101d;--page-raised:#0e1728;--surface:#142039;--surface-hover:#1c2b49;--text:#f1f5ff;--muted:#afbdd7;--subtle:#7889a8;--line:rgba(117,157,255,.14);--line-strong:rgba(117,157,255,.27);--accent:#598cff;--accent-strong:#8eb0ff;--mint:#80d8c0;--pink:#b3a2f2;--header:rgba(9,16,29,.94);--art:#0c1422}
:root[data-theme="citrus"]{color-scheme:dark;--page:#111408;--page-raised:#191d0c;--surface:#222712;--surface-hover:#303719;--text:#f8fbe9;--muted:#c0c99f;--subtle:#89936c;--line:rgba(198,220,104,.14);--line-strong:rgba(198,220,104,.27);--accent:#b8d64a;--accent-strong:#d3ed78;--mint:#8fd28b;--pink:#d3b979;--header:rgba(17,20,8,.94);--art:#171a0b}
:root[data-theme="candy"]{color-scheme:dark;--page:#170d18;--page-raised:#211222;--surface:#2b1830;--surface-hover:#3a2040;--text:#fff1ff;--muted:#cfb2d1;--subtle:#997c9b;--line:rgba(239,139,222,.14);--line-strong:rgba(239,139,222,.27);--accent:#ec77d5;--accent-strong:#f5a4e8;--mint:#88d7b6;--pink:#ec77d5;--header:rgba(23,13,24,.94);--art:#1b101d}
:root[data-theme="coffee"]{color-scheme:dark;--page:#17110d;--page-raised:#211810;--surface:#2a1e15;--surface-hover:#38281b;--text:#fff7ef;--muted:#c9b5a3;--subtle:#94806e;--line:rgba(215,170,126,.14);--line-strong:rgba(215,170,126,.27);--accent:#c79572;--accent-strong:#e0b28e;--mint:#9bc9a5;--pink:#d9a1a5;--header:rgba(23,17,13,.94);--art:#1b140f}
:root[data-theme="midnight-blue"]{color-scheme:dark;--page:#080d18;--page-raised:#0d1422;--surface:#131d30;--surface-hover:#1a2941;--text:#f1f5ff;--muted:#aebbd1;--subtle:#75849d;--line:rgba(103,143,222,.14);--line-strong:rgba(103,143,222,.27);--accent:#5279d8;--accent-strong:#89a7f1;--mint:#80d4bd;--pink:#b29de0;--header:rgba(8,13,24,.94);--art:#0a1220}
:root[data-theme="copper"]{color-scheme:dark;--page:#160e0a;--page-raised:#20140e;--surface:#2a1b12;--surface-hover:#3a2417;--text:#fff5ed;--muted:#cfb29f;--subtle:#987e6c;--line:rgba(224,150,105,.14);--line-strong:rgba(224,150,105,.27);--accent:#d8875d;--accent-strong:#f0a77d;--mint:#9dd0a7;--pink:#e59ba0;--header:rgba(22,14,10,.94);--art:#1a110c}
:root[data-theme="mint"]{color-scheme:dark;--page:#081410;--page-raised:#0e1c17;--surface:#14271f;--surface-hover:#1b3529;--text:#effff7;--muted:#acc8b8;--subtle:#758f80;--line:rgba(102,216,176,.14);--line-strong:rgba(102,216,176,.27);--accent:#5bc9a6;--accent-strong:#8ae4c2;--mint:#5bc9a6;--pink:#a1d5c5;--header:rgba(8,20,16,.94);--art:#0b1913}
:root[data-theme="mono-light"]{color-scheme:light;--page:#f3f4f5;--page-raised:#e8e9eb;--surface:#fff;--surface-hover:#f0f1f3;--text:#202126;--muted:#555963;--subtle:#777c86;--line:rgba(32,34,41,.13);--line-strong:rgba(32,34,41,.25);--accent:#555963;--accent-strong:#393c43;--mint:#43836d;--pink:#926a86;--header:rgba(243,244,245,.94);--art:#e8e9eb}

.theme-menu:not([hidden]) .theme-option { animation:theme-option-in .28s cubic-bezier(.2,.75,.25,1) both; }
.theme-menu:not([hidden]) .theme-option:nth-child(2n) { animation-delay:.025s; }
.theme-menu:not([hidden]) .theme-option:nth-child(3n) { animation-delay:.05s; }
@keyframes theme-option-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

.theme-menu { max-height:min(72vh,560px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }

.symbol-picker { margin: 4px 0 12px; padding: 14px; border: 1px solid var(--line); background: var(--page-raised); }
.symbol-picker-head { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.symbol-picker-hint,.symbol-selection { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.symbol-picker .gradient-field { margin-bottom: 10px; }
.symbol-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0; }
.symbol-filters button { min-height: 30px; padding: 5px 9px; border: 1px solid var(--line); background: transparent; color: var(--muted); font: 500 10px var(--display); cursor: pointer; }
.symbol-filters button[aria-pressed="true"] { border-color: var(--accent); background: color-mix(in srgb,var(--accent) 13%,transparent); color: var(--text); }
.symbol-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(62px,1fr)); gap: 6px; max-height: 222px; padding: 3px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--accent) var(--surface); }
.symbol-option { min-width: 0; min-height: 63px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 5px 3px; border: 1px solid var(--line); background: var(--surface); color: var(--text); cursor: pointer; }
.symbol-option:hover,.symbol-option[aria-pressed="true"] { border-color: var(--accent); background: var(--surface-hover); }
.symbol-option img { width: 36px; height: 36px; object-fit: contain; }
.symbol-option-glyph,.symbol-option-none>span { height: 36px; display: grid; place-items: center; color: var(--accent); font: 600 24px/1 var(--display); }
.symbol-option small { width: 100%; overflow: hidden; color: var(--muted); font: 8px/1.2 var(--body); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.symbol-option-none { background: color-mix(in srgb,var(--surface) 72%,var(--accent)); }
.symbol-selection { min-height: 17px; margin-top: 8px; }
@media (max-width:680px) { .symbol-picker { padding: 10px; }.symbol-grid { grid-template-columns: repeat(auto-fill,minmax(55px,1fr)); max-height: 190px; }.symbol-option { min-height: 57px; }.symbol-option img,.symbol-option-glyph,.symbol-option-none>span { width: 30px; height: 30px; }.symbol-filters { gap: 4px; } }

.symbol-picker {
  border-radius: 16px;
  background: linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--page-raised) 96%,transparent));
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.symbol-grid { width:100%; grid-template-columns:repeat(auto-fit,minmax(min(100%,64px),1fr)); gap:7px; max-height:270px; }
.symbol-option {
  min-height: 72px;
  gap: 5px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--page) 74%,var(--surface));
  transition: transform .18s,border-color .18s,background .18s,box-shadow .18s;
}
.symbol-option:hover { transform: translateY(-2px); }
.symbol-option[aria-pressed="true"] { box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 5px 18px color-mix(in srgb,var(--accent) 12%,transparent); }
.symbol-option-glyph,.symbol-option-none>span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: color-mix(in srgb,var(--accent) 10%,var(--page));
  color: var(--accent-strong);
  font: 700 25px/1 "Noto Sans Symbols 2","Segoe UI Symbol",sans-serif;
  text-shadow: 0 0 18px color-mix(in srgb,var(--accent) 35%,transparent);
}
.symbol-option small { max-width:100%; color:var(--muted); font-size:9px; line-height:1.2; text-align:center; }
.symbol-option[aria-pressed="true"] small { color:var(--text); }
.symbol-filters button { border-radius:999px; }
.banner-preview { padding:18px; border:1px solid var(--line); border-radius:18px; }
.banner-preview canvas { border:1px solid rgba(255,255,255,.08); border-radius:12px; box-shadow:0 24px 65px rgba(0,0,0,.42); }
@media(max-width:520px){.symbol-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,54px),1fr));gap:5px}.symbol-picker{padding:10px}.banner-preview{min-height:180px;padding:10px}}
