/* ஒளியோன் இழைவு · The Oliyon Research texture: the kolam behind the page, a gold corner and a fine grain on the cards,
   and the footer with a temple-parapet edge and a gold line. Thingal's (NK, 6 November 2026: "all background texture and
   designs very nicely fit with thingal, we can use these same pattern or style to other tools too").
   Master copy: oliyonresearch docs/shared/texture/ (README there). Copy unchanged into every tool.

   This file draws the footer (any .site-footer) by itself. The page and the cards are the tool's own selectors, using
   the variables below, e.g.
     body  { background: var(--oly-page), var(--bg); }
     .card { background-image: var(--oly-card-image); background-position: var(--oly-card-position);
              background-size: var(--oly-card-size); background-repeat: var(--oly-card-repeat); }
   No inline styles: works under the strict Content-Security-Policy. Tools with a night theme (html[data-mode="dark"])
   get lighter lines on dark. */
:root {
  --oly-kolam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23001f5b' stroke-opacity='.065' stroke-width='1.1'%3E%3Cpath d='M20 6Q34 20 20 34Q6 20 20 6ZM60 6Q74 20 60 34Q46 20 60 6ZM20 46Q34 60 20 74Q6 60 20 46ZM60 46Q74 60 60 74Q46 60 60 46Z'/%3E%3Cpath d='M14 0A14 14 0 0 1 0 14M66 0A14 14 0 0 0 80 14M0 66A14 14 0 0 1 14 80M80 66A14 14 0 0 0 66 80M54 40A14 14 0 0 1 40 54A14 14 0 0 1 26 40A14 14 0 0 1 40 26A14 14 0 0 1 54 40Z'/%3E%3C/g%3E%3Cg fill='%23001f5b' fill-opacity='.11'%3E%3Ccircle cx='20' cy='20' r='1.6'/%3E%3Ccircle cx='60' cy='20' r='1.6'/%3E%3Ccircle cx='20' cy='60' r='1.6'/%3E%3Ccircle cx='60' cy='60' r='1.6'/%3E%3Ccircle cx='40' cy='40' r='1.6'/%3E%3Ccircle cx='0' cy='0' r='1.6'/%3E%3Ccircle cx='80' cy='0' r='1.6'/%3E%3Ccircle cx='0' cy='80' r='1.6'/%3E%3Ccircle cx='80' cy='80' r='1.6'/%3E%3Ccircle cx='40' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='40' r='1.1'/%3E%3Ccircle cx='80' cy='40' r='1.1'/%3E%3Ccircle cx='40' cy='80' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
  --oly-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  --oly-corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c98a00' stroke-opacity='.22' stroke-width='1'%3E%3Cpath d='M92 0A28 28 0 0 0 120 28M74 0A46 46 0 0 0 120 46M56 0A64 64 0 0 0 120 64M38 0A82 82 0 0 0 120 82'/%3E%3Cpath d='M83 7Q92 2 95 12Q86 16 83 7ZM101 14Q111 13 109 23Q99 23 101 14ZM110 30Q119 34 113 41Q105 37 110 30ZM64 12Q73 7 76 17Q67 21 64 12ZM88 30Q97 27 97 37Q88 38 88 30ZM105 48Q114 50 110 58Q101 56 105 48Z'/%3E%3C/g%3E%3Cg fill='%23c98a00' fill-opacity='.22'%3E%3Ccircle cx='74' cy='0' r='1.6'/%3E%3Ccircle cx='120' cy='46' r='1.6'/%3E%3Ccircle cx='88' cy='18' r='1.3'/%3E%3Ccircle cx='102' cy='32' r='1.3'/%3E%3Ccircle cx='70' cy='26' r='1.2'/%3E%3Ccircle cx='94' cy='50' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  --oly-page: var(--oly-kolam) 0 0 / 80px 80px;
  --oly-card-image: var(--oly-corner), var(--oly-grain);
  --oly-card-position: top right, 0 0;
  --oly-card-size: 112px 112px, 180px 180px;
  --oly-card-repeat: no-repeat, repeat;
  --oly-card: var(--oly-corner) top right / 112px 112px no-repeat, var(--oly-grain) 0 0 / 180px 180px;
}
html[data-mode="dark"] {
  --oly-kolam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23ffd890' stroke-opacity='.045' stroke-width='1.1'%3E%3Cpath d='M20 6Q34 20 20 34Q6 20 20 6ZM60 6Q74 20 60 34Q46 20 60 6ZM20 46Q34 60 20 74Q6 60 20 46ZM60 46Q74 60 60 74Q46 60 60 46Z'/%3E%3Cpath d='M14 0A14 14 0 0 1 0 14M66 0A14 14 0 0 0 80 14M0 66A14 14 0 0 1 14 80M80 66A14 14 0 0 0 66 80M54 40A14 14 0 0 1 40 54A14 14 0 0 1 26 40A14 14 0 0 1 40 26A14 14 0 0 1 54 40Z'/%3E%3C/g%3E%3Cg fill='%23ffd890' fill-opacity='.08'%3E%3Ccircle cx='20' cy='20' r='1.6'/%3E%3Ccircle cx='60' cy='20' r='1.6'/%3E%3Ccircle cx='20' cy='60' r='1.6'/%3E%3Ccircle cx='60' cy='60' r='1.6'/%3E%3Ccircle cx='40' cy='40' r='1.6'/%3E%3Ccircle cx='0' cy='0' r='1.6'/%3E%3Ccircle cx='80' cy='0' r='1.6'/%3E%3Ccircle cx='0' cy='80' r='1.6'/%3E%3Ccircle cx='80' cy='80' r='1.6'/%3E%3Ccircle cx='40' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='40' r='1.1'/%3E%3Ccircle cx='80' cy='40' r='1.1'/%3E%3Ccircle cx='40' cy='80' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
  --oly-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  --oly-corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23f2b45c' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M92 0A28 28 0 0 0 120 28M74 0A46 46 0 0 0 120 46M56 0A64 64 0 0 0 120 64M38 0A82 82 0 0 0 120 82'/%3E%3Cpath d='M83 7Q92 2 95 12Q86 16 83 7ZM101 14Q111 13 109 23Q99 23 101 14ZM110 30Q119 34 113 41Q105 37 110 30ZM64 12Q73 7 76 17Q67 21 64 12ZM88 30Q97 27 97 37Q88 38 88 30ZM105 48Q114 50 110 58Q101 56 105 48Z'/%3E%3C/g%3E%3Cg fill='%23f2b45c' fill-opacity='.16'%3E%3Ccircle cx='74' cy='0' r='1.6'/%3E%3Ccircle cx='120' cy='46' r='1.6'/%3E%3Ccircle cx='88' cy='18' r='1.3'/%3E%3Ccircle cx='102' cy='32' r='1.3'/%3E%3Ccircle cx='70' cy='26' r='1.2'/%3E%3Ccircle cx='94' cy='50' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
}

