/* Theme filters — stacked on the skin. Generated art lives in custom properties so the
   page (.forest::before/::after) and the Aspetto preview (.look-stage) share it. Never white paper. */

/* body::after paints the paper fade over .forest; the forest carries the same fade itself,
   so lift it above that layer (still under .wrap) or edge art like the garland is hidden. */
html[data-theme] .forest { z-index: 1; }

html[data-theme] .forest::before,
html[data-theme] .forest::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
html[data-theme] .forest::before {
  inset: 0;
  background: var(--th-page);
}
html[data-theme] .forest::after {
  left: 0;
  right: 0;
  top: calc(-1 * var(--th-tile-size, 0px));
  bottom: 0;
  background: var(--th-tile) 0 0 / var(--th-tile-size) var(--th-tile-size) repeat;
  opacity: var(--th-tile-op, .6);
  animation: var(--th-anim, none) var(--th-dur, 60s) linear infinite;
  will-change: transform;
}
@keyframes thFall { from { transform: translateY(0); } to { transform: translateY(var(--th-tile-size)); } }
@keyframes thRise { from { transform: translateY(var(--th-tile-size)); } to { transform: translateY(0); } }

.look-stage[data-theme-preview=""] {
  --th-page: initial; --th-mini: initial; --th-tile: initial; --th-tile-size: initial; --th-tile-mini: initial;
  --th-btn: initial; --th-btn-ink: initial; --th-edge: initial; --th-ring: initial; --th-anim: initial;
}

