:root{--paper:#F4EBDD;--paper2:#ECE0CC;--cream:#FBF6EC;--clay:#BC6A4E;--clay-deep:#9E4F38;--rose:#D6A08F;--olive:#6E7355;--sage:#99A07E;--sage-soft:#C7CBAE;--cocoa:#3B2D24;--cocoa-soft:#6B5848;--gold:#C39A4E;--line:#D8C6AC;--shadow:28px 28px 60px rgba(59,45,36,.10),6px 8px 18px rgba(59,45,36,.06);--shadow-sm:4px 6px 0 rgba(158,79,56,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Mulish,system-ui,sans-serif;color:var(--cocoa);background:radial-gradient(1200px 700px at 15% -5%,#FBF3E6 0,transparent 55%),radial-gradient(1000px 800px at 110% 20%,#F0E3CE 0,transparent 60%),var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");mix-blend-mode:multiply}.serif,h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.01em}.hand{font-family:Caveat,cursive;font-weight:600}a{color:inherit}.page{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 22px 110px}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 22px}.kicker{font-family:Caveat,cursive;font-size:27px;color:var(--clay);transform:rotate(-2deg);display:inline-block}.muted{color:var(--cocoa-soft)}.btn{font-family:Fraunces,serif;font-size:17px;border:none;cursor:pointer;border-radius:999px;padding:14px 30px;background:var(--clay);color:#fff;box-shadow:4px 6px 0 rgba(158,79,56,.35);transition:transform .15s ease,box-shadow .15s ease;text-decoration:none;display:inline-block}.btn:hover{transform:translateY(-2px);box-shadow:5px 9px 0 rgba(158,79,56,.35)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.olive{background:var(--olive);box-shadow:4px 6px 0 rgba(110,115,85,.35)}.btn.ghost{background:transparent;color:var(--clay-deep);border:1.5px solid var(--clay);box-shadow:none}.btn.small{font-size:14px;padding:9px 18px}.frame{background:var(--cream);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.frame.arch{border-radius:200px 200px 30px 30px}.pad{padding:48px}@media(max-width:640px){.pad{padding:30px 22px}}.seal{width:84px;height:84px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#C9694C,#9E4F38 70%);color:#F7E7C9;font-family:Fraunces,serif;font-style:italic;font-size:30px;box-shadow:inset 0 3px 6px rgba(255,255,255,.25),inset 0 -4px 8px rgba(0,0,0,.25),4px 6px 14px rgba(158,79,56,.4);border:2px solid rgba(247,231,201,.5)}.login{max-width:560px;width:100%;text-align:center}.login .pad{padding-top:64px}.login h1{font-size:34px;margin:16px 0 2px}.login .lead{color:var(--cocoa-soft);margin:0 auto 26px;max-width:400px}.who-row{display:flex;gap:14px;justify-content:center;margin:0 auto 22px;max-width:380px}.who{flex:1 1;cursor:pointer;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:16px 10px;font-family:Fraunces,serif;font-size:18px;transition:transform .14s,border-color .14s,background .14s,color .14s}.who small{display:block;font-family:Mulish;font-size:11.5px;color:var(--cocoa-soft);margin-top:3px}.who:hover{transform:translateY(-2px);border-color:var(--sage)}.who.sel{background:var(--olive);color:#fff;border-color:var(--olive)}.who.sel small{color:#EEF1E2}.field{text-align:left;max-width:360px;margin:0 auto 14px}.field label{font-size:13px;color:var(--cocoa-soft);display:block;margin:0 0 5px 10px;font-weight:600}.field input{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:13px 16px;font-family:Mulish;font-size:15px;color:var(--cocoa)}.field input:focus{outline:none;border-color:var(--clay)}.login small.note{display:block;margin-top:18px;color:var(--cocoa-soft);font-size:12.5px}.err{color:var(--clay-deep);font-size:14px;margin:6px 0 0;min-height:20px}.hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:0;gap:0;align-items:stretch}@media(max-width:760px){.hero{grid-template-columns:1fr}}.hero-photo{position:relative;min-height:430px;background-size:cover;background-position:center 28%;border-radius:200px 30px 30px 30px}@media(max-width:760px){.hero-photo{min-height:300px;border-radius:160px 160px 30px 30px}}.hero-photo .tape{position:absolute;top:-12px;left:50%;width:140px;height:34px;transform:translateX(-50%) rotate(-3deg);background:rgba(214,160,143,.55);border:1px dashed rgba(255,255,255,.5)}.hero-copy{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(30px,4.2vw,46px);margin:.1em 0 .25em;line-height:1.04}.hero-copy h1 em{font-style:italic;color:var(--clay-deep)}.hero-copy p{color:var(--cocoa-soft);margin:0 0 26px}.hero-stats{display:flex;gap:26px;margin-bottom:30px;flex-wrap:wrap}.hero-stats b{font-family:Fraunces,serif;font-size:30px;color:var(--olive);display:block;line-height:1}.hero-stats span{font-size:12.5px;color:var(--cocoa-soft);letter-spacing:.04em;text-transform:uppercase}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 4px 10px}.topbar .brand{font-family:Fraunces,serif;font-style:italic;font-size:20px;color:var(--clay-deep)}.topbar .links{display:flex;gap:8px;align-items:center}.section-title{text-align:center;margin:30px 0 26px}.section-title h2{font-size:clamp(26px,3.6vw,38px);margin:.1em 0}.section-title p{color:var(--cocoa-soft);margin:0}.path{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px}@media(max-width:780px){.path{grid-template-columns:1fr 1fr}}.stage{background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:24px 16px;text-align:center;position:relative}.stage .bub{width:54px;height:54px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;font-family:Fraunces,serif;font-size:24px;color:#fff}.bub.sage,.stage .bub{background:var(--sage)}.bub.clay{background:var(--clay)}.bub.olive{background:var(--olive)}.bub.gold{background:var(--gold)}.bub.deep{background:var(--clay-deep)}.stage h3{font-size:17px;margin:0 0 4px}.stage p{font-size:12.5px;color:var(--cocoa-soft);margin:0}.stage .lock{position:absolute;top:12px;right:14px;font-size:13px;opacity:.45}.stage .check{position:absolute;top:10px;right:13px;color:var(--olive);font-size:16px}.quiz-wrap{max-width:880px;margin:0 auto;width:100%}.progress{height:10px;background:var(--paper2);border-radius:999px;overflow:hidden;border:1px solid var(--line);margin:6px 0 4px}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--olive));border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.progress-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--cocoa-soft);margin-bottom:24px}.level-chip{font-family:Caveat,cursive;font-size:22px;color:var(--clay)}.qcard{background:var(--cream);border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:var(--shadow);position:relative}@media(max-width:640px){.qcard{padding:28px 22px}}.qcard h2{font-size:clamp(23px,3.2vw,30px);margin:8px 0 26px;line-height:1.18}.opt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:12px;cursor:pointer;font-family:Mulish;font-size:15.5px;color:var(--cocoa);transition:transform .12s,border-color .12s,background .12s}.opt:hover:not(:disabled){transform:translateX(3px);border-color:var(--sage)}.opt:disabled{cursor:default}.opt .dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);flex:none;display:grid;place-items:center;font-size:13px;color:var(--olive);font-weight:700}.opt.correct{background:#EEF1E2;border-color:var(--olive)}.opt.correct .dot{background:var(--olive);border-color:var(--olive);color:#fff}.opt.wrong{background:#F7E7E1;border-color:var(--rose)}.opt.wrong .dot{background:var(--rose);border-color:var(--rose);color:#fff}.reveal{margin-top:8px;background:linear-gradient(180deg,#F7EFE0,#F2E7D3);border:1px dashed var(--clay);border-radius:24px;padding:30px;animation:rise .5s cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal .rk{font-family:Caveat,cursive;font-size:20px;color:var(--clay)}.reveal h3{font-size:22px;margin:2px 0}.reveal .big{font-family:Fraunces,serif;font-size:clamp(44px,7vw,64px);color:var(--clay-deep);line-height:1;margin:6px 0}.reveal p{color:var(--cocoa-soft);margin:8px 0 0}.reveal .meta{margin-top:18px;display:flex;gap:22px;flex-wrap:wrap}.reveal .meta b{font-family:Fraunces,serif;font-size:22px;color:var(--olive);display:block;line-height:1}.reveal .meta span{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--cocoa-soft)}.quiz-actions{display:flex;justify-content:flex-end;margin-top:22px}.verdict{text-align:center;font-family:Caveat,cursive;font-size:24px;margin:14px 0 0}.verdict.ok{color:var(--olive)}.verdict.no{color:var(--clay)}.pray{text-align:center;max-width:760px;margin:0 auto}.pray h2{font-size:clamp(26px,3.6vw,34px);margin:8px 0}.pray .lead{color:var(--cocoa-soft);max-width:560px;margin:0 auto 30px}.days{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}.day{font-family:Fraunces,serif;font-size:16px;min-width:104px;background:var(--cream);border:1.5px solid var(--line);border-radius:18px;padding:16px 10px;cursor:pointer;transition:transform .14s,background .14s,border-color .14s,color .14s}.day small{display:block;font-family:Mulish;font-size:11.5px;color:var(--cocoa-soft);margin-top:3px;letter-spacing:.03em}.day:hover{transform:translateY(-3px);border-color:var(--sage)}.day.sel{background:var(--olive);color:#fff;border-color:var(--olive)}.day.sel small{color:#EEF1E2}.pray-note{font-family:Caveat,cursive;font-size:23px;color:var(--clay);min-height:32px;margin:4px 0 22px}.pray-saved{background:#EEF1E2;border:1px solid var(--sage);border-radius:18px;padding:20px 24px;max-width:480px;margin:18px auto 0;color:var(--olive)}.final{text-align:center}.final h2{font-size:clamp(28px,4vw,40px);margin:10px 0 6px}.final h2 em{font-style:italic;color:var(--clay-deep)}.final .lead{color:var(--cocoa-soft);max-width:580px;margin:0 auto 28px}.heart-sep{text-align:center;font-size:20px;color:var(--rose);letter-spacing:6px;margin:18px 0}.grid-stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin:8px 0}@media(max-width:780px){.grid-stats{grid-template-columns:repeat(2,1fr)}}.gs{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:22px 12px}.gs b{font-family:Fraunces,serif;font-size:32px;color:var(--clay-deep);display:block;line-height:1}.gs span{font-size:11.5px;color:var(--cocoa-soft);display:block;margin-top:6px}.letter{background:var(--cream);border:1px solid var(--line);border-radius:26px;padding:46px;box-shadow:var(--shadow);max-width:680px;margin:34px auto 0;text-align:left;position:relative}.letter:before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:3px;background:repeating-linear-gradient(180deg,var(--rose) 0 8px,transparent 8px 16px);border-radius:2px}.letter h3{font-size:26px;margin:0 0 18px;text-align:center}.letter p{color:var(--cocoa);margin:0 0 16px;font-size:16.5px;line-height:1.7}.letter .sign{font-family:Caveat,cursive;font-size:28px;color:var(--clay);text-align:right;margin-top:8px}.letter .draft-tag{position:absolute;top:14px;right:18px;font-size:11px;background:var(--gold);color:#fff;padding:3px 10px;border-radius:999px;font-family:Mulish}.voice{background:linear-gradient(180deg,#F7EFE0,#F2E7D3);border:1px dashed var(--clay);border-radius:24px;padding:30px;max-width:560px;margin:30px auto 0}.voice .rk{font-family:Caveat,cursive;font-size:22px;color:var(--clay)}.voice audio{width:100%;margin-top:14px}.voice .pending{color:var(--cocoa-soft);font-size:14px;margin-top:10px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px;max-width:760px;margin:30px auto 0}.gallery figure{margin:0;border-radius:18px;overflow:hidden;border:6px solid #fff;box-shadow:var(--shadow);transform:rotate(-1.2deg);transition:transform .2s}.gallery figure:nth-child(2n){transform:rotate(1.4deg)}.gallery figure:hover{transform:rotate(0) scale(1.02)}.gallery img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1}.gallery .empty{grid-column:1/-1;color:var(--cocoa-soft);font-size:14px;background:var(--cream);border:1px dashed var(--line);border-radius:18px;padding:22px}.admin h1{font-size:32px;margin:6px 0}.admin .card{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:24px}.admin h2{font-size:20px;margin:0 0 14px}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;color:var(--cocoa-soft);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:9px 10px;border-bottom:1px solid #efe6d6}.tbl tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:var(--sage-soft);color:#41492c}.badge.enok{background:#E7D9BC;color:#7a5c2a}.empty-row{font-style:italic}.empty-row,footer.foot{color:var(--cocoa-soft)}footer.foot{text-align:center;padding:60px 20px 0;font-size:13px}