/* PrimeMC V46 — original cinematic world design. Visual layer only. */
:root {
  --pw-ink:#071a15; --pw-deep:#06110e; --pw-panel:#10261e;
  --pw-cream:#f6f3e8; --pw-muted:#a9bfb5; --pw-mint:#a6f3b3;
  --pw-gold:#f3d792; --pw-line:rgba(238,252,235,.15);
  --v32-width:1320px;
}
body { color:var(--pw-cream); }
body:not(.auth-page):not(.shop-page):not(.tarot-page),body.home-page {
  background:#06130f !important; background-image:radial-gradient(circle at 12% 7%,rgba(47,129,103,.15),transparent 31rem),linear-gradient(155deg,#06140f,#0b1917 55%,#06130f) !important;
  background-attachment:scroll !important;
}
body.home-page::before { opacity:.13 !important; }
:root[data-theme="light"] body:not(.auth-page):not(.shop-page):not(.tarot-page),
:root[data-theme="light"] body.home-page { color:#17372d; background:#f3f7f0 !important; background-image:linear-gradient(145deg,#f7f9f2,#e7f1e9) !important; }
:root[data-theme="light"] body.home-page::before { opacity:0 !important; }
.site-header,.cozy-nav {
  width:min(1320px,calc(100% - 36px)) !important; max-width:1320px !important;
  border-radius:17px !important; border:1px solid rgba(235,255,238,.16) !important;
  background:rgba(7,22,18,.89) !important; box-shadow:0 14px 36px rgba(0,0,0,.21) !important;
  -webkit-backdrop-filter:blur(12px) !important; backdrop-filter:blur(12px) !important;
}
.site-header { top:10px !important; }
.cozy-nav { top:10px !important; margin-top:0 !important; }
.header-inner { min-height:52px !important; }
.site-header .main-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:4px; }
.site-header .main-nav > a,.home-nav .nav-menu > a.nav-link { padding:10px 12px !important; border-radius:9px !important; color:#d5e7da !important; text-decoration:none; font-size:.84rem !important; font-weight:750 !important; }
.site-header .main-nav > a:hover,.home-nav .nav-menu > a.nav-link:hover { background:rgba(166,243,179,.10) !important; color:#fff !important; }
.prime-logo { font-weight:950 !important; font-size:1.21rem !important; letter-spacing:-.055em !important; }
.brand::before { border-radius:11px !important; }
.prime-tools-toggle { border-radius:9px !important; }
.prime-tools-spark { border-radius:8px !important; }
.prime-tools-menu.prime-tools-mega { border-radius:17px !important; }
.prime-global-toggle { display:none; }

/* An immersive opening composition built around PrimeMC's existing landscape. */
.home-page .home-shell { width:min(1320px,calc(100% - 32px)) !important; max-width:1320px !important; padding-top:92px !important; }
.home-page .prime-world-hero {
  position:relative; display:flex !important; flex-direction:column; justify-content:space-between;
  min-height:min(830px,calc(100svh - 110px)) !important; margin:0 !important; padding:42px clamp(22px,5vw,66px) 35px !important;
  border-radius:25px !important; border:1px solid rgba(235,255,231,.19) !important;
  background-image:linear-gradient(180deg,rgba(4,15,13,.45) 0%,rgba(3,13,13,.03) 34%,rgba(4,15,12,.65) 67%,rgba(3,12,10,.96) 100%),url('primemc-world-v46.webp') !important;
  background-position:center,center 47% !important; background-size:cover !important;
  box-shadow:0 35px 90px rgba(0,0,0,.32) !important; overflow:hidden;
}
.home-page .prime-world-hero::before { inset:0 !important; z-index:0 !important; opacity:.72 !important; background:radial-gradient(circle at 53% 35%,transparent 5%,rgba(3,12,11,.25) 70%),linear-gradient(90deg,rgba(4,17,14,.28),transparent 55%) !important; mask-image:none !important; }
.home-page .prime-world-hero::after { content:none !important; }
.prime-world-hero > * { position:relative; z-index:1; }
.prime-world-horizon { position:absolute !important; inset:0 !important; z-index:0 !important; display:grid; place-items:center; pointer-events:none; }
.prime-world-horizon span { transform:translateY(9%); color:rgba(242,255,225,.05); font-size:clamp(7rem,17vw,20rem); font-weight:950; letter-spacing:-.09em; white-space:nowrap; }
.prime-world-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.prime-world-kicker { display:inline-flex; align-items:center; gap:10px; color:#e4efdc; font-size:.68rem; font-weight:900; letter-spacing:.16em; }
.prime-world-kicker i { width:8px; height:8px; border-radius:50%; background:#a6f3b3; box-shadow:0 0 17px #8ceca7; }
.prime-world-intro p { max-width:250px; margin:0; color:#e6eee5; font-size:.76rem; text-align:right; line-height:1.5; }
.prime-world-title { align-self:center; margin:65px 0 40px; text-align:center; filter:drop-shadow(0 18px 22px rgba(0,0,0,.38)); }
.prime-world-chapter { display:block; margin-bottom:7px; color:#e6f6da; font-size:.76rem; font-weight:900; letter-spacing:.3em; }
.home-page .prime-world-title h1 { max-width:none !important; margin:0; color:#f8f6e9 !important; font-size:clamp(5.4rem,15vw,13rem) !important; font-weight:950 !important; letter-spacing:-.105em !important; line-height:.9 !important; text-shadow:0 8px 0 rgba(11,47,28,.7),0 22px 45px rgba(0,0,0,.58) !important; }
.home-page .prime-world-title h1 span { color:#bef5ab !important; background:none !important; -webkit-text-fill-color:currentColor !important; }
.prime-world-title strong { display:block; margin-top:18px; color:#f5f7e9; font-size:clamp(1rem,2vw,1.4rem); letter-spacing:-.02em; }
.prime-world-bottom { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:end; gap:32px; }
.prime-world-invite { max-width:560px; }
.prime-world-invite p { margin:0 0 21px; color:#e1ece2; font-size:clamp(.94rem,1.6vw,1.18rem); font-weight:650; line-height:1.63; text-shadow:0 2px 8px #10241b; }
.prime-world-actions { display:flex; flex-wrap:wrap; gap:10px; }
.prime-world-actions .btn-cozy { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:49px !important; padding:11px 21px !important; border-radius:10px !important; }
.prime-world-actions .btn-cozy:not(.btn-outline) { background:#b6ee9e !important; color:#102817 !important; }
.prime-world-actions .btn-outline { background:rgba(7,23,18,.62) !important; color:#fff !important; border-color:rgba(255,255,255,.38) !important; }
.home-page .prime-world-server { min-height:0 !important; padding:17px !important; border-radius:15px !important; border-color:rgba(238,255,234,.24) !important; background:rgba(8,24,20,.86) !important; box-shadow:0 20px 42px rgba(0,0,0,.25) !important; -webkit-backdrop-filter:blur(11px); backdrop-filter:blur(11px); }
.prime-world-server::before,.prime-world-server::after { content:none !important; }
.prime-world-server-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:11px; border-bottom:1px solid var(--pw-line); }
.prime-world-server-head small { color:#a9c5b1; font-size:.57rem; font-weight:800; letter-spacing:.15em; }
.prime-world-server .home-server-address { padding:17px 0 10px !important; margin:0 !important; background:none !important; border:0 !important; }
.prime-world-server .home-server-address .ip-text { font-size:1.28rem !important; }
.prime-world-server .home-server-metrics { gap:7px !important; }
.prime-world-server .home-server-metrics > span { padding:9px !important; border-radius:8px !important; }
.prime-world-server #server-note { margin:10px 0 0 !important; font-size:.65rem !important; }
.prime-world-scroll { display:block; width:max-content; margin:23px auto 0; color:#e0eee0; font-size:.6rem; font-weight:850; letter-spacing:.2em; text-decoration:none; }
.prime-world-scroll span { display:inline-block; padding-left:7px; font-size:1rem; }
.prime-world-marquee { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(12px,4vw,42px); margin:25px 0 58px; padding:17px; border-top:1px solid rgba(199,251,196,.12); border-bottom:1px solid rgba(199,251,196,.12); color:#95ba9e; font-size:.66rem; font-weight:900; letter-spacing:.18em; }
.prime-world-marquee i { width:5px; height:5px; border-radius:50%; background:#d7d99b; }
.home-page .home-section { margin-top:70px !important; }
.home-page .home-section-heading { align-items:end; margin-bottom:28px !important; }
.home-page .home-section-heading h2 { max-width:710px; font-size:clamp(2.5rem,5vw,5rem) !important; line-height:1.02 !important; }
.home-page .home-section-heading > p { max-width:350px; color:#b4c9bb !important; font-size:.9rem !important; line-height:1.7; }
.home-page .home-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:15px !important; }
.home-page .home-feature-card { min-height:300px !important; padding:28px !important; border-radius:17px !important; background:linear-gradient(135deg,rgba(22,52,39,.96),rgba(7,29,23,.97)) !important; }
.home-page .feature-story { background:linear-gradient(135deg,#453540,#1d2631) !important; }
.home-page .feature-tarot { background:linear-gradient(135deg,#353045,#1a2330) !important; }
.home-page .feature-gift { background:linear-gradient(135deg,#443a2c,#212d27) !important; }
.home-page .home-feature-card h3 { max-width:390px; font-size:clamp(1.45rem,2.5vw,2.1rem) !important; }
.home-page .home-feature-card p { max-width:390px; color:#bed0c2 !important; font-size:.88rem !important; }
.home-page .home-journey-panel { margin-top:80px !important; min-height:420px; border-radius:22px !important; background:linear-gradient(105deg,rgba(4,18,15,.96),rgba(4,22,18,.80)),url('frog-pond-bg.jpg') center/cover !important; }
.home-page .home-journey-copy h2 { font-size:clamp(2.3rem,4.8vw,4.4rem) !important; line-height:1.04 !important; }
.home-page .home-footer { margin-top:60px; }

/* The same shapes and typography apply to transaction, account, auth and shop views. */
body:not(.home-page) > main.container { width:min(1200px,calc(100% - 32px)) !important; max-width:1200px !important; }
body:not(.home-page) :is(.card,.glass-panel,.panel,.auth-card,.shop-item,.vip-card) { border-radius:17px !important; }
body:not(.home-page) :is(h1,h2,h3) { letter-spacing:-.035em; }
body:not(.home-page) :is(.btn,.btn-cozy,.auth-primary) { border-radius:10px !important; }
body:not(.home-page) :is(input,textarea,select) { border-radius:10px; }
:root[data-theme="light"] .site-header,:root[data-theme="light"] .cozy-nav { background:rgba(248,253,247,.96) !important; border-color:rgba(31,77,48,.17) !important; }
:root[data-theme="light"] .site-header .main-nav > a,:root[data-theme="light"] .home-nav .nav-menu > a.nav-link { color:#234a31 !important; }
:root[data-theme="light"] .prime-world-marquee { color:#547663; border-color:rgba(31,77,48,.16); }

@media (max-width:1050px) {
  .site-header .main-nav { gap:1px; }
  .site-header .main-nav > a { padding:9px !important; }
  .prime-world-bottom { grid-template-columns:minmax(0,1fr) 285px; }
}
@media (max-width:800px) {
  .site-header,.cozy-nav { width:calc(100% - 18px) !important; border-radius:15px !important; }
  .prime-global-toggle { display:flex; flex-direction:column; justify-content:center; gap:4px; width:42px; height:42px; padding:10px; margin-left:auto; border:1px solid var(--pw-line); border-radius:9px; background:rgba(255,255,255,.06); }
  .prime-global-toggle span { display:block; height:2px; width:100%; border-radius:2px; background:#d9f7df; }
  .site-header .main-nav { display:none; position:absolute; top:calc(100% + 9px); left:0; right:0; max-height:calc(100svh - 98px); overflow:auto; padding:10px; border:1px solid var(--pw-line); border-radius:14px; background:#0b2119; box-shadow:0 25px 46px rgba(0,0,0,.36); align-items:stretch; flex-direction:column; }
  .site-header .main-nav.is-open { display:flex; }
  .site-header .main-nav > a { width:100%; padding:13px !important; }
  .site-header .main-nav .prime-tools { display:block; width:100%; }
  .site-header .main-nav .prime-tools-toggle { width:100%; justify-content:flex-start; }
  .site-header .main-nav .prime-tools-menu { position:static; width:100% !important; max-height:0; overflow:hidden; padding:0 !important; border:0 !important; opacity:0; visibility:hidden; transform:none !important; box-shadow:none !important; }
  .site-header .main-nav .prime-tools.is-open .prime-tools-menu { max-height:600px; padding:8px !important; margin-top:6px; border:1px solid var(--pw-line) !important; opacity:1; visibility:visible; }
  .home-page .home-shell { padding-top:87px !important; }
  .home-page .prime-world-hero { min-height:760px !important; }
  .prime-world-bottom { grid-template-columns:1fr; gap:24px; }
  .prime-world-server { max-width:420px; }
  .prime-world-title { margin:45px 0; }
  .home-page .home-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  :root[data-theme="light"] .site-header .main-nav { background:#f5fbf5; }
  :root[data-theme="light"] .prime-global-toggle span { background:#234a31; }
}
@media (max-width:600px) {
  .home-page .home-shell { width:calc(100% - 16px) !important; }
  .home-page .prime-world-hero { min-height:760px !important; padding:25px 20px 20px !important; border-radius:18px !important; background-position:center,57% center !important; }
  .prime-world-intro p { display:none; }
  .prime-world-kicker { font-size:.56rem; }
  .prime-world-title { margin:48px 0 28px; }
  .home-page .prime-world-title h1 { font-size:clamp(5.1rem,22vw,8rem) !important; }
  .prime-world-title strong { font-size:1rem; }
  .prime-world-invite p { font-size:.89rem; }
  .prime-world-server { width:100%; max-width:none; }
  .prime-world-scroll { margin-top:18px; }
  .prime-world-marquee { margin:18px 0 40px; gap:11px; font-size:.54rem; }
  .prime-world-marquee i { width:3px; height:3px; }
  .home-page .home-section { margin-top:45px !important; }
  .home-page .home-section-heading { display:block; }
  .home-page .home-section-heading h2 { font-size:2.7rem !important; }
  .home-page .home-section-heading > p { margin-top:15px; }
  .home-page .home-feature-grid { grid-template-columns:1fr !important; }
  .home-page .home-feature-card { min-height:235px !important; padding:23px !important; }
  .home-page .home-journey-panel { margin-top:50px !important; }
  .prime-world-actions .btn-cozy { flex:1 1 auto; }
}
@media (hover:none),(prefers-reduced-motion:reduce) {
  .home-page .prime-world-server { -webkit-backdrop-filter:none; backdrop-filter:none; }
  .home-page .home-feature-card:hover { transform:none !important; }
}
/* The legacy navigation declares display:flex!important; the mobile drawer owns that state. */
@media (max-width:800px) {
  .site-header .main-nav { display:none !important; overflow:auto !important; flex-wrap:nowrap !important; justify-content:flex-start !important; }
  .site-header .main-nav.is-open { display:flex !important; }
  .site-header .main-nav > a { flex:0 0 auto; }
}
:root[data-theme="light"] .home-page .home-section-heading h2,
:root[data-theme="light"] .home-page .home-section-kicker { color:#19402b !important; }
:root[data-theme="light"] .home-page .home-section-heading > p { color:#446352 !important; }
:root[data-theme="light"] .home-page .home-welcome-strip { background:#eaf3e9 !important; color:#1b3f29 !important; }