/* —— natale —— Neve che scende, abeti e lucine che si accendono */
/* Clear of circlet header on phone (~96–110px) and desktop. */
html[data-theme="natale"] { --th-garland-y: 112px; }
.look-stage[data-theme-preview="natale"] { --th-garland-y: 4px; }
@media (min-width: 1100px) {
  html[data-theme="natale"] { --th-garland-y: 88px; }
}
html[data-theme="natale"],
.look-stage[data-theme-preview="natale"] {
  --th-page:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 60'%3E%3Cpath d='M0 8 Q45 40 90 8 T180 8 T270 8 T360 8' fill='none' stroke='%231d4f2c' stroke-width='12' stroke-linecap='round'/%3E%3Cpath d='M0 8 Q45 40 90 8 T180 8 T270 8 T360 8' fill='none' stroke='%232f7a45' stroke-width='6' stroke-dasharray='2 4' stroke-linecap='round'/%3E%3Cline x1='45' y1='26' x2='45' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='42' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='45' cy='43' r='7.5' fill='%237a2622'/%3E%3Ccircle cx='42' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='135' y1='26' x2='135' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='132' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='135' cy='43' r='7.5' fill='%237a6230'/%3E%3Ccircle cx='132' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='225' y1='26' x2='225' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='222' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='225' cy='43' r='7.5' fill='%2328446a'/%3E%3Ccircle cx='222' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='315' y1='26' x2='315' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='312' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='315' cy='43' r='7.5' fill='%232a5e38'/%3E%3Ccircle cx='312' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3C/svg%3E") 0 var(--th-garland-y, 112px) / min(360px,60vw) auto repeat-x,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 170'><rect x='54' y='146' width='12' height='20' fill='%235a3820'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L6 146 L34 98 L16 98 L40 58 L26 58 Z' fill='%231f5c36'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L60 146 Z' fill='%23174a2b'/><g fill='none' stroke='%23eef4f7' stroke-width='3' stroke-linecap='round' opacity='.7'><path d='M28 58 Q60 66 92 58'/><path d='M18 98 Q60 108 102 98'/><path d='M8 145 Q60 156 112 145'/></g><g fill='%23ffe58a'><circle cx='44' cy='74' r='2'/><circle cx='60' cy='80' r='2'/><circle cx='76' cy='74' r='2'/><circle cx='36' cy='116' r='2'/><circle cx='54' cy='122' r='2'/><circle cx='72' cy='122' r='2'/><circle cx='88' cy='116' r='2'/></g><circle cx='52' cy='46' r='4.5' fill='%23d6413a'/><circle cx='70' cy='90' r='5' fill='%23e8c060'/><circle cx='42' cy='94' r='4.5' fill='%236aa8d8'/><circle cx='84' cy='132' r='5.5' fill='%23d6413a'/><circle cx='30' cy='136' r='5' fill='%23e8c060'/><circle cx='60' cy='134' r='4.5' fill='%236aa8d8'/><path d='M60 0 L63 7 L71 7 L65 12 L67 20 L60 15 L53 20 L55 12 L49 7 L57 7 Z' fill='%23f2c84b'/></svg>") left 6px bottom 18px / min(150px,26vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 170'><rect x='54' y='146' width='12' height='20' fill='%235a3820'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L6 146 L34 98 L16 98 L40 58 L26 58 Z' fill='%231f5c36'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L60 146 Z' fill='%23174a2b'/><g fill='none' stroke='%23eef4f7' stroke-width='3' stroke-linecap='round' opacity='.7'><path d='M28 58 Q60 66 92 58'/><path d='M18 98 Q60 108 102 98'/><path d='M8 145 Q60 156 112 145'/></g><g fill='%23ffe58a'><circle cx='44' cy='74' r='2'/><circle cx='60' cy='80' r='2'/><circle cx='76' cy='74' r='2'/><circle cx='36' cy='116' r='2'/><circle cx='54' cy='122' r='2'/><circle cx='72' cy='122' r='2'/><circle cx='88' cy='116' r='2'/></g><circle cx='52' cy='46' r='4.5' fill='%23d6413a'/><circle cx='70' cy='90' r='5' fill='%23e8c060'/><circle cx='42' cy='94' r='4.5' fill='%236aa8d8'/><circle cx='84' cy='132' r='5.5' fill='%23d6413a'/><circle cx='30' cy='136' r='5' fill='%23e8c060'/><circle cx='60' cy='134' r='4.5' fill='%236aa8d8'/><path d='M60 0 L63 7 L71 7 L65 12 L67 20 L60 15 L53 20 L55 12 L49 7 L57 7 Z' fill='%23f2c84b'/></svg>") right 10px bottom 14px / min(110px,20vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 90'><path d='M0 52 Q80 22 160 48 T320 44 T480 52 T640 46 V90 H0Z' fill='%23e6eef3' opacity='.14'/><path d='M0 66 Q100 44 200 64 T400 60 T640 66 V90 H0Z' fill='%23e6eef3' opacity='.2'/></svg>") 0 100% / min(640px,100vw) auto repeat-x,
    radial-gradient(ellipse 55% 42% at 8% 0%, rgba(200,36,48,.32), transparent 58%), radial-gradient(ellipse 50% 38% at 92% 100%, rgba(28,120,58,.36), transparent 58%);
  --th-mini:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 60'%3E%3Cpath d='M0 8 Q45 40 90 8 T180 8 T270 8 T360 8' fill='none' stroke='%231d4f2c' stroke-width='12' stroke-linecap='round'/%3E%3Cpath d='M0 8 Q45 40 90 8 T180 8 T270 8 T360 8' fill='none' stroke='%232f7a45' stroke-width='6' stroke-dasharray='2 4' stroke-linecap='round'/%3E%3Cline x1='45' y1='26' x2='45' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='42' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='45' cy='43' r='7.5' fill='%237a2622'/%3E%3Ccircle cx='42' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='135' y1='26' x2='135' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='132' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='135' cy='43' r='7.5' fill='%237a6230'/%3E%3Ccircle cx='132' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='225' y1='26' x2='225' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='222' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='225' cy='43' r='7.5' fill='%2328446a'/%3E%3Ccircle cx='222' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3Cline x1='315' y1='26' x2='315' y2='36' stroke='%23c8a860' stroke-width='1.2'/%3E%3Crect x='312' y='33' width='6' height='4' rx='1' fill='%23c8a860'/%3E%3Ccircle cx='315' cy='43' r='7.5' fill='%232a5e38'/%3E%3Ccircle cx='312' cy='40.5' r='2' fill='%23fff' opacity='.3'/%3E%3C/svg%3E") 0 var(--th-garland-y, 4px) / 150px auto repeat-x,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 170'><rect x='54' y='146' width='12' height='20' fill='%235a3820'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L6 146 L34 98 L16 98 L40 58 L26 58 Z' fill='%231f5c36'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L60 146 Z' fill='%23174a2b'/><g fill='none' stroke='%23eef4f7' stroke-width='3' stroke-linecap='round' opacity='.7'><path d='M28 58 Q60 66 92 58'/><path d='M18 98 Q60 108 102 98'/><path d='M8 145 Q60 156 112 145'/></g><g fill='%23ffe58a'><circle cx='44' cy='74' r='2'/><circle cx='60' cy='80' r='2'/><circle cx='76' cy='74' r='2'/><circle cx='36' cy='116' r='2'/><circle cx='54' cy='122' r='2'/><circle cx='72' cy='122' r='2'/><circle cx='88' cy='116' r='2'/></g><circle cx='52' cy='46' r='4.5' fill='%23d6413a'/><circle cx='70' cy='90' r='5' fill='%23e8c060'/><circle cx='42' cy='94' r='4.5' fill='%236aa8d8'/><circle cx='84' cy='132' r='5.5' fill='%23d6413a'/><circle cx='30' cy='136' r='5' fill='%23e8c060'/><circle cx='60' cy='134' r='4.5' fill='%236aa8d8'/><path d='M60 0 L63 7 L71 7 L65 12 L67 20 L60 15 L53 20 L55 12 L49 7 L57 7 Z' fill='%23f2c84b'/></svg>") left 2px bottom 4px / 54px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 170'><rect x='54' y='146' width='12' height='20' fill='%235a3820'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L6 146 L34 98 L16 98 L40 58 L26 58 Z' fill='%231f5c36'/><path d='M60 10 L94 58 L80 58 L104 98 L86 98 L114 146 L60 146 Z' fill='%23174a2b'/><g fill='none' stroke='%23eef4f7' stroke-width='3' stroke-linecap='round' opacity='.7'><path d='M28 58 Q60 66 92 58'/><path d='M18 98 Q60 108 102 98'/><path d='M8 145 Q60 156 112 145'/></g><g fill='%23ffe58a'><circle cx='44' cy='74' r='2'/><circle cx='60' cy='80' r='2'/><circle cx='76' cy='74' r='2'/><circle cx='36' cy='116' r='2'/><circle cx='54' cy='122' r='2'/><circle cx='72' cy='122' r='2'/><circle cx='88' cy='116' r='2'/></g><circle cx='52' cy='46' r='4.5' fill='%23d6413a'/><circle cx='70' cy='90' r='5' fill='%23e8c060'/><circle cx='42' cy='94' r='4.5' fill='%236aa8d8'/><circle cx='84' cy='132' r='5.5' fill='%23d6413a'/><circle cx='30' cy='136' r='5' fill='%23e8c060'/><circle cx='60' cy='134' r='4.5' fill='%236aa8d8'/><path d='M60 0 L63 7 L71 7 L65 12 L67 20 L60 15 L53 20 L55 12 L49 7 L57 7 Z' fill='%23f2c84b'/></svg>") right 2px bottom 4px / 42px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 90'><path d='M0 52 Q80 22 160 48 T320 44 T480 52 T640 46 V90 H0Z' fill='%23e6eef3' opacity='.14'/><path d='M0 66 Q100 44 200 64 T400 60 T640 66 V90 H0Z' fill='%23e6eef3' opacity='.2'/></svg>") 0 100% / 260px auto repeat-x,
    radial-gradient(ellipse 55% 42% at 8% 0%, rgba(200,36,48,.32), transparent 58%), radial-gradient(ellipse 50% 38% at 92% 100%, rgba(28,120,58,.36), transparent 58%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><circle cx='77.7' cy='36.2' r='0.9' fill='%23f4f8fb' opacity='0.49'/><circle cx='128.6' cy='87.8' r='0.9' fill='%23f4f8fb' opacity='0.90'/><circle cx='51.5' cy='20.6' r='1.9' fill='%23f4f8fb' opacity='0.48'/><circle cx='21.8' cy='101.9' r='2.4' fill='%23f4f8fb' opacity='0.51'/><circle cx='53.6' cy='150.6' r='0.9' fill='%23f4f8fb' opacity='0.74'/><circle cx='95.2' cy='234.3' r='0.9' fill='%23f4f8fb' opacity='0.73'/><circle cx='32.0' cy='100.6' r='2.4' fill='%23f4f8fb' opacity='0.51'/><circle cx='74.0' cy='195.9' r='1.2' fill='%23f4f8fb' opacity='0.50'/><circle cx='137.1' cy='45.1' r='0.9' fill='%23f4f8fb' opacity='0.72'/><circle cx='15.1' cy='14.3' r='1.2' fill='%23f4f8fb' opacity='0.70'/><circle cx='127.6' cy='186.5' r='1.9' fill='%23f4f8fb' opacity='0.74'/><circle cx='108.8' cy='71.9' r='1.2' fill='%23f4f8fb' opacity='0.80'/><circle cx='58.6' cy='137.9' r='2.4' fill='%23f4f8fb' opacity='0.70'/><circle cx='82.4' cy='107.7' r='2.4' fill='%23f4f8fb' opacity='0.94'/><circle cx='28.3' cy='100.3' r='1.5' fill='%23f4f8fb' opacity='0.53'/><circle cx='117.4' cy='9.4' r='0.9' fill='%23f4f8fb' opacity='0.83'/><circle cx='137.5' cy='210.1' r='1.5' fill='%23f4f8fb' opacity='0.62'/><circle cx='84.0' cy='119.2' r='1.9' fill='%23f4f8fb' opacity='0.48'/><circle cx='22.5' cy='64.8' r='0.9' fill='%23f4f8fb' opacity='0.48'/><circle cx='168.4' cy='155.3' r='1.9' fill='%23f4f8fb' opacity='0.59'/><circle cx='92.6' cy='160.5' r='0.9' fill='%23f4f8fb' opacity='0.92'/><circle cx='85.3' cy='146.6' r='1.9' fill='%23f4f8fb' opacity='0.48'/><g stroke='%23f4f8fb' stroke-width='1.2' stroke-linecap='round' opacity='.8'><line x1='60.0' y1='40.0' x2='66.0' y2='40.0'/><line x1='60.0' y1='40.0' x2='63.0' y2='45.2'/><line x1='60.0' y1='40.0' x2='57.0' y2='45.2'/><line x1='60.0' y1='40.0' x2='54.0' y2='40.0'/><line x1='60.0' y1='40.0' x2='57.0' y2='34.8'/><line x1='60.0' y1='40.0' x2='63.0' y2='34.8'/></g><g stroke='%23f4f8fb' stroke-width='1.2' stroke-linecap='round' opacity='.8'><line x1='180.0' y1='150.0' x2='186.0' y2='150.0'/><line x1='180.0' y1='150.0' x2='183.0' y2='155.2'/><line x1='180.0' y1='150.0' x2='177.0' y2='155.2'/><line x1='180.0' y1='150.0' x2='174.0' y2='150.0'/><line x1='180.0' y1='150.0' x2='177.0' y2='144.8'/><line x1='180.0' y1='150.0' x2='183.0' y2='144.8'/></g><g stroke='%23f4f8fb' stroke-width='1.2' stroke-linecap='round' opacity='.8'><line x1='110.0' y1='210.0' x2='116.0' y2='210.0'/><line x1='110.0' y1='210.0' x2='113.0' y2='215.2'/><line x1='110.0' y1='210.0' x2='107.0' y2='215.2'/><line x1='110.0' y1='210.0' x2='104.0' y2='210.0'/><line x1='110.0' y1='210.0' x2='107.0' y2='204.8'/><line x1='110.0' y1='210.0' x2='113.0' y2='204.8'/></g></svg>");
  --th-tile-size: 240px;
  --th-tile-mini: 110px;
  --th-tile-op: 0.85;
  --th-anim: thFall;
  --th-dur: 70s;
  --th-btn: linear-gradient(180deg,#e8c46a,#c04a3e);
  --th-btn-ink: #1a0f0c;
  --th-edge: rgba(214,90,80,.42);
  --th-ring: #d6413a;
  --fx-glow-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 60'%3E%3Cdefs%3E%3CradialGradient id='g0'%3E%3Cstop offset='0' stop-color='%23ff6a58' stop-opacity='.85'/%3E%3Cstop offset='.4' stop-color='%23ff6a58' stop-opacity='.35'/%3E%3Cstop offset='1' stop-color='%23ff6a58' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='g2'%3E%3Cstop offset='0' stop-color='%238cc8ff' stop-opacity='.85'/%3E%3Cstop offset='.4' stop-color='%238cc8ff' stop-opacity='.35'/%3E%3Cstop offset='1' stop-color='%238cc8ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='45' cy='43' r='17' fill='url(%23g0)'/%3E%3Ccircle cx='45' cy='43' r='7.5' fill='%23ff6a58'/%3E%3Ccircle cx='42' cy='40.5' r='2.2' fill='%23fff' opacity='.75'/%3E%3Ccircle cx='225' cy='43' r='17' fill='url(%23g2)'/%3E%3Ccircle cx='225' cy='43' r='7.5' fill='%238cc8ff'/%3E%3Ccircle cx='222' cy='40.5' r='2.2' fill='%23fff' opacity='.75'/%3E%3C/svg%3E");
  --fx-glow-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 60'%3E%3Cdefs%3E%3CradialGradient id='g1'%3E%3Cstop offset='0' stop-color='%23ffd66a' stop-opacity='.85'/%3E%3Cstop offset='.4' stop-color='%23ffd66a' stop-opacity='.35'/%3E%3Cstop offset='1' stop-color='%23ffd66a' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='g3'%3E%3Cstop offset='0' stop-color='%237aea8a' stop-opacity='.85'/%3E%3Cstop offset='.4' stop-color='%237aea8a' stop-opacity='.35'/%3E%3Cstop offset='1' stop-color='%237aea8a' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='135' cy='43' r='17' fill='url(%23g1)'/%3E%3Ccircle cx='135' cy='43' r='7.5' fill='%23ffd66a'/%3E%3Ccircle cx='132' cy='40.5' r='2.2' fill='%23fff' opacity='.75'/%3E%3Ccircle cx='315' cy='43' r='17' fill='url(%23g3)'/%3E%3Ccircle cx='315' cy='43' r='7.5' fill='%237aea8a'/%3E%3Ccircle cx='312' cy='40.5' r='2.2' fill='%23fff' opacity='.75'/%3E%3C/svg%3E");
}
/* —— halloween —— Luna, zucche, pipistrelli e ragnatele */
html[data-theme="halloween"],
.look-stage[data-theme-preview="halloween"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><defs><radialGradient id='g'><stop offset='.55' stop-color='%23f3dc9a' stop-opacity='.35'/><stop offset='1' stop-color='%23f3dc9a' stop-opacity='0'/></radialGradient></defs><circle cx='80' cy='80' r='80' fill='url(%23g)'/><circle cx='80' cy='80' r='44' fill='%23f0d68e'/><circle cx='66' cy='70' r='8' fill='%23d8bc70' opacity='.6'/><circle cx='94' cy='96' r='6' fill='%23d8bc70' opacity='.5'/><circle cx='92' cy='64' r='4' fill='%23d8bc70' opacity='.5'/></svg>") right 4% top 70px / min(170px,32vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><g fill='none' stroke='%23dcd4e6' stroke-width='1.1' opacity='.55'><line x1='0' y1='0' x2='170.0' y2='0.0'/><line x1='0' y1='0' x2='164.2' y2='44.0'/><line x1='0' y1='0' x2='147.2' y2='85.0'/><line x1='0' y1='0' x2='120.2' y2='120.2'/><line x1='0' y1='0' x2='85.0' y2='147.2'/><line x1='0' y1='0' x2='44.0' y2='164.2'/><line x1='0' y1='0' x2='0.0' y2='170.0'/><path d='M30.0 0.0 Q26.5 3.5 29.0 7.8 Q24.7 10.2 26.0 15.0 Q21.2 16.3 21.2 21.2 Q16.3 21.2 15.0 26.0 Q10.2 24.7 7.8 29.0 Q3.5 26.5 0.0 30.0'/><path d='M58.0 0.0 Q51.3 6.8 56.0 15.0 Q47.8 19.8 50.2 29.0 Q41.1 31.5 41.0 41.0 Q31.5 41.1 29.0 50.2 Q19.8 47.8 15.0 56.0 Q6.8 51.3 0.0 58.0'/><path d='M88.0 0.0 Q77.9 10.2 85.0 22.8 Q72.5 30.0 76.2 44.0 Q62.3 47.8 62.2 62.2 Q47.8 62.3 44.0 76.2 Q30.0 72.5 22.8 85.0 Q10.2 77.9 0.0 88.0'/><path d='M120.0 0.0 Q106.2 14.0 115.9 31.1 Q98.9 41.0 103.9 60.0 Q84.9 65.2 84.9 84.9 Q65.2 84.9 60.0 103.9 Q41.0 98.9 31.1 115.9 Q14.0 106.2 0.0 120.0'/><path d='M150.0 0.0 Q132.7 17.5 144.9 38.8 Q123.7 51.2 129.9 75.0 Q106.2 81.5 106.1 106.1 Q81.5 106.2 75.0 129.9 Q51.2 123.7 38.8 144.9 Q17.5 132.7 0.0 150.0'/></g><line x1='96' y1='96' x2='96' y2='130' stroke='%23dcd4e6' stroke-width='1' opacity='.6'/><circle cx='96' cy='136' r='6' fill='%231a1020'/></svg>") 0 0 / min(190px,36vw) auto no-repeat,
    radial-gradient(ellipse 60% 44% at 70% 100%, rgba(232,96,18,.34), transparent 60%), radial-gradient(ellipse 44% 36% at 10% 10%, rgba(100,36,140,.34), transparent 55%);
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><defs><radialGradient id='g'><stop offset='.55' stop-color='%23f3dc9a' stop-opacity='.35'/><stop offset='1' stop-color='%23f3dc9a' stop-opacity='0'/></radialGradient></defs><circle cx='80' cy='80' r='80' fill='url(%23g)'/><circle cx='80' cy='80' r='44' fill='%23f0d68e'/><circle cx='66' cy='70' r='8' fill='%23d8bc70' opacity='.6'/><circle cx='94' cy='96' r='6' fill='%23d8bc70' opacity='.5'/><circle cx='92' cy='64' r='4' fill='%23d8bc70' opacity='.5'/></svg>") left 54% top 0 / 50px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'><g fill='none' stroke='%23dcd4e6' stroke-width='1.1' opacity='.55'><line x1='0' y1='0' x2='170.0' y2='0.0'/><line x1='0' y1='0' x2='164.2' y2='44.0'/><line x1='0' y1='0' x2='147.2' y2='85.0'/><line x1='0' y1='0' x2='120.2' y2='120.2'/><line x1='0' y1='0' x2='85.0' y2='147.2'/><line x1='0' y1='0' x2='44.0' y2='164.2'/><line x1='0' y1='0' x2='0.0' y2='170.0'/><path d='M30.0 0.0 Q26.5 3.5 29.0 7.8 Q24.7 10.2 26.0 15.0 Q21.2 16.3 21.2 21.2 Q16.3 21.2 15.0 26.0 Q10.2 24.7 7.8 29.0 Q3.5 26.5 0.0 30.0'/><path d='M58.0 0.0 Q51.3 6.8 56.0 15.0 Q47.8 19.8 50.2 29.0 Q41.1 31.5 41.0 41.0 Q31.5 41.1 29.0 50.2 Q19.8 47.8 15.0 56.0 Q6.8 51.3 0.0 58.0'/><path d='M88.0 0.0 Q77.9 10.2 85.0 22.8 Q72.5 30.0 76.2 44.0 Q62.3 47.8 62.2 62.2 Q47.8 62.3 44.0 76.2 Q30.0 72.5 22.8 85.0 Q10.2 77.9 0.0 88.0'/><path d='M120.0 0.0 Q106.2 14.0 115.9 31.1 Q98.9 41.0 103.9 60.0 Q84.9 65.2 84.9 84.9 Q65.2 84.9 60.0 103.9 Q41.0 98.9 31.1 115.9 Q14.0 106.2 0.0 120.0'/><path d='M150.0 0.0 Q132.7 17.5 144.9 38.8 Q123.7 51.2 129.9 75.0 Q106.2 81.5 106.1 106.1 Q81.5 106.2 75.0 129.9 Q51.2 123.7 38.8 144.9 Q17.5 132.7 0.0 150.0'/></g><line x1='96' y1='96' x2='96' y2='130' stroke='%23dcd4e6' stroke-width='1' opacity='.6'/><circle cx='96' cy='136' r='6' fill='%231a1020'/></svg>") 0 0 / 62px auto no-repeat,
    radial-gradient(ellipse 60% 44% at 70% 100%, rgba(232,96,18,.34), transparent 60%), radial-gradient(ellipse 44% 36% at 10% 10%, rgba(100,36,140,.34), transparent 55%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><ellipse cx='179.0' cy='38.5' rx='4' ry='2' fill='%236a3a7a' opacity='.7' transform='rotate(89 179.0 38.5)'/><ellipse cx='211.7' cy='119.2' rx='4' ry='2' fill='%236a3a7a' opacity='.7' transform='rotate(60 211.7 119.2)'/><ellipse cx='130.9' cy='204.3' rx='4' ry='2' fill='%238a5a2a' opacity='.7' transform='rotate(295 130.9 204.3)'/><ellipse cx='165.4' cy='227.0' rx='4' ry='2' fill='%236a3a7a' opacity='.7' transform='rotate(246 165.4 227.0)'/><ellipse cx='220.7' cy='43.2' rx='4' ry='2' fill='%23a8481a' opacity='.7' transform='rotate(63 220.7 43.2)'/><ellipse cx='154.9' cy='12.7' rx='4' ry='2' fill='%23a8481a' opacity='.7' transform='rotate(299 154.9 12.7)'/><ellipse cx='67.8' cy='10.9' rx='4' ry='2' fill='%238a5a2a' opacity='.7' transform='rotate(151 67.8 10.9)'/><ellipse cx='144.2' cy='80.1' rx='4' ry='2' fill='%23c8641c' opacity='.7' transform='rotate(45 144.2 80.1)'/><ellipse cx='110.5' cy='201.6' rx='4' ry='2' fill='%236a3a7a' opacity='.7' transform='rotate(343 110.5 201.6)'/></svg>");
  --th-tile-size: 240px;
  --th-tile-mini: 120px;
  --th-tile-op: 0.7;
  --th-anim: thFall;
  --th-dur: 90s;
  --th-btn: linear-gradient(180deg,#f09a3e,#b04e18);
  --th-btn-ink: #140a04;
  --th-edge: rgba(224,122,40,.5);
  --th-ring: #e07a28;
  --fx-bat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 32 16'%3E%3Cpath d='M0 10 Q5 0 10 6 Q13 1 15 5 Q17 1 20 6 Q25 0 30 10 Q24 8 20 13 Q17 10 15 14 Q13 10 10 13 Q6 8 0 10Z' fill='%23221230' stroke='%237a5a9a' stroke-width='.7'/%3E%3C/svg%3E");
  --fx-pumpkin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 110'%3E%3Cpath d='M66 14 Q70 4 80 2' stroke='%234c6a2a' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='40' cy='64' rx='30' ry='40' fill='%23b85212'/%3E%3Cellipse cx='100' cy='64' rx='30' ry='40' fill='%23b85212'/%3E%3Cellipse cx='70' cy='64' rx='34' ry='44' fill='%23d2661a'/%3E%3Cpath d='M44 52 L56 40 L60 58Z M96 52 L84 40 L80 58Z M40 76 L50 84 L58 76 L66 86 L74 76 L82 86 L90 76 L100 84 Q70 104 40 76Z' fill='%233a1804'/%3E%3C/svg%3E");
  --fx-face: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 110'%3E%3Cdefs%3E%3CradialGradient id='l'%3E%3Cstop offset='0' stop-color='%23fff0a0'/%3E%3Cstop offset='1' stop-color='%23ff9a2a'/%3E%3C/radialGradient%3E%3CradialGradient id='h'%3E%3Cstop offset='0' stop-color='%23ffb040' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%23ff8a20' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='70' cy='66' rx='44' ry='34' fill='url(%23h)'/%3E%3Cpath d='M44 52 L56 40 L60 58Z M96 52 L84 40 L80 58Z M40 76 L50 84 L58 76 L66 86 L74 76 L82 86 L90 76 L100 84 Q70 104 40 76Z' fill='url(%23l)'/%3E%3C/svg%3E");
}
/* —— capodanno —— Fuochi d'artificio, brindisi e coriandoli d'oro */
html[data-theme="capodanno"],
.look-stage[data-theme-preview="capodanno"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 120'><g fill='none' stroke='%23e8d48a' stroke-width='2.4' stroke-linejoin='round'><path d='M30 20 L54 20 L50 64 Q42 72 34 64 Z' transform='rotate(-14 42 60)'/><path d='M42 70 L42 104 M30 106 L54 106' transform='rotate(-14 42 60)'/><path d='M86 20 L110 20 L106 64 Q98 72 90 64 Z' transform='rotate(14 98 60)'/><path d='M98 70 L98 104 M86 106 L110 106' transform='rotate(14 98 60)'/></g><g fill='%23f6e6a8' opacity='.8'><circle cx='44' cy='40' r='2'/><circle cx='40' cy='50' r='1.5'/><circle cx='96' cy='44' r='2'/><circle cx='100' cy='34' r='1.5'/><circle cx='70' cy='10' r='2'/><circle cx='64' cy='4' r='1.4'/><circle cx='77' cy='2' r='1.4'/></g></svg>") left 12px bottom 14px / min(130px,26vw) auto no-repeat,
    radial-gradient(ellipse 65% 42% at 50% 0%, rgba(240,220,150,.2), transparent 58%), radial-gradient(ellipse 50% 40% at 15% 90%, rgba(90,110,220,.2), transparent 55%);
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 120'><g fill='none' stroke='%23e8d48a' stroke-width='2.4' stroke-linejoin='round'><path d='M30 20 L54 20 L50 64 Q42 72 34 64 Z' transform='rotate(-14 42 60)'/><path d='M42 70 L42 104 M30 106 L54 106' transform='rotate(-14 42 60)'/><path d='M86 20 L110 20 L106 64 Q98 72 90 64 Z' transform='rotate(14 98 60)'/><path d='M98 70 L98 104 M86 106 L110 106' transform='rotate(14 98 60)'/></g><g fill='%23f6e6a8' opacity='.8'><circle cx='44' cy='40' r='2'/><circle cx='40' cy='50' r='1.5'/><circle cx='96' cy='44' r='2'/><circle cx='100' cy='34' r='1.5'/><circle cx='70' cy='10' r='2'/><circle cx='64' cy='4' r='1.4'/><circle cx='77' cy='2' r='1.4'/></g></svg>") left 4px bottom 4px / 44px auto no-repeat,
    radial-gradient(ellipse 65% 42% at 50% 0%, rgba(240,220,150,.2), transparent 58%), radial-gradient(ellipse 50% 40% at 15% 90%, rgba(90,110,220,.2), transparent 55%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><rect x='80.9' y='158.2' width='6' height='2.6' rx='.6' fill='%23f4f0e0' opacity='.85' transform='rotate(93 80.9 158.2)'/><rect x='72.3' y='9.6' width='6' height='2.6' rx='.6' fill='%23e8c860' opacity='.85' transform='rotate(142 72.3 9.6)'/><rect x='94.7' y='41.2' width='6' height='2.6' rx='.6' fill='%23c8d4ff' opacity='.85' transform='rotate(81 94.7 41.2)'/><rect x='183.9' y='193.7' width='6' height='2.6' rx='.6' fill='%23c8d4ff' opacity='.85' transform='rotate(14 183.9 193.7)'/><rect x='23.6' y='94.3' width='6' height='2.6' rx='.6' fill='%23c8d4ff' opacity='.85' transform='rotate(37 23.6 94.3)'/><rect x='123.8' y='176.9' width='6' height='2.6' rx='.6' fill='%23e8c860' opacity='.85' transform='rotate(86 123.8 176.9)'/><rect x='129.4' y='157.5' width='6' height='2.6' rx='.6' fill='%23e8c860' opacity='.85' transform='rotate(150 129.4 157.5)'/><rect x='27.0' y='78.6' width='6' height='2.6' rx='.6' fill='%23f4f0e0' opacity='.85' transform='rotate(86 27.0 78.6)'/><rect x='38.3' y='155.5' width='6' height='2.6' rx='.6' fill='%23c8d4ff' opacity='.85' transform='rotate(16 38.3 155.5)'/><rect x='185.7' y='142.6' width='6' height='2.6' rx='.6' fill='%23ff8ab0' opacity='.85' transform='rotate(72 185.7 142.6)'/><rect x='185.8' y='143.2' width='6' height='2.6' rx='.6' fill='%23f4f0e0' opacity='.85' transform='rotate(179 185.8 143.2)'/><rect x='9.3' y='117.4' width='6' height='2.6' rx='.6' fill='%23ff8ab0' opacity='.85' transform='rotate(145 9.3 117.4)'/><rect x='32.1' y='162.7' width='6' height='2.6' rx='.6' fill='%23ff8ab0' opacity='.85' transform='rotate(118 32.1 162.7)'/><rect x='71.3' y='109.3' width='6' height='2.6' rx='.6' fill='%23f4f0e0' opacity='.85' transform='rotate(4 71.3 109.3)'/><rect x='157.5' y='143.5' width='6' height='2.6' rx='.6' fill='%23e8c860' opacity='.85' transform='rotate(95 157.5 143.5)'/><rect x='183.3' y='87.3' width='6' height='2.6' rx='.6' fill='%23f4f0e0' opacity='.85' transform='rotate(149 183.3 87.3)'/></svg>");
  --th-tile-size: 200px;
  --th-tile-mini: 100px;
  --th-tile-op: 0.5;
  --th-anim: thFall;
  --th-dur: 70s;
  --th-btn: linear-gradient(180deg,#f6e4a4,#c8a040);
  --th-btn-ink: #12100a;
  --th-edge: rgba(232,212,138,.46);
  --th-ring: #e8d48a;
  --fx-burst: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-50 -50 100 100'%3E%3Cg stroke='%23fff' stroke-linecap='round' fill='%23fff'%3E%3Cline x1='9.0' y1='0.0' x2='38.0' y2='0.0' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='42.0' cy='0.0' r='1.7'/%3E%3Cline x1='8.3' y1='3.4' x2='38.8' y2='16.1' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='42.5' cy='17.6' r='2.3'/%3E%3Cline x1='6.4' y1='6.4' x2='26.9' y2='26.9' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='29.7' cy='29.7' r='1.7'/%3E%3Cline x1='3.4' y1='8.3' x2='16.1' y2='38.8' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='17.6' cy='42.5' r='2.3'/%3E%3Cline x1='0.0' y1='9.0' x2='0.0' y2='38.0' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='0.0' cy='42.0' r='1.7'/%3E%3Cline x1='-3.4' y1='8.3' x2='-16.1' y2='38.8' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-17.6' cy='42.5' r='2.3'/%3E%3Cline x1='-6.4' y1='6.4' x2='-26.9' y2='26.9' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-29.7' cy='29.7' r='1.7'/%3E%3Cline x1='-8.3' y1='3.4' x2='-38.8' y2='16.1' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-42.5' cy='17.6' r='2.3'/%3E%3Cline x1='-9.0' y1='0.0' x2='-38.0' y2='0.0' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-42.0' cy='0.0' r='1.7'/%3E%3Cline x1='-8.3' y1='-3.4' x2='-38.8' y2='-16.1' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-42.5' cy='-17.6' r='2.3'/%3E%3Cline x1='-6.4' y1='-6.4' x2='-26.9' y2='-26.9' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-29.7' cy='-29.7' r='1.7'/%3E%3Cline x1='-3.4' y1='-8.3' x2='-16.1' y2='-38.8' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-17.6' cy='-42.5' r='2.3'/%3E%3Cline x1='-0.0' y1='-9.0' x2='-0.0' y2='-38.0' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='-0.0' cy='-42.0' r='1.7'/%3E%3Cline x1='3.4' y1='-8.3' x2='16.1' y2='-38.8' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='17.6' cy='-42.5' r='2.3'/%3E%3Cline x1='6.4' y1='-6.4' x2='26.9' y2='-26.9' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='29.7' cy='-29.7' r='1.7'/%3E%3Cline x1='8.3' y1='-3.4' x2='38.8' y2='-16.1' stroke-width='1.8' stroke-dasharray='1.2 4.2'/%3E%3Ccircle cx='42.5' cy='-17.6' r='2.3'/%3E%3C/g%3E%3Ccircle r='7' fill='%23fff' opacity='.55'/%3E%3C/svg%3E");
}
/* —— valentino —— Cuori che salgono e una rosa */
html[data-theme="valentino"],
.look-stage[data-theme-preview="valentino"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 130'><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' fill='none' stroke='%23e07088' stroke-width='4' opacity='.8'/><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' transform='translate(70 60) scale(.45)' fill='%23d44a68'/><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' transform='translate(18 92) scale(.3)' fill='%23f0a0b4'/></svg>") left 12px bottom 16px / min(150px,30vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 130'><path d='M60 60 Q52 96 58 128' stroke='%233c7a44' stroke-width='4' fill='none'/><path d='M58 96 Q40 88 34 96 Q44 104 58 100Z' fill='%233c7a44'/><circle cx='60' cy='46' r='22' fill='%23b8304e'/><path d='M44 44 Q60 24 76 44 Q60 36 44 44Z M48 52 Q60 40 72 52 Q60 48 48 52Z' fill='%23e0607c'/><path d='M52 40 Q60 32 68 40 Q60 38 52 40Z' fill='%23f08aa0'/></svg>") right 10px bottom 10px / min(120px,24vw) auto no-repeat,
    radial-gradient(ellipse 58% 48% at 50% 0%, rgba(190,50,90,.32), transparent 60%), radial-gradient(ellipse 40% 35% at 10% 90%, rgba(160,40,80,.24), transparent 55%);
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 130'><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' fill='none' stroke='%23e07088' stroke-width='4' opacity='.8'/><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' transform='translate(70 60) scale(.45)' fill='%23d44a68'/><path d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' transform='translate(18 92) scale(.3)' fill='%23f0a0b4'/></svg>") left 4px bottom 4px / 52px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 130'><path d='M60 60 Q52 96 58 128' stroke='%233c7a44' stroke-width='4' fill='none'/><path d='M58 96 Q40 88 34 96 Q44 104 58 100Z' fill='%233c7a44'/><circle cx='60' cy='46' r='22' fill='%23b8304e'/><path d='M44 44 Q60 24 76 44 Q60 36 44 44Z M48 52 Q60 40 72 52 Q60 48 48 52Z' fill='%23e0607c'/><path d='M52 40 Q60 32 68 40 Q60 38 52 40Z' fill='%23f08aa0'/></svg>") right 4px bottom 2px / 42px auto no-repeat,
    radial-gradient(ellipse 58% 48% at 50% 0%, rgba(190,50,90,.32), transparent 60%), radial-gradient(ellipse 40% 35% at 10% 90%, rgba(160,40,80,.24), transparent 55%);
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#f0a8b8,#c04862);
  --th-btn-ink: #1a0c10;
  --th-edge: rgba(224,112,136,.5);
  --th-ring: #e07088;
  --fx-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 108 96'%3E%3Cpath d='M50 88 C20 66 0 48 0 28 C0 12 12 0 27 0 C38 0 46 6 50 14 C54 6 62 0 73 0 C88 0 100 12 100 28 C100 48 80 66 50 88Z' fill='%23d8607a' stroke='%23f4a8b8' stroke-width='5' opacity='.9'/%3E%3C/svg%3E");
}
/* —— pixel —— Retro 8 bit: nuvole, alberi e bordi a scalini */
html[data-theme="pixel"],
.look-stage[data-theme-preview="pixel"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'><g shape-rendering='crispEdges'><rect x='8' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='4' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='12' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='8' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='8' y='12' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='52' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='60' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='20' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='28' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='100' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='108' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='0' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='28' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='36' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='44' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='52' width='4' height='4' fill='%23f2d86a'/></g></svg>") right 3% top 60px / min(120px,26vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 54'><g shape-rendering='crispEdges'><rect x='24' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='6' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='18' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='6' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='12' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='48' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='0' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='54' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='42' width='6' height='6' fill='%237a4a24'/><rect x='30' y='42' width='6' height='6' fill='%237a4a24'/><rect x='24' y='48' width='6' height='6' fill='%237a4a24'/><rect x='30' y='48' width='6' height='6' fill='%237a4a24'/></g></svg>") left 10px bottom 10px / min(120px,24vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 54'><g shape-rendering='crispEdges'><rect x='24' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='6' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='18' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='6' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='12' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='48' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='0' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='54' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='42' width='6' height='6' fill='%237a4a24'/><rect x='30' y='42' width='6' height='6' fill='%237a4a24'/><rect x='24' y='48' width='6' height='6' fill='%237a4a24'/><rect x='30' y='48' width='6' height='6' fill='%237a4a24'/></g></svg>") right 12px bottom 10px / min(90px,18vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25'><g shape-rendering='crispEdges'><rect x='5' y='0' width='5' height='5' fill='%23e8c040'/><rect x='10' y='0' width='5' height='5' fill='%23e8c040'/><rect x='15' y='0' width='5' height='5' fill='%23e8c040'/><rect x='0' y='5' width='5' height='5' fill='%23e8c040'/><rect x='5' y='5' width='5' height='5' fill='%23e8c040'/><rect x='10' y='5' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='5' width='5' height='5' fill='%23e8c040'/><rect x='20' y='5' width='5' height='5' fill='%23e8c040'/><rect x='0' y='10' width='5' height='5' fill='%23e8c040'/><rect x='5' y='10' width='5' height='5' fill='%23e8c040'/><rect x='10' y='10' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='10' width='5' height='5' fill='%23e8c040'/><rect x='20' y='10' width='5' height='5' fill='%23e8c040'/><rect x='0' y='15' width='5' height='5' fill='%23e8c040'/><rect x='5' y='15' width='5' height='5' fill='%23e8c040'/><rect x='10' y='15' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='15' width='5' height='5' fill='%23e8c040'/><rect x='20' y='15' width='5' height='5' fill='%23e8c040'/><rect x='5' y='20' width='5' height='5' fill='%23e8c040'/><rect x='10' y='20' width='5' height='5' fill='%23e8c040'/><rect x='15' y='20' width='5' height='5' fill='%23e8c040'/></g></svg>") left 40% top 110px / 30px 30px no-repeat,
    linear-gradient(180deg, rgba(60,90,160,.18), transparent 45%);
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'><g shape-rendering='crispEdges'><rect x='8' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='4' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='12' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='8' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='8' y='12' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='52' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='60' y='24' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='20' width='4' height='4' fill='%23f2d86a'/><rect x='56' y='28' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='100' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='108' y='4' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='0' width='4' height='4' fill='%23f2d86a'/><rect x='104' y='8' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='28' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='36' y='48' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='44' width='4' height='4' fill='%23f2d86a'/><rect x='32' y='52' width='4' height='4' fill='%23f2d86a'/></g></svg>") right 60px top 18px / 44px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 54'><g shape-rendering='crispEdges'><rect x='24' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='6' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='18' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='6' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='12' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='48' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='0' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='54' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='42' width='6' height='6' fill='%237a4a24'/><rect x='30' y='42' width='6' height='6' fill='%237a4a24'/><rect x='24' y='48' width='6' height='6' fill='%237a4a24'/><rect x='30' y='48' width='6' height='6' fill='%237a4a24'/></g></svg>") left 4px bottom 4px / 40px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 54'><g shape-rendering='crispEdges'><rect x='24' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='0' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='6' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='6' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='12' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='12' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='18' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='18' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='18' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='24' width='6' height='6' fill='%232e6a2c'/><rect x='36' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='24' width='6' height='6' fill='%233f8a3a'/><rect x='6' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='12' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='24' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='30' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='42' y='30' width='6' height='6' fill='%232e6a2c'/><rect x='48' y='30' width='6' height='6' fill='%233f8a3a'/><rect x='0' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='6' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='12' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='18' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='30' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='36' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='42' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='48' y='36' width='6' height='6' fill='%233f8a3a'/><rect x='54' y='36' width='6' height='6' fill='%232e6a2c'/><rect x='24' y='42' width='6' height='6' fill='%237a4a24'/><rect x='30' y='42' width='6' height='6' fill='%237a4a24'/><rect x='24' y='48' width='6' height='6' fill='%237a4a24'/><rect x='30' y='48' width='6' height='6' fill='%237a4a24'/></g></svg>") right 4px bottom 4px / 30px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25'><g shape-rendering='crispEdges'><rect x='5' y='0' width='5' height='5' fill='%23e8c040'/><rect x='10' y='0' width='5' height='5' fill='%23e8c040'/><rect x='15' y='0' width='5' height='5' fill='%23e8c040'/><rect x='0' y='5' width='5' height='5' fill='%23e8c040'/><rect x='5' y='5' width='5' height='5' fill='%23e8c040'/><rect x='10' y='5' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='5' width='5' height='5' fill='%23e8c040'/><rect x='20' y='5' width='5' height='5' fill='%23e8c040'/><rect x='0' y='10' width='5' height='5' fill='%23e8c040'/><rect x='5' y='10' width='5' height='5' fill='%23e8c040'/><rect x='10' y='10' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='10' width='5' height='5' fill='%23e8c040'/><rect x='20' y='10' width='5' height='5' fill='%23e8c040'/><rect x='0' y='15' width='5' height='5' fill='%23e8c040'/><rect x='5' y='15' width='5' height='5' fill='%23e8c040'/><rect x='10' y='15' width='5' height='5' fill='%23fff0a0'/><rect x='15' y='15' width='5' height='5' fill='%23e8c040'/><rect x='20' y='15' width='5' height='5' fill='%23e8c040'/><rect x='5' y='20' width='5' height='5' fill='%23e8c040'/><rect x='10' y='20' width='5' height='5' fill='%23e8c040'/><rect x='15' y='20' width='5' height='5' fill='%23e8c040'/></g></svg>") left 45% top 30px / 12px 12px no-repeat,
    linear-gradient(180deg, rgba(60,90,160,.18), transparent 45%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><rect width='8' height='1' fill='%23000' opacity='.18'/><rect width='1' height='8' fill='%23000' opacity='.1'/></svg>");
  --th-tile-size: 8px;
  --th-tile-mini: 4px;
  --th-tile-op: 1;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: #d8c060;
  --th-btn-ink: #141208;
  --th-edge: rgba(216,200,120,.55);
  --th-ring: #d8c878;
  --fx-cloud: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 30'><g shape-rendering='crispEdges'><rect x='12' y='0' width='6' height='6' fill='%23c8d4bc'/><rect x='18' y='0' width='6' height='6' fill='%23c8d4bc'/><rect x='24' y='0' width='6' height='6' fill='%23c8d4bc'/><rect x='6' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='12' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='18' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='24' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='30' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='42' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='48' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='54' y='6' width='6' height='6' fill='%23c8d4bc'/><rect x='0' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='6' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='12' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='18' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='24' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='30' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='36' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='42' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='48' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='54' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='60' y='12' width='6' height='6' fill='%23c8d4bc'/><rect x='0' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='6' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='12' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='18' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='24' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='30' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='36' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='42' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='48' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='54' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='60' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='66' y='18' width='6' height='6' fill='%23c8d4bc'/><rect x='6' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='12' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='18' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='24' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='30' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='36' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='42' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='48' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='54' y='24' width='6' height='6' fill='%23c8d4bc'/><rect x='60' y='24' width='6' height='6' fill='%23c8d4bc'/></g></svg>");
  --fx-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 3' shape-rendering='crispEdges'%3E%3Cpath d='M1 0h1v1h1v1h-1v1h-1v-1h-1v-1h1z' fill='%23f4e8a0'/%3E%3C/svg%3E");
}
/* —— noir —— Bianco e nero da film, pioggia e persiane */
html[data-theme="noir"],
.look-stage[data-theme-preview="noir"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 360'><defs><linearGradient id='f' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23fff' stop-opacity='.16'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient></defs><g fill='url(%23f)' transform='skewX(-24)'><rect x='120' y='20' width='520' height='18'/><rect x='120' y='60' width='520' height='18'/><rect x='120' y='100' width='520' height='18'/><rect x='120' y='140' width='520' height='18'/><rect x='120' y='180' width='520' height='18'/><rect x='120' y='220' width='520' height='18'/><rect x='120' y='260' width='520' height='18'/><rect x='120' y='300' width='520' height='18'/></g></svg>") right 0 top 0 / min(760px,110vw) auto no-repeat,
    radial-gradient(ellipse 80% 70% at 50% 45%, transparent 45%, rgba(0,0,0,.6) 100%);
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 360'><defs><linearGradient id='f' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23fff' stop-opacity='.16'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></linearGradient></defs><g fill='url(%23f)' transform='skewX(-24)'><rect x='120' y='20' width='520' height='18'/><rect x='120' y='60' width='520' height='18'/><rect x='120' y='100' width='520' height='18'/><rect x='120' y='140' width='520' height='18'/><rect x='120' y='180' width='520' height='18'/><rect x='120' y='220' width='520' height='18'/><rect x='120' y='260' width='520' height='18'/><rect x='120' y='300' width='520' height='18'/></g></svg>") right 0 top 0 / 300px auto no-repeat,
    radial-gradient(ellipse 80% 70% at 50% 45%, transparent 45%, rgba(0,0,0,.6) 100%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g stroke='%23cfd4d8' stroke-width='1' stroke-linecap='round' opacity='.35'><line x1='125.7' y1='106.2' x2='122.7' y2='120.2'/><line x1='41.2' y1='89.1' x2='38.2' y2='103.1'/><line x1='134.4' y1='54.1' x2='131.4' y2='68.1'/><line x1='160.7' y1='198.9' x2='157.7' y2='212.9'/><line x1='7.4' y1='3.7' x2='4.4' y2='17.7'/><line x1='101.1' y1='195.6' x2='98.1' y2='209.6'/><line x1='102.8' y1='49.1' x2='99.8' y2='63.1'/><line x1='89.4' y1='131.7' x2='86.4' y2='145.7'/><line x1='130.0' y1='131.3' x2='127.0' y2='145.3'/><line x1='109.2' y1='177.7' x2='106.2' y2='191.7'/><line x1='194.1' y1='61.6' x2='191.1' y2='75.6'/><line x1='43.0' y1='45.9' x2='40.0' y2='59.9'/><line x1='39.7' y1='176.4' x2='36.7' y2='190.4'/><line x1='145.8' y1='27.9' x2='142.8' y2='41.9'/></g></svg>");
  --th-tile-size: 200px;
  --th-tile-mini: 100px;
  --th-tile-op: 0.8;
  --th-anim: thFall;
  --th-dur: 30s;
  --th-btn: linear-gradient(180deg,#e4e0d8,#8e8a84);
  --th-btn-ink: #0e0e0c;
  --th-edge: rgba(230,230,220,.3);
  --th-ring: #cfcac0;
}
/* —— neon —— Tramonto synthwave, griglia e luci al neon */
html[data-theme="neon"],
.look-stage[data-theme-preview="neon"] {
  --th-page:
    radial-gradient(ellipse 52% 42% at 18% 8%, rgba(94,240,255,.2), transparent 58%), radial-gradient(ellipse 48% 38% at 88% 30%, rgba(255,79,216,.2), transparent 58%);
  --th-mini:
    radial-gradient(ellipse 52% 42% at 18% 8%, rgba(94,240,255,.2), transparent 58%), radial-gradient(ellipse 48% 38% at 88% 30%, rgba(255,79,216,.2), transparent 58%);
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'><rect width='4' height='1' fill='%235ef0ff' opacity='.06'/></svg>");
  --th-tile-size: 4px;
  --th-tile-mini: 3px;
  --th-tile-op: 1;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#ff7ad8,#7a5cff);
  --th-btn-ink: #07040c;
  --th-edge: rgba(94,240,255,.6);
  --th-ring: #5ef0ff;
  --fx-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='322 18 156 132'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ff5ec8'/%3E%3Cstop offset='1' stop-color='%23ffb04a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='400' cy='96' r='78' fill='url(%23s)'/%3E%3Crect x='300' y='70' width='200' height='3' fill='%2305070f'/%3E%3Crect x='300' y='92' width='200' height='4' fill='%2305070f'/%3E%3Crect x='300' y='110' width='200' height='5' fill='%2305070f'/%3E%3Crect x='300' y='126' width='200' height='6' fill='%2305070f'/%3E%3Crect x='300' y='140' width='200' height='7' fill='%2305070f'/%3E%3C/svg%3E");
}
/* —— acquerello —— Macchie d'acquerello su carta ruvida */
html[data-theme="acquerello"],
.look-stage[data-theme-preview="acquerello"] {
  --th-page:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='3'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='3'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%238aac7a' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%238aac7a' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%238aac7a' opacity='.45' filter='url(%23w)'/><g fill='%238aac7a' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") left -60px top 40px / min(420px,80vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='9'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='9'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%236a94b0' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%236a94b0' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%236a94b0' opacity='.45' filter='url(%23w)'/><g fill='%236a94b0' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") right -80px bottom 40px / min(460px,86vw) auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='5'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='5'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%23c8a060' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%23c8a060' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%23c8a060' opacity='.45' filter='url(%23w)'/><g fill='%23c8a060' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") right 10% top 20px / min(260px,50vw) auto no-repeat,
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0));
  --th-mini:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='3'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='3'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%238aac7a' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%238aac7a' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%238aac7a' opacity='.45' filter='url(%23w)'/><g fill='%238aac7a' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") left -30px top 0 / 180px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='9'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='9'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%236a94b0' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%236a94b0' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%236a94b0' opacity='.45' filter='url(%23w)'/><g fill='%236a94b0' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") right -40px bottom 0 / 190px auto no-repeat,
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'><filter id='w' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='5'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='13'/></filter><filter id='e' x='-40%25' y='-40%25' width='180%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='5'/><feDisplacementMap in='SourceGraphic' scale='34'/><feGaussianBlur stdDeviation='2.5'/></filter><ellipse cx='150' cy='120' rx='104' ry='74' fill='%23c8a060' opacity='.62' filter='url(%23w)'/><ellipse cx='150' cy='120' rx='104' ry='74' fill='none' stroke='%23c8a060' stroke-width='4' opacity='.5' filter='url(%23e)'/><ellipse cx='122' cy='104' rx='46' ry='32' fill='%23c8a060' opacity='.45' filter='url(%23w)'/><g fill='%23c8a060' opacity='.35'><circle cx='262' cy='56' r='4'/><circle cx='276' cy='70' r='2.4'/><circle cx='40' cy='196' r='3'/></g></svg>") right 20px top 0 / 110px auto no-repeat,
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0));
  --th-tile: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .95 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .6 0'/></filter><rect width='200' height='200' filter='url(%23p)' opacity='.3'/></svg>");
  --th-tile-size: 200px;
  --th-tile-mini: 120px;
  --th-tile-op: 0.55;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#dcc898,#9a8454);
  --th-btn-ink: #14120c;
  --th-edge: rgba(200,180,138,.36);
  --th-ring: #c4b48a;
}
/* —— aurora —— Aurora boreale: veli verdi e viola, stelle */
html[data-theme="aurora"],
.look-stage[data-theme-preview="aurora"] {
  --th-page:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 120' preserveAspectRatio='none'%3E%3Cpath d='M0 70 L60 40 L110 62 L170 30 L240 64 L320 44 L400 70 L470 38 L540 60 L610 34 L690 58 L760 42 L800 56 V120 H0Z' fill='%230a1a1c'/%3E%3Cpath d='M0 92 Q120 70 240 88 T480 84 T800 90 V120 H0Z' fill='%23050e10'/%3E%3C/svg%3E") 0 100% / 100% min(120px,16vh) no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cg fill='%23e8f0ff'%3E%3Ccircle cx='97' cy='45' r='0.6' opacity='0.29'/%3E%3Ccircle cx='161' cy='110' r='0.6' opacity='0.75'/%3E%3Ccircle cx='64' cy='26' r='1.3' opacity='0.29'/%3E%3Ccircle cx='27' cy='127' r='0.6' opacity='0.77'/%3E%3Ccircle cx='189' cy='175' r='0.6' opacity='0.57'/%3E%3Ccircle cx='119' cy='293' r='0.6' opacity='0.56'/%3E%3Ccircle cx='40' cy='126' r='0.6' opacity='0.56'/%3E%3Ccircle cx='168' cy='205' r='0.6' opacity='0.57'/%3E%3Ccircle cx='192' cy='112' r='0.6' opacity='0.56'/%3E%3Ccircle cx='186' cy='149' r='1.3' opacity='0.68'/%3E%3Ccircle cx='140' cy='277' r='1.0' opacity='0.41'/%3E%3Ccircle cx='238' cy='210' r='0.8' opacity='0.30'/%3E%3Ccircle cx='90' cy='149' r='1.0' opacity='0.65'/%3E%3Ccircle cx='86' cy='294' r='0.6' opacity='0.53'/%3E%3Ccircle cx='49' cy='103' r='1.3' opacity='0.48'/%3E%3Ccircle cx='289' cy='23' r='1.0' opacity='0.44'/%3E%3Ccircle cx='105' cy='149' r='1.3' opacity='0.29'/%3E%3Ccircle cx='28' cy='81' r='0.6' opacity='0.28'/%3E%3Ccircle cx='210' cy='194' r='1.3' opacity='0.41'/%3E%3Ccircle cx='116' cy='201' r='0.6' opacity='0.77'/%3E%3Ccircle cx='107' cy='183' r='1.3' opacity='0.28'/%3E%3Ccircle cx='230' cy='39' r='0.8' opacity='0.47'/%3E%3Ccircle cx='275' cy='149' r='0.8' opacity='0.50'/%3E%3Ccircle cx='165' cy='265' r='1.3' opacity='0.73'/%3E%3Ccircle cx='84' cy='125' r='1.0' opacity='0.63'/%3E%3Ccircle cx='114' cy='69' r='0.6' opacity='0.35'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 300px 300px repeat,
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(40,130,110,.26), transparent 65%),
    linear-gradient(180deg, rgba(6,22,32,.55), rgba(4,10,18,.15) 60%, rgba(0,0,0,.3));
  --th-mini:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 120' preserveAspectRatio='none'%3E%3Cpath d='M0 70 L60 40 L110 62 L170 30 L240 64 L320 44 L400 70 L470 38 L540 60 L610 34 L690 58 L760 42 L800 56 V120 H0Z' fill='%230a1a1c'/%3E%3Cpath d='M0 92 Q120 70 240 88 T480 84 T800 90 V120 H0Z' fill='%23050e10'/%3E%3C/svg%3E") 0 100% / 100% 26px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cg fill='%23e8f0ff'%3E%3Ccircle cx='97' cy='45' r='0.6' opacity='0.29'/%3E%3Ccircle cx='161' cy='110' r='0.6' opacity='0.75'/%3E%3Ccircle cx='64' cy='26' r='1.3' opacity='0.29'/%3E%3Ccircle cx='27' cy='127' r='0.6' opacity='0.77'/%3E%3Ccircle cx='189' cy='175' r='0.6' opacity='0.57'/%3E%3Ccircle cx='119' cy='293' r='0.6' opacity='0.56'/%3E%3Ccircle cx='40' cy='126' r='0.6' opacity='0.56'/%3E%3Ccircle cx='168' cy='205' r='0.6' opacity='0.57'/%3E%3Ccircle cx='192' cy='112' r='0.6' opacity='0.56'/%3E%3Ccircle cx='186' cy='149' r='1.3' opacity='0.68'/%3E%3Ccircle cx='140' cy='277' r='1.0' opacity='0.41'/%3E%3Ccircle cx='238' cy='210' r='0.8' opacity='0.30'/%3E%3Ccircle cx='90' cy='149' r='1.0' opacity='0.65'/%3E%3Ccircle cx='86' cy='294' r='0.6' opacity='0.53'/%3E%3Ccircle cx='49' cy='103' r='1.3' opacity='0.48'/%3E%3Ccircle cx='289' cy='23' r='1.0' opacity='0.44'/%3E%3Ccircle cx='105' cy='149' r='1.3' opacity='0.29'/%3E%3Ccircle cx='28' cy='81' r='0.6' opacity='0.28'/%3E%3Ccircle cx='210' cy='194' r='1.3' opacity='0.41'/%3E%3Ccircle cx='116' cy='201' r='0.6' opacity='0.77'/%3E%3Ccircle cx='107' cy='183' r='1.3' opacity='0.28'/%3E%3Ccircle cx='230' cy='39' r='0.8' opacity='0.47'/%3E%3Ccircle cx='275' cy='149' r='0.8' opacity='0.50'/%3E%3Ccircle cx='165' cy='265' r='1.3' opacity='0.73'/%3E%3Ccircle cx='84' cy='125' r='1.0' opacity='0.63'/%3E%3Ccircle cx='114' cy='69' r='0.6' opacity='0.35'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 130px 130px repeat,
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(40,130,110,.26), transparent 65%),
    linear-gradient(180deg, rgba(6,22,32,.55), rgba(4,10,18,.15) 60%, rgba(0,0,0,.3));
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#9af0cc,#6a7ae0);
  --th-btn-ink: #06121a;
  --th-edge: rgba(120,230,190,.4);
  --th-ring: #7ee8c0;
  --fx-ribbon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 240' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='v' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239a7cff' stop-opacity='0'/%3E%3Cstop offset='.35' stop-color='%238a7cff' stop-opacity='.35'/%3E%3Cstop offset='.62' stop-color='%234ff0a8' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%234ff0a8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='hz'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.2' stop-color='%23fff'/%3E%3Cstop offset='.8' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cmask id='m'%3E%3Crect width='800' height='240' fill='url(%23hz)'/%3E%3C/mask%3E%3C/defs%3E%3Cpath mask='url(%23m)' fill='url(%23v)' d='M0 70 C120 20 220 110 360 60 S600 10 800 70 L800 190 C650 150 560 230 400 180 S150 150 0 200Z'/%3E%3C/svg%3E");
}
/* —— cosmo —— Spazio profondo, pianeta e stelle cadenti */
html[data-theme="cosmo"],
.look-stage[data-theme-preview="cosmo"] {
  --th-page:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 260'%3E%3Cg fill='%23f0f2ff'%3E%3Ccircle cx='60' cy='61' r='1.2' opacity='0.66'/%3E%3Ccircle cx='47' cy='73' r='0.7' opacity='0.43'/%3E%3Ccircle cx='96' cy='147' r='0.7' opacity='0.58'/%3E%3Ccircle cx='134' cy='161' r='0.5' opacity='0.45'/%3E%3Ccircle cx='226' cy='247' r='1.2' opacity='0.42'/%3E%3Ccircle cx='102' cy='125' r='1.2' opacity='0.23'/%3E%3Ccircle cx='18' cy='54' r='0.7' opacity='0.26'/%3E%3Ccircle cx='156' cy='27' r='0.7' opacity='0.50'/%3E%3Ccircle cx='247' cy='160' r='0.5' opacity='0.68'/%3E%3Ccircle cx='160' cy='39' r='0.9' opacity='0.73'/%3E%3Ccircle cx='157' cy='123' r='0.5' opacity='0.67'/%3E%3Ccircle cx='258' cy='121' r='1.2' opacity='0.37'/%3E%3Ccircle cx='37' cy='195' r='0.9' opacity='0.46'/%3E%3Ccircle cx='180' cy='134' r='0.7' opacity='0.72'/%3E%3Ccircle cx='137' cy='38' r='0.5' opacity='0.62'/%3E%3Ccircle cx='78' cy='167' r='0.5' opacity='0.58'/%3E%3Ccircle cx='68' cy='95' r='0.7' opacity='0.40'/%3E%3Ccircle cx='58' cy='141' r='0.9' opacity='0.55'/%3E%3Ccircle cx='159' cy='205' r='0.7' opacity='0.64'/%3E%3Ccircle cx='213' cy='192' r='0.7' opacity='0.31'/%3E%3Ccircle cx='128' cy='190' r='0.5' opacity='0.63'/%3E%3Ccircle cx='123' cy='50' r='0.9' opacity='0.45'/%3E%3Ccircle cx='244' cy='257' r='0.9' opacity='0.24'/%3E%3Ccircle cx='27' cy='122' r='0.9' opacity='0.31'/%3E%3Ccircle cx='162' cy='234' r='0.5' opacity='0.46'/%3E%3Ccircle cx='170' cy='208' r='0.5' opacity='0.66'/%3E%3Ccircle cx='31' cy='101' r='0.7' opacity='0.46'/%3E%3Ccircle cx='46' cy='205' r='0.9' opacity='0.25'/%3E%3Ccircle cx='246' cy='188' r='1.2' opacity='0.42'/%3E%3Ccircle cx='246' cy='188' r='0.7' opacity='0.75'/%3E%3Ccircle cx='7' cy='154' r='1.2' opacity='0.64'/%3E%3Ccircle cx='38' cy='215' r='1.2' opacity='0.56'/%3E%3Ccircle cx='91' cy='143' r='0.7' opacity='0.21'/%3E%3Ccircle cx='208' cy='189' r='0.5' opacity='0.49'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 260px 260px repeat,
    radial-gradient(ellipse 45% 35% at 82% 18%, rgba(120,70,190,.26), transparent 62%),
    radial-gradient(ellipse 50% 40% at 12% 78%, rgba(40,80,170,.24), transparent 62%),
    linear-gradient(180deg, rgba(4,5,16,.55), rgba(2,2,8,.35));
  --th-mini:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 260'%3E%3Cg fill='%23f0f2ff'%3E%3Ccircle cx='60' cy='61' r='1.2' opacity='0.66'/%3E%3Ccircle cx='47' cy='73' r='0.7' opacity='0.43'/%3E%3Ccircle cx='96' cy='147' r='0.7' opacity='0.58'/%3E%3Ccircle cx='134' cy='161' r='0.5' opacity='0.45'/%3E%3Ccircle cx='226' cy='247' r='1.2' opacity='0.42'/%3E%3Ccircle cx='102' cy='125' r='1.2' opacity='0.23'/%3E%3Ccircle cx='18' cy='54' r='0.7' opacity='0.26'/%3E%3Ccircle cx='156' cy='27' r='0.7' opacity='0.50'/%3E%3Ccircle cx='247' cy='160' r='0.5' opacity='0.68'/%3E%3Ccircle cx='160' cy='39' r='0.9' opacity='0.73'/%3E%3Ccircle cx='157' cy='123' r='0.5' opacity='0.67'/%3E%3Ccircle cx='258' cy='121' r='1.2' opacity='0.37'/%3E%3Ccircle cx='37' cy='195' r='0.9' opacity='0.46'/%3E%3Ccircle cx='180' cy='134' r='0.7' opacity='0.72'/%3E%3Ccircle cx='137' cy='38' r='0.5' opacity='0.62'/%3E%3Ccircle cx='78' cy='167' r='0.5' opacity='0.58'/%3E%3Ccircle cx='68' cy='95' r='0.7' opacity='0.40'/%3E%3Ccircle cx='58' cy='141' r='0.9' opacity='0.55'/%3E%3Ccircle cx='159' cy='205' r='0.7' opacity='0.64'/%3E%3Ccircle cx='213' cy='192' r='0.7' opacity='0.31'/%3E%3Ccircle cx='128' cy='190' r='0.5' opacity='0.63'/%3E%3Ccircle cx='123' cy='50' r='0.9' opacity='0.45'/%3E%3Ccircle cx='244' cy='257' r='0.9' opacity='0.24'/%3E%3Ccircle cx='27' cy='122' r='0.9' opacity='0.31'/%3E%3Ccircle cx='162' cy='234' r='0.5' opacity='0.46'/%3E%3Ccircle cx='170' cy='208' r='0.5' opacity='0.66'/%3E%3Ccircle cx='31' cy='101' r='0.7' opacity='0.46'/%3E%3Ccircle cx='46' cy='205' r='0.9' opacity='0.25'/%3E%3Ccircle cx='246' cy='188' r='1.2' opacity='0.42'/%3E%3Ccircle cx='246' cy='188' r='0.7' opacity='0.75'/%3E%3Ccircle cx='7' cy='154' r='1.2' opacity='0.64'/%3E%3Ccircle cx='38' cy='215' r='1.2' opacity='0.56'/%3E%3Ccircle cx='91' cy='143' r='0.7' opacity='0.21'/%3E%3Ccircle cx='208' cy='189' r='0.5' opacity='0.49'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 120px repeat,
    radial-gradient(ellipse 45% 35% at 82% 18%, rgba(120,70,190,.26), transparent 62%),
    radial-gradient(ellipse 50% 40% at 12% 78%, rgba(40,80,170,.24), transparent 62%),
    linear-gradient(180deg, rgba(4,5,16,.55), rgba(2,2,8,.35));
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#cfc2ff,#6a5ad0);
  --th-btn-ink: #0a0818;
  --th-edge: rgba(170,150,255,.42);
  --th-ring: #a898ff;
  --fx-planet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cdefs%3E%3CradialGradient id='p' cx='.35' cy='.3' r='.8'%3E%3Cstop offset='0' stop-color='%23e8b88a'/%3E%3Cstop offset='.55' stop-color='%23a06a58'/%3E%3Cstop offset='1' stop-color='%232a1a2a'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='60' cy='42' rx='56' ry='12' fill='none' stroke='%23d8c0a0' stroke-width='2.5' opacity='.35'/%3E%3Ccircle cx='60' cy='40' r='26' fill='url(%23p)'/%3E%3Cpath d='M60 40 m-26 0 a26 26 0 0 0 52 0' fill='none'/%3E%3Cpath d='M8 44 A56 12 0 0 0 112 44' fill='none' stroke='%23f0dcc0' stroke-width='2.5' opacity='.6'/%3E%3C/svg%3E");
}
/* —— abissi —— Fondale: bolle, riflessi e una medusa */
html[data-theme="abissi"],
.look-stage[data-theme-preview="abissi"] {
  --th-page:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 140'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M20 140 Q6 110 22 84 T18 30' stroke='%2312483e' stroke-width='6'/%3E%3Cpath d='M40 140 Q54 112 38 90 T46 50' stroke='%230e3a34' stroke-width='5'/%3E%3Cpath d='M60 140 Q50 120 62 100' stroke='%2315503f' stroke-width='5'/%3E%3C/g%3E%3Cpath d='M0 140 Q40 118 90 128 T160 124 V140Z' fill='%2306161a'/%3E%3Ccircle cx='112' cy='126' r='10' fill='%230c2a2c'/%3E%3Ccircle cx='128' cy='130' r='7' fill='%230a2224'/%3E%3C/svg%3E") left 0 bottom 0 / min(200px,40vw) auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 140'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M20 140 Q6 110 22 84 T18 30' stroke='%2312483e' stroke-width='6'/%3E%3Cpath d='M40 140 Q54 112 38 90 T46 50' stroke='%230e3a34' stroke-width='5'/%3E%3Cpath d='M60 140 Q50 120 62 100' stroke='%2315503f' stroke-width='5'/%3E%3C/g%3E%3Cpath d='M0 140 Q40 118 90 128 T160 124 V140Z' fill='%2306161a'/%3E%3Ccircle cx='112' cy='126' r='10' fill='%230c2a2c'/%3E%3Ccircle cx='128' cy='130' r='7' fill='%230a2224'/%3E%3C/svg%3E") right -30px bottom 0 / min(140px,28vw) auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='r' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239ee8ff' stop-opacity='.22'/%3E%3Cstop offset='1' stop-color='%239ee8ff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23r)'%3E%3Cpath d='M60 0h40L60 300H0Z'/%3E%3Cpath d='M170 0h26L180 300h-50Z'/%3E%3Cpath d='M260 0h44L330 300h-60Z'/%3E%3Cpath d='M350 0h22L400 300h-30Z'/%3E%3C/g%3E%3C/svg%3E") 50% 0 / 100% 70vh no-repeat,
    linear-gradient(180deg, rgba(18,86,108,.42), rgba(4,24,36,.2) 45%, rgba(0,6,12,.5));
  --th-mini:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 140'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M20 140 Q6 110 22 84 T18 30' stroke='%2312483e' stroke-width='6'/%3E%3Cpath d='M40 140 Q54 112 38 90 T46 50' stroke='%230e3a34' stroke-width='5'/%3E%3Cpath d='M60 140 Q50 120 62 100' stroke='%2315503f' stroke-width='5'/%3E%3C/g%3E%3Cpath d='M0 140 Q40 118 90 128 T160 124 V140Z' fill='%2306161a'/%3E%3Ccircle cx='112' cy='126' r='10' fill='%230c2a2c'/%3E%3Ccircle cx='128' cy='130' r='7' fill='%230a2224'/%3E%3C/svg%3E") left 0 bottom 0 / 70px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 140'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M20 140 Q6 110 22 84 T18 30' stroke='%2312483e' stroke-width='6'/%3E%3Cpath d='M40 140 Q54 112 38 90 T46 50' stroke='%230e3a34' stroke-width='5'/%3E%3Cpath d='M60 140 Q50 120 62 100' stroke='%2315503f' stroke-width='5'/%3E%3C/g%3E%3Cpath d='M0 140 Q40 118 90 128 T160 124 V140Z' fill='%2306161a'/%3E%3Ccircle cx='112' cy='126' r='10' fill='%230c2a2c'/%3E%3Ccircle cx='128' cy='130' r='7' fill='%230a2224'/%3E%3C/svg%3E") right -10px bottom 0 / 50px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='r' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239ee8ff' stop-opacity='.22'/%3E%3Cstop offset='1' stop-color='%239ee8ff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23r)'%3E%3Cpath d='M60 0h40L60 300H0Z'/%3E%3Cpath d='M170 0h26L180 300h-50Z'/%3E%3Cpath d='M260 0h44L330 300h-60Z'/%3E%3Cpath d='M350 0h22L400 300h-30Z'/%3E%3C/g%3E%3C/svg%3E") 50% 0 / 100% 70% no-repeat,
    linear-gradient(180deg, rgba(18,86,108,.42), rgba(4,24,36,.2) 45%, rgba(0,6,12,.5));
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#9ae8f2,#2a8aa8);
  --th-btn-ink: #041218;
  --th-edge: rgba(110,210,230,.42);
  --th-ring: #6ad4e8;
  --fx-caustic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23b8f4ff' stroke-width='1.6' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M59 23L51 37L33 38L22 21L30 6L51 9ZM106 36L95 52L78 52L68 33L80 16L95 19ZM133 19L128 33L109 34L93 20L106 -5L124 -4ZM189 13L174 32L156 30L146 16L162 1L177 -0ZM43 65L34 79L20 80L13 70L20 52L34 49ZM89 66L82 76L61 77L53 65L64 42L79 47ZM161 71L150 84L128 87L115 74L128 49L147 48ZM187 80L182 90L165 88L159 80L166 68L178 67ZM53 121L44 135L32 134L26 123L31 112L48 110ZM107 125L100 138L82 138L75 123L81 111L99 114ZM147 128L136 142L120 142L105 130L116 111L134 105ZM177 124L170 138L150 139L140 123L151 100L168 107ZM34 157L28 173L4 177L-7 161L1 144L21 139ZM98 161L94 175L77 177L70 163L80 151L92 149ZM140 184L135 195L114 195L108 181L115 171L132 168ZM197 172L185 189L167 184L160 172L168 155L189 153Z' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
  --fx-jelly: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 90'%3E%3Cdefs%3E%3CradialGradient id='j' cx='.5' cy='.35' r='.6'%3E%3Cstop offset='0' stop-color='%23f6d4ff' stop-opacity='.9'/%3E%3Cstop offset='.7' stop-color='%23b890e8' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%238a6ad0' stop-opacity='.15'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M6 34 Q6 6 30 6 Q54 6 54 34 Q48 30 42 34 Q36 30 30 34 Q24 30 18 34 Q12 30 6 34Z' fill='url(%23j)'/%3E%3Cg fill='none' stroke='%23d8b8ff' stroke-width='1.3' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M14 34 Q10 50 16 64 T14 86'/%3E%3Cpath d='M24 35 Q28 52 22 66 T26 84'/%3E%3Cpath d='M36 35 Q32 52 38 66 T34 88'/%3E%3Cpath d='M46 34 Q50 50 44 62 T47 80'/%3E%3C/g%3E%3C/svg%3E");
}
/* —— lucciole —— Bosco di notte con le lucciole */
html[data-theme="lucciole"],
.look-stage[data-theme-preview="lucciole"] {
  --th-page:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M20 20 L55 300 L-15 300 Z' fill='%2307140c'/%3E%3Cpath d='M70 100 L98 300 L42 300 Z' fill='%230a1a10'/%3E%3Cpath d='M120 150 L142 300 L98 300 Z' fill='%230c1e13'/%3E%3Cpath d='M-10 70 L20 300 L-40 300 Z' fill='%23050e08'/%3E%3C/svg%3E") left -20px bottom 0 / min(220px,40vw) auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M20 20 L55 300 L-15 300 Z' fill='%2307140c'/%3E%3Cpath d='M70 100 L98 300 L42 300 Z' fill='%230a1a10'/%3E%3Cpath d='M120 150 L142 300 L98 300 Z' fill='%230c1e13'/%3E%3Cpath d='M-10 70 L20 300 L-40 300 Z' fill='%23050e08'/%3E%3C/svg%3E") right -50px bottom 0 / min(160px,30vw) auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80 V40 L10 28 L20 36 L30 28 L40 44 L50 29 L60 39 L70 23 L80 40 L90 8 L100 43 L110 10 L120 47 L130 24 L140 44 L150 10 L160 46 L170 24 L180 37 L190 23 L200 40 L210 10 L220 40 L230 15 L240 47 L250 14 L260 39 L270 28 L280 43 L290 23 L300 42 L310 10 L320 43 L330 29 L340 40 L350 9 L360 45 L370 28 L380 46 L390 14 L400 37 L410 27 L420 38 L430 18 L440 40 L450 28 L460 47 L470 30 L480 40 L490 27 L500 45 L510 12 L520 36 L530 23 L540 36 L550 23 L560 40 L570 29 L580 37 L590 30 L600 39 L610 29 L620 43 L630 17 L640 47 L650 24 L660 40 L670 22 L680 43 L690 22 L700 48 L710 11 L720 44 L730 14 L740 40 L750 10 L760 43 L770 8 L780 40 L790 22 L800 37 L800 80Z' fill='%23040b06'/%3E%3C/svg%3E") 0 100% / 100% min(70px,9vh) no-repeat,
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(80,120,60,.2), transparent 65%),
    linear-gradient(180deg, rgba(4,10,14,.5), rgba(2,8,4,.2));
  --th-mini:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M20 20 L55 300 L-15 300 Z' fill='%2307140c'/%3E%3Cpath d='M70 100 L98 300 L42 300 Z' fill='%230a1a10'/%3E%3Cpath d='M120 150 L142 300 L98 300 Z' fill='%230c1e13'/%3E%3Cpath d='M-10 70 L20 300 L-40 300 Z' fill='%23050e08'/%3E%3C/svg%3E") left -8px bottom 0 / 80px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M20 20 L55 300 L-15 300 Z' fill='%2307140c'/%3E%3Cpath d='M70 100 L98 300 L42 300 Z' fill='%230a1a10'/%3E%3Cpath d='M120 150 L142 300 L98 300 Z' fill='%230c1e13'/%3E%3Cpath d='M-10 70 L20 300 L-40 300 Z' fill='%23050e08'/%3E%3C/svg%3E") right -20px bottom 0 / 60px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80 V40 L10 28 L20 36 L30 28 L40 44 L50 29 L60 39 L70 23 L80 40 L90 8 L100 43 L110 10 L120 47 L130 24 L140 44 L150 10 L160 46 L170 24 L180 37 L190 23 L200 40 L210 10 L220 40 L230 15 L240 47 L250 14 L260 39 L270 28 L280 43 L290 23 L300 42 L310 10 L320 43 L330 29 L340 40 L350 9 L360 45 L370 28 L380 46 L390 14 L400 37 L410 27 L420 38 L430 18 L440 40 L450 28 L460 47 L470 30 L480 40 L490 27 L500 45 L510 12 L520 36 L530 23 L540 36 L550 23 L560 40 L570 29 L580 37 L590 30 L600 39 L610 29 L620 43 L630 17 L640 47 L650 24 L660 40 L670 22 L680 43 L690 22 L700 48 L710 11 L720 44 L730 14 L740 40 L750 10 L760 43 L770 8 L780 40 L790 22 L800 37 L800 80Z' fill='%23040b06'/%3E%3C/svg%3E") 0 100% / 100% 20px no-repeat,
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(80,120,60,.2), transparent 65%),
    linear-gradient(180deg, rgba(4,10,14,.5), rgba(2,8,4,.2));
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#eef08e,#9ac450);
  --th-btn-ink: #10140a;
  --th-edge: rgba(210,230,120,.38);
  --th-ring: #d8e880;
}
/* —— codice —— Colonne di codice verde che scendono */
html[data-theme="codice"],
.look-stage[data-theme-preview="codice"] {
  --th-page:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(30,120,60,.12), transparent 70%),
    linear-gradient(180deg, rgba(0,12,4,.5), rgba(0,0,0,.35));
  --th-mini:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(30,120,60,.12), transparent 70%),
    linear-gradient(180deg, rgba(0,12,4,.5), rgba(0,0,0,.35));
  --th-tile: none;
  --th-tile-size: 1px;
  --th-tile-mini: 1px;
  --th-tile-op: 0;
  --th-anim: none;
  --th-dur: 1s;
  --th-btn: linear-gradient(180deg,#8af0a8,#2f9a58);
  --th-btn-ink: #031008;
  --th-edge: rgba(90,220,130,.4);
  --th-ring: #5ee08a;
}

