/* The Hub's look: Lagoon (picked Oct 26, 2026): a soft gradient page, a
   gradient sidebar and gradient main buttons. Themes (Settings, per device)
   only change the colour variables, set by html data-palette="…".
   Lineup: Lagoon (default), Rainforest, Ocean night, Red and white,
   Candy confetti, Mermaid afterglow. */
html[data-look="lagoon"]{
  --c1:#0E7A6E; --c2:#2457C5; --cmid:#14639A;            /* sidebar: top, bottom, middle */
  --p1:#DDF1EE; --p2:#EEF6F8; --p3:#E2EBFA;               /* page wash */
  --side-text:#E6F2F0; --side-edge:#9FD3CC; --card-edge:#D3E4E8;
  --teal:var(--c1); --blue:var(--c2);
}
/* Rainforest: teal into leaf green */
html[data-palette="rainforest"]{--c1:#0E7A6E;--cmid:#1F7F55;--c2:#3C7D2E;--p1:#DFF2EC;--p2:#F1F7F2;--p3:#E6F1DD;--side-edge:#A5D3B9;--card-edge:#D3E6DA;--blue-soft:#E7F2E2}

/* Ocean night: midnight navy into cobalt */
html[data-palette="oceannight"]{--c1:#14234F;--cmid:#1D3E86;--c2:#2F72D6;--p1:#E3E8F5;--p2:#F2F4FA;--p3:#E1ECFB;--side-edge:#8DA6DA;--card-edge:#D5DDEE;--blue-soft:#E4EDFB;--teal:#1D3E86}

/* Red and white, Candy confetti, Mermaid afterglow */
html[data-palette="redwhite"]{--c1:#D7263D;--cmid:#BE1931;--c2:#A30F27;--p1:#FFFFFF;--p2:#FFFFFF;--p3:#FFF5F6;--side-edge:#F6B3BD;--card-edge:#F0DADD;--blue-soft:#FDECEE;--teal:#BE1931;--blue:#D7263D;--on-fg:#BE1931}
html[data-palette="candy"]{--count-on-bg:#1E2B2A;--c1:#FA78AB;--cmid:#B68BEF;--c2:#7CDDE1;--mid-at:50%;--side-fg:#1E2B2A;--side-text:#1E2B2A;--btn-fg:#1E2B2A;--on-fg:#8A3E9E;--p1:#FDEAF2;--p2:#F6F1FC;--p3:#E6F8F9;--side-edge:#FFFFFF;--card-edge:#E9DFF0;--blue-soft:#F1E8FC;--teal:#C2457D;--blue:#7E57C2;--count-bg:#1E2B2A;--count-fg:#fff}
html[data-palette="mermaid"]{--count-on-bg:#13302E;--c1:#0C8C87;--cmid:#70C6C6;--c2:#E7B6DF;--mid-at:50%;--side-fg:#13302E;--side-text:#13302E;--btn-fg:#13302E;--on-fg:#0C8C87;--p1:#DDF2F1;--p2:#F1F8F8;--p3:#F6E9F4;--side-edge:#FFFFFF;--card-edge:#D9E8E8;--blue-soft:#F6E6F3;--teal:#0C8C87;--blue:#A0569A;--count-bg:#13302E;--count-fg:#fff}

html[data-look="lagoon"] body{background:linear-gradient(155deg,var(--p1) 0%,var(--p2) 40%,var(--p3) 100%) fixed}
html[data-look="lagoon"] .side{background:linear-gradient(180deg,var(--c1) 0%,var(--cmid) var(--mid-at,60%),var(--c2) 100%);border-right:0;color:var(--side-fg,#fff)}
html[data-look="lagoon"] .nav a{color:var(--side-fg,#fff)}
html[data-look="lagoon"] .nav a.on{background:#fff;color:var(--on-fg,var(--c1))}
html[data-look="lagoon"] .nav .count{background:var(--count-bg,#fff);color:var(--count-fg,var(--c2))}
html[data-look="lagoon"] .nav a.on .count{background:var(--count-on-bg,var(--c2));color:#fff}
html[data-look="lagoon"] .side .foot,html[data-look="lagoon"] .side .foot button,html[data-look="lagoon"] .side .foot a{color:var(--side-text)}
html[data-look="lagoon"] .version{background:transparent;color:var(--side-fg,#fff);border-color:var(--side-edge)}
html[data-look="lagoon"] .card{border-color:var(--card-edge)}
html[data-look="lagoon"] .btn,html[data-look="lagoon"] .btn:disabled{background:linear-gradient(115deg,var(--c1),var(--cmid) var(--mid-at,50%),var(--c2));color:var(--btn-fg,#fff)}
@media (max-width:900px){html[data-look="lagoon"] .side{background:var(--c1)}}
@media print{html[data-look="lagoon"] body{background:#fff}}


/* Craft Dreams: the website's look (Nov 2026). Teal sidebar like the site's
   heroes, paper-grain page, coral buttons with a 3D edge, product colours on
   the tiles, softer hand-cut cards and a handwritten touch. */
@font-face{font-family:"Caveat";src:url("/fonts/caveat-bold.woff2") format("woff2");font-weight:700;font-display:swap}
html[data-palette="craft"]{--c1:#005A68;--cmid:#00778A;--c2:#16A0B0;--mid-at:45%;--p1:#FBFCFD;--p2:#FBFCFD;--p3:#FBFCFD;--side-edge:#9BE3A8;--card-edge:transparent;--blue-soft:#EAF7EC;--teal:#00778A;--blue:#16A0B0;--on-fg:#005A68;--count-bg:#FF7F6E;--count-fg:#3A0F0A;--count-on-bg:#FF7F6E;--grain:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .32  0 0 0 0 .18  0 0 0 .13 0'/></filter><rect width='100%25' height='100%25' filter='url%28%23n%29'/></svg>")}
html[data-palette="craft"] body{background:var(--grain),#FBFCFD}
html[data-palette="craft"] .side{background:var(--grain),linear-gradient(180deg,#005A68 0%,#00778A 45%,#16A0B0 85%,#4FD1C5 100%)}
html[data-palette="craft"] .nav a.on{background:#FF7F6E;color:#3A0F0A}
html[data-palette="craft"] .card{border:0;border-radius:18px 24px 16px 26px;box-shadow:0 8px 22px rgba(7,40,60,.08)}
html[data-palette="craft"] .btn,html[data-palette="craft"] .btn:disabled{background:#FF7F6E;color:#3A0F0A;box-shadow:0 4px 0 #D85C4C;border-radius:999px}
html[data-palette="craft"] .btn:hover{transform:translateY(-1px);box-shadow:0 5px 0 #D85C4C}
html[data-palette="craft"] .btn2{border-radius:999px;border-width:2px}
html[data-palette="craft"] .grid4>.card:nth-child(4n+1){background:var(--grain),#FFEBE7}
html[data-palette="craft"] .grid4>.card:nth-child(4n+2){background:var(--grain),#E1F7FA}
html[data-palette="craft"] .grid4>.card:nth-child(4n+3){background:var(--grain),#EAF7EC}
html[data-palette="craft"] .grid4>.card:nth-child(4n){background:var(--grain),#FBF6EA}
html[data-palette="craft"] .sub{font:700 22px/1.15 "Caveat",cursive;color:#E2604E;margin-top:4px}
html[data-palette="craft"] .h1{color:#073F59}
@media (max-width:900px){html[data-palette="craft"] .side{background:#00778A}}
@media print{html[data-palette="craft"] body{background:#fff}}


/* ---------- The softer look (Nov 2026), every theme ----------
   Matches the new website and Studio: pill menu and buttons, soft rounded
   cards with a shadow, tinted number tiles, a wave at the foot of the
   sidebar and a handwritten hello. Colours still come from the theme. */
html[data-look="lagoon"] .nav a{border-radius:999px}
html[data-look="lagoon"] .card{border-radius:18px 24px 16px 26px;box-shadow:0 8px 22px rgba(7,40,60,.07);border-color:transparent}
html[data-look="lagoon"] .btn{border-radius:999px;box-shadow:0 4px 0 rgba(0,0,0,.18)}
html[data-look="lagoon"] .btn:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.18)}
html[data-look="lagoon"] .btn2{border-radius:999px}
html[data-look="lagoon"] .grid4>.card{border:0}
html[data-look="lagoon"] .grid4>.card:nth-child(4n+1){background:color-mix(in srgb,var(--c1) 11%,#fff)}
html[data-look="lagoon"] .grid4>.card:nth-child(4n+2){background:color-mix(in srgb,var(--cmid) 11%,#fff)}
html[data-look="lagoon"] .grid4>.card:nth-child(4n+3){background:color-mix(in srgb,var(--c2) 11%,#fff)}
html[data-look="lagoon"] .grid4>.card:nth-child(4n){background:color-mix(in srgb,var(--c1) 6%,#fff)}
html[data-look="lagoon"] .grid4>.card .big{color:var(--teal)}
html[data-look="lagoon"] .side{overflow:hidden}
html[data-look="lagoon"] .side::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 90' preserveAspectRatio='none'%3E%3Cpath d='M0 40c50 20 120 26 230 4V90H0z' fill='%23fff' fill-opacity='.22'/%3E%3Cpath d='M0 62c70-14 150-12 230 6V90H0z' fill='%23fff' fill-opacity='.16'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
html[data-look="lagoon"] .side .foot{position:relative;z-index:1}
.greet{margin:0;font:700 28px/1 "Caveat",cursive;color:var(--c2,#2457C5)}
.greet.cheer{font-size:24px;color:var(--teal);margin-top:12px}
html[data-palette="craft"] .greet{color:#E2604E}
html[data-palette="craft"] .greet.cheer{color:#00778A}
html[data-palette="craft"] .sub.date-line{font:inherit;font-size:15px;color:var(--muted);margin-top:4px}
html[data-palette="craft"] .side::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 90' preserveAspectRatio='none'%3E%3Cpath d='M0 40c50 20 120 26 230 4V90H0z' fill='%239BE3A8'/%3E%3Cpath d='M0 62c70-14 150-12 230 6V90H0z' fill='%23fff' fill-opacity='.25'/%3E%3C/svg%3E")}
html[data-palette="craft"] .grid4>.card .big{color:inherit}
@media (max-width:900px){html[data-look="lagoon"] .side::after{display:none}}
html[data-palette="craft"] .grid4>.card:nth-child(4n+1){background:var(--grain),#FFEBE7}
html[data-palette="craft"] .grid4>.card:nth-child(4n+2){background:var(--grain),#E1F7FA}
html[data-palette="craft"] .grid4>.card:nth-child(4n+3){background:var(--grain),#EAF7EC}
html[data-palette="craft"] .grid4>.card:nth-child(4n){background:var(--grain),#FBF6EA}
html[data-palette="craft"] .grid4>.card:nth-child(4n+1) .big{color:#C0533F}
html[data-palette="craft"] .grid4>.card:nth-child(4n+2) .big{color:#007F98}
html[data-palette="craft"] .grid4>.card:nth-child(4n+3) .big{color:#2E8B57}
html[data-palette="craft"] .grid4>.card:nth-child(4n) .big{color:#A07A1F}
@media (min-width:901px){html[data-look="lagoon"] .side{padding-bottom:84px}}


/* Confetti (Nov 2026): the party cards' look. Cream dotted paper with
   confetti, a rainbow sidebar with dark text, coral buttons, colourful tiles. */
html[data-palette="confetti"]{--c1:#FF7F6E;--cmid:#FFD166;--c2:#3CC7D6;--mid-at:50%;--side-fg:#2B2B3A;--side-text:#2B2B3A;--btn-fg:#3A0F0A;--on-fg:#C0533F;--p1:#FFF8EE;--p2:#FFF8EE;--p3:#FFF8EE;--side-edge:#FFFFFF;--card-edge:transparent;--blue-soft:#FFF1EC;--teal:#C0533F;--blue:#7E57C2;--count-bg:#2B2B3A;--count-fg:#fff;--count-on-bg:#2B2B3A}
html[data-palette="confetti"] body{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='280'><circle cx='13' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='13' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='39' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='65' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='91' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='117' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='143' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='169' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='195' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='221' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='247' cy='273' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='13' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='39' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='65' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='91' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='117' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='143' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='169' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='195' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='221' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='247' r='1.6' fill='%23F0E2CC'/><circle cx='273' cy='273' r='1.6' fill='%23F0E2CC'/><rect x='30' y='40' width='8' height='14' rx='3' fill='%23FF7F6E' opacity='.55' transform='rotate(0 34.0 47.0)'/><rect x='150' y='20' width='12' height='17' rx='3' fill='%233CC7D6' opacity='.55' transform='rotate(37 156.0 28.5)'/><rect x='220' y='110' width='16' height='20' rx='3' fill='%237CCF8A' opacity='.55' transform='rotate(74 228.0 120.0)'/><rect x='90' y='150' width='8' height='23' rx='3' fill='%23FFB38A' opacity='.55' transform='rotate(111 94.0 161.5)'/><rect x='190' y='210' width='12' height='14' rx='3' fill='%23B79CF0' opacity='.55' transform='rotate(148 196.0 217.0)'/><rect x='40' y='230' width='16' height='17' rx='3' fill='%23FFD166' opacity='.55' transform='rotate(5 48.0 238.5)'/><rect x='250' y='250' width='8' height='20' rx='3' fill='%23FF7F6E' opacity='.55' transform='rotate(42 254.0 260.0)'/><rect x='120' y='90' width='12' height='23' rx='3' fill='%233CC7D6' opacity='.55' transform='rotate(79 126.0 101.5)'/></svg>"),#FFF8EE}
html[data-palette="confetti"] .side{background:linear-gradient(180deg,#FF7F6E 0%,#FFB38A 25%,#FFD166 50%,#7CCF8A 75%,#3CC7D6 100%)}
html[data-palette="confetti"] .nav a.on{background:#fff;color:#C0533F}
html[data-palette="confetti"] .btn,html[data-palette="confetti"] .btn:disabled{background:#FF7F6E;color:#3A0F0A;box-shadow:0 4px 0 #D85C4C}
html[data-palette="confetti"] .h1{background:linear-gradient(90deg,#FF7F6E,#E9B949 30%,#4CC3A0 55%,#3CC7D6 75%,#B79CF0);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-palette="confetti"] .greet{color:#7a5a3a}
html[data-palette="confetti"] .greet.cheer{color:#C0533F}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+1){background:#FFE3DE}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+2){background:#DDF5F8}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+3){background:#E3F5E6}
html[data-palette="confetti"] .grid4>.card:nth-child(4n){background:#EFE8FC}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+1) .big{color:#C0533F}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+2) .big{color:#0F8A9A}
html[data-palette="confetti"] .grid4>.card:nth-child(4n+3) .big{color:#2E8B57}
html[data-palette="confetti"] .grid4>.card:nth-child(4n) .big{color:#7E57C2}
html[data-palette="confetti"] .side::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 90' preserveAspectRatio='none'%3E%3Cpath d='M0 40c50 20 120 26 230 4V90H0z' fill='%23B79CF0'/%3E%3Cpath d='M0 62c70-14 150-12 230 6V90H0z' fill='%23fff' fill-opacity='.35'/%3E%3C/svg%3E")}
@media (max-width:900px){html[data-palette="confetti"] .side{background:#FFF8EE;border-top:3px solid #FF7F6E}}
@media print{html[data-palette="confetti"] body{background:#fff}}

/* 3x materials bars: clearly different colours (green = on target, coral = under). */
html[data-palette="craft"]{--bar-ok:#2E9E6B;--bar-low:#FF7F6E}
html[data-palette="confetti"]{--bar-ok:#2E9E6B;--bar-low:#FF7F6E}
