/* ======================================================
   ARCANA — Page-Specific Styles
   ====================================================== */

/* --- Splash Page --- */
.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:var(--space-8)}
.splash__logo{font-size:5rem;margin-bottom:var(--space-6);animation:float 3s ease-in-out infinite}
.splash__title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);color:var(--accent-gold);margin-bottom:var(--space-4);animation:fadeInUp .8s var(--ease-default) both .3s;letter-spacing:var(--ls-wider)}
.splash__subtitle{font-family:var(--font-accent);font-size:var(--fs-body);color:var(--text-secondary);font-style:italic;animation:fadeInUp .8s var(--ease-default) both .6s;max-width:400px}
.splash__loader{margin-top:var(--space-10);animation:fadeIn 1s var(--ease-default) both 1s}
.splash__enter{margin-top:var(--space-8);animation:fadeInUp .8s var(--ease-default) both 1.2s}

/* --- Onboarding --- */
.onboarding{display:flex;flex-direction:column;min-height:100vh}
.onboarding__slides{flex:1;overflow:hidden;position:relative}
.onboarding__slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);opacity:0;transform:translateX(50px);transition:all .5s var(--ease-default)}
.onboarding__slide--active{opacity:1;transform:translateX(0)}
.onboarding__slide--exit{opacity:0;transform:translateX(-50px)}
.onboarding__icon{font-size:5rem;margin-bottom:var(--space-8);animation:float 4s ease-in-out infinite}
.onboarding__title{font-family:var(--font-heading);font-size:var(--fs-h1);margin-bottom:var(--space-4);color:var(--accent-gold)}
.onboarding__desc{font-size:var(--fs-body);color:var(--text-secondary);max-width:360px;line-height:var(--lh-relaxed)}
.onboarding__controls{padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}
.onboarding__dots{display:flex;gap:var(--space-2)}
.onboarding__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-muted);transition:all var(--transition-default);cursor:pointer}
.onboarding__dot--active{width:24px;background:var(--accent-gold)}
.onboarding__skip{font-size:var(--fs-small);color:var(--text-muted);cursor:pointer}

/* --- Login / Auth --- */
.auth{display:flex;min-height:100vh}
.auth__left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8)}
.auth__right{flex:1;display:none;background:var(--gradient-celestial);align-items:center;justify-content:center;flex-direction:column;gap:var(--space-6);padding:var(--space-8)}
@media(min-width:1025px){.auth__right{display:flex}}
.auth__right-art{font-size:8rem;animation:float 5s ease-in-out infinite}
.auth__right-text{font-family:var(--font-accent);font-size:var(--fs-h2);color:var(--text-secondary);font-style:italic;max-width:300px;text-align:center}
.auth__form{width:100%;max-width:400px}
.auth__logo{font-size:3rem;margin-bottom:var(--space-2);text-align:center}
.auth__title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--accent-gold);text-align:center;margin-bottom:var(--space-2)}
.auth__subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-8)}
.auth__divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--text-muted);font-size:var(--fs-caption)}
.auth__divider::before,.auth__divider::after{content:'';flex:1;height:1px;background:var(--glass-border)}
.auth__social{display:flex;gap:var(--space-3)}
.auth__social .btn{flex:1}
.auth__footer{text-align:center;margin-top:var(--space-6);font-size:var(--fs-small);color:var(--text-secondary)}
.auth__footer a{color:var(--accent-gold)}

/* --- Home Page --- */
.home-hero{background:var(--gradient-celestial);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-6);position:relative;overflow:hidden;text-align:center}
.home-hero::before{content:'';position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(139,92,246,0.15),transparent);border-radius:50%}
.home-hero__greeting{font-size:var(--fs-small);color:var(--text-secondary);margin-bottom:var(--space-2)}
.home-hero__title{font-family:var(--font-heading);font-size:var(--fs-h2);margin-bottom:var(--space-2)}
.home-hero__moon{margin:var(--space-4) auto}
.home-hero__daily-card{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4);cursor:pointer;transition:all var(--transition-default);text-align:left}
.home-hero__daily-card:hover{background:var(--bg-surface-hover)}
.home-hero__daily-card-icon{font-size:2.5rem;flex-shrink:0}
.home-hero__daily-card-info h3{font-family:var(--font-heading);font-size:var(--fs-h3);margin-bottom:2px}
.home-hero__daily-card-info p{font-size:var(--fs-small);color:var(--text-secondary)}

