  :root{
    --ink:#0A0D18; --ink2:#0B0F1E;
    --gold:#C9A96A; --gold-bright:#E3C98F;
    --ivory:#F2EDE3; --muted:#9A96A8;
    --jade:#4A8E7D; --cinnabar:#A8453A;
    --line:rgba(201,169,106,.18);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--ink);color:var(--ivory);font-family:'Inter','Noto Sans SC',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1160px;margin:0 auto;padding:0 32px}
  ::selection{background:rgba(201,169,106,.35)}

  /* film grain */
  .grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:80;opacity:.045;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");}

  /* nav */
  nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
    padding:22px 40px;background:linear-gradient(180deg, rgba(10,13,24,.88), rgba(10,13,24,0));backdrop-filter:blur(6px)}
  .wordmark{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:20px;font-weight:600;letter-spacing:.42em;text-indent:.42em;color:var(--ivory)}
  .nav-links{display:flex;gap:36px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .nav-links a{transition:color .3s}
  .nav-links a:hover{color:var(--gold-bright)}
  .nav-right{display:flex;align-items:center;gap:18px}
  .lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .lang button{background:none;border:none;color:var(--muted);font-size:11px;letter-spacing:.08em;padding:7px 13px;cursor:pointer;font-family:inherit;transition:all .3s}
  .lang button.active{color:var(--ink);background:var(--gold)}
  .btn{display:inline-block;padding:12px 26px;border-radius:3px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1);border:1px solid transparent;font-family:inherit}
  .btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#191408;font-weight:600;box-shadow:0 0 24px rgba(201,169,106,.25)}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 34px rgba(201,169,106,.4)}
  .btn-ghost{border-color:rgba(201,169,106,.45);color:var(--gold-bright);background:transparent}
  .btn-ghost:hover{background:rgba(201,169,106,.08);transform:translateY(-2px)}
  .btn-sm{padding:9px 18px;font-size:11px}
  .btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}

  /* coin wallet */
  .wallet-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(201,169,106,.09);border:1px solid rgba(201,169,106,.45);color:var(--gold-bright);font-size:11.5px;letter-spacing:.08em;padding:8px 13px;border-radius:999px;cursor:pointer;transition:all .3s;font-family:inherit}
  .wallet-chip:hover{background:rgba(201,169,106,.18);transform:translateY(-1px)}
  .wallet-chip .wc-ic{color:var(--gold);font-size:12px}
  .pw-card{min-height:520px}
  .pw-bal{margin:22px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
  .pw-bal b{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:500;color:var(--ivory);letter-spacing:0}
  .pw-bal .pw-coin{color:var(--gold);font-size:17px}
  .pw-actions{margin-top:20px}
  .pw-actions .btn{width:100%}
  .pw-need{margin-top:10px;font-size:11px;color:#d78f74;letter-spacing:.08em}
  .pw-div{display:flex;align-items:center;gap:12px;margin:24px 0 14px;color:rgba(154,150,168,.7);font-size:10px;letter-spacing:.22em;text-transform:uppercase}
  .pw-div::before,.pw-div::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(201,169,106,.35))}
  .pw-div::after{background:linear-gradient(90deg,rgba(201,169,106,.35),transparent)}
  .pw-packs-head{margin-bottom:9px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  .pw-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
  .pw-pack{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 6px;border:1px solid rgba(201,169,106,.32);border-radius:6px;background:rgba(201,169,106,.045);color:var(--ivory);font-family:inherit;cursor:pointer;transition:all .3s}
  .pw-pack:hover{border-color:rgba(201,169,106,.65);background:rgba(201,169,106,.1)}
  .pw-pack .pk-pts{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--gold-bright)}
  .pw-pack .pk-price{font-size:10px;letter-spacing:.14em;color:var(--muted)}
  .pw-ad{margin-top:16px;border-top:1px dashed rgba(154,150,168,.18);padding-top:16px}
  .pw-ad-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .pw-ad-count{font-size:10px;letter-spacing:.14em;color:var(--muted)}
  .pw-ad-note{margin-top:8px;font-size:10px;line-height:1.5;color:rgba(154,150,168,.65)}

  /* hero */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:130px 32px 80px;overflow:hidden}
  .hero::before{content:'';position:absolute;inset:0;z-index:0;
    background:radial-gradient(900px 520px at 50% 36%, rgba(201,169,106,.09), transparent 62%),
               radial-gradient(760px 520px at 12% 88%, rgba(74,142,125,.07), transparent 60%),
               radial-gradient(820px 540px at 88% 82%, rgba(30,52,86,.22), transparent 65%);}
  #stars{position:absolute;inset:0;width:100%;height:100%;z-index:0}
  .hero-inner{position:relative;z-index:2;max-width:860px}
  .eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
  .eyebrow.small{margin-bottom:16px}
  .hero h1{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:clamp(38px,6vw,74px);line-height:1.08;letter-spacing:.01em}
  .hero h1 em{font-style:italic;color:var(--gold-bright)}
  .hero .sub{margin:28px auto 0;max-width:560px;font-size:16px;line-height:1.75;color:var(--muted)}
  .cta{margin-top:44px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:56px}
  .chip{border:1px solid rgba(201,169,106,.22);border-radius:999px;padding:8px 15px;font-size:11px;letter-spacing:.14em;color:var(--muted);background:rgba(201,169,106,.05);text-transform:uppercase}

  /* dual ring totem */
  .ring-wrap{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(86vh,780px);aspect-ratio:1;z-index:1;opacity:.85}
  .ring-wrap svg{width:100%;height:100%;overflow:visible}
  #ringOuter{transform-box:view-box;transform-origin:50% 50%;animation:spin 160s linear infinite}
  #ringInner{transform-box:view-box;transform-origin:50% 50%;animation:spin 220s linear infinite reverse}
  @keyframes spin{to{transform:rotate(360deg)}}

  /* sections */
  section.block{padding:130px 0;position:relative}
  .section-head{max-width:720px}
  .section-head.center{margin:0 auto;text-align:center}
  .section-head h2{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.15}
  .section-head p{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.75}
  .divider{display:flex;align-items:center;gap:14px;justify-content:center;padding:0 32px}
  .divider i{height:1px;flex:1;max-width:420px;background:linear-gradient(90deg,transparent,rgba(201,169,106,.5))}
  .divider i:last-child{background:linear-gradient(90deg,rgba(201,169,106,.5),transparent)}
  .divider span{color:var(--gold);font-size:10px}

  /* six arts grid */
  .arts-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;margin-top:64px}
  .art{position:relative;border:1px solid var(--line);border-radius:6px;padding:36px 32px;overflow:hidden;
    background:linear-gradient(180deg, rgba(201,169,106,.045), rgba(10,13,24,0) 48%);
    transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .35s, box-shadow .35s}
  .art:hover{transform:translateY(-4px);border-color:rgba(201,169,106,.5);box-shadow:0 18px 50px rgba(0,0,0,.35)}
  .art.big{grid-column:span 6;min-height:280px}
  .art.small{grid-column:span 3;min-height:240px;display:flex;flex-direction:column}
  .art .glyph{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:44px;line-height:1;color:var(--gold);opacity:.92}
  .art .idx{position:absolute;top:28px;right:30px;font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.12em;color:rgba(242,237,227,.28)}
  .art .name{margin-top:20px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:23px;font-weight:500;color:var(--ivory)}
  .art .blurb{margin-top:10px;font-size:13.5px;line-height:1.7;color:var(--muted);max-width:420px}
  .art .from{margin-top:auto;padding-top:20px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(201,169,106,.85)}
  a.art{display:block}
  a.art.small{display:flex}
  .glyph.z{font-family:Georgia,'Times New Roman',serif}

  /* dual lens */
  .lens-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center;margin-top:24px}
  .lens-copy h2{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:clamp(30px,3.6vw,42px);line-height:1.15;margin-top:16px}
  .lens-copy > p{margin-top:20px;color:var(--muted);font-size:15px;line-height:1.8}
  .lens-card{position:relative;border:1px solid rgba(201,169,106,.35);border-radius:8px;padding:30px;
    background:linear-gradient(180deg, rgba(201,169,106,.07), rgba(10,13,24,.55));box-shadow:0 34px 90px rgba(0,0,0,.5)}
  .panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .panel{border:1px solid var(--line);border-radius:6px;padding:20px 20px 16px;background:rgba(255,255,255,.02)}
  .panel h3{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-bottom:12px;border-bottom:1px solid rgba(201,169,106,.16);font-weight:500}
  .panel ul{list-style:none;margin-top:14px}
  .panel li{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted);padding:7px 0;border-bottom:1px dashed rgba(154,150,168,.14)}
  .panel li:last-child{border-bottom:none}
  .panel li b{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:14.5px;color:var(--ivory);text-align:right}
  .note{margin-top:16px;font-size:12.5px;line-height:1.75;color:var(--muted);border-left:2px solid rgba(201,169,106,.55);padding-left:14px}
  .note .tag{display:block;color:var(--gold);letter-spacing:.18em;font-size:9.5px;text-transform:uppercase;margin-bottom:5px}
  .quote{margin-top:22px;text-align:center;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-style:italic;font-size:19px;color:var(--ivory);line-height:1.5}
  .lens-cta{display:block;text-align:center;margin-top:20px;color:var(--gold-bright);font-size:12px;letter-spacing:.18em;text-transform:uppercase;transition:letter-spacing .35s}
  .lens-cta:hover{letter-spacing:.26em}

  /* how it works */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:64px}
  .step .num{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:500;color:rgba(201,169,106,.5);display:block;line-height:1}
  .step h3{margin-top:16px;font-size:18px;font-weight:500;color:var(--ivory);font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:22px}
  .step p{margin-top:10px;font-size:13.5px;line-height:1.75;color:var(--muted)}

  /* footer */
  footer{border-top:1px solid rgba(201,169,106,.14);padding:70px 0 44px;background:linear-gradient(180deg, transparent, rgba(201,169,106,.03))}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
  .foot-brand .wordmark{font-size:17px}
  .foot-tag{margin-top:18px;font-size:12.5px;line-height:1.7;color:var(--muted);max-width:300px}
  .foot-col h4{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500}
  .foot-col a{display:block;font-size:13px;color:var(--muted);padding:5px 0;transition:color .3s}
  .foot-col a:hover{color:var(--gold-bright)}
  .foot-bottom{margin-top:56px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.16em;color:rgba(154,150,168,.65);text-transform:uppercase}

  /* zh typography */
  html.zh body{font-family:'Noto Sans SC','Inter',sans-serif}
  html.zh .hero h1, html.zh .section-head h2, html.zh .lens-copy h2, html.zh .art .name, html.zh .quote, html.zh .step h3{font-family:'Noto Serif SC','Cormorant Garamond',serif}
  html.zh .wordmark{letter-spacing:.3em;text-indent:.3em}
  html.zh .eyebrow{letter-spacing:.3em}

  @media (max-width:960px){
    .nav-links{display:none}
    .art.big{grid-column:span 12}
    .art.small{grid-column:span 6}
    .lens-grid{grid-template-columns:1fr;gap:48px}
    .steps{grid-template-columns:1fr;gap:40px}
    .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
  }
  @media (max-width:600px){
    nav{padding:18px 20px}
    .nav-right .btn{display:none}
    .wrap{padding:0 22px}
    section.block{padding:90px 0}
    .art.small{grid-column:span 12}
    .panels{grid-template-columns:1fr}
    .foot-bottom{flex-direction:column;gap:10px;text-align:center}
    .ring-wrap{width:130vw;top:38%}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
  }

  /* ============ flow pages ============ */
  .flow-head{position:relative;padding:168px 32px 46px;text-align:center;overflow:hidden}
  .flow-head::before{content:'';position:absolute;inset:0;background:radial-gradient(720px 420px at 50% 20%, rgba(201,169,106,.08), transparent 62%)}
  .flow-head h1{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:clamp(32px,4.6vw,54px);line-height:1.12;position:relative}
  .flow-head .sub{margin:18px auto 0;max-width:620px;color:var(--muted);font-size:15px;line-height:1.75;position:relative}
  html.zh .flow-head h1{font-family:'Noto Serif SC','Cormorant Garamond',serif}

  .flow-body{padding:26px 0 40px}
  .fform{max-width:620px;margin:0 auto;display:grid;gap:16px;padding:0 32px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field label{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
  .field input,.field select{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:4px;color:var(--ivory);padding:12px 14px;font-family:inherit;font-size:14px;outline:none;transition:border-color .3s;color-scheme:dark}
  .field input:focus,.field select:focus{border-color:rgba(201,169,106,.55)}
  .field textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:4px;color:var(--ivory);padding:12px 14px;font-family:inherit;font-size:14px;outline:none;transition:border-color .3s;color-scheme:dark;min-height:150px;resize:vertical}
  .field textarea:focus{border-color:rgba(201,169,106,.55)}
  .flow-cta{display:flex;justify-content:center;margin-top:34px}

  .choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:620px;margin:0 auto;padding:0 32px}
  .choice{border:1px solid var(--line);border-radius:6px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .3s;background:rgba(255,255,255,.02)}
  .choice:hover{border-color:rgba(201,169,106,.45)}
  .choice.sel{border-color:var(--gold);background:rgba(201,169,106,.09)}
  .choice .cg{font-size:22px;color:var(--gold);display:block}
  .choice .cl{margin-top:8px;font-size:12px;color:var(--muted);letter-spacing:.06em}

  /* ritual overlay */
  .ritual{position:fixed;inset:0;z-index:95;background:rgba(7,9,16,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .5s}
  .ritual.on{opacity:1;pointer-events:auto}
  .r-ring{width:170px;height:170px;border:1px solid rgba(201,169,106,.45);border-radius:50%;position:relative;animation:spin 2.6s linear infinite}
  .r-ring::before{content:'';position:absolute;top:-4px;left:50%;margin-left:-4px;width:8px;height:8px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 18px rgba(227,201,143,.9)}
  .r-ring::after{content:'';position:absolute;inset:26px;border:1px dashed rgba(201,169,106,.3);border-radius:50%}
  .r-text{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-style:italic;font-size:16px;letter-spacing:.14em;color:var(--muted);min-height:24px;text-align:center;padding:0 20px}

  /* report */
  .report{max-width:900px;margin:0 auto;padding:30px 32px 130px}
  .r-meta{text-align:center;color:var(--muted);font-size:12.5px;letter-spacing:.14em}
  .r-sec{margin-top:64px}
  .r-sec h3{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500}
  .r-sec h3 .no{color:rgba(201,169,106,.5);margin-right:10px}
  .r-sec p{margin-top:16px;line-height:1.9;color:var(--muted);font-size:15px}
  .r-sec p b{color:var(--ivory);font-weight:500}
  .r-sec .quote{font-size:20px}

  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
  .pillar{border:1px solid var(--line);border-radius:6px;padding:18px 8px;text-align:center;background:rgba(255,255,255,.02)}
  .pillar .t{font-size:9.5px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}
  .pillar .gz{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:26px;line-height:1.35;color:var(--ivory);margin-top:10px}
  .pillar .gz span{display:block}
  .pillar .el{margin-top:10px;font-size:10.5px;letter-spacing:.14em}

  .elems-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}
  .eb .bar{height:74px;border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden;background:rgba(255,255,255,.02)}
  .eb .fill{position:absolute;bottom:0;left:0;right:0;transition:height 1.2s cubic-bezier(.16,1,.3,1)}
  .eb .lb{margin-top:9px;font-size:12px;color:var(--muted);text-align:center;letter-spacing:.1em}
  .eb .ct{position:absolute;top:6px;left:0;right:0;text-align:center;font-size:11px;color:var(--ivory);opacity:.85}

  /* astrology big three + wheel */
  .big3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
  .b3{border:1px solid var(--line);border-radius:6px;padding:24px 16px;text-align:center;background:rgba(255,255,255,.02);position:relative}
  .b3 .t{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
  .b3 .gl{font-family:Georgia,'Times New Roman',serif;font-size:40px;color:var(--gold-bright);margin-top:14px;line-height:1}
  .b3 .sn{margin-top:12px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:22px;color:var(--ivory)}
  .b3 .deg{margin-top:6px;font-size:11px;letter-spacing:.12em;color:var(--muted)}
  .b3 .lb{margin-top:12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-top:1px dashed rgba(201,169,106,.18);padding-top:10px}
  .b3 p{margin-top:8px;font-size:12.5px;line-height:1.65;color:var(--muted)}

  .astro-wrap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:36px;align-items:center;margin-top:30px}
  .wheel{position:relative;width:100%;max-width:380px;aspect-ratio:1;margin:0 auto;border-radius:50%;border:1px solid rgba(201,169,106,.35);
    background:
      conic-gradient(from -90deg,
        rgba(201,169,106,.13) 0deg 30deg, rgba(74,142,125,.10) 30deg 60deg,
        rgba(95,143,209,.10) 60deg 90deg, rgba(201,169,106,.06) 90deg 120deg,
        rgba(74,142,125,.13) 120deg 150deg, rgba(201,169,106,.10) 150deg 180deg,
        rgba(95,143,209,.13) 180deg 210deg, rgba(201,169,106,.06) 210deg 240deg,
        rgba(74,142,125,.10) 240deg 270deg, rgba(201,169,106,.13) 270deg 300deg,
        rgba(95,143,209,.10) 300deg 330deg, rgba(74,142,125,.06) 330deg 360deg)}
  .wheel::before{content:'';position:absolute;inset:24%;border:1px solid rgba(201,169,106,.28);border-radius:50%}
  .wheel::after{content:'';position:absolute;inset:44%;border:1px solid rgba(242,237,227,.18);border-radius:50%}
  .wheel .tick{position:absolute;left:50%;top:50%;width:0;height:0;color:rgba(242,237,227,.55);font-family:Georgia,serif;font-size:15px;transform:translate(-50%,-50%)}
  .wheel .tick.on{color:var(--gold-bright);font-size:20px;text-shadow:0 0 14px rgba(227,201,143,.8)}
  .wheel .hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(10,13,24,.92);border:1px solid rgba(201,169,106,.5);font-family:'Cormorant Garamond',serif;font-size:16px;letter-spacing:.12em;color:var(--gold-bright)}
  .wheel .hub small{display:block;font-size:9px;letter-spacing:.2em;color:var(--muted)}
  .astro-side{display:grid;gap:12px}
  .line{border-left:2px solid rgba(201,169,106,.45);padding:2px 0 2px 16px}
  .line b{color:var(--ivory);font-weight:500;font-size:13.5px}
  .line p{margin-top:5px;color:var(--muted);font-size:12.5px;line-height:1.7}
  .wheel .pl{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-family:Georgia,'Times New Roman',serif;font-size:17px;color:var(--gold-bright);background:rgba(10,13,24,.9);border:1px solid rgba(201,169,106,.35);border-radius:50%;z-index:2;cursor:default}
  .wheel .pl.ac{color:var(--cinnabar);border-color:rgba(168,69,58,.55)}
  .wheel .pl.mc{color:var(--ivory)}

  /* astrology planet + house grids */
  .planet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-top:28px}
  .planet-card{position:relative;border:1px solid var(--line);border-radius:8px;padding:22px 20px;background:rgba(255,255,255,.02);transition:border-color .3s,transform .3s}
  .planet-card:hover{border-color:rgba(201,169,106,.5);transform:translateY(-2px)}
  .planet-card .pk{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1;color:var(--gold-bright)}
  .planet-card .pn{margin-top:14px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:21px;color:var(--ivory);font-weight:500}
  .planet-card .ps{margin-top:6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
  .planet-card .pd{margin-top:5px;font-size:11.5px;color:var(--muted)}
  .planet-card .pr{display:inline-block;margin-top:12px;padding:5px 10px;border:1px solid rgba(74,142,125,.45);border-radius:999px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--jade)}
  .planet-card .pr.r{border-color:rgba(168,69,58,.5);color:var(--cinnabar)}
  .planet-card .rl{margin-top:10px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,169,106,.8)}
  .planet-card p{margin-top:12px !important;font-size:12.5px !important;line-height:1.7 !important}
  .house-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-top:28px}
  .house-card{position:relative;border:1px solid var(--line);border-left:2px solid rgba(201,169,106,.5);border-radius:6px;padding:20px 18px;background:rgba(255,255,255,.02)}
  .house-card .hn{position:absolute;top:16px;right:18px;font-family:'Cormorant Garamond',serif;font-size:26px;color:rgba(201,169,106,.45);line-height:1}
  .house-card .hs{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .house-card .ht{margin-top:12px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:19px;color:var(--ivory);padding-right:34px}
  .house-card p{margin-top:10px;font-size:12px;line-height:1.65;color:var(--muted)}
  .house-card .ho{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(154,150,168,.16);font-size:11px;color:var(--gold-bright)}
  .house-card.occ{border-left-color:var(--cinnabar);background:linear-gradient(180deg, rgba(168,69,58,.06), rgba(10,13,24,.35))}

  /* five elements pentagon */
  .penta-wrap{max-width:540px;margin:30px auto}
  .penta{width:100%;aspect-ratio:1;display:block}
  .penta .ax{stroke:rgba(201,169,106,.16);stroke-width:1}
  .penta .grid{fill:none;stroke:rgba(201,169,106,.07)}
  .penta .shape{fill:rgba(201,169,106,.16);stroke:var(--gold-bright);stroke-width:2;stroke-linejoin:round}
  .penta .dot{fill:var(--gold-bright)}
  .penta .lbl{fill:var(--muted);font-size:14px;font-family:'Inter','Noto Sans SC',sans-serif}
  .penta .lbl.on{fill:var(--gold-bright);font-size:16px;font-weight:600}
  .penta .val{fill:var(--ivory);font-size:11px;font-family:'Inter','Noto Sans SC',sans-serif}
  .penta-wrap .cap{text-align:center;margin-top:10px;font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}

  /* dual lens page */
  .dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
  .dual-panel{border:1px solid var(--line);border-radius:8px;padding:22px;background:rgba(255,255,255,.02)}
  .dual-panel .pt{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
  .dual-panel .ps{margin-top:6px;font-size:12.5px;color:var(--muted)}
  .dual-panel .pillars{margin-top:18px}
  .dual-panel .big3{margin-top:18px}
  .verdict{border:1px solid rgba(201,169,106,.5);border-radius:8px;margin-top:18px;padding:20px;text-align:center;background:linear-gradient(180deg, rgba(201,169,106,.1), rgba(10,13,24,.4))}
  .verdict .vt{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
  .verdict .vs{margin-top:8px;font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold-bright)}
  .verdict p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.7;max-width:520px;margin-left:auto;margin-right:auto}
  .agree-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-bottom:1px dashed rgba(154,150,168,.14);padding:11px 0}
  .agree-row:last-child{border-bottom:none}
  .agree-row b{font-weight:500;color:var(--ivory);font-size:13px}
  .agree-row .st{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}

  /* static content pages */
  .plain{max-width:760px;margin:0 auto;padding:0 32px}
  .plain h2{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:clamp(24px,3vw,32px);margin-top:46px}
  .plain p{margin-top:14px;color:var(--muted);font-size:14.5px;line-height:1.9}
  .plain h2 + p{margin-top:8px}
  .plain ul{list-style:none;margin-top:12px}
  .plain ul li{padding:7px 0 7px 20px;color:var(--muted);font-size:14px;line-height:1.75;position:relative}
  .plain ul li::before{content:'✦';position:absolute;left:0;top:9px;font-size:9px;color:var(--gold)}
  .gloss{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
  .gloss .g{border:1px solid var(--line);border-radius:6px;padding:18px;background:rgba(255,255,255,.02);transition:border-color .3s}
  .gloss a.g{display:block}
  .gloss .g:hover{border-color:rgba(201,169,106,.45)}
  .gloss .gt{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .gloss .gn{margin-top:10px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:19px;color:var(--ivory)}
  .gloss p{margin-top:8px;font-size:12.5px;line-height:1.7;color:var(--muted)}
  .gloss .g-in{display:inline-block;margin-top:14px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
  .acc{max-width:760px;margin:34px auto 0;padding:0 32px}
  .acc details{border-bottom:1px solid rgba(201,169,106,.16)}
  .acc summary{cursor:pointer;list-style:none;padding:20px 4px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:19px;color:var(--ivory)}
  .acc summary::-webkit-details-marker{display:none}
  .acc summary::after{content:'+';color:var(--gold);font-size:18px;font-family:Inter,sans-serif;transition:transform .3s}
  .acc details[open] summary::after{transform:rotate(45deg)}
  .acc details p{padding:0 4px 22px;color:var(--muted);font-size:14px;line-height:1.85}
  .contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .contact-row .ci{border:1px solid var(--line);border-radius:6px;padding:18px;background:rgba(255,255,255,.02)}
  .contact-row .cl{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  .contact-row .cv{margin-top:10px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:18px;color:var(--ivory)}
  .fine{font-size:10.5px;letter-spacing:.1em;color:rgba(154,150,168,.65);margin-top:16px;text-align:center}

  /* tarot cards */
  .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px auto 0;max-width:640px}
  .slot-lb{text-align:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:12px}
  .tcard{aspect-ratio:5/8;perspective:1200px;cursor:pointer}
  .tcard .in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.16,1,.3,1)}
  .tcard.flip .in{transform:rotateY(180deg)}
  .tface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(201,169,106,.4);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center}
  .tback{background:radial-gradient(circle at 50% 42%, rgba(201,169,106,.16), rgba(10,13,24,.9) 68%)}
  .tback .st{font-size:30px;color:var(--gold)}
  .tfront{transform:rotateY(180deg);background:linear-gradient(180deg, rgba(201,169,106,.1), rgba(10,13,24,.7))}
  .tfront .num{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.2em;color:var(--gold)}
  .tfront .nm{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:19px;color:var(--ivory)}
  .tfront .gl{font-size:30px;color:var(--gold-bright)}
  .tcard.rev .tfront .gl{transform:rotate(180deg)}
  .tfront .rv{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cinnabar)}
  .spread-note{margin-top:22px;text-align:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.85}
  .tarot-card-detail{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;margin-top:26px;padding:22px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02)}
  .tarot-card-detail.rev{border-color:rgba(168,69,58,.4);background:linear-gradient(180deg, rgba(168,69,58,.05), rgba(10,13,24,.35))}
  .tcd-glyph{width:70px;height:104px;display:flex;align-items:center;justify-content:center;font-family:Georgia,'Times New Roman',serif;font-size:38px;color:var(--gold-bright);border:1px solid rgba(201,169,106,.45);border-radius:6px;background:radial-gradient(circle at 50% 38%, rgba(201,169,106,.14), rgba(10,13,24,.85))}
  .tarot-card-detail.rev .tcd-glyph{color:var(--cinnabar);border-color:rgba(168,69,58,.55);transform:rotate(180deg)}
  .tcd-main{min-width:0}
  .tcd-name{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:23px;color:var(--ivory);font-weight:500}
  .tcd-meta{margin-top:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .tcd-main .kws{margin-top:12px}
  .kws{display:flex;flex-wrap:wrap}

  /* hexagram lines */
  .hexa{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px}
  .hexa .yao{width:150px;height:12px;position:relative}
  .yao .seg{position:absolute;top:0;bottom:0;background:var(--gold)}
  .yao.yang .seg{left:0;right:0}
  .yao.yin .seg{width:42%}
  .yao.yin .seg.l{left:0}.yao.yin .seg.r{right:0}
  .hexa .moving .seg{background:var(--cinnabar)}
  .hexa-name{margin-top:18px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:30px;color:var(--ivory)}
  .hexa-name.sub{margin-top:8px;font-size:17px;color:var(--gold-bright);font-style:italic}
  .q-echo{max-width:640px;margin:22px auto 0;text-align:center;border:1px solid var(--line);border-radius:8px;padding:18px 24px;background:rgba(255,255,255,.02)}
  .q-echo span{display:block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
  .q-echo b{margin-top:10px;display:block;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:19px;font-weight:500;color:var(--ivory);line-height:1.5}

  /* veil + paywall */
  .veil{position:relative;margin-top:70px}
  .veil .blur{filter:blur(10px);opacity:.5;pointer-events:none;user-select:none}
  .veil .lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}
  .veil .lock .ic{width:46px;height:46px;border:1px solid rgba(201,169,106,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold-bright);font-size:17px}
  .veil .lock p{color:var(--muted);font-size:13.5px;max-width:380px;line-height:1.7}

  .pw{position:fixed;inset:0;z-index:110;background:rgba(5,7,13,.82);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:22px}
  .pw.on{display:flex}
  .pw-card{width:min(440px,100%);border:1px solid rgba(201,169,106,.4);border-radius:10px;background:linear-gradient(180deg,#11162a,#0A0D18);padding:38px 34px;text-align:center;box-shadow:0 46px 130px rgba(0,0,0,.65);position:relative}
  .pw-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer}
  .pw-eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
  .pw-title{margin-top:14px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:27px;color:var(--ivory);line-height:1.25}
  .pw-price{margin-top:18px;font-family:'Cormorant Garamond',serif;font-size:46px;color:var(--gold-bright)}
  .pw-price small{font-size:13px;color:var(--muted);letter-spacing:.12em}
  .pw-body{margin-top:12px;color:var(--muted);font-size:13.5px;line-height:1.7}
  .pw-card .btn{margin-top:24px;width:100%}
  .pw-note{margin-top:14px;font-size:10.5px;letter-spacing:.08em;color:rgba(154,150,168,.7)}
  .pw-spin{display:none;margin:26px auto;width:34px;height:34px;border:2px solid rgba(201,169,106,.25);border-top-color:var(--gold-bright);border-radius:50%;animation:spin 0.9s linear infinite}
  .pw-check{display:none;font-size:34px;color:var(--jade)}

  /* pricing tiers */
  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:64px}
  .tier{border:1px solid var(--line);border-radius:8px;padding:36px 30px;display:flex;flex-direction:column;background:rgba(255,255,255,.015);position:relative}
  .tier.hot{border-color:rgba(201,169,106,.55);background:linear-gradient(180deg, rgba(201,169,106,.09), rgba(10,13,24,.3));box-shadow:0 24px 70px rgba(0,0,0,.4)}
  .tier .flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#191408;font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:5px 12px;border-radius:999px;font-weight:600}
  .tier .tn{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
  .tier .p{margin-top:16px;font-family:'Cormorant Garamond',serif;font-size:42px;color:var(--ivory)}
  .tier .p small{font-size:12px;color:var(--muted);letter-spacing:.1em}
  .tier ul{list-style:none;margin-top:22px;flex:1}
  .tier li{padding:8px 0;font-size:13px;color:var(--muted);border-bottom:1px dashed rgba(154,150,168,.12)}
  .tier li::before{content:'·';color:var(--gold);margin-right:10px}
  .tier .btn{margin-top:26px;width:100%;text-align:center}

  .toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,16px);background:#131a2d;border:1px solid rgba(201,169,106,.45);color:var(--ivory);padding:12px 24px;border-radius:999px;font-size:12.5px;letter-spacing:.06em;opacity:0;pointer-events:none;transition:all .45s cubic-bezier(.16,1,.3,1);z-index:130}
  .toast.on{opacity:1;transform:translate(-50%,0)}

  [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
  [data-reveal].on{opacity:1;transform:none}

  @media (max-width:860px){
    .frow{grid-template-columns:1fr}
    .choices{grid-template-columns:1fr 1fr}
    .pillars{grid-template-columns:repeat(2,1fr)}
    .tiers{grid-template-columns:1fr;max-width:430px;margin-left:auto;margin-right:auto}
    .slots{max-width:440px}
    .big3{grid-template-columns:1fr}
    .astro-wrap{grid-template-columns:1fr}
    .dual-grid{grid-template-columns:1fr}
    .gloss{grid-template-columns:1fr}
    .contact-row{grid-template-columns:1fr}
  }

  /* ============ report components ============ */
  .report-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;padding:16px 0 22px;border-bottom:1px solid var(--line);margin-bottom:34px}
  .data-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:12.5px}
  .data-table th{color:var(--gold);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:10px;padding:10px 12px;text-align:left;border-bottom:1px solid rgba(201,169,106,.3)}
  .data-table td{padding:11px 12px;border-bottom:1px solid rgba(154,150,168,.14);color:var(--muted);vertical-align:top;line-height:1.55}
  .data-table td b{color:var(--ivory);font-weight:500}
  .data-table .zh-cell{font-family:'Noto Serif SC','Cormorant Garamond',serif;color:var(--ivory)}
  .term-chip{display:inline-block;border:1px solid rgba(201,169,106,.4);border-radius:999px;padding:4px 11px;font-size:10.5px;letter-spacing:.08em;color:var(--gold-bright);margin:4px 6px 4px 0;background:rgba(201,169,106,.06)}
  .stat-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed rgba(154,150,168,.16);font-size:13.5px;color:var(--muted)}
  .stat-row b{color:var(--ivory);font-weight:500;text-align:right}
  .stat-row .k{letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;color:var(--gold)}

  .luck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-top:28px}
  .luck-card{border:1px solid var(--line);border-radius:6px;padding:16px 12px;background:rgba(255,255,255,.02)}
  .luck-card .rg{font-size:9.5px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
  .luck-card .gz{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:25px;color:var(--ivory);margin-top:10px}
  .luck-card .tg{margin-top:8px;font-size:11px;color:var(--gold)}
  .luck-card .ny{margin-top:5px;font-size:11px;color:var(--muted)}
  .luck-card .yr{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(154,150,168,.14);font-size:11px;color:var(--muted)}
  .annual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin-top:28px}
  .annual-card{border:1px solid var(--line);border-radius:6px;padding:13px 10px;text-align:center;background:rgba(255,255,255,.02)}
  .annual-card .yr{font-size:10px;letter-spacing:.14em;color:var(--muted)}
  .annual-card .gz{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:20px;color:var(--ivory);margin-top:8px}
  .annual-card .tg{font-size:10.5px;color:var(--gold);margin-top:6px}
  .annual-card.now{border-color:rgba(201,169,106,.6);background:rgba(201,169,106,.08)}

  .five-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:28px}
  .five-cell{border:1px solid var(--line);border-radius:6px;padding:16px 12px;text-align:center;background:rgba(255,255,255,.02)}
  .five-cell .fk{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .five-cell .fn{margin-top:10px;font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--ivory)}
  .five-cell .fs{margin-top:4px;font-size:12px;color:var(--muted)}
  .five-cell .fm{margin-top:8px;font-size:11px;color:var(--gold-bright)}

  .aspect-card{border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:6px;padding:14px 16px;margin-top:12px;background:rgba(255,255,255,.02)}
  .aspect-card .ah{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
  .aspect-card .ah b{color:var(--ivory);font-weight:500;font-size:13.5px}
  .aspect-card .ah span{font-size:10px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}
  .aspect-card p{margin-top:6px !important;font-size:12.5px !important}
  .aspect-card .orb{font-size:10px;color:var(--muted);margin-top:4px}

  .el-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:28px}
  .el-meta{border:1px solid var(--line);border-radius:6px;padding:18px 16px;background:rgba(255,255,255,.02);position:relative}
  .el-meta.dom{border-color:rgba(201,169,106,.55);background:rgba(201,169,106,.06)}
  .el-meta .e-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .el-meta .e-name{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:23px;color:var(--ivory)}
  .el-meta .e-key{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
  .el-meta .e-sec{margin-top:9px;font-size:12px;color:var(--muted)}
  .el-meta p{margin-top:9px;font-size:12.5px;line-height:1.7;color:var(--muted)}
  .el-meta .e-prof{margin-top:10px;padding-top:9px;border-top:1px dashed rgba(154,150,168,.16);font-size:11.5px;color:var(--gold-bright)}

  .hexa-pair{display:flex;gap:34px;align-items:flex-start;justify-content:center;flex-wrap:wrap;margin-top:30px}
  .hexa-pair .arrow{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold);padding-top:90px}

  /* AI deep-reading panel */
  .ai-panel{margin:34px 0 10px;border:1px solid rgba(201,169,106,.4);border-radius:8px;padding:24px;background:linear-gradient(180deg, rgba(201,169,106,.07), rgba(10,13,24,.45))}
  .ai-head .ai-eyebrow{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
  .ai-head p{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.75}
  .ai-body{margin-top:18px}
  .ai-body p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.85}
  .ai-note{margin-top:14px;font-size:11px;color:rgba(154,150,168,.8);border-left:2px solid var(--gold);padding-left:12px}
  .ai-ctrl{margin-top:20px;padding-top:18px;border-top:1px dashed rgba(154,150,168,.18)}
  .ai-ctrl label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .ai-keyline{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
  .ai-keyline input{flex:1;min-width:220px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:4px;color:var(--ivory);padding:10px 12px;font-family:inherit;font-size:13px;outline:none}
  .ai-keyline input:focus{border-color:rgba(201,169,106,.55)}
  .ai-keyline span{font-size:11px;color:var(--muted)}
  .ai-btns{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
  .ai-fine{margin-top:14px;font-size:10.5px;color:rgba(154,150,168,.7)}
  .ai-loading{color:var(--gold-bright);font-size:13px;letter-spacing:.08em}

  /* library saved readings */
  .saved-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid rgba(201,169,106,.3);padding-bottom:16px;margin-top:46px}
  .saved-head h2{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-weight:500;font-size:26px;color:var(--ivory)}
  .saved-count{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold)}
  .saved-empty{margin-top:22px;padding:34px 20px;text-align:center;border:1px dashed rgba(154,150,168,.28);border-radius:8px;color:var(--muted);font-size:13.5px;line-height:1.75}
  .saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:22px}
  .saved-card{border:1px solid var(--line);border-radius:6px;padding:20px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;transition:border-color .3s}
  .saved-card:hover{border-color:rgba(201,169,106,.45)}
  .saved-type{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .saved-name{margin-top:10px;font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:20px;color:var(--ivory)}
  .saved-meta{margin-top:8px;font-size:12px;line-height:1.6;color:var(--muted);flex:1}
  .saved-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
  .saved-foot > span{font-size:10.5px;color:rgba(154,150,168,.7)}
  .saved-btns{display:flex;gap:8px}

  /* library modal */
  .lib-modal{position:fixed;inset:0;z-index:120;background:rgba(5,7,13,.9);backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 40px;overflow:auto}
  .lib-modal-card{width:min(860px,100%);border:1px solid rgba(201,169,106,.4);border-radius:8px;background:linear-gradient(180deg,#10152a,#0A0D18);padding:34px 34px 40px;box-shadow:0 46px 130px rgba(0,0,0,.65);position:relative}
  .lib-x{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--muted);font-size:17px;cursor:pointer}
  .lib-modal-title{font-family:'Cormorant Garamond','Noto Serif SC',serif;font-size:27px;color:var(--ivory);padding-right:30px}
  .lib-modal-meta{margin-top:8px;font-size:11.5px;color:var(--gold);letter-spacing:.08em}
  .lib-modal-body{margin-top:18px;max-height:60vh;overflow:auto;padding-right:6px}
  .lib-modal-body .r-sec:first-child{margin-top:0}
  .lib-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
  body.modal-open{overflow:hidden}

  /* small utility */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
  .meta-strip{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
  .meta-strip .term-chip{font-size:11px}
  .lunar-line{margin-top:18px;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.02);color:var(--muted);font-size:13px;line-height:1.7;text-align:center}

  @media (max-width:700px){
    .grid-2{grid-template-columns:1fr}
    .report{padding-left:18px;padding-right:18px}
    .data-table{display:block;overflow-x:auto;white-space:nowrap}
    .lib-modal-card{padding:26px 18px}
    .ai-keyline span{flex-basis:100%}
    .tarot-card-detail{grid-template-columns:1fr;justify-items:center;text-align:center}
    .tcd-main .kws{justify-content:center}
    .house-card .hn{position:static;margin-top:10px;text-align:right}
  }

  @media print{
    nav,footer,.grain,.ritual,.pw,.toast,.report-actions,.ai-panel{display:none!important}
    body{background:#fff;color:#111}
    .flow-head{padding-top:30px}
    .report{padding:10px}
    .r-sec p,.data-table td,.line p{color:#444}
    .r-sec h3,.data-table th,.b3 .lb,.tier .tn{color:#8a6d2f}
    .b3 .sn,.pillar .gz,.r-sec p b{color:#111}
    .pillar,.b3,.data-table td,.luck-card,.annual-card,.five-cell,.el-meta,.aspect-card,.saved-card,.planet-card,.house-card,.tarot-card-detail{border-color:#cbb98a}
    [data-reveal]{opacity:1;transform:none}
    .veil{display:none}
  }
