/* Colori e trame scelti da Alessia (generato) */
:root[data-accent="salvia"]{--accent:#4A7A57;--accent-ink:#FFFFFF;--accent-soft:#E1EEDF;--bg:#F6FAF1;--surface-2:#E6F0E2;--line:#D9E4D3;--glow:rgba(74,122,87,.08)}
:root[data-theme="dark"][data-accent="salvia"]{--accent:#9AD3A5;--accent-ink:#0B1A1C;--accent-soft:#26432E;--bg:#17231B;--surface:#213127;--surface-2:#2B4034;--line:#34493C;--glow:rgba(154,211,165,.10)}
:root[data-accent="cielo"]{--accent:#2D6CA5;--accent-ink:#FFFFFF;--accent-soft:#DCEAF7;--bg:#F3F8FD;--surface-2:#E1EDF8;--line:#D3E1EF;--glow:rgba(45,108,165,.08)}
:root[data-theme="dark"][data-accent="cielo"]{--accent:#8CC1F0;--accent-ink:#0B1A1C;--accent-soft:#213C57;--bg:#162331;--surface:#1F3043;--surface-2:#29415A;--line:#324B66;--glow:rgba(140,193,240,.10)}
:root[data-accent="terracotta"]{--accent:#B5573A;--accent-ink:#FFFFFF;--accent-soft:#F8E2D9;--bg:#FFF6F0;--surface-2:#FBE6DB;--line:#EBD5C8;--glow:rgba(181,87,58,.08)}
:root[data-theme="dark"][data-accent="terracotta"]{--accent:#F0A58E;--accent-ink:#0B1A1C;--accent-soft:#55291F;--bg:#261C18;--surface:#33251F;--surface-2:#43322A;--line:#4A3A31;--glow:rgba(240,165,142,.10)}
:root[data-accent="ocra"]{--accent:#98660A;--accent-ink:#FFFFFF;--accent-soft:#F6E8C5;--bg:#FFF9E8;--surface-2:#F8EBC9;--line:#E9DCB8;--glow:rgba(152,102,10,.08)}
:root[data-theme="dark"][data-accent="ocra"]{--accent:#F2C25B;--accent-ink:#0B1A1C;--accent-soft:#4B3A12;--bg:#241F14;--surface:#30291A;--surface-2:#3C3422;--line:#4B4129;--glow:rgba(242,194,91,.10)}
:root[data-accent="ardesia"]{--accent:#46606E;--accent-ink:#FFFFFF;--accent-soft:#E1E9EE;--bg:#F5F8FA;--surface-2:#E4ECF0;--line:#D5DFE5;--glow:rgba(70,96,110,.08)}
:root[data-theme="dark"][data-accent="ardesia"]{--accent:#A9C0CC;--accent-ink:#0B1A1C;--accent-soft:#2F4450;--bg:#1A2227;--surface:#242F36;--surface-2:#2E3C45;--line:#3A4A54;--glow:rgba(169,192,204,.10)}
:root[data-accent="oliva"]{--accent:#66742A;--accent-ink:#FFFFFF;--accent-soft:#EAEFD0;--bg:#FAFBF0;--surface-2:#EDF1D8;--line:#DDE3C2;--glow:rgba(102,116,42,.08)}
:root[data-theme="dark"][data-accent="oliva"]{--accent:#C3D472;--accent-ink:#0B1A1C;--accent-soft:#3B4318;--bg:#1E2214;--surface:#292E1C;--surface-2:#343A24;--line:#424A2E;--glow:rgba(195,212,114,.10)}
:root[data-accent="bosco"]{--accent:#2B6A4C;--accent-ink:#FFFFFF;--accent-soft:#D9EEE3;--bg:#F2FAF6;--surface-2:#DFF1E8;--line:#CCE3D8;--glow:rgba(43,106,76,.08)}
:root[data-theme="dark"][data-accent="bosco"]{--accent:#7FD1A4;--accent-ink:#0B1A1C;--accent-soft:#1F4333;--bg:#14231C;--surface:#1D3027;--surface-2:#273E33;--line:#314C3F;--glow:rgba(127,209,164,.10)}
:root[data-accent="caramello"]{--accent:#8F6035;--accent-ink:#FFFFFF;--accent-soft:#F3E3D0;--bg:#FFF7EE;--surface-2:#F6E6D3;--line:#E6D3BD;--glow:rgba(143,96,53,.08)}
:root[data-theme="dark"][data-accent="caramello"]{--accent:#E3B382;--accent-ink:#0B1A1C;--accent-soft:#4A3724;--bg:#261E17;--surface:#32281F;--surface-2:#3F3228;--line:#4E3F32;--glow:rgba(227,179,130,.10)}
:root[data-accent="menta"]{--accent:#1F8F7E;--accent-ink:#FFFFFF;--accent-soft:#D5F2EA;--bg:#F1FBF8;--surface-2:#DCF4EE;--line:#C9E8E0;--glow:rgba(31,143,126,.08)}
:root[data-theme="dark"][data-accent="menta"]{--accent:#6FE0C9;--accent-ink:#0B1A1C;--accent-soft:#1B4A43;--bg:#132528;--surface:#1C3236;--surface-2:#264045;--line:#30505A;--glow:rgba(111,224,201,.10)}
:root[data-accent="sabbia"]{--accent:#6B6458;--accent-ink:#FFFFFF;--accent-soft:#ECE8DF;--bg:#FAF8F3;--surface-2:#EFEBE2;--line:#DDD7CA;--glow:rgba(107,100,88,.08)}
:root[data-theme="dark"][data-accent="sabbia"]{--accent:#CFC6B4;--accent-ink:#0B1A1C;--accent-soft:#3E3A32;--bg:#1F1E1B;--surface:#2A2925;--surface-2:#35332E;--line:#43413A;--glow:rgba(207,198,180,.10)}
:root{--pa:.10}
:root[data-theme="dark"]{--pa:.08}
:root[data-pati="1"]{--pa:.06}:root[data-pati="3"]{--pa:.20}
:root[data-theme="dark"][data-pati="1"]{--pa:.05}:root[data-theme="dark"][data-pati="3"]{--pa:.17}
:root{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='black'%3E%3Ccircle cx='7' cy='7' r='1.6'/%3E%3Ccircle cx='35' cy='35' r='1.6'/%3E%3Cpath d='M35 6h8v1.4h-8zM7 34h8v1.4H7z'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-pat="puntini"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='black'%3E%3Ccircle cx='7' cy='7' r='1.6'/%3E%3Ccircle cx='35' cy='35' r='1.6'/%3E%3Cpath d='M35 6h8v1.4h-8zM7 34h8v1.4H7z'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-pat="righe"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M0 18L18 0M-4 4L4 -4M14 22L22 14' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
:root[data-pat="quadretti"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M0 .5H28M.5 0V28' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
:root[data-pat="carta"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='black'%3E%3Ccircle cx='3' cy='3' r='.7'/%3E%3Ccircle cx='9' cy='8' r='.7'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-pat="onde"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='16'%3E%3Cpath d='M0 8Q10 0 20 8T40 8' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
:root[data-pat="foglie"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='black'%3E%3Cellipse cx='16' cy='16' rx='7' ry='2.6' transform='rotate%2840 16 16%29'/%3E%3Cellipse cx='48' cy='48' rx='7' ry='2.6' transform='rotate%28-40 48 48%29'/%3E%3Ccircle cx='48' cy='14' r='1.4'/%3E%3Ccircle cx='14' cy='50' r='1.4'/%3E%3C/g%3E%3Cpath d='M12 20L20 12M44 52L52 44' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
:root[data-pat="stelline"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='black'%3E%3Cpath d='M14 6l1.6 6.4L22 14l-6.4 1.6L14 22l-1.6-6.4L6 14l6.4-1.6z'/%3E%3Cpath d='M42 34l1.2 4.8L48 40l-4.8 1.2L42 46l-1.2-4.8L36 40l4.8-1.2z'/%3E%3Ccircle cx='40' cy='10' r='1.2'/%3E%3Ccircle cx='12' cy='42' r='1.2'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-pat="rombi"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M16 2L30 16L16 30L2 16Z' stroke='black' stroke-width='1' fill='none'/%3E%3Ccircle cx='16' cy='16' r='1.3' fill='black'/%3E%3C/svg%3E")}
:root[data-pat="cerchi"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Ccircle cx='24' cy='24' r='10' stroke='black' stroke-width='1' fill='none'/%3E%3Ccircle cx='0' cy='0' r='3' fill='black'/%3E%3Ccircle cx='48' cy='0' r='3' fill='black'/%3E%3Ccircle cx='0' cy='48' r='3' fill='black'/%3E%3Ccircle cx='48' cy='48' r='3' fill='black'/%3E%3C/svg%3E")}
:root[data-pat="fiori"]{--patmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='black'%3E%3Ccircle cx='18' cy='12' r='2.6'/%3E%3Ccircle cx='24' cy='17' r='2.6'/%3E%3Ccircle cx='22' cy='24' r='2.6'/%3E%3Ccircle cx='14' cy='24' r='2.6'/%3E%3Ccircle cx='12' cy='17' r='2.6'/%3E%3Ccircle cx='18' cy='18' r='1.6' fill='white'/%3E%3Ccircle cx='46' cy='46' r='1.6'/%3E%3Ccircle cx='50' cy='20' r='1.2'/%3E%3Ccircle cx='10' cy='48' r='1.2'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-pat="nessuna"]{--patmask:none}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--accent);opacity:var(--pa);-webkit-mask-image:var(--patmask);mask-image:var(--patmask)}
:root[data-pat="nessuna"] body::before{display:none}
.pat-sw[data-k="puntini"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='black'%3E%3Ccircle cx='7' cy='7' r='1.6'/%3E%3Ccircle cx='35' cy='35' r='1.6'/%3E%3Cpath d='M35 6h8v1.4h-8zM7 34h8v1.4H7z'/%3E%3C/g%3E%3C/svg%3E")}
.pat-sw[data-k="righe"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M0 18L18 0M-4 4L4 -4M14 22L22 14' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
.pat-sw[data-k="quadretti"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M0 .5H28M.5 0V28' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
.pat-sw[data-k="carta"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='black'%3E%3Ccircle cx='3' cy='3' r='.7'/%3E%3Ccircle cx='9' cy='8' r='.7'/%3E%3C/g%3E%3C/svg%3E")}
.pat-sw[data-k="onde"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='16'%3E%3Cpath d='M0 8Q10 0 20 8T40 8' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
.pat-sw[data-k="foglie"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='black'%3E%3Cellipse cx='16' cy='16' rx='7' ry='2.6' transform='rotate%2840 16 16%29'/%3E%3Cellipse cx='48' cy='48' rx='7' ry='2.6' transform='rotate%28-40 48 48%29'/%3E%3Ccircle cx='48' cy='14' r='1.4'/%3E%3Ccircle cx='14' cy='50' r='1.4'/%3E%3C/g%3E%3Cpath d='M12 20L20 12M44 52L52 44' stroke='black' stroke-width='1' fill='none'/%3E%3C/svg%3E")}
.pat-sw[data-k="stelline"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='black'%3E%3Cpath d='M14 6l1.6 6.4L22 14l-6.4 1.6L14 22l-1.6-6.4L6 14l6.4-1.6z'/%3E%3Cpath d='M42 34l1.2 4.8L48 40l-4.8 1.2L42 46l-1.2-4.8L36 40l4.8-1.2z'/%3E%3Ccircle cx='40' cy='10' r='1.2'/%3E%3Ccircle cx='12' cy='42' r='1.2'/%3E%3C/g%3E%3C/svg%3E")}
.pat-sw[data-k="rombi"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M16 2L30 16L16 30L2 16Z' stroke='black' stroke-width='1' fill='none'/%3E%3Ccircle cx='16' cy='16' r='1.3' fill='black'/%3E%3C/svg%3E")}
.pat-sw[data-k="cerchi"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Ccircle cx='24' cy='24' r='10' stroke='black' stroke-width='1' fill='none'/%3E%3Ccircle cx='0' cy='0' r='3' fill='black'/%3E%3Ccircle cx='48' cy='0' r='3' fill='black'/%3E%3Ccircle cx='0' cy='48' r='3' fill='black'/%3E%3Ccircle cx='48' cy='48' r='3' fill='black'/%3E%3C/svg%3E")}
.pat-sw[data-k="fiori"]{--pm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='black'%3E%3Ccircle cx='18' cy='12' r='2.6'/%3E%3Ccircle cx='24' cy='17' r='2.6'/%3E%3Ccircle cx='22' cy='24' r='2.6'/%3E%3Ccircle cx='14' cy='24' r='2.6'/%3E%3Ccircle cx='12' cy='17' r='2.6'/%3E%3Ccircle cx='18' cy='18' r='1.6' fill='white'/%3E%3Ccircle cx='46' cy='46' r='1.6'/%3E%3Ccircle cx='50' cy='20' r='1.2'/%3E%3Ccircle cx='10' cy='48' r='1.2'/%3E%3C/g%3E%3C/svg%3E")}