.spread-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4)}
.spread-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;cursor:pointer;transition:all var(--transition-default)}
.spread-item:hover{border-color:var(--accent-gold-dim);transform:translateY(-2px);box-shadow:var(--shadow-glow-gold)}
.spread-item__icon{font-size:2rem;margin-bottom:var(--space-2)}
.spread-item__name{font-family:var(--font-heading);font-size:var(--fs-small);margin-bottom:var(--space-1)}
.spread-item__count{font-size:var(--fs-caption);color:var(--text-muted)}

/* --- Daily Pull --- */
.daily-pull{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:var(--space-8)}
.daily-pull__prompt{font-family:var(--font-accent);font-style:italic;font-size:var(--fs-h3);color:var(--text-secondary);max-width:400px;margin-bottom:var(--space-8)}
.daily-pull__card-area{position:relative;width:180px;height:310px;margin:var(--space-8) auto;perspective:1000px}
.daily-pull__result{margin-top:var(--space-8);max-width:500px;animation:fadeInUp .5s var(--ease-default) both}
.daily-pull__result h2{font-family:var(--font-heading);margin-bottom:var(--space-3);color:var(--accent-gold)}
.daily-pull__result p{color:var(--text-secondary);line-height:var(--lh-relaxed)}

/* --- Reading Page --- */
.reading-area{display:flex;flex-direction:column;align-items:center;min-height:80vh;padding:var(--space-6)}
.reading-area__instruction{font-family:var(--font-accent);font-style:italic;color:var(--text-secondary);margin-bottom:var(--space-6);text-align:center}
.reading-area__cards{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin:var(--space-6) 0;padding:var(--space-4)}
.reading-area__spread{display:grid;gap:var(--space-4);justify-items:center;margin:var(--space-8) auto}
.reading-area__spread--3{grid-template-columns:repeat(3,1fr);max-width:500px}
.reading-area__spread--celtic{grid-template-columns:repeat(5,1fr);max-width:800px}
.reading-area__position{text-align:center}
.reading-area__position-label{font-size:var(--fs-caption);color:var(--text-muted);margin-top:var(--space-2)}

/* --- Result Page --- */
.result-header{text-align:center;margin-bottom:var(--space-8)}
.result-header__title{font-family:var(--font-heading);font-size:var(--fs-h1);margin-bottom:var(--space-2)}
.result-header__date{font-size:var(--fs-small);color:var(--text-secondary)}
.result-spread{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-8)}
.result-interpretation{max-width:var(--content-max);margin:0 auto}
.result-interpretation__card{margin-bottom:var(--space-6)}
.result-interpretation__card-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}
.result-interpretation__card-position{font-size:var(--fs-caption);color:var(--accent-purple);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase}
.result-interpretation__card-name{font-family:var(--font-heading);font-size:var(--fs-h3)}
.result-interpretation__text{color:var(--text-secondary);line-height:var(--lh-relaxed)}
.result-interpretation__text .typing-cursor{display:inline-block;width:2px;height:1em;background:var(--accent-gold);margin-left:2px;animation:blink 0.8s infinite}
.result-summary{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-6);margin-top:var(--space-8)}
.result-actions{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-8);flex-wrap:wrap}

/* --- Report Page --- */
.report{max-width:var(--content-max);margin:0 auto;padding:var(--space-6)}
.report__header{text-align:center;padding:var(--space-8);border-bottom:1px solid var(--glass-border);margin-bottom:var(--space-8)}
.report__title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--accent-gold);margin-bottom:var(--space-2)}
.report__date{color:var(--text-muted)}
.report__card-detail{display:flex;gap:var(--space-6);margin-bottom:var(--space-8);align-items:flex-start}
@media(max-width:768px){.report__card-detail{flex-direction:column;align-items:center}}
.report__card-info{flex:1}
.report__card-info h3{font-family:var(--font-heading);font-size:var(--fs-h2);margin-bottom:var(--space-3)}
.report__keywords{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}
.report__section{margin-bottom:var(--space-8)}
.report__section-title{font-family:var(--font-heading);font-size:var(--fs-h3);margin-bottom:var(--space-4);color:var(--accent-gold);display:flex;align-items:center;gap:var(--space-2)}

