:root{--bg: #08090d;--bg-2: #11121a;--card: rgba(22, 24, 32, .4);--card-2: rgba(30, 32, 42, .5);--ink: #d7ccb6;--ink-soft: #a89d8a;--muted: #756d60;--gold: #c2a979;--line: rgba(194, 169, 121, .16);--good: #94a892;--bad: #bb9483;--blue: #8a93a8;--radius: 20px;--maxw: 520px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(130% 90% at 50% 20%,#15161f,#0a0b11 52%,#06070b) fixed;color:var(--ink);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;font-weight:300;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"onum" 0;-webkit-font-smoothing:antialiased}.app{max-width:var(--maxw);margin:0 auto;min-height:100%;padding:8px 18px calc(86px + env(safe-area-inset-bottom))}.serif{font-family:Cormorant,Forum,Georgia,serif;font-weight:500}.topbar{display:flex;align-items:center;justify-content:center;padding:10px 0 6px;position:relative}.topbar .title{text-align:center}.topbar .title b{font-size:1rem;font-weight:600}.topbar .title small{display:block;color:var(--muted);font-size:.72rem}.folk{width:100%;height:16px;display:block;margin:6px 0 4px}.landscape{width:100%;height:auto;display:block;margin-top:8px}.center-screen{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;color:var(--ink-soft)}h1{font-size:1.4rem;font-weight:700;margin:0}h2{font-size:1.1rem;font-weight:700;margin:0 0 12px}.muted{color:var(--muted)}.gold{color:var(--gold)}.hero{text-align:center;padding:10px 0 2px}.hero .date{font-size:2.1rem;font-weight:400;line-height:1.1;letter-spacing:.5px;color:var(--ink)}.hero .weekday{color:var(--muted);font-size:.82rem;margin-top:8px;text-transform:uppercase;letter-spacing:3px}.hero .moonwrap{margin:34px auto 16px;display:flex;justify-content:center;position:relative}.hero-aura{position:absolute;left:50%;top:50%;width:330px;height:330px;margin-left:-165px;margin-top:-165px;transform-origin:center;z-index:0;pointer-events:none;background:url(/sky1.jpg) center / cover no-repeat;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 86%);mask-image:radial-gradient(closest-side,#000 40%,transparent 86%);opacity:.9;animation:moonBreathe 9s ease-in-out infinite}.moon-ring{position:absolute;left:50%;top:50%;width:232px;height:232px;margin-left:-116px;margin-top:-116px;border-radius:50%;border:1px solid rgba(216,191,134,.35);box-shadow:0 0 0 .5px #d8bf861f,inset 0 0 18px #d8bf860f;z-index:0;pointer-events:none}.moon-ring:before{content:"";position:absolute;top:-3px;left:50%;margin-left:-3px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px 2px #d8bf8699}.hero .moonphoto{position:relative;z-index:1}.moonphoto{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto}.moonphoto-glow{position:absolute;width:134%;height:134%;border-radius:50%;background:radial-gradient(closest-side,#f8e296b3,#f8e0962e 55%,#f8e09600 72%);filter:blur(4px);transform-origin:center;animation:moonBreathe 7s ease-in-out infinite}.moonphoto-disc{position:relative;width:86%;height:86%;border-radius:50%;overflow:hidden;box-shadow:inset -10px -12px 30px #4a361880,inset 8px 9px 22px #fffae447,0 6px 30px #96742e47}.moonphoto-disc img{width:100%;height:100%;object-fit:cover;display:block}.moonphoto-shadow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.moonphoto-limb{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 28px 8px #4a361866}.moon-svg{display:block;overflow:visible}.moon-float{animation:moonFloat 9s ease-in-out infinite}.moon-halo{transform-box:fill-box;transform-origin:center;animation:moonBreathe 7s ease-in-out infinite}@keyframes moonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes moonBreathe{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@media (prefers-reduced-motion: reduce){.moon-float,.moon-halo{animation:none}}.hero .phase{font-size:1.25rem;font-weight:600;margin-top:6px}.cyclephase{max-width:280px;margin:14px auto 0}.cycleends{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cyclebar{position:relative;height:5px;border-radius:999px;background:#b6a06a1f;overflow:hidden}.cyclefill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#b6a06a00,#c6aa688c);box-shadow:0 0 10px #e6c87859}.cyclecap{text-align:center;color:var(--gold);font-size:.92rem;margin-top:10px;letter-spacing:.3px}.riseset{display:flex;justify-content:center;gap:40px;margin:12px 0 4px}.riseset .item{text-align:center}.riseset .item .lbl{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px}.riseset .item .val{font-size:1.05rem;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card .label{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.card .big{font-size:1.6rem;font-weight:700;margin:2px 0}.card p{margin:8px 0 0;line-height:1.55;color:var(--ink-soft)}.row{display:flex;gap:12px}.row>.card{flex:1;margin-bottom:0}.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-soft);font-size:.76rem;border:1px solid var(--line)}.affirm{text-align:center;font-size:1.12rem;line-height:1.55;font-weight:500;color:var(--ink);padding:18px;margin:14px 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.affirm .q{color:var(--gold);font-size:1.6rem;line-height:0}.tarot{text-align:center}.tarot .name{color:var(--gold);font-size:1.35rem;font-weight:700;font-family:Georgia,serif}.tarot .sym{font-size:2rem}.advice .head{display:flex;align-items:center;gap:8px;font-weight:700;margin:6px 0 8px}.advice .good{color:var(--good)}.advice .bad{color:var(--bad)}.advice ul{list-style:none;padding:0;margin:0 0 6px}.advice li{display:flex;align-items:center;gap:10px;padding:7px 0;color:var(--ink-soft);border-bottom:1px solid var(--line)}.advice li:last-child{border-bottom:none}.advice .ic{width:20px;text-align:center}.cal-head{display:flex;align-items:center;justify-content:center;gap:18px;margin:6px 0 14px}.cal-head button{background:none;border:none;font-size:1.3rem;color:var(--gold);cursor:pointer}.cal-head .m{font-weight:700;font-size:1.1rem;min-width:150px;text-align:center}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.grid .wd{text-align:center;color:var(--muted);font-size:.72rem;padding-bottom:6px}.cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;gap:2px;cursor:pointer}.cell .n{font-size:.8rem;color:var(--ink-soft)}.cell.today{background:var(--ink)}.cell.today .n{color:#fff;font-weight:700}.cell.muted2{opacity:.35}.legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px;color:var(--muted);font-size:.76rem}.legend span{display:inline-flex;align-items:center;gap:5px}.btn{display:block;width:100%;border:none;cursor:pointer;padding:15px;border-radius:14px;font-size:1rem;font-weight:600;color:#fff;background:var(--ink);margin-top:8px}.btn.gold{background:linear-gradient(90deg,#c4ad72,#e0caa0);color:#36301c}.btn.secondary{background:var(--bg-2);color:var(--ink);border:1px solid var(--line)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6}.input,select{width:100%;padding:13px 14px;border-radius:12px;font-size:1rem;background:#ffffff0d;color:var(--ink);border:1px solid var(--line);margin-top:6px}.scale button,.scale.small button{background:#ffffff0d}.cyclebar{background:#ffffff12}.field{margin-bottom:14px}.field label{font-size:.85rem;color:var(--ink-soft)}.scale{display:flex;gap:8px;margin-top:8px}.scale button{flex:1;padding:12px 0;border-radius:12px;font-size:1.2rem;background:#fff;border:1px solid var(--line);cursor:pointer}.scale button.on{background:#f0ead8;border-color:var(--gold)}.locked{text-align:center;padding:24px;border-radius:var(--radius);background:var(--card);border:1px dashed var(--gold)}.locked .lock{font-size:1.8rem}.list-row{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid var(--line)}.list-row .l{display:flex;align-items:center;gap:12px}.list-row .ic{font-size:1.15rem;width:22px;text-align:center}.list-row .r{color:var(--muted)}.diary-day{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.diary-day .d{color:var(--muted);font-size:.85rem}.nav{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:var(--maxw);background:#0a0d14d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.nav button{background:none;border:none;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.68rem;padding:4px 12px}.nav button .ic{font-size:1.2rem}.nav button.on{color:var(--ink)}.nav button.on .ic{color:var(--gold)}.err{color:var(--bad);text-align:center;padding:12px}.sky{padding-top:14px}.sky-top{text-align:center;margin-bottom:4px}.sky-top span{font-family:Cormorant,serif;font-size:1.15rem;letter-spacing:3px;color:var(--ink);text-transform:uppercase}.sky-top small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:3px;text-transform:uppercase;margin-top:2px}.cdiv{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px auto;max-width:280px}.cdiv-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(216,191,134,.5),transparent)}.cdiv-star{color:var(--gold);font-size:.7rem;text-shadow:0 0 10px rgba(216,191,134,.6)}.sky-date{text-align:center;font-size:2rem;font-weight:500;color:var(--ink);letter-spacing:1px;line-height:1.05;margin-top:4px}.sky-weekday{text-align:center;color:var(--gold);text-transform:uppercase;letter-spacing:4px;font-size:.68rem;margin-top:5px;opacity:.82}.sky-moon{position:relative;display:flex;align-items:center;justify-content:center;margin:30px auto 10px;height:220px}.sky-moon .moonphoto{position:relative;z-index:2}.sky-moon .hero-aura{z-index:1}.sacred{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 5px rgba(194,169,121,.25));opacity:.92}.sacred-rot{transform-box:fill-box;transform-origin:center;animation:slowSpin 150s linear infinite}@keyframes slowSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sacred-rot{animation:none}}.sky-phase{text-align:center;font-size:1.5rem;font-weight:500;color:var(--ink);margin-top:6px}.slabel{display:flex;align-items:center;gap:14px;margin:20px auto 10px;max-width:340px}.slabel-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(216,191,134,.4))}.slabel-line:last-child{background:linear-gradient(90deg,rgba(216,191,134,.4),transparent)}.slabel-text{font-family:Cormorant,serif;font-weight:500;color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:1.12rem;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;max-width:340px;margin:4px auto 0}.stat{text-align:center}.stat .k{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:.64rem;opacity:.8}.stat .v{font-family:Cormorant,serif;font-size:1.4rem;color:var(--ink);margin-top:1px;line-height:1.2}.kv{max-width:400px;margin:0 auto}.kv-row{display:flex;justify-content:space-between;align-items:center;padding:13px 6px;border-bottom:1px solid rgba(216,191,134,.12)}.kv-row:last-child{border-bottom:none}.kv-k{color:var(--ink-soft);font-size:.95rem}.kv-v{color:var(--ink);font-family:Cormorant,serif;font-size:1.2rem;letter-spacing:.3px}.sky-quote{text-align:center;font-style:italic;font-size:1.3rem;line-height:1.6;color:#efe9da;max-width:440px;margin:6px auto;font-weight:400}.sky-center{text-align:center}.small{font-size:.82rem}.advice-airy{display:flex;max-width:420px;margin:0 auto;gap:16px}.aa-col{flex:1}.aa-sep{width:1px;background:linear-gradient(180deg,transparent,rgba(216,191,134,.25),transparent)}.aa-h{text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;margin-bottom:8px}.aa-h.good{color:var(--good)}.aa-h.bad{color:var(--bad)}.aa-item{color:var(--ink-soft);font-size:.92rem;padding:5px 0}.tarot-airy{text-align:center;margin-top:4px}.ta-name{color:var(--gold);font-size:1.6rem;letter-spacing:1px;margin-bottom:4px}.btn-ghost{display:block;margin:16px auto 0;padding:12px 26px;background:transparent;border:1px solid rgba(216,191,134,.4);border-radius:999px;color:var(--gold);font-size:.82rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:box-shadow .3s,background .3s}.btn-ghost:active{box-shadow:0 0 18px #d8bf864d;background:#d8bf860f}.rec-advice{max-width:360px;margin:2px auto 0}.ra-block{text-align:center;margin-bottom:16px}.ra-h{font-family:Cormorant,serif;text-transform:uppercase;letter-spacing:2px;font-size:1rem;margin-bottom:6px;font-weight:600}.ra-h.good{color:var(--good)}.ra-h.bad{color:var(--bad)}.ra-item{font-family:Cormorant,serif;font-size:1.3rem;color:var(--ink);padding:3px 0;line-height:1.3}.sky-locked{text-align:center;padding:24px 10px}.sky-locked .lock{color:var(--gold);font-size:1.4rem;text-shadow:0 0 14px rgba(216,191,134,.5)}.dscale-wrap{max-width:380px;margin:0 auto}.dscale{margin-bottom:14px}.dscale-label{text-align:center;color:var(--ink-soft);font-size:.82rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.scale.small button{background:#ffffff0a;border:1px solid var(--line);font-size:1rem}.scale button.on{background:#d8bf8624;border-color:var(--gold);box-shadow:0 0 10px #d8bf8640}.reflect{max-width:440px;margin:0 auto}.rfield{margin-bottom:14px}.rq{font-family:Cormorant,serif;font-size:1.2rem;color:var(--ink);margin-bottom:5px}.rq:first-child{color:var(--gold)}textarea.input{resize:none;min-height:46px;font-family:Montserrat,sans-serif;line-height:1.5}.dhist{max-width:400px;margin:0 auto}.dhist-row{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;border-bottom:1px solid rgba(216,191,134,.1)}.dh-date{color:var(--ink-soft);font-size:.88rem}.dh-emo{font-size:1rem;letter-spacing:2px}.prof-days{text-align:center;font-size:3.2rem;color:var(--gold);line-height:1}.prof-days-sub{text-align:center;color:var(--ink-soft);font-size:.9rem;letter-spacing:1px;margin-top:4px}.prof-price{text-align:center;font-size:2.4rem;color:var(--ink)}.prof-price span{font-size:.9rem;color:var(--muted)}.ob-form{max-width:420px;margin:0 auto}.cal-head button{color:var(--gold)}.cell.today{background:radial-gradient(closest-side,rgba(216,191,134,.16),transparent 78%)}.cell.today .n{color:var(--gold);font-weight:600}.cell .n,.legend{color:var(--ink-soft)}.luninfo{display:flex;flex-direction:column;gap:0}.luninfo .r{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.luninfo .r:last-child{border-bottom:none}.luninfo .k{color:var(--ink-soft);display:flex;align-items:center;gap:9px}.luninfo .k .ic{color:var(--gold);width:18px;text-align:center}.luninfo .v{font-weight:600}.carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;-webkit-overflow-scrolling:touch}.carousel::-webkit-scrollbar{display:none}.lunar-card{flex:0 0 auto;width:72px;scroll-snap-align:center;text-align:center;background:transparent;border:none;border-radius:16px;padding:8px 4px;cursor:pointer}.lunar-card.today{background:radial-gradient(closest-side,rgba(216,191,134,.1),transparent 80%)}.lunar-card.today .ld{color:var(--gold)}.lunar-card .wd{font-size:.7rem;color:var(--muted)}.lunar-card .dn{font-size:.72rem;color:var(--ink-soft);margin-top:1px}.lunar-card .ld{font-weight:700;font-size:1rem;margin-top:4px;font-family:Georgia,serif}.lunar-card .mn{display:flex;justify-content:center;margin:4px 0 2px}.scale.small button{padding:7px 0;font-size:.95rem}.scale-label{display:flex;justify-content:space-between;align-items:center}.scale-label .lbl{color:var(--ink-soft);font-size:.9rem}textarea.input{resize:none;min-height:44px;font-family:inherit;line-height:1.4}.reflect .q{font-weight:600;margin-bottom:2px}.reflect .daily{color:var(--gold);font-style:italic}