/* Whole app: primary buttons, pane edges, header rings pick up the theme */
html[data-theme] .gold {
  background: var(--th-btn) !important;
  color: var(--th-btn-ink) !important;
  border-color: color-mix(in srgb, var(--th-ring) 50%, transparent) !important;
}
html[data-theme] .pane,
html[data-theme] .kept-bar {
  border-color: var(--th-edge);
  box-shadow: inset 0 0 0 1px var(--th-edge);
}
html[data-theme] .wrap > header .chrome-circlet--lang,
html[data-theme] .wrap > header .chrome-circlet--account {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 0 0 1px color-mix(in srgb, var(--th-ring) 70%, transparent),
    0 8px 16px -10px rgba(0, 0, 0, 0.55);
}
html[data-theme] .wrap > header .chrome-circlet::before {
  border-color: color-mix(in srgb, var(--th-ring) 60%, transparent);
}

/* —— Pixel: stepped edges, pixel-round orbs (never square boxes) —— */
html[data-theme="pixel"] .pane,
html[data-theme="pixel"] .kept-bar,
html[data-theme="pixel"] .gold,
html[data-theme="pixel"] .ghost,
html[data-theme="pixel"] .chip,
html[data-theme="pixel"] .sizes button,
html[data-theme="pixel"] .tone button,
html[data-theme="pixel"] .slab button,
html[data-theme="pixel"] .look-chip,
html[data-theme="pixel"] .look-open-btn,
html[data-theme="pixel"] #accountPop,
html[data-theme="pixel"] #lookPop,
html[data-theme="pixel"] .langmenu {
  border-radius: 2px !important;
  box-shadow:
    3px 0 0 color-mix(in srgb, var(--th-ring) 30%, transparent),
    -3px 0 0 rgba(0, 0, 0, 0.45),
    0 3px 0 rgba(0, 0, 0, 0.5),
    inset 0 0 0 1px var(--th-edge) !important;
}
html[data-theme="pixel"] .wrap > header .chrome-circlet,
html[data-theme="pixel"] .wrap > header button#langChip.chrome-circlet,
html[data-theme="pixel"] #hbHelpBtn.chrome-circlet {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-color: transparent !important;
  isolation: isolate;
  overflow: visible !important;
}
html[data-theme="pixel"] .wrap > header .chrome-circlet::before,
html[data-theme="pixel"] .wrap > header .chrome-circlet::after,
html[data-theme="pixel"] #hbHelpBtn.chrome-circlet::before,
html[data-theme="pixel"] #hbHelpBtn.chrome-circlet::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  border: 0 !important;
  border-radius: 0 !important;
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  pointer-events: none;
  clip-path: polygon(30% 0, 70% 0, 70% 8%, 84% 8%, 84% 16%, 92% 16%, 92% 30%, 100% 30%, 100% 70%, 92% 70%, 92% 84%, 84% 84%, 84% 92%, 70% 92%, 70% 100%, 30% 100%, 30% 92%, 16% 92%, 16% 84%, 8% 84%, 8% 70%, 0 70%, 0 30%, 8% 30%, 8% 16%, 16% 16%, 16% 8%, 30% 8%);
}
html[data-theme="pixel"] .wrap > header .chrome-circlet::after,
html[data-theme="pixel"] #hbHelpBtn.chrome-circlet::after {
  inset: -3px !important;
  z-index: -2 !important;
  background: color-mix(in srgb, var(--th-ring) 80%, #000) !important;
}
html[data-theme="pixel"] .wrap > header .chrome-circlet::before,
html[data-theme="pixel"] #hbHelpBtn.chrome-circlet::before {
  inset: 0 !important;
  z-index: -1 !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.28) 0 30%, transparent 30%),
    #1c2618 !important;
}
html[data-theme="pixel"] .chrome-mark-leaf {
  image-rendering: pixelated;
}
html[data-theme="pixel"] .forest {
  --th-filter: contrast(1.1) saturate(0.85);
}
html[data-theme="pixel"] .brand { letter-spacing: 0.08em; }

