/* generated from src/templates.js — do not edit by hand */

@font-face{font-family:'EB Garamond';src:url(/fonts/eb-garamond-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(/fonts/eb-garamond-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}

:root[data-template="quiet"][data-theme="day"]{
  --bg:#FFFFFF; --tint:#F3F6F4; --tint2:#E7EEEA;
  --accent:#14503F; --accent-soft:#3E7A66; --accent-2:#3E7A66;
  --text:#14201C; --muted:#5C6B66; --line:#E2E8E5;
  --paper:#FBF8F1; --paper-line:#E8E0CE; --ink:#1F1B16;
  --btn-bg:#14201C; --btn-text:#FFFFFF;
  --decor:#3E7A66;
  --display:Fraunces,Georgia,serif;
  --bar:#FFFFFF;}
:root[data-template="quiet"][data-theme="night"]{
  --bg:#0A0C11; --tint:#12151C; --tint2:#191D26;
  --accent:#F2B25C; --accent-soft:#B08A55; --accent-2:#B08A55;
  --text:#F4F1EA; --muted:#8B909C; --line:#242936;
  --paper:#141821; --paper-line:#2A3040; --ink:#F4F1EA;
  --btn-bg:#F2B25C; --btn-text:#141008;
  --decor:#B08A55;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#0A0C11;}
:root[data-template="birthday"][data-theme="day"]{
  --bg:#FFF9F9; --tint:#FCEFF0; --tint2:#F8E2E4;
  --accent:#B4425C; --accent-soft:#D07E92; --accent-2:#D9A441;
  --text:#2A1A1E; --muted:#6F5A5F; --line:#F3E1E3;
  --paper:#FFFCFA; --paper-line:#F0DDD5; --ink:#2E1D21;
  --btn-bg:#B4425C; --btn-text:#FFF9F9;
  --decor:#EE9EB4;
  --display:Fraunces,Georgia,serif;
  --bar:#FFF9F9;}
:root[data-template="birthday"][data-theme="night"]{
  --bg:#150A10; --tint:#1E1019; --tint2:#281621;
  --accent:#F2A0B6; --accent-soft:#B0728A; --accent-2:#E8C87A;
  --text:#F6ECEF; --muted:#9A8590; --line:#2C1A25;
  --paper:#1A0E15; --paper-line:#33202B; --ink:#F6ECEF;
  --btn-bg:#F2A0B6; --btn-text:#1B0C12;
  --decor:#C4708C;
  --display:Fraunces,Georgia,serif;
  --bar:#150A10;}
:root[data-template="happiness"][data-theme="day"]{
  --bg:#FFFCF2; --tint:#FDF3DA; --tint2:#FAE8C2;
  --accent:#C97A12; --accent-soft:#E0A550; --accent-2:#E2604A;
  --text:#2A2110; --muted:#6E6249; --line:#F3E7CB;
  --paper:#FFFEF8; --paper-line:#F1E3BE; --ink:#2D2412;
  --btn-bg:#C97A12; --btn-text:#FFFCF2;
  --decor:#EDB042;
  --display:Fraunces,Georgia,serif;
  --bar:#FFFCF2;}
:root[data-template="happiness"][data-theme="night"]{
  --bg:#120E05; --tint:#1C1608; --tint2:#251D0C;
  --accent:#FFC24D; --accent-soft:#B98E3B; --accent-2:#FF8A6B;
  --text:#F7F0E0; --muted:#968C74; --line:#2A2110;
  --paper:#171106; --paper-line:#322717; --ink:#F7F0E0;
  --btn-bg:#FFC24D; --btn-text:#171104;
  --decor:#FFD98A;
  --display:Fraunces,Georgia,serif;
  --bar:#120E05;}
:root[data-template="gratitude"][data-theme="day"]{
  --bg:#FCF8F3; --tint:#F3ECE2; --tint2:#E9DFD1;
  --accent:#A2543C; --accent-soft:#C08670; --accent-2:#6E7444;
  --text:#271C15; --muted:#6B5D51; --line:#E9E0D4;
  --paper:#FFFCF6; --paper-line:#E7DAC6; --ink:#2A1F17;
  --btn-bg:#A2543C; --btn-text:#FCF8F3;
  --decor:#E5B584;
  --display:'EB Garamond',Georgia,serif;
  --bar:#FCF8F3;}
:root[data-template="gratitude"][data-theme="night"]{
  --bg:#100B08; --tint:#19120D; --tint2:#221913;
  --accent:#E3937A; --accent-soft:#A56D5C; --accent-2:#9AA26A;
  --text:#F2EAE1; --muted:#948779; --line:#271C15;
  --paper:#140E0A; --paper-line:#2E2119; --ink:#F2EAE1;
  --btn-bg:#E3937A; --btn-text:#150D08;
  --decor:#6B4B3A;
  --display:'EB Garamond',Georgia,serif;
  --bar:#100B08;}
:root[data-template="welldone"][data-theme="day"]{
  --bg:#FCF9FC; --tint:#F2ECF3; --tint2:#E7DEE9;
  --accent:#5D2E63; --accent-soft:#8B5F91; --accent-2:#C69A3E;
  --text:#211723; --muted:#635769; --line:#E9E1EB;
  --paper:#FFFDFC; --paper-line:#E9DFD0; --ink:#241A26;
  --btn-bg:#5D2E63; --btn-text:#FCF9FC;
  --decor:#C69A3E;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#FCF9FC;}
:root[data-template="welldone"][data-theme="night"]{
  --bg:#0C070E; --tint:#150E18; --tint2:#1D1421;
  --accent:#D9A6E0; --accent-soft:#9A70A0; --accent-2:#EBC97C;
  --text:#F2ECF3; --muted:#8D8091; --line:#231826;
  --paper:#100A12; --paper-line:#2A1D2E; --ink:#F2ECF3;
  --btn-bg:#D9A6E0; --btn-text:#10080F;
  --decor:#EBC97C;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#0C070E;}
:root[data-template="encouragement"][data-theme="day"]{
  --bg:#F9FAFF; --tint:#EEF1FC; --tint2:#E1E7F9;
  --accent:#2A3E9E; --accent-soft:#6274C4; --accent-2:#2FA8C7;
  --text:#141A2E; --muted:#5A6280; --line:#E2E7F5;
  --paper:#FDFDFF; --paper-line:#DFE4F2; --ink:#171D33;
  --btn-bg:#2A3E9E; --btn-text:#F9FAFF;
  --decor:#8492D8;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#F9FAFF;}
:root[data-template="encouragement"][data-theme="night"]{
  --bg:#060812; --tint:#0D1122; --tint2:#141931;
  --accent:#8FA5FF; --accent-soft:#5F71B8; --accent-2:#5FD4E8;
  --text:#ECEFFA; --muted:#838BA6; --line:#1A2038;
  --paper:#0B0F1E; --paper-line:#212942; --ink:#ECEFFA;
  --btn-bg:#8FA5FF; --btn-text:#0A0E1D;
  --decor:#5F71B8;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#060812;}
:root[data-template="steady"][data-theme="day"]{
  --bg:#F8FAFA; --tint:#EEF2F2; --tint2:#E2E9E9;
  --accent:#3F6068; --accent-soft:#6E8D93; --accent-2:#7C9C82;
  --text:#172124; --muted:#5B6A6D; --line:#E2E9E9;
  --paper:#FBFCFB; --paper-line:#DFE6E4; --ink:#1A2528;
  --btn-bg:#3F6068; --btn-text:#F8FAFA;
  --decor:#9FBAC1;
  --display:Fraunces,Georgia,serif;
  --bar:#F8FAFA;}
:root[data-template="steady"][data-theme="night"]{
  --bg:#080B0D; --tint:#0F1417; --tint2:#161C20;
  --accent:#93B7BE; --accent-soft:#647E84; --accent-2:#8FAE94;
  --text:#EBF0F1; --muted:#7F8B8E; --line:#1B2327;
  --paper:#0C1113; --paper-line:#212A2E; --ink:#EBF0F1;
  --btn-bg:#93B7BE; --btn-text:#0A0F11;
  --decor:#28383E;
  --display:Fraunces,Georgia,serif;
  --bar:#080B0D;}
:root[data-template="sunrise"][data-theme="day"]{
  --bg:#FFFAF6; --tint:#FDEFE6; --tint2:#FAE2D3;
  --accent:#C1502A; --accent-soft:#DE8A63; --accent-2:#7C4A9E;
  --text:#2B1B14; --muted:#6E5B50; --line:#F2E2D6;
  --paper:#FFFCF8; --paper-line:#F0DCC9; --ink:#2E1E16;
  --btn-bg:#C1502A; --btn-text:#FFFAF6;
  --decor:#F4B482;
  --display:Fraunces,Georgia,serif;
  --bar:#FFFAF6;}
:root[data-template="sunrise"][data-theme="night"]{
  --bg:#100910; --tint:#1A101B; --tint2:#231625;
  --accent:#FF9E6B; --accent-soft:#B87050; --accent-2:#B98BE0;
  --text:#F6EDE9; --muted:#97867F; --line:#2A1B2B;
  --paper:#150D16; --paper-line:#302030; --ink:#F6EDE9;
  --btn-bg:#FF9E6B; --btn-text:#170B08;
  --decor:#6E3F73;
  --display:Fraunces,Georgia,serif;
  --bar:#100910;}
:root[data-template="autumn"][data-theme="day"]{
  --bg:#FDF8F0; --tint:#F5EDE0; --tint2:#EDE1CE;
  --accent:#9A4A1E; --accent-soft:#C0794B; --accent-2:#C98A2B;
  --text:#2B1E13; --muted:#6B5B49; --line:#EBDFCB;
  --paper:#FFFBF3; --paper-line:#E9D9BC; --ink:#2E2115;
  --btn-bg:#9A4A1E; --btn-text:#FDF8F0;
  --decor:#C4712C;
  --display:Fraunces,Georgia,serif;
  --bar:#FDF8F0;}
:root[data-template="autumn"][data-theme="night"]{
  --bg:#120C07; --tint:#1B130C; --tint2:#241A10;
  --accent:#E79A54; --accent-soft:#A87340; --accent-2:#C2603A;
  --text:#F3EBDF; --muted:#93877A; --line:#2A1E13;
  --paper:#16100A; --paper-line:#31251A; --ink:#F3EBDF;
  --btn-bg:#E79A54; --btn-text:#150D06;
  --decor:#A85E2E;
  --display:Fraunces,Georgia,serif;
  --bar:#120C07;}
:root[data-template="christmas"][data-theme="day"]{
  --bg:#FBF7F0; --tint:#F1EFE4; --tint2:#E5E7D8;
  --accent:#16543C; --accent-soft:#4C7C63; --accent-2:#A32A2F;
  --text:#1B2620; --muted:#5F6D64; --line:#E0DECE;
  --paper:#FFFDF7; --paper-line:#E3D9BE; --ink:#1E2A22;
  --btn-bg:#16543C; --btn-text:#FFFDF7;
  --decor:#8FB4C2;
  --display:'EB Garamond',Georgia,serif;
  --bar:#FBF7F0;}
:root[data-template="christmas"][data-theme="night"]{
  --bg:#0B120F; --tint:#111A16; --tint2:#17231D;
  --accent:#E9C97E; --accent-soft:#A8905A; --accent-2:#D5636A;
  --text:#F1EFE6; --muted:#8A9690; --line:#1E2B24;
  --paper:#101A15; --paper-line:#24352C; --ink:#F1EFE6;
  --btn-bg:#E9C97E; --btn-text:#10180F;
  --decor:#FFFFFF;
  --display:'EB Garamond',Georgia,serif;
  --bar:#0B120F;}
:root[data-template="newyear"][data-theme="day"]{
  --bg:#FAF9F6; --tint:#F0F0EC; --tint2:#E5E6E2;
  --accent:#1D2A5B; --accent-soft:#55618C; --accent-2:#C7A24A;
  --text:#171C2B; --muted:#5E6478; --line:#E3E2DC;
  --paper:#FFFEFA; --paper-line:#E6E1CF; --ink:#191E2C;
  --btn-bg:#1D2A5B; --btn-text:#FFFEFA;
  --decor:#C7A24A;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#FAF9F6;}
:root[data-template="newyear"][data-theme="night"]{
  --bg:#070A16; --tint:#0E1222; --tint2:#151A2D;
  --accent:#E4C77A; --accent-soft:#A08B4F; --accent-2:#8FA6E8;
  --text:#EFEFF6; --muted:#868CA3; --line:#1B2138;
  --paper:#0D1120; --paper-line:#232A44; --ink:#EFEFF6;
  --btn-bg:#E4C77A; --btn-text:#0E1220;
  --decor:#F0DFA8;
  --display:'Instrument Serif',Georgia,serif;
  --bar:#070A16;}
:root[data-template="eid"][data-theme="day"]{
  --bg:#EDF5F1; --tint:#E1EDE8; --tint2:#D2E3DC;
  --accent:#0E5551; --accent-soft:#46807B; --accent-2:#B0812F;
  --text:#10231F; --muted:#556964; --line:#D5E5DE;
  --paper:#FDFCF6; --paper-line:#E1DCC5; --ink:#142722;
  --btn-bg:#0E5551; --btn-text:#F7FBF9;
  --decor:#B0812F;
  --display:'EB Garamond',Georgia,serif;
  --bar:#EDF5F1;}
:root[data-template="eid"][data-theme="night"]{
  --bg:#05100F; --tint:#0B1917; --tint2:#10221F;
  --accent:#6FD3C4; --accent-soft:#4A9186; --accent-2:#EBC87C;
  --text:#EDF5F2; --muted:#7E948F; --line:#162926;
  --paper:#081512; --paper-line:#1B302C; --ink:#EDF5F2;
  --btn-bg:#6FD3C4; --btn-text:#04110F;
  --decor:#EBC87C;
  --display:'EB Garamond',Georgia,serif;
  --bar:#05100F;}

.decor{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:strict}
.decor span{position:absolute;display:block;will-change:transform}
body>main{position:relative;z-index:1}

/* Weather passes in front of what you are reading — behind the note it is
   hidden by the paper for the whole middle of the page, which is exactly
   where anyone is looking. Small, soft, and never able to catch a tap. */
.decor.front{z-index:5}
.decor.front span{mix-blend-mode:normal}

/* --- falling things: snow, petals, leaves, confetti ------------------- */
@keyframes rwo-fall{
  0%{transform:translate3d(0,-14vh,0) rotate(0deg)}
  100%{transform:translate3d(var(--dx,20px),114vh,0) rotate(var(--spin,0deg))}
}
.decor-snow span,.decor-petals span,.decor-leaves span,.decor-confetti span{
  top:0;left:var(--x);opacity:var(--o,.65);
  animation:rwo-fall var(--d) linear var(--delay) infinite}

.decor-snow span{width:var(--sz);height:var(--sz);border-radius:50%;background:var(--decor);
  box-shadow:0 0 6px var(--decor)}
.decor-petals span{width:calc(var(--sz)*1.9);height:var(--sz);
  border-radius:70% 0 70% 0;background:var(--decor)}
.decor-petals span:nth-child(3n){background:var(--accent-2);opacity:.45}
.decor-leaves span{width:calc(var(--sz)*2.1);height:calc(var(--sz)*1.15);
  border-radius:0 80% 0 80%;background:var(--decor)}
.decor-leaves span:nth-child(3n+1){background:var(--accent-2);opacity:.5}
.decor-confetti span{width:calc(var(--sz)*0.6);height:calc(var(--sz)*1.5);border-radius:1px;
  background:var(--decor)}
.decor-confetti span:nth-child(2n){background:var(--accent)}
.decor-confetti span:nth-child(3n){background:var(--accent-2)}

/* --- rising things: sparks, motes ------------------------------------ */
@keyframes rwo-rise{
  0%{transform:translate3d(0,8vh,0) scale(.6);opacity:0}
  15%{opacity:var(--o,.7)}
  85%{opacity:var(--o,.7)}
  100%{transform:translate3d(var(--dx,-14px),-104vh,0) scale(1);opacity:0}
}
.decor-sparks span,.decor-motes span{bottom:0;left:var(--x);
  animation:rwo-rise var(--d) linear var(--delay) infinite}
.decor-sparks span{width:var(--sz);height:var(--sz);border-radius:50%;background:var(--decor);
  box-shadow:0 0 8px var(--decor)}
.decor-sparks span:nth-child(4n){background:var(--accent-2);box-shadow:0 0 8px var(--accent-2)}
.decor-motes span{width:calc(var(--sz)*3);height:calc(var(--sz)*3);border-radius:50%;
  background:radial-gradient(circle,var(--decor) 0%,transparent 70%);filter:blur(1px)}

/* --- a still sky: stars and a crescent -------------------------------- */
@keyframes rwo-twinkle{0%,100%{opacity:var(--o,.5)}50%{opacity:calc(var(--o,.5)*.25)}}
.decor-stars span{top:var(--y);left:var(--x);width:var(--sz);height:var(--sz);
  border-radius:50%;background:var(--decor);
  animation:rwo-twinkle var(--d) ease-in-out var(--delay) infinite}
.decor-stars .moon{position:absolute;top:6vh;right:8vw;width:96px;height:96px;border-radius:50%;
  background:transparent;box-shadow:26px 26px 0 -4px var(--decor);opacity:.8;
  transform:rotate(-25deg);animation:none}

/* --- weather and light: mist, glow, wash, rise ------------------------ */
@keyframes rwo-drift{
  0%{transform:translate3d(-18vw,0,0)}
  50%{transform:translate3d(18vw,var(--dy,3vh),0)}
  100%{transform:translate3d(-18vw,0,0)}
}
.decor-mist span{top:var(--y);left:var(--x);width:70vw;height:34vh;border-radius:50%;
  background:radial-gradient(ellipse,var(--decor) 0%,transparent 68%);opacity:var(--o,.5);
  filter:blur(22px);animation:rwo-drift var(--d) ease-in-out var(--delay) infinite}

.decor-glow span{top:-14vh;right:-22vw;left:auto;width:88vw;height:78vh;border-radius:50%;
  background:radial-gradient(circle,var(--decor) 0%,transparent 66%);opacity:.55;filter:blur(10px)}
.decor-glow span+span{top:auto;bottom:-20vh;right:auto;left:-30vw;width:76vw;height:60vh;opacity:.3}

.decor-wash span{top:0;left:0;width:100%;height:62vh;
  background:linear-gradient(180deg,var(--decor) 0%,transparent 74%);opacity:.55}
.decor-wash span+span{top:14vh;left:50%;width:52vw;height:52vw;max-width:420px;max-height:420px;
  transform:translateX(-50%);border-radius:50%;opacity:.35;
  background:radial-gradient(circle,var(--accent-2) 0%,transparent 62%)}

.decor-rise span{bottom:0;left:var(--x);width:14vw;height:var(--h);border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,var(--decor) 0%,transparent 88%);opacity:var(--o,.22)}

@media(prefers-reduced-motion:reduce){
  .decor span{animation:none!important}
  .decor-snow,.decor-petals,.decor-leaves,.decor-confetti,.decor-sparks,.decor-motes{display:none}
}
