:root{--bg:#171008;--bg2:#2a1c0e;--ink:#fdf3e3;--muted:#c2a173;--gold:#f59e0b;--gold2:#fcd34d;--gold-dim:#b45309;--card:#241708;--line:#57401f;--glow:rgba(245,158,11,.18)}
*{box-sizing:border-box}
::selection{background:var(--gold);color:#241503}
body{margin:0;background:radial-gradient(1100px 620px at 78% -8%,#452a0c 0%,transparent 60%),radial-gradient(900px 700px at 8% 110%,#33190a 0%,transparent 55%),var(--bg);color:var(--ink);font-family:ui-sans-system,system-ui,'Segoe UI',Roboto,sans-serif;line-height:1.55;min-height:100vh}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 32% 68%,#fffc 50%,transparent 51%),radial-gradient(1.8px 1.8px at 54% 12%,#ffe9b0aa 50%,transparent 51%),radial-gradient(1px 1px at 71% 44%,#fff9 50%,transparent 51%),radial-gradient(1.4px 1.4px at 86% 18%,#fff7 50%,transparent 51%),radial-gradient(1px 1px at 93% 76%,#fffc 50%,transparent 51%),radial-gradient(1.2px 1.2px at 44% 88%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 6% 82%,#fff6 50%,transparent 51%),radial-gradient(1.6px 1.6px at 63% 84%,#ffe9b088 50%,transparent 51%),radial-gradient(1px 1px at 24% 42%,#fff7 50%,transparent 51%);animation:twinkle 7s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.45}to{opacity:.95}}
.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(23,16,8,.88);backdrop-filter:blur(10px);z-index:5}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:26px;letter-spacing:.05em}.star{color:var(--gold);text-shadow:0 0 12px var(--gold)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}.tab{background:rgba(255,255,255,.02);border:1px solid var(--line);color:var(--muted);padding:7px 13px;border-radius:999px;cursor:pointer;font-size:14px;transition:all .18s ease}.tab:hover{border-color:var(--gold-dim);color:var(--gold2);transform:translateY(-1px)}.tab.active{background:linear-gradient(160deg,var(--gold2),var(--gold));color:#241503;border-color:var(--gold);font-weight:700;box-shadow:0 4px 18px var(--glow)}
main{max-width:1040px;margin:0 auto;padding:26px 18px 60px;position:relative;z-index:1}
.hero{text-align:center;padding:44px 8px 6px}
.medallion{width:104px;height:104px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--gold-dim);background:radial-gradient(circle at 35% 30%,#4a2f14,#241708 70%);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 44px var(--glow),inset 0 0 24px #0007}
.medallion::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px dashed #f59e0b55}
.medallion-hand{font-size:40px;filter:sepia(.4) saturate(1.4) hue-rotate(-8deg)}
.medallion-moon{position:absolute;top:2px;right:8px;color:var(--gold2);font-size:20px;text-shadow:0 0 10px var(--gold)}
.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(36px,6vw,60px);line-height:1.07;margin:0 0 14px}
.hero h1 em{background:linear-gradient(100deg,#fde68a,var(--gold) 55%,#b45309);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.lede{max-width:640px;margin:0 auto 20px;color:var(--muted);font-size:17px}
.cta{background:linear-gradient(160deg,var(--gold2),var(--gold));color:#241503;border:0;padding:14px 30px;border-radius:999px;font-size:16.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 28px var(--glow);transition:all .18s ease}.cta:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(245,158,11,.28)}
.ornament{color:var(--gold-dim);letter-spacing:.7em;text-align:center;margin:18px 0 4px;font-size:13px}
.badge{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(245,158,11,.13);color:var(--gold2);font-size:13.5px;font-weight:600;margin-bottom:16px}
.fineprint{color:var(--muted);font-size:12.5px;max-width:560px;margin:10px auto 0}
.panel{display:none}.panel.active{display:block;animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel h2{font-family:Georgia,serif;font-weight:500;font-size:31px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,var(--gold),transparent 75%) 1;padding-bottom:9px}
.card{background:linear-gradient(170deg,#2e1f0f,var(--card) 60%);border:1px solid var(--line);border-radius:18px;padding:22px;margin:14px 0;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:border-color .18s ease,transform .18s ease}
.card:hover{border-color:var(--gold-dim)}
.card h3{font-family:Georgia,serif;margin-top:0;color:var(--gold2);font-size:20px}.card h3 .glyph{color:var(--gold);margin-right:6px;text-shadow:0 0 10px var(--glow)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:15px}
.moon-big{font-size:54px;line-height:1.1;text-align:center;display:block;text-shadow:0 0 26px rgba(252,211,77,.45)}
label{display:block;margin:10px 0;font-size:14px;color:var(--muted)}input,select,textarea{width:100%;margin-top:5px;background:var(--bg2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:15px;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:160px}.row input[type=text]{flex:3}
.btn{background:rgba(245,158,11,.06);border:1px solid var(--gold);color:var(--gold2);padding:10px 19px;border-radius:999px;cursor:pointer;font-size:15px;margin:8px 6px 8px 0;transition:all .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--glow)}.btn:hover,.btn.big{background:linear-gradient(160deg,var(--gold2),var(--gold));color:#241503;font-weight:700}.btn.big{padding:14px 28px;font-size:16.5px}
.muted{color:var(--muted)}.steps{color:var(--muted);margin-top:0}
.dropzone{border:1.5px dashed var(--gold-dim);border-radius:14px;padding:20px;text-align:center;cursor:pointer;color:var(--gold2);background:rgba(245,158,11,.04);transition:all .18s ease}.dropzone:hover{border-color:var(--gold);background:rgba(245,158,11,.09)}
.dz-hint{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}.dropzone input{border:0;background:transparent;margin-top:10px}
.status:not(:empty){animation:pulse 1.6s ease-in-out infinite;color:var(--gold2)}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
#palm-preview-wrap{position:relative;max-width:420px;margin:14px auto} #palm-preview{width:100%;border-radius:14px;display:block;box-shadow:0 12px 34px rgba(0,0,0,.4)} #palm-trace{position:absolute;inset:0;width:100%;height:100%}
.line-block{border-left:2px solid var(--gold);padding:4px 0 4px 15px;margin:15px 0;background:linear-gradient(90deg,rgba(245,158,11,.06),transparent 65%)}.line-block h4{margin:0 0 4px;font-family:Georgia,serif;color:var(--gold2);font-size:17px} .conf{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}
.quotable{font-family:Georgia,serif;font-style:italic;font-size:21.5px;color:var(--gold2);text-align:center;margin:20px 0;text-shadow:0 0 22px var(--glow)}
.tarot-out{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.tarot-card{flex:1;min-width:200px;background:radial-gradient(120% 90% at 50% 0%,#3a2410,var(--bg2));border:1px solid var(--gold-dim);border-radius:130px 130px 16px 16px;padding:26px 16px 18px;text-align:center;box-shadow:inset 0 0 0 4px #1d1206,inset 0 0 0 5px #f59e0b44,0 12px 28px rgba(0,0,0,.3);animation:reveal .5s ease backwards}
.tarot-card:nth-child(2){animation-delay:.12s}.tarot-card:nth-child(3){animation-delay:.24s}
@keyframes reveal{from{opacity:0;transform:rotateY(70deg) translateY(10px)}to{opacity:1;transform:none}}
.tarot-card .glyph{font-size:36px;color:var(--gold);text-shadow:0 0 14px var(--gold)} .rev{transform:rotate(180deg);display:inline-block}
.oracle-log{min-height:60px}.bubble{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:11px 15px;margin:8px 0}.bubble.me{border-color:var(--gold-dim);background:rgba(245,158,11,.07)}
.big-score{font-family:Georgia,serif;font-size:56px;color:var(--gold2);text-align:center;text-shadow:0 0 26px var(--glow)}
.fullrow{flex-basis:100%}.center{text-align:center}
footer{border-top:1px solid var(--line);margin-top:44px;padding-top:8px;color:var(--muted);font-size:12.5px;text-align:center}
.share-row{margin-top:14px}
@media (max-width:640px){.hero{padding-top:26px}.medallion{width:84px;height:84px}.medallion-hand{font-size:32px}}
@media (prefers-reduced-motion:reduce){.stars,.panel.active,.tarot-card,.status:not(:empty){animation:none}}