/* --- Learning Center --- */
.learning-hero{text-align:center;padding:var(--space-8);margin-bottom:var(--space-6)}
.learning-hero__title{font-family:var(--font-heading);font-size:var(--fs-h1);margin-bottom:var(--space-2)}
.learning-hero__subtitle{color:var(--text-secondary)}
.course-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-default)}
.course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-gold)}
.course-card__image{height:140px;background:var(--gradient-celestial);display:flex;align-items:center;justify-content:center;font-size:3rem}
.course-card__body{padding:var(--space-4)}
.course-card__title{font-family:var(--font-heading);font-size:var(--fs-body);margin-bottom:var(--space-2)}
.course-card__meta{font-size:var(--fs-caption);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}

/* --- Encyclopedia --- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-4)}
@media(min-width:768px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
.card-grid__item{text-align:center;cursor:pointer;transition:transform var(--transition-default)}
.card-grid__item:hover{transform:translateY(-4px)}
.card-grid__item-name{font-family:var(--font-heading);font-size:var(--fs-caption);margin-top:var(--space-2);color:var(--text-secondary)}

/* --- Journal --- */
.journal-entry{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);cursor:pointer;transition:all var(--transition-default)}
.journal-entry:hover{border-color:var(--accent-gold-dim);transform:translateX(4px)}
.journal-entry__date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-sm)}
.journal-entry__day{font-family:var(--font-heading);font-size:var(--fs-h2);color:var(--accent-gold);line-height:1}
.journal-entry__month{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase}
.journal-entry__content{flex:1;min-width:0}
.journal-entry__title{font-weight:var(--fw-medium);margin-bottom:var(--space-1)}
.journal-entry__preview{font-size:var(--fs-small);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.journal-entry__tags{display:flex;gap:var(--space-2);margin-top:var(--space-2)}

/* Journal Editor */
.journal-editor{max-width:var(--content-max);margin:0 auto}
.journal-editor__meta{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}
.journal-editor__textarea{width:100%;min-height:300px;padding:var(--space-6);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-relaxed);resize:vertical}
.journal-editor__textarea:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-dim)}
.journal-editor__toolbar{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}
.journal-editor__ai-prompt{margin-top:var(--space-6);padding:var(--space-4);background:rgba(139,92,246,0.08);border:1px solid var(--glass-border-purple);border-radius:var(--radius-md)}
.journal-editor__ai-prompt h4{color:var(--accent-purple);font-size:var(--fs-small);margin-bottom:var(--space-2)}
.journal-editor__ai-prompt p{font-size:var(--fs-small);color:var(--text-secondary);font-style:italic}

/* --- History --- */
.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}
.history-chart{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6);min-height:200px;display:flex;align-items:flex-end;gap:var(--space-2);justify-content:center}
.history-chart__bar{width:28px;background:var(--gradient-gold);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .5s var(--ease-default);position:relative}
.history-chart__bar-label{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--text-muted);white-space:nowrap}

/* --- Community --- */
.community-post{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-4)}
.community-post__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}
.community-post__user-info{flex:1}
.community-post__username{font-weight:var(--fw-medium);font-size:var(--fs-small)}
.community-post__time{font-size:var(--fs-caption);color:var(--text-muted)}
.community-post__body{color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}
.community-post__cards{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);overflow-x:auto;padding:var(--space-2) 0}
.community-post__actions{display:flex;gap:var(--space-6);border-top:1px solid var(--glass-border);padding-top:var(--space-3)}
.community-post__action{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);color:var(--text-muted);cursor:pointer;transition:color var(--transition-default)}
.community-post__action:hover{color:var(--accent-gold)}