/* —— Noir: film grey on the background only; study panes keep crisp colour —— */
html[data-theme="noir"] .forest {
  --th-filter: grayscale(1) contrast(1.15) brightness(0.9);
}
html[data-theme="noir"] .beam {
  filter: grayscale(1) contrast(1.15) brightness(0.9);
}
html[data-theme="noir"] .brand {
  filter: grayscale(1);
}

/* —— Neon: glowing edges —— */
html[data-theme="neon"] .pane,
html[data-theme="neon"] .kept-bar {
  box-shadow:
    inset 0 0 0 1px var(--th-edge),
    0 0 18px -6px rgba(94, 240, 255, 0.55),
    0 0 26px -12px rgba(255, 79, 216, 0.5);
}
html[data-theme="neon"] .gold {
  box-shadow: 0 0 18px -4px rgba(255, 122, 216, 0.7) !important;
}
html[data-theme="neon"] .brand {
  text-shadow: 0 0 8px rgba(94, 240, 255, 0.7);
}

/* —— Acquerello: soft painted panes —— */
html[data-theme="acquerello"] .pane,
html[data-theme="acquerello"] .kept-bar {
  border-radius: 20px;
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, color-mix(in srgb, #8aac7a 14%, transparent), transparent 60%),
    radial-gradient(ellipse 70% 60% at 100% 100%, color-mix(in srgb, #6a94b0 12%, transparent), transparent 60%),
    var(--card);
}

/* —— Natale: snow cap on the main panes —— */
html[data-theme="natale"] .pane {
  background-image: radial-gradient(ellipse 60% 6px at 50% 0, rgba(236, 244, 248, 0.35), transparent 100%);
  background-repeat: no-repeat;
}

/* Study text stays crisp and never inherits a filter */
html[data-theme] #studyPane,
html[data-theme] #bookPane,
html[data-theme] .pane textarea,
html[data-theme] .pane [contenteditable],
html[data-theme] #out,
html[data-theme] #src {
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] .forest::after { animation: none; }
  .look-stage-tile { animation: none !important; }
}
