:root{--gold:#f8d49b;--gold-bright:#ffeac3;--ink:#fdf5e7;--soft:#e5d2bd;--midnight:#071321;--line:rgba(255,213,142,.56)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:280px;background:#09121d;color:var(--ink);font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #fce1b3;outline-offset:4px}[hidden]{display:none!important}
.background-scene{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(3,10,21,.38) 0%,rgba(5,15,29,.40) 38%,rgba(5,13,25,.79) 83%,rgba(5,13,25,.96) 100%),url('./assets/vesnicka.jpg') center center/cover no-repeat;filter:saturate(1.25)}
.background-scene:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 26%,transparent 8%,rgba(2,8,18,.37) 76%,rgba(1,7,15,.78) 100%)}
.snowfield{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:8}.snowflake{position:absolute;top:-7px;left:var(--left);width:2px;height:2px;background:#fff7df;border-radius:100%;opacity:.5;animation:fall var(--dur) linear infinite;animation-delay:var(--delay)}@keyframes fall{from{transform:translateY(-8vh)}to{transform:translate(var(--drift),110vh)}}
.app-shell{width:min(100%,1000px);margin:0 auto;padding:0 clamp(18px,5vw,54px)}.site-header{display:flex;align-items:center;justify-content:space-between;padding:21px 0 10px;position:relative;z-index:4}.brandmark{display:flex;gap:11px;align-items:center;text-decoration:none;color:#ffe6ba;letter-spacing:.19em;font:600 11px system-ui,sans-serif;text-shadow:0 2px 12px #0008}.brand-flame{width:32px;height:32px;border-radius:100%;border:1px solid #e5ba7878;background:#0b1728a5;display:grid;place-items:center;color:#fff4d5;font-size:21px;box-shadow:inset 0 0 9px #eac17729,0 0 18px #d8aa5140}.header-link{display:inline-flex;gap:7px;align-items:center;border:1px solid #ecc7937c;border-radius:30px;background:#111828ad;color:#fbe7bf;padding:8px 14px;font:500 12px system-ui,sans-serif;box-shadow:0 3px 19px #0006}.header-link svg{height:15px;width:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero{text-align:center;position:relative;padding:12px 0 35px}.eyebrow{font:600 10px system-ui,sans-serif;letter-spacing:.22em;color:#efc991;margin:15px auto 11px;text-shadow:0 1px 8px #000}.eyebrow span{font-size:13px;padding:0 9px;color:#ffedcb}h1{margin:0 auto;color:#ffe0ac;font:normal clamp(54px,8vw,92px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.052em;text-shadow:0 2px 7px #0d0e10b2,0 0 24px #c88c3891}h1 em{font-weight:normal;font-style:italic}.title-flourish{display:flex;align-items:center;justify-content:center;gap:9px;color:#f7d69a;font-size:14px;margin:9px auto 8px}.title-flourish span{width:64px;height:1px;background:linear-gradient(90deg,transparent,#e9b86a)}.title-flourish span:last-child{transform:rotate(180deg)}.lead{margin:0 auto 22px;color:#fff2df;font-size:clamp(14px,2.2vw,18px);line-height:1.48;text-shadow:0 3px 12px #000c}
.total-panel{position:relative;width:min(100%,330px);margin:0 auto 3px;padding:15px 15px 14px;border:1px solid #d4a461;border-radius:19px;background:radial-gradient(ellipse at center 8%,#5c392b67,transparent 65%),linear-gradient(115deg,#0e1624ec,#100e18f2);box-shadow:0 0 0 3px #f0c98117,0 14px 35px #0008,inset 0 0 24px #e8b9601c;text-shadow:0 2px 8px #0009;z-index:2}
.total-panel:before,.total-panel:after{content:'✧';position:absolute;top:50%;transform:translateY(-50%);font-size:21px;color:#e4b876}.total-panel:before{left:13px}.total-panel:after{right:13px}.total-top{display:flex;align-items:center;justify-content:center;gap:9px;font:600 10px system-ui,sans-serif;letter-spacing:.19em;color:#f6d6a3}.total-top>span{white-space:nowrap}.total-top:first-letter{font-size:12px}.total-number{font-variant-numeric:tabular-nums;font-size:clamp(45px,6.4vw,64px);line-height:1.1;margin:4px 0 1px;color:#ffe2a4;text-shadow:0 0 18px #efa84782;letter-spacing:.04em}.total-unit{font-size:17px;color:#f5e8da}.total-bottom{font:400 10px/1.4 system-ui,sans-serif;letter-spacing:.01em;color:#dbbd9f;margin-top:8px}
.candle-scene{width:min(100%,650px);margin:-8px auto -30px;aspect-ratio:604/384;position:relative;isolation:isolate;pointer-events:none;filter:drop-shadow(0 14px 21px #0008)}.photo-before{display:block;width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 78% 78% at 50% 50%,#000 48%,transparent 65%);-webkit-mask-image:radial-gradient(ellipse 78% 78% at 50% 50%,#000 48%,transparent 65%)}.second-flame{position:absolute;left:67.9%;top:8.7%;width:9.8%;opacity:0;transform-origin:50% 85%;transition:opacity 1.2s ease-out;filter:drop-shadow(0 0 8px #ffd27e) drop-shadow(0 0 11px #f4ad4a)}.second-flame img{display:block;width:100%;height:auto}.candle-scene[data-lit="true"] .second-flame{opacity:1;animation:flicker 3.6s ease-in-out infinite}.candle-scene[data-lighting="true"] .second-flame{animation:emerge 1.1s ease-out both}.arc-glow{position:absolute;left:34%;top:15%;width:38%;height:22%;border-radius:50%;border-top:3px solid #fff4be;transform:rotate(10deg) scaleX(.4);filter:drop-shadow(0 0 7px #ffc66c);opacity:0}.candle-scene[data-lighting="true"] .arc-glow{animation:pass-light 1.15s ease-in-out both}.photo-lights span{position:absolute;display:block;border-radius:50%;height:5px;width:5px;background:#fff6c5;box-shadow:0 0 17px 7px #ffc55f66;opacity:0}.photo-lights span:nth-child(1){left:41%;top:24%}.photo-lights span:nth-child(2){left:53%;top:16%}.photo-lights span:nth-child(3){left:68%;top:25%}.candle-scene[data-lighting="true"] .photo-lights span{animation:sparkle 1.2s ease-in-out both}.candle-scene[data-lighting="true"] .photo-lights span:nth-child(2){animation-delay:.2s}.candle-scene[data-lighting="true"] .photo-lights span:nth-child(3){animation-delay:.4s}
@keyframes sparkle{0%,100%{opacity:0;transform:scale(.2)}50%{opacity:1;transform:scale(1.8)}}@keyframes emerge{0%{opacity:0;transform:scale(.1)}55%{opacity:.6;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes pass-light{0%{opacity:0;transform:rotate(10deg) scaleX(.1)}45%{opacity:1}100%{opacity:0;transform:rotate(10deg) scaleX(1.3)}}@keyframes flicker{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(.96,1.04) rotate(2deg)}}
.scene-caption{position:relative;z-index:2;margin:0 auto 15px;font-style:italic;font-size:clamp(14px,2.1vw,18px);color:#fff1d9;text-shadow:0 2px 12px #000,0 2px 8px #000;text-wrap:balance}.action-area{display:grid;justify-items:center;gap:8px}.cta{border-radius:999px;display:flex;justify-content:center;align-items:center;gap:13px;border:1px solid #fff1bf;box-shadow:0 0 0 3px #6b360f88,0 4px 18px #0009, inset 0 2px 3px #fff4d1a6;transition:transform .2s,filter .2s}.cta:hover{transform:translateY(-2px);filter:brightness(1.07)}.cta:active{transform:translateY(1px)}.cta:disabled{opacity:.63;cursor:wait}.cta.primary{width:min(100%,418px);padding:14px 18px;background:linear-gradient(110deg,#ffedbe 0%,#f6d292 40%,#dba35b 100%);color:#442709;font:bold clamp(18px,3vw,23px)/1.2 Georgia,'Times New Roman',serif}.btn-icon{font-size:21px}.btn-arrow{font-size:25px;line-height:1}.hint{font:400 11px system-ui,sans-serif;color:#ead5b9;margin:0;text-shadow:0 2px 8px #000}
.share-section{margin:6px auto 0;max-width:470px;animation:rise .5s ease both}.success-title{color:#ffe2ac;font-size:clamp(20px,4vw,26px);margin:8px 0}.success-text{font-size:15px;line-height:1.5;margin:0 0 15px;color:#fcf0df}.cta.facebook{margin:auto;background:linear-gradient(110deg,#2164b3,#12438c);border-color:#9ecbf3;color:white;font:600 16px system-ui,sans-serif;padding:14px 17px;width:100%;max-width:420px}.cta.facebook svg{width:21px;height:21px}.secondary-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;margin-top:16px}.secondary-actions button{border:1px solid #e9b975b8;background:#071629d9;color:#ffe3b3;padding:10px 15px;border-radius:30px;font:500 13px system-ui,sans-serif;box-shadow:0 3px 12px #0006}
.mode-note{max-width:440px;margin:20px auto 0;color:#efd2a2;padding:10px 15px;border:1px dashed #e0bb857a;border-radius:12px;background:#081522b8;font:400 12px/1.45 system-ui,sans-serif}.meaning{margin:42px auto 25px;padding:23px min(7vw,36px) 17px;max-width:660px;text-align:center;border-top:1px solid #e4b97a8c;background:linear-gradient(180deg,#051121c7,#0714251c);border-radius:0 0 20px 20px}.divider-star{display:block;margin:-35px auto 7px;width:44px;font-size:23px;color:#e8bc79;background:#071321}.meaning h2{font-size:clamp(22px,3.6vw,30px);font-weight:normal;margin:8px 0 14px;color:#ffe0aa}.meaning p{font-size:15px;line-height:1.6;color:#e9d6bd;margin:9px auto}.meaning .meaning-final{color:#ffd797;font-style:italic}.scattered-stars{margin-top:20px;color:#e9b963;letter-spacing:.8em}.footer{text-align:center;margin:0 auto 17px;color:#e1c6a0;font-size:13px;text-shadow:0 2px 7px #000}.footer small{display:block;margin-top:6px;font:500 12px system-ui,sans-serif;color:#edd3a7}
.install-dialog{border:1px solid #dfb773;background:linear-gradient(130deg,#142336,#0b1425);color:#f5e4cd;border-radius:19px;max-width:min(92vw,445px);box-shadow:0 20px 80px #000b}.install-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.dialog-inner{text-align:center;padding:22px;position:relative}.dialog-inner img{border-radius:18px}.dialog-inner h2{font-size:27px;color:#f6d49b;font-weight:normal}.dialog-inner p{font-size:15px;line-height:1.6}.close-dialog{position:absolute;right:1px;top:-10px;background:transparent;color:#fff5e5;border:0;font-size:30px}.dialog-close-btn{margin:18px auto 0;width:100%!important}.toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translate(-50%,40px);background:#0b1929f5;border:1px solid #eabf83;border-radius:14px;box-shadow:0 8px 25px #0008;padding:12px 18px;color:#ffe9c3;text-align:center;font:500 13px/1.45 system-ui,sans-serif;opacity:0;pointer-events:none;transition:transform .25s,opacity .25s;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:520px){.app-shell{padding:0 14px}.site-header{padding:15px 2px 4px}.brandmark{font-size:9px;letter-spacing:.15em}.brand-flame{width:28px;height:28px}.header-link{font-size:10px;padding:8px 11px}.hero{padding:8px 0 20px}.eyebrow{font-size:8px;letter-spacing:.14em;margin:11px auto 8px}.eyebrow span{padding:0 4px}h1{font-size:clamp(47px,12vw,62px);line-height:1.02;letter-spacing:-.05em}.title-flourish{margin:8px auto 9px}.lead{font-size:14px;line-height:1.42;margin-bottom:16px}.total-panel{width:min(92%,320px);border-radius:16px;padding:11px 14px 12px}.total-top{font-size:9px}.total-number{font-size:51px}.total-unit{font-size:15px}.total-bottom{font-size:9px;margin-top:5px}.candle-scene{width:calc(100% + 24px);margin:-2px -12px -18px}.scene-caption{font-size:14px;padding:0 9px;margin-bottom:16px}.cta.primary{width:min(98%,370px);padding:13px 11px;font-size:20px}.success-title{font-size:21px}.success-text{font-size:14px}.meaning{margin-top:36px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* V4: discreet music control */
.header-actions{display:flex;align-items:center;gap:9px}.header-actions .header-link{white-space:nowrap}
.music-toggle{min-width:78px;justify-content:center}.music-toggle[aria-pressed="true"]{color:#2e2012;background:linear-gradient(100deg,#ffe6ad,#d5a660);border-color:#ffe3a0;box-shadow:0 2px 18px #ffd9945e}.music-symbol{font-size:18px;line-height:1}
.music-credit{font:400 10px/1.5 system-ui,sans-serif;margin:8px auto 0;max-width:360px;opacity:.72}.music-credit a{color:#ffe0a4}
@media(max-width:520px){.header-actions{gap:6px}.music-toggle{min-width:42px;padding:7px 10px}.music-toggle .music-label{display:none}.music-symbol{font-size:19px}.header-actions .header-link{min-height:36px}}

/* V5: lively, gently oscillating light on both flames; reduced-motion friendly */
.first-flame-aura {position:absolute;z-index:1;left:27%;top:5.5%;width:11.2%;height:28%;border-radius:48% 52% 52% 48% / 67% 65% 35% 33%;pointer-events:none;transform-origin:50% 94%;background:radial-gradient(ellipse at 50% 72%,#fffce28e 0%,#ffe89968 18%,#ff9b2673 42%,transparent 73%);mix-blend-mode:screen;filter:blur(6px) drop-shadow(0 0 10px #ffb34e);animation:flame-live-a 1.65s ease-in-out infinite alternate;}
.candle-scene[data-lit="true"] .second-flame {animation:flame-live-b 1.42s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px #ffdb93) drop-shadow(0 0 15px #ffb24b)}
.second-flame::after {content:"";position:absolute;inset:-15%;border-radius:50%;background:radial-gradient(ellipse,#ffbb5b80,transparent 70%);filter:blur(8px);mix-blend-mode:screen;animation:flame-aura 1.8s ease-in-out infinite alternate;pointer-events:none;}
@keyframes flame-live-a {0%{opacity:.32;transform:translate(-2px,0) rotate(-5deg) scale(.88,1.04);filter:blur(8px)}33%{opacity:.75;transform:translate(1px,-3px) rotate(4deg) scale(1.14,.94);filter:blur(5px)}66%{opacity:.43;transform:translate(-1px,-1px) rotate(-2deg) scale(.97,1.10);filter:blur(7px)}100%{opacity:.92;transform:translate(2px,-2px) rotate(6deg) scale(1.17,.99);filter:blur(5px)}}
@keyframes flame-live-b {0%{transform:rotate(-5deg) scale(.94,1.08);opacity:.87;filter:brightness(.94) drop-shadow(0 0 8px #ffbe5a)}34%{transform:translateY(-2px) rotate(4deg) scale(1.09,.95);opacity:1;filter:brightness(1.16) drop-shadow(0 0 16px #ffd67c)}72%{transform:translateX(-1px) rotate(-3deg) scale(.97,1.08);opacity:.91;filter:brightness(.99) drop-shadow(0 0 10px #ffbb4a)}100%{transform:translate(1px,-1px) rotate(5deg) scale(1.06,.99);opacity:1;filter:brightness(1.12) drop-shadow(0 0 14px #ffcc61)}}
@keyframes flame-aura{0%{opacity:.48;transform:scale(.88)}50%{opacity:1;transform:scale(1.13)}100%{opacity:.62;transform:scale(.98)}}
@media (prefers-reduced-motion:reduce){.first-flame-aura,.candle-scene[data-lit="true"] .second-flame,.second-flame::after{animation:none!important}}
