*{box-sizing:border-box}
:root{--bg:#080706;--panel:rgba(20,16,12,.84);--gold:#d7ad4a;--gold-soft:#f2d890;--text:#f7eedc;--muted:#c8b896;--line:rgba(215,173,74,.35)}
body{margin:0;min-height:100vh;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--text);background:radial-gradient(circle at top,rgba(120,87,26,.35),transparent 34rem),radial-gradient(circle at bottom,rgba(16,49,66,.25),transparent 32rem),var(--bg)}
.app{width:min(100%,980px);margin:0 auto;padding:28px 16px 36px}
.hero{text-align:center;margin-bottom:18px}
.eyebrow{margin:0 0 8px;color:var(--gold-soft);letter-spacing:.16em;font-size:.78rem;text-transform:uppercase}
h1{margin:0;font-size:clamp(2rem,8vw,4rem);letter-spacing:.08em;color:var(--gold-soft);text-shadow:0 0 20px rgba(215,173,74,.32)}
.lead{margin:12px auto 0;max-width:36rem;color:var(--muted);line-height:1.8}
.tarot-panel{border:1px solid var(--line);border-radius:28px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),transparent),var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.48);backdrop-filter:blur(10px)}
.card-stage{position:relative;display:grid;place-items:center;min-height:420px;padding:16px}
.card-stage:before{content:"";position:absolute;width:min(72vw,420px);height:min(72vw,420px);border-radius:999px;background:radial-gradient(circle,rgba(215,173,74,.24),transparent 65%);filter:blur(8px)}
.card-image{position:relative;width:min(82vw,360px);max-height:70vh;object-fit:contain;border-radius:16px;box-shadow:0 18px 54px rgba(0,0,0,.65),0 0 0 1px rgba(215,173,74,.3);transition:transform .7s ease,opacity .5s ease,filter .5s ease}
.card-image.is-hidden{opacity:0;transform:translateY(10px) scale(.96);filter:blur(8px)}
.card-image.reversed{transform:rotate(180deg)}
.result-box{margin:8px auto 0;max-width:720px;padding:18px;border-top:1px solid var(--line);text-align:center}
.result-status{margin:0 0 6px;color:var(--gold);font-size:.9rem;letter-spacing:.08em}
h2{margin:0;color:var(--gold-soft);font-size:clamp(1.35rem,5vw,2.2rem)}
.orientation{min-height:1.5em;margin:8px 0 0;color:var(--muted)}
.meaning,.message{margin:12px auto 0;max-width:34rem;line-height:1.9}
.message{color:#fff7e8;white-space: pre-line}
.controls,.links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
button,.links a{min-width:150px;border:1px solid rgba(215,173,74,.52);border-radius:999px;padding:12px 18px;font:inherit;cursor:pointer;text-decoration:none;text-align:center}
.primary-btn{color:#17110a;background:linear-gradient(135deg,#f7d77a,#b98725);box-shadow:0 10px 28px rgba(215,173,74,.22)}
.secondary-btn,.links a{color:var(--gold-soft);background:rgba(255,255,255,.04)}
.line-btn{border-color:rgba(84,220,120,.65)!important}
.note-btn{border-color:rgba(215,173,74,.45)!important}
.footer{margin-top:22px;text-align:center;color:rgba(247,238,220,.55);font-size:.82rem}
@media(max-width:560px){.app{padding:18px 10px 28px}.tarot-panel{padding:12px;border-radius:22px}.card-stage{min-height:360px;padding:10px}.card-image{width:min(88vw,330px)}button,.links a{width:100%}}