/* the footer: navy with a soft gold and blue glow and a gold kolam; on top, a row of temple parapet turrets (kalasam),
   gold-tipped, standing on the page (the 18 px top border, transparent between the turrets), then a gold line */
html .site-footer {
  position: relative;
  background: radial-gradient(ellipse 60% 70% at 12% 0, rgba(240, 160, 3, .16), transparent 70%), radial-gradient(ellipse 50% 80% at 100% 100%, rgba(80, 120, 220, .18), transparent 70%),     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f0a003' stroke-opacity='.10' stroke-width='1.1'%3E%3Cpath d='M20 6Q34 20 20 34Q6 20 20 6ZM60 6Q74 20 60 34Q46 20 60 6ZM20 46Q34 60 20 74Q6 60 20 46ZM60 46Q74 60 60 74Q46 60 60 46Z'/%3E%3Cpath d='M14 0A14 14 0 0 1 0 14M66 0A14 14 0 0 0 80 14M0 66A14 14 0 0 1 14 80M80 66A14 14 0 0 0 66 80M54 40A14 14 0 0 1 40 54A14 14 0 0 1 26 40A14 14 0 0 1 40 26A14 14 0 0 1 54 40Z'/%3E%3C/g%3E%3Cg fill='%23f0a003' fill-opacity='.16'%3E%3Ccircle cx='20' cy='20' r='1.6'/%3E%3Ccircle cx='60' cy='20' r='1.6'/%3E%3Ccircle cx='20' cy='60' r='1.6'/%3E%3Ccircle cx='60' cy='60' r='1.6'/%3E%3Ccircle cx='40' cy='40' r='1.6'/%3E%3Ccircle cx='0' cy='0' r='1.6'/%3E%3Ccircle cx='80' cy='0' r='1.6'/%3E%3Ccircle cx='0' cy='80' r='1.6'/%3E%3Ccircle cx='80' cy='80' r='1.6'/%3E%3Ccircle cx='40' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='40' r='1.1'/%3E%3Ccircle cx='80' cy='40' r='1.1'/%3E%3Ccircle cx='40' cy='80' r='1.1'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 96px 96px, linear-gradient(180deg, #002468, #001647);
  background-clip: padding-box;
  border-top: 18px solid transparent;
  border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Cpath fill='%23002468' d='M0 18V12h4V8h3V5.5Q7 2 10 2t3 3.5V8h3v4h4V18zM24 18V12h4V8h3V5.5Q31 2 34 2t3 3.5V8h3v4h4V18z'/%3E%3Cpath fill='%23002468' d='M20 18v-6h4v6z'/%3E%3Ccircle cx='10' cy='1.6' r='1.4' fill='%23f0a003'/%3E%3Ccircle cx='34' cy='1.6' r='1.4' fill='%23f0a003'/%3E%3Cpath fill='none' stroke='%23f0a003' stroke-opacity='.55' stroke-width='.8' d='M0 17.5H48'/%3E%3C/svg%3E") 18 0 0 0 / 18px 0 0 0 / 0 repeat;
}
html .site-footer::before { display: none; } /* the tools' older faint pattern: the gold kolam above replaces it */
html .site-footer::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; opacity: .7;
  background: linear-gradient(90deg, transparent, #f0a003 18%, #feb001 50%, #f0a003 82%, transparent);
}
@media print { html .site-footer { border-top: 0; } }