/* --- Horoscope --- */
.zodiac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}
@media(max-width:768px){.zodiac-grid{grid-template-columns:repeat(3,1fr)}}
.zodiac-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default)}
.zodiac-item:hover,.zodiac-item--active{border-color:var(--accent-gold-dim);background:rgba(212,168,83,0.08);transform:translateY(-2px)}
.zodiac-item__icon{font-size:2rem}
.zodiac-item__name{font-family:var(--font-heading);font-size:var(--fs-caption)}
.zodiac-item__date{font-size:10px;color:var(--text-muted)}

.horoscope-detail{margin-top:var(--space-6)}
.horoscope-detail__header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}
.horoscope-detail__icon{font-size:3rem}
.horoscope-detail__name{font-family:var(--font-heading);font-size:var(--fs-h2)}
.horoscope-detail__section{margin-bottom:var(--space-6)}
.horoscope-detail__section h3{font-family:var(--font-heading);font-size:var(--fs-h3);margin-bottom:var(--space-3);color:var(--accent-gold)}
.lucky-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}
.lucky-item{text-align:center;padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md)}
.lucky-item__value{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--accent-gold);margin-top:var(--space-2)}
.lucky-item__label{font-size:var(--fs-caption);color:var(--text-muted)}

/* --- Profile --- */
.profile-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8);margin-bottom:var(--space-6)}
.profile-header__avatar{margin-bottom:var(--space-4)}
.profile-header__name{font-family:var(--font-heading);font-size:var(--fs-h2);margin-bottom:var(--space-1)}
.profile-header__zodiac{font-size:var(--fs-small);color:var(--accent-purple)}
.profile-header__stats{display:flex;gap:var(--space-8);margin-top:var(--space-6)}
.profile-header__plan{margin-top:var(--space-4)}

/* --- Settings --- */
.settings-group{margin-bottom:var(--space-6)}
.settings-group__title{font-family:var(--font-heading);font-size:var(--fs-body);color:var(--text-secondary);margin-bottom:var(--space-3);padding:0 var(--space-4)}
.settings-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);transition:background var(--transition-default);cursor:pointer;border-radius:var(--radius-sm)}
.settings-item:hover{background:var(--bg-surface)}
.settings-item__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-surface);font-size:1.1rem;flex-shrink:0}
.settings-item__content{flex:1}
.settings-item__label{font-size:var(--fs-small);font-weight:var(--fw-medium)}
.settings-item__desc{font-size:var(--fs-caption);color:var(--text-muted)}
.settings-item__action{flex-shrink:0;color:var(--text-muted)}

/* --- Subscription --- */
.sub-hero{text-align:center;padding:var(--space-10) var(--space-4);margin-bottom:var(--space-8)}
.sub-hero__icon{font-size:4rem;margin-bottom:var(--space-4);animation:float 3s ease-in-out infinite}
.sub-hero__title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--accent-gold);margin-bottom:var(--space-2)}
.sub-hero__desc{color:var(--text-secondary);max-width:500px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin:0 auto;max-width:960px}
.testimonials{margin-top:var(--space-10)}
.testimonial{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center}
.testimonial__text{font-family:var(--font-accent);font-style:italic;color:var(--text-secondary);margin-bottom:var(--space-4);line-height:var(--lh-relaxed)}
.testimonial__author{font-size:var(--fs-small);color:var(--accent-gold)}

/* --- Spreads Selection --- */
.spread-detail{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-6)}
.spread-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-default)}
.spread-card:hover{border-color:var(--accent-gold-dim);transform:translateY(-3px);box-shadow:var(--shadow-glow-gold)}
.spread-card__preview{height:160px;background:var(--gradient-celestial);display:flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative}
.spread-card__preview-card{width:40px;height:65px;background:var(--bg-secondary);border:1px solid var(--accent-gold-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:var(--accent-gold)}
.spread-card__body{padding:var(--space-4)}
.spread-card__name{font-family:var(--font-heading);font-size:var(--fs-body);margin-bottom:var(--space-1)}
.spread-card__desc{font-size:var(--fs-small);color:var(--text-secondary);margin-bottom:var(--space-3)}
.spread-card__meta{display:flex;align-items:center;justify-content:space-between}
