/* Ming Shu styles — extracted from v1.2.4 ornate UI */

:root{
  --gold:#d4b068;--gold-dim:#9a7a3a;--gold-soft:#e8c98a;
  --rose:#d4a090;--rose-dim:#8a5e50;
  --bg:#0a0a0a;--bg2:#0f0f0f;--bg3:#141414;--bg4:#1a1a1a;
  --border:#1e1e1e;--b2:#2a2a2a;--b3:#3a3a3a;
  --text:#eadcb8;--dim:#a09070;--muted:#6b5a3a;--faint:#4a3d28;
  --green:#7abc7a;--gbg:#0a1a0a;--gborder:#2a4a2a;
  --red:#bc7a7a;--rbg:#1a0a0a;--rborder:#4a2a2a;
  --sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Inter,sans-serif;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{height:100%;}
body{background:#050505;min-height:100%;display:flex;align-items:flex-start;justify-content:center;font-family:var(--serif);color:var(--text);overflow-x:hidden;}
.app{background:var(--bg);width:100%;max-width:480px;min-height:100svh;overflow:hidden;position:relative;}
@media(min-width:520px){
  body{padding:24px 16px;align-items:center;}
  .app{min-height:auto;border-radius:24px;border:1px solid var(--b2);box-shadow:0 40px 100px rgba(0,0,0,.85);}
}

/* ────── ONBOARDING ────── */
.onboarding{position:fixed;inset:0;background:#050505;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;}
.onboarding.hidden{display:none;}
.ob-slide{max-width:360px;text-align:center;animation:fadeUp .6s ease;}
.ob-icon{font-size:64px;color:var(--gold);margin-bottom:1.5rem;animation:glow 3s ease-in-out infinite;}
.ob-title{font-size:28px;color:var(--gold-soft);letter-spacing:1px;margin-bottom:1rem;font-family:var(--serif);font-weight:500;}
.ob-sub{font-size:14px;color:var(--dim);line-height:1.8;font-family:var(--sans);margin-bottom:2rem;}
.ob-dots{display:flex;gap:8px;justify-content:center;margin:2rem 0;}
.ob-dot{width:6px;height:6px;border-radius:50%;background:var(--b3);transition:background .3s;}
.ob-dot.active{background:var(--gold);}
.ob-btn{padding:14px 32px;background:transparent;border:1px solid var(--gold);border-radius:8px;color:var(--gold);font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:all .25s;}
.ob-btn:hover{background:rgba(212,176,104,.1);}
.ob-skip{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:1.5rem;font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);background:none;border:none;}

/* ────── HEADER ────── */
.header{text-align:center;padding:calc(1.6rem + env(safe-area-inset-top,0px)) 1.5rem 1.2rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0d0d0d,var(--bg));position:relative;overflow:hidden;}
.header::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:260px;height:260px;background:radial-gradient(circle,rgba(212,176,104,.08) 0%,transparent 65%);pointer-events:none;}
.logo{font-size:28px;color:var(--gold);margin-bottom:.3rem;display:block;animation:glow 4s ease-in-out infinite;}
@keyframes glow{0%,100%{text-shadow:0 0 20px rgba(212,176,104,.2);}50%{text-shadow:0 0 50px rgba(212,176,104,.55),0 0 90px rgba(212,176,104,.18);}}
.app-title{font-size:24px;font-weight:500;color:var(--gold-soft);letter-spacing:5px;font-family:var(--serif);}
.app-sub{font-size:9px;color:var(--muted);letter-spacing:3px;margin-top:6px;font-family:var(--sans);text-transform:uppercase;}

/* ────── TABS ────── */
.tab-nav{display:flex;border-bottom:1px solid var(--border);background:var(--bg2);position:sticky;top:0;z-index:10;}
.tab{flex:1;padding:14px 4px;font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;text-align:center;cursor:pointer;background:transparent;border:none;font-family:var(--sans);transition:color .25s;border-bottom:2px solid transparent;margin-bottom:-1px;position:relative;}
.tab:hover{color:var(--gold);}
.tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.panel{display:none;padding:1.4rem 1.2rem 2rem;}
.panel.active{display:block;animation:fadeUp .35s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* ────── FORM ────── */
.sec{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:1rem;font-family:var(--sans);display:flex;align-items:center;gap:8px;}
.sec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--b2),transparent);}
.intro-text{font-size:13px;color:var(--dim);line-height:1.8;font-family:var(--sans);margin-bottom:1.4rem;font-style:italic;}
.fg{margin-bottom:1rem;}
.fl{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;font-family:var(--sans);}
.fl .hint{text-transform:none;letter-spacing:0;font-size:10px;color:var(--faint);margin-left:6px;font-style:italic;}
.fi{width:100%;background:var(--bg4);border:1px solid var(--b3);border-radius:8px;padding:13px 14px;color:var(--text)!important;font-size:14px;font-family:var(--sans);outline:none;-webkit-text-fill-color:var(--text);transition:border-color .2s,box-shadow .2s;}
.fi:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,176,104,.08);}
.fi::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(2) hue-rotate(5deg);cursor:pointer;}
.fi::placeholder{color:var(--faint);-webkit-text-fill-color:var(--faint);}
.fs{width:100%;background:var(--bg4);border:1px solid var(--b3);border-radius:8px;padding:13px 14px;color:var(--text)!important;font-size:14px;font-family:var(--sans);outline:none;-webkit-appearance:none;-webkit-text-fill-color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d4b068' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;transition:border-color .2s;}
.fs:focus{border-color:var(--gold);}
.fs option{background:#1a1a1a;color:var(--text);}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dst-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg4);border:1px solid var(--b2);border-radius:8px;font-family:var(--sans);font-size:12px;color:var(--dim);cursor:pointer;margin-bottom:1rem;line-height:1.5;}
.dst-row input[type="checkbox"]{margin-top:2px;accent-color:var(--gold);width:14px;height:14px;flex-shrink:0;cursor:pointer;}
.dst-row .hint{display:block;font-size:10px;color:var(--faint);font-style:italic;margin-top:2px;}
.city-box{background:var(--bg4);border:1px solid var(--b3);border-radius:8px;margin-top:4px;overflow:hidden;display:none;box-shadow:0 8px 24px rgba(0,0,0,.4);max-height:260px;overflow-y:auto;}
.city-opt{padding:10px 14px;font-size:13px;color:#c8b890;cursor:pointer;font-family:var(--sans);border-bottom:1px solid var(--b2);transition:background .15s;}
.city-opt:last-child{border-bottom:none;}
.city-opt:hover,.city-opt-active{background:var(--b2);}
.city-opt-active{outline:1px solid var(--gold-dim);outline-offset:-1px;}
.city-sub{font-size:10px;color:#5a4a2a;margin-top:2px;}
.btn-g{width:100%;padding:16px;background:linear-gradient(180deg,rgba(212,176,104,.05),rgba(212,176,104,0))!important;border:1px solid var(--gold)!important;border-radius:10px;color:var(--gold)!important;-webkit-text-fill-color:var(--gold)!important;font-size:11px;letter-spacing:4px;text-transform:uppercase;cursor:pointer;margin-top:.8rem;font-family:var(--sans);transition:all .25s;-webkit-appearance:none;}
.btn-g:hover{background:rgba(212,176,104,.12)!important;box-shadow:0 0 24px rgba(212,176,104,.18);}
.btn-g:active{transform:scale(.98);}
.btn-ghost{width:100%;padding:12px;background:transparent!important;border:1px solid var(--b2)!important;border-radius:8px;color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;margin-top:12px;font-family:var(--sans);transition:all .2s;-webkit-appearance:none;}
.btn-ghost:hover{border-color:var(--gold-dim)!important;color:var(--gold)!important;-webkit-text-fill-color:var(--gold)!important;}

/* ────── DAY MASTER HERO ────── */
.dm-hero{margin-bottom:1.4rem;padding:1.8rem 1.4rem;background:radial-gradient(ellipse at top,#1a1408,var(--bg3));border:1px solid #2a2418;border-radius:16px;text-align:center;position:relative;overflow:hidden;animation:fadeUp .5s ease;}
.dm-hero::before{content:'';position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:180px;height:180px;background:radial-gradient(circle,rgba(212,176,104,.1),transparent 70%);pointer-events:none;}
.dm-zh{font-size:48px;color:var(--gold);letter-spacing:8px;line-height:1.1;display:block;margin-bottom:.4rem;font-family:var(--serif);}
.dm-name{font-size:18px;color:var(--gold-soft);letter-spacing:2px;font-family:var(--serif);font-style:italic;margin-bottom:.6rem;}
.dm-meta{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);margin-bottom:1rem;}
.dm-meta strong{color:var(--gold);}
.dm-essence{font-size:14px;line-height:1.85;color:var(--dim);font-family:var(--serif);font-style:italic;}

/* ────── PILLARS (compact) ────── */
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1.4rem;}
.pillar{background:var(--bg3);border:1px solid var(--b2);border-radius:10px;padding:12px 6px;text-align:center;animation:fadeUp .4s ease both;}
.pillar:nth-child(1){animation-delay:.05s;}.pillar:nth-child(2){animation-delay:.1s;}.pillar:nth-child(3){animation-delay:.15s;}.pillar:nth-child(4){animation-delay:.2s;}
.pillar.dm{border-color:var(--gold);background:#100e00;box-shadow:0 0 0 1px rgba(212,176,104,.15);}
.p-lbl{font-size:8px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-family:var(--sans);}
.p-stem{font-size:24px;color:var(--gold);display:block;line-height:1;}
.p-branch{font-size:18px;color:#a08860;display:block;margin-top:4px;}
.p-en{font-size:9px;color:var(--muted);margin-top:6px;line-height:1.4;font-family:var(--sans);}

/* ────── ELEMENTS (simplified) ────── */
.el-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:.8rem;}
.el-card{background:var(--bg3);border:1px solid var(--b2);border-radius:10px;padding:12px 4px;text-align:center;animation:fadeUp .4s ease both;}
.el-card.strong{border-color:var(--gold);background:#100e00;}
.el-card.weak{opacity:.4;}
.el-icon{font-size:20px;display:block;margin-bottom:4px;}
.el-nm{font-size:9px;color:var(--muted);letter-spacing:1px;font-family:var(--sans);text-transform:uppercase;}
.el-card.strong .el-nm{color:var(--gold);}
.el-bw{background:var(--bg4);border-radius:3px;height:3px;margin:6px 4px 0;}
.el-b{height:100%;background:var(--b3);border-radius:3px;transition:width .9s cubic-bezier(.16,1,.3,1);}
.el-card.strong .el-b{background:var(--gold);box-shadow:0 0 6px rgba(212,176,104,.4);}
.el-insight{font-size:12px;color:var(--dim);font-family:var(--sans);line-height:1.7;padding:10px 12px;background:#0d0c08;border:1px solid #221e10;border-radius:8px;margin-bottom:1.4rem;}
.el-insight strong{color:var(--gold);}

/* ────── FAVORABLE ELEMENT (single hero card) ────── */
.yong-card{background:linear-gradient(135deg,#0a140a 0%,#0d1a0d 100%);border:1px solid var(--gborder);border-radius:14px;padding:1.4rem;margin-bottom:1.4rem;position:relative;overflow:hidden;animation:fadeUp .5s ease;}
.yong-card::before{content:'';position:absolute;top:-20px;right:-20px;width:120px;height:120px;background:radial-gradient(circle,rgba(122,188,122,.08),transparent 70%);pointer-events:none;}
.yong-lbl{font-size:9px;letter-spacing:3px;color:#5a9a5a;text-transform:uppercase;margin-bottom:.5rem;font-family:var(--sans);}
.yong-el{font-size:32px;display:inline-block;margin-right:.5rem;vertical-align:middle;}
.yong-name{font-size:22px;color:var(--green);font-family:var(--serif);letter-spacing:1px;display:inline-block;vertical-align:middle;}
.yong-zh{color:#8aca8a;font-size:18px;margin-left:4px;}
.yong-body{font-size:13px;color:#9abc9a;line-height:1.8;margin-top:.8rem;font-family:var(--sans);}
.yong-actions{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.yong-action{background:rgba(122,188,122,.06);border:1px solid rgba(122,188,122,.15);border-radius:8px;padding:8px 10px;font-size:11px;color:#8aba8a;font-family:var(--sans);line-height:1.5;}
.yong-action strong{display:block;color:var(--green);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;}
.yong-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:.9rem;padding:.7rem .8rem;background:rgba(122,188,122,.04);border:1px solid rgba(122,188,122,.12);border-radius:8px;font-family:var(--sans);font-size:11px;color:#8aba8a;}
.ys-lbl{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#5a9a5a;}
.ys-val{color:#9aca9a;}
.ys-val.ys-avoid{color:var(--rose);}
.ys-sep{color:rgba(122,188,122,.3);}
.yong-why{margin-top:.8rem;font-family:var(--sans);}
.yong-why summary{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#5a9a5a;cursor:pointer;padding:6px 0;outline:none;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.yong-why summary::-webkit-details-marker{display:none;}
.yong-why summary::after{content:'⌄';font-size:14px;transition:transform .2s;}
.yong-why[open] summary::after{transform:rotate(180deg);}
.yw-score{color:var(--gold);text-transform:none;letter-spacing:0;font-style:italic;}
.yw-list{list-style:none;padding:.6rem 0 0;margin:0;font-size:11px;color:#9aba9a;line-height:1.7;}
.yw-list li{padding:3px 0 3px 14px;position:relative;}
.yw-list li::before{content:'·';position:absolute;left:4px;color:var(--green);}

/* ────── CURRENT LUCK CYCLE (Da Yun) ────── */
.luck-hero{background:var(--bg3);border:1px solid var(--b2);border-radius:14px;padding:1.4rem;margin-bottom:1rem;animation:fadeUp .5s ease;}
.luck-age{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);margin-bottom:.4rem;}
.luck-name{font-size:22px;color:var(--gold);font-family:var(--serif);margin-bottom:.2rem;}
.luck-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-family:var(--sans);letter-spacing:1px;margin-top:.4rem;}
.luck-tag.fav{background:var(--gbg);color:var(--green);border:1px solid var(--gborder);}
.luck-tag.chg{background:var(--rbg);color:var(--red);border:1px solid var(--rborder);}
.luck-body{font-size:13px;color:var(--dim);line-height:1.85;margin-top:1rem;font-family:var(--sans);}
.luck-body p{margin-bottom:.8rem;}
.luck-body p:last-child{margin-bottom:0;}
.luck-timeline{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;margin-bottom:1rem;position:relative;}
.luck-timeline-lbl{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:.8rem;font-family:var(--sans);}
.luck-tl-row{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;}
.luck-tl-item{background:var(--bg4);border:1px solid var(--b2);border-radius:6px;padding:6px 2px;text-align:center;font-family:var(--sans);position:relative;}
.luck-tl-item.now{border-color:var(--gold);background:#120f00;}
.luck-tl-item.locked{opacity:.35;}
.ltl-age{font-size:8px;color:var(--muted);}
.ltl-s{font-size:13px;color:var(--gold);display:block;line-height:1.1;margin-top:2px;}
.ltl-b{font-size:10px;color:#a08860;display:block;}

/* ────── TODAY TAB ────── */
.today-date{text-align:center;padding:1rem 0 1.4rem;border-bottom:1px solid var(--border);margin-bottom:1.4rem;}
.today-day{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);}
.today-full{font-size:17px;color:var(--gold-soft);margin-top:4px;font-family:var(--serif);}
.today-pillar{font-size:28px;color:var(--gold);letter-spacing:6px;margin-top:8px;}
.today-verdict{background:var(--bg3);border-radius:14px;padding:1.4rem;margin-bottom:1rem;text-align:center;animation:fadeUp .5s ease;}
.today-verdict.fav{border:1px solid var(--gborder);background:linear-gradient(180deg,#0a140a,var(--bg3));}
.today-verdict.chg{border:1px solid var(--rborder);background:linear-gradient(180deg,#140a0a,var(--bg3));}
.today-verdict.neu{border:1px solid var(--b2);}
.tv-lbl{font-size:10px;letter-spacing:3px;text-transform:uppercase;font-family:var(--sans);margin-bottom:.6rem;}
.today-verdict.fav .tv-lbl{color:var(--green);}
.today-verdict.chg .tv-lbl{color:var(--red);}
.today-verdict.neu .tv-lbl{color:var(--muted);}
.tv-title{font-size:19px;color:var(--gold-soft);font-family:var(--serif);margin-bottom:.5rem;}
.tv-body{font-size:13px;line-height:1.85;color:var(--dim);font-family:var(--sans);}
.today-insights{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:1rem;}
.ti-card{background:var(--bg3);border:1px solid var(--b2);border-radius:10px;padding:12px 14px;}
.ti-ico{font-size:18px;float:left;margin-right:10px;}
.ti-ttl{font-size:10px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);margin-bottom:3px;}
.ti-txt{font-size:13px;color:var(--dim);font-family:var(--sans);line-height:1.65;}

/* ────── EMPTY STATES ────── */
.empty{text-align:center;padding:3rem 1rem;}
.empty-ico{font-size:44px;color:var(--muted);margin-bottom:1rem;opacity:.5;}
.empty-title{font-size:16px;color:var(--gold-soft);font-family:var(--serif);margin-bottom:.5rem;}
.empty-sub{font-size:12px;color:var(--muted);line-height:1.7;font-family:var(--sans);}

/* ────── PAYWALL / UNLOCK ────── */
.paywall{background:linear-gradient(135deg,#12100a 0%,#0d0c08 100%);border:1px solid var(--gold-dim);border-radius:16px;padding:1.8rem 1.4rem;margin-bottom:1rem;position:relative;overflow:hidden;}
.paywall::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(212,176,104,.1),transparent 70%);pointer-events:none;}
.pw-badge{display:inline-block;font-size:9px;letter-spacing:2px;color:var(--gold);background:rgba(212,176,104,.08);border:1px solid rgba(212,176,104,.25);border-radius:4px;padding:4px 10px;text-transform:uppercase;font-family:var(--sans);margin-bottom:.8rem;}
.pw-title{font-size:22px;color:var(--gold-soft);font-family:var(--serif);margin-bottom:.6rem;}
.pw-price{font-size:30px;color:var(--gold);font-family:var(--serif);margin:1rem 0;letter-spacing:1px;}
.pw-price span{font-size:12px;color:var(--muted);letter-spacing:0;margin-left:4px;font-family:var(--sans);}
.pw-benefits{margin:1.2rem 0;}
.pw-benefit{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:13px;color:var(--dim);font-family:var(--sans);line-height:1.6;}
.pw-benefit::before{content:'✦';color:var(--gold);flex-shrink:0;}
.pw-cta{width:100%;padding:14px;background:var(--gold)!important;-webkit-text-fill-color:#0a0a0a!important;border:none;border-radius:10px;color:#0a0a0a!important;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);font-weight:600;margin-top:.5rem;transition:all .25s;}
.pw-cta:hover{background:var(--gold-soft)!important;box-shadow:0 0 30px rgba(212,176,104,.3);}
.pw-note{font-size:10px;color:var(--muted);text-align:center;margin-top:.8rem;font-family:var(--sans);}

/* ────── SHARE / COMPATIBILITY LOCKED ────── */
.feature-lock{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1.4rem;text-align:center;margin-bottom:.8rem;}
.fl-ico{font-size:32px;color:var(--gold-dim);margin-bottom:.5rem;}
.fl-ttl{font-size:15px;color:var(--gold-soft);font-family:var(--serif);margin-bottom:.3rem;}
.fl-sub{font-size:11px;color:var(--muted);font-family:var(--sans);line-height:1.6;margin-bottom:.8rem;}
.fl-lock{display:inline-block;font-size:9px;color:var(--gold);background:rgba(212,176,104,.08);border:1px solid rgba(212,176,104,.2);border-radius:4px;padding:3px 8px;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--sans);}

/* ────── SHARE MODAL ────── */
.share-actions{display:flex;gap:8px;margin-top:.5rem;}
.share-btn{flex:1;padding:11px;background:transparent!important;border:1px solid var(--b3)!important;border-radius:8px;color:var(--dim)!important;-webkit-text-fill-color:var(--dim)!important;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;}
.share-btn:hover{border-color:var(--gold)!important;color:var(--gold)!important;-webkit-text-fill-color:var(--gold)!important;}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem;}
.modal.open{display:flex;}
.modal-content{background:var(--bg3);border:1px solid var(--b2);border-radius:16px;padding:1.4rem;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;}
.modal-title{font-size:18px;color:var(--gold-soft);font-family:var(--serif);margin-bottom:.4rem;}
.modal-sub{font-size:11px;color:var(--muted);font-family:var(--sans);margin-bottom:1rem;line-height:1.6;}
#shareCanvas{width:100%;border-radius:10px;display:block;margin-bottom:1rem;}

/* ────── NOTES ────── */
.solar-note{background:#050f05;border:1px solid #1a2e1a;border-radius:8px;padding:8px 12px;margin-bottom:1rem;font-size:11px;color:#6a9a6a;font-family:var(--sans);line-height:1.6;}
.lichun-note{font-size:10px;color:#8a6a2a;background:#140f00;border:1px solid #2a1a00;border-radius:6px;padding:6px 10px;margin-bottom:1rem;font-family:var(--sans);text-align:center;line-height:1.5;}
.zodiac-bar{display:flex;align-items:center;gap:10px;padding:.8rem 1rem;background:#0d0c08;border-radius:10px;margin-bottom:1rem;font-family:var(--sans);}
.zb-ico{font-size:28px;}
.zb-txt{flex:1;}
.zb-ttl{font-size:13px;color:var(--gold-soft);font-family:var(--serif);}
.zb-sub{font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;}

/* ────── MATCH / COMPATIBILITY ────── */
.match-form{background:var(--bg3);border:1px solid var(--b2);border-radius:14px;padding:1.4rem 1.2rem;margin-bottom:1rem;}
.match-form .sec{margin-bottom:.8rem;}
.match-intro{font-size:13px;color:var(--dim);line-height:1.8;font-family:var(--sans);margin-bottom:1.2rem;font-style:italic;}
.match-result{animation:fadeUp .4s ease;}
.mr-hero{padding:1.6rem 1.2rem;background:radial-gradient(ellipse at top,#1a1408,var(--bg3));border:1px solid #2a2418;border-radius:14px;text-align:center;margin-bottom:1rem;position:relative;overflow:hidden;}
.mr-hero::before{content:'';position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(212,176,104,.08),transparent 70%);pointer-events:none;}
.mr-pair{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:.8rem;position:relative;}
.mr-dm{font-size:32px;color:var(--gold);font-family:var(--serif);line-height:1;}
.mr-link{font-size:20px;color:var(--gold-dim);}
.mr-verdict{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:.5rem;font-family:var(--sans);}
.mr-title{font-size:20px;color:var(--gold-soft);font-family:var(--serif);font-style:italic;line-height:1.4;margin-bottom:.6rem;}
.mr-score{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);margin-top:.4rem;}
.mr-score.high{background:var(--gbg);border:1px solid var(--gborder);color:var(--green);}
.mr-score.mid{background:#1a1408;border:1px solid #3a2a1a;color:var(--gold);}
.mr-score.low{background:var(--rbg);border:1px solid var(--rborder);color:var(--red);}
.mr-body{font-size:14px;line-height:1.9;color:var(--dim);font-family:var(--serif);padding:1.2rem 1.2rem;background:var(--bg3);border:1px solid var(--b2);border-radius:12px;margin-bottom:1rem;}
.mr-body p{margin-bottom:.9rem;}.mr-body p:last-child{margin-bottom:0;}
.mr-dims{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1rem;}
.mr-dim{padding:.9rem .8rem;background:var(--bg3);border:1px solid var(--b2);border-radius:10px;}
.mr-dim-ttl{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:4px;}
.mr-dim-val{font-size:13px;color:var(--gold-soft);font-family:var(--serif);line-height:1.5;}
.mr-dim-sub{font-size:10px;color:var(--faint);font-family:var(--sans);margin-top:4px;line-height:1.5;}
.mr-note{font-size:11px;color:var(--muted);font-family:var(--sans);line-height:1.7;text-align:center;padding:.8rem;font-style:italic;}
.mr-actions{display:flex;gap:8px;margin-top:1rem;}
.mr-ai-badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;color:var(--gold);background:rgba(212,176,104,.08);border:1px solid rgba(212,176,104,.2);border-radius:4px;padding:3px 8px;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--sans);margin-bottom:.8rem;}
.mr-loading{text-align:center;padding:2rem 1rem;color:var(--muted);font-family:var(--sans);font-size:12px;letter-spacing:1px;}
.mr-loading::before{content:'☯';font-size:28px;display:block;color:var(--gold);margin-bottom:.8rem;animation:glow 2s ease-in-out infinite;}

.mr-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-.15rem 0 1rem;}
.mr-pill{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.06em;color:var(--text);font-family:var(--sans);}
.mr-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.mr-score-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:12px 12px 11px;}
.mr-score-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:8px;}
.mr-score-label{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);}
.mr-score-num{font-size:24px;line-height:1;color:var(--text);font-family:var(--serif);}
.mr-score-track{height:4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;}
.mr-score-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),rgba(255,255,255,.82));}
.mr-score-sub{margin-top:8px;font-size:11px;line-height:1.55;color:var(--dim);font-family:var(--sans);}
.mr-longread{background:var(--bg3);border:1px solid var(--b2);border-radius:14px;padding:1.1rem 1rem;margin-bottom:1rem;}
.mr-longread p{font-size:13px;line-height:1.82;color:var(--dim);font-family:var(--serif);margin-bottom:.85rem;}
.mr-longread p:last-child{margin-bottom:0;}
.mr-sections{display:grid;gap:10px;margin-bottom:1rem;}
.mr-section{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.mr-section-kicker{font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:6px;}
.mr-section-title{font-size:17px;color:var(--text);font-family:var(--serif);margin-bottom:8px;line-height:1.35;}
.mr-section-body{font-size:13px;line-height:1.78;color:var(--dim);font-family:var(--sans);}
.mr-flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.mr-flag-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.mr-flag-card.good{border-color:rgba(255,255,255,.12);}
.mr-flag-card.warn{border-color:rgba(255,255,255,.12);}
.mr-flag-title{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.mr-bullets{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.mr-bullets li{font-size:12px;line-height:1.65;color:var(--dim);font-family:var(--sans);padding-left:14px;position:relative;}
.mr-bullets li::before{content:'•';position:absolute;left:0;top:0;color:var(--gold);}
.mr-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1rem;}
.mr-note-strong{font-size:11px;color:var(--text);font-family:var(--sans);line-height:1.7;text-align:center;padding:.9rem 1rem;background:rgba(255,255,255,.02);border:1px solid var(--b2);border-radius:12px;margin-bottom:1rem;}
.mr-recent{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
.mr-recent-title{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.mr-recent-list{display:grid;gap:8px;}
.mr-recent-item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;background:var(--bg4);border:1px solid var(--b2);border-radius:10px;}
.mr-recent-main{font-size:12px;color:var(--text);font-family:var(--sans);}
.mr-recent-sub{font-size:10px;color:var(--muted);font-family:var(--sans);margin-top:2px;}
.mr-recent-score{font-size:12px;color:var(--gold-soft);font-family:var(--serif);white-space:nowrap;}
@media(max-width:420px){
  .mr-score-grid,.mr-flag-grid,.mr-snapshot-grid{grid-template-columns:1fr;}
}

/* ────── DEEP CHART READING ────── */
.chart-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.chart-quick-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.chart-quick-kicker{font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:7px;}
.chart-quick-body{font-size:13px;line-height:1.72;color:var(--dim);font-family:var(--sans);}
.chart-deep-stack{display:grid;gap:10px;margin-bottom:1rem;}
.chart-deep-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.chart-deep-title{font-size:17px;color:var(--text);font-family:var(--serif);line-height:1.35;margin-bottom:8px;}
.chart-deep-body{font-size:13px;line-height:1.82;color:var(--dim);font-family:var(--sans);}
.chart-deep-body p{margin-bottom:.8rem;}
.chart-deep-body p:last-child{margin-bottom:0;}
.chart-bullets{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.chart-bullets li{font-size:12px;line-height:1.68;color:var(--dim);font-family:var(--sans);padding-left:14px;position:relative;}
.chart-bullets li::before{content:'•';position:absolute;left:0;top:0;color:var(--gold);}
.today-rich-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.today-rich-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.today-rich-kicker{font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:6px;}
.today-rich-body{font-size:12px;line-height:1.7;color:var(--dim);font-family:var(--sans);}
.luck-facet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.luck-facet{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.luck-facet-ttl{font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:7px;}
.luck-facet-body{font-size:12px;line-height:1.7;color:var(--dim);font-family:var(--sans);}
@media(max-width:420px){
  .chart-quick-grid,.today-rich-grid,.luck-facet-grid{grid-template-columns:1fr;}
}


.chart-glance{background:var(--bg3);border:1px solid var(--b2);border-radius:16px;padding:1rem 1rem 1.05rem;margin-bottom:1rem;}
.chart-glance-kicker{font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.chart-glance-head{font-size:21px;line-height:1.35;color:var(--text);font-family:var(--serif);margin-bottom:10px;}
.chart-glance-sub{font-size:13px;line-height:1.78;color:var(--dim);font-family:var(--sans);margin-bottom:12px;}
.chart-frontline{display:grid;gap:8px;margin-bottom:12px;}
.chart-frontline-item{font-size:14px;line-height:1.7;color:var(--text);font-family:var(--serif);padding:10px 12px;background:rgba(255,255,255,.02);border:1px solid var(--b2);border-radius:12px;}
.chart-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.chart-chip{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:11px;line-height:1.25;color:var(--text);font-family:var(--sans);}
.chart-assert-grid{display:grid;grid-template-columns:1fr;gap:8px;}
.chart-assert-card{background:rgba(255,255,255,.02);border:1px solid var(--b2);border-radius:12px;padding:10px 12px;}
.chart-assert-kicker{font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:5px;}
.chart-assert-text{font-size:13px;line-height:1.68;color:var(--text);font-family:var(--sans);}
.mr-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.mr-compare-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.mr-compare-title{font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.mr-compare-body{font-size:13px;line-height:1.75;color:var(--text);font-family:var(--sans);}
.mr-sharelines{display:grid;gap:8px;margin-bottom:1rem;}
.mr-shareline{background:rgba(255,255,255,.02);border:1px solid var(--b2);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.6;color:var(--text);font-family:var(--sans);}
.mr-next-title{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.mr-lab{margin-bottom:1rem;}
.mr-lab-title{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:8px;}
.mr-lab-grid{display:grid;gap:10px;}
.mr-lab-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.mr-lab-kicker{font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:7px;}
.mr-lab-body{font-size:13px;line-height:1.72;color:var(--dim);font-family:var(--sans);}
.today-ritual-head{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin:0 0 8px 2px;}
.today-ritual-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;margin-bottom:1rem;}
@media(max-width:420px){
  .mr-compare-grid{grid-template-columns:1fr;}
}

/* ────── CHART LOADING STATE ────── */
.chart-loading{padding:3rem 1rem;text-align:center;animation:fadeUp .3s ease;}
.cl-ring{width:80px;height:80px;margin:0 auto 1.5rem;position:relative;}
.cl-ring::before,.cl-ring::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid transparent;}
.cl-ring::before{border-top-color:var(--gold);border-right-color:var(--gold);animation:clSpin 2.2s linear infinite;}
.cl-ring::after{inset:10px;border-bottom-color:var(--gold-dim);border-left-color:var(--gold-dim);animation:clSpin 1.6s linear infinite reverse;}
@keyframes clSpin{to{transform:rotate(360deg);}}
.cl-symbol{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--gold);animation:glow 2s ease-in-out infinite;}
.cl-title{font-size:15px;color:var(--gold-soft);font-family:var(--serif);font-style:italic;letter-spacing:1px;margin-bottom:.5rem;}
.cl-step{font-size:11px;color:var(--muted);font-family:var(--sans);letter-spacing:2px;text-transform:uppercase;min-height:14px;transition:opacity .3s;}

/* ────── DISCLAIMER ────── */
.disclaimer{font-size:11px;color:var(--muted);line-height:1.75;font-family:var(--sans);font-style:italic;text-align:center;padding:1.2rem 1rem;margin-top:1rem;border-top:1px solid var(--border);}

/* ────── TOAST ────── */
.toast-wrap{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:92vw;}
.toast{background:var(--bg4);border:1px solid var(--b3);border-radius:10px;padding:11px 16px;font-family:var(--sans);font-size:13px;color:var(--text);box-shadow:0 10px 40px rgba(0,0,0,.6);animation:toastIn .28s cubic-bezier(.16,1,.3,1);pointer-events:auto;display:flex;align-items:center;gap:10px;}
.toast.err{border-color:var(--rborder);color:var(--rose);}
.toast.ok{border-color:var(--gborder);color:#aad4aa;}
.toast .t-ico{flex-shrink:0;font-size:16px;}
.toast.out{animation:toastOut .22s ease forwards;}
@keyframes toastIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px);}}

/* ────── PRICING (new paywall) ────── */
.price-toggle{display:inline-flex;background:var(--bg4);border:1px solid var(--b3);border-radius:24px;padding:4px;margin:0 auto 1rem;font-family:var(--sans);}
.pt-opt{padding:8px 16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);cursor:pointer;border-radius:20px;border:none;background:transparent;transition:all .22s;}
.pt-opt.active{background:var(--gold);color:#0a0a0a;}
.pt-save{display:inline-block;margin-left:6px;font-size:9px;color:var(--green);background:var(--gbg);border:1px solid var(--gborder);border-radius:10px;padding:2px 7px;letter-spacing:1px;vertical-align:middle;}
.pt-wrap{text-align:center;margin-bottom:.8rem;}
.pw-price-sub{font-size:11px;color:var(--muted);margin-top:-4px;margin-bottom:1rem;font-family:var(--sans);letter-spacing:.5px;}
.pw-price-sub strong{color:var(--gold-soft);}
.premium-teaser{background:linear-gradient(180deg,rgba(212,176,104,.04),transparent);border:1px dashed var(--b3);border-radius:12px;padding:1rem 1.1rem;margin-bottom:.8rem;}
.pt-ttl{font-size:10px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;font-family:var(--sans);margin-bottom:.5rem;display:flex;align-items:center;gap:6px;}
.pt-ttl::before{content:'✦';}
.pt-body{font-size:12px;color:var(--dim);line-height:1.7;font-family:var(--sans);}
.pt-list{margin-top:.5rem;padding-left:0;list-style:none;font-size:12px;color:var(--dim);font-family:var(--sans);}
.pt-list li{padding:3px 0 3px 14px;position:relative;line-height:1.55;}
.pt-list li::before{content:'·';position:absolute;left:4px;color:var(--gold);}

/* ────── ABOUT / FOUNDER / TESTIMONIALS ────── */
.about-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1.2rem;margin-bottom:1rem;}
.about-ttl{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:.6rem;}
.about-body{font-size:13px;color:var(--dim);line-height:1.8;font-family:var(--serif);font-style:italic;}
.about-body strong{color:var(--gold-soft);font-style:normal;}
.testimonials{display:grid;gap:10px;margin-bottom:1rem;}
.tm-card{background:var(--bg3);border:1px solid var(--b2);border-radius:10px;padding:.9rem 1rem;}
.tm-q{font-size:13px;color:var(--dim);line-height:1.65;font-family:var(--serif);font-style:italic;margin-bottom:.5rem;}
.tm-q::before{content:'"';color:var(--gold);font-size:20px;font-family:Georgia;margin-right:2px;}
.tm-q::after{content:'"';color:var(--gold);font-size:20px;font-family:Georgia;margin-left:2px;}
.tm-by{font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;font-family:var(--sans);}
.tm-by strong{color:var(--gold-soft);}

/* ────── ADVANCED TIME ────── */
.adv-time{margin-top:10px;border:1px solid var(--b2);border-radius:8px;background:var(--bg4);padding:0;overflow:hidden;}
.adv-time summary{padding:10px 14px;font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--sans);cursor:pointer;outline:none;display:flex;align-items:center;justify-content:space-between;list-style:none;}
.adv-time summary::-webkit-details-marker{display:none;}
.adv-time summary::after{content:'⌄';transition:transform .2s;}
.adv-time[open] summary::after{transform:rotate(180deg);}
.adv-time-body{padding:0 14px 14px;}
.adv-time-body .fi{font-size:13px;}
.adv-hint{font-size:10px;color:var(--faint);font-family:var(--sans);font-style:italic;line-height:1.5;margin-top:6px;}

/* ────── ZI-HOUR SPLIT ────── */
.zi-split{display:none;margin-top:8px;padding:10px 12px;background:#0d0c08;border:1px solid #221e10;border-radius:8px;font-family:var(--sans);}
.zi-split.show{display:block;animation:fadeUp .3s ease;}
.zi-split-ttl{font-size:10px;letter-spacing:1.5px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:8px;}
.zi-radios{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.zi-radios label{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg4);border:1px solid var(--b3);border-radius:6px;cursor:pointer;font-size:12px;color:var(--dim);transition:all .2s;}
.zi-radios label:hover{border-color:var(--gold-dim);}
.zi-radios input[type="radio"]{accent-color:var(--gold);margin:0;}
.zi-radios label.sel{border-color:var(--gold);background:#120f00;color:var(--gold-soft);}
.zi-note{font-size:10px;color:var(--faint);margin-top:8px;line-height:1.5;font-style:italic;}

/* ────── TRUE SOLAR TIME (enhanced flow) ────── */
.solar-flow{background:#050f05;border:1px solid #1a2e1a;border-radius:10px;padding:10px 12px;margin-bottom:1rem;font-family:var(--sans);font-size:11px;color:#6a9a6a;line-height:1.7;display:none;}
.solar-flow.show{display:block;}
.solar-flow-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:6px;align-items:center;margin-bottom:4px;font-size:11px;}
.solar-flow-row:last-child{margin-bottom:0;}
.sf-arrow{color:#3a6a3a;font-size:10px;}
.sf-label{font-size:9px;color:#4a7a4a;letter-spacing:1px;text-transform:uppercase;}
.sf-val{font-size:12px;color:#9ac99a;font-weight:500;}
.sf-meta{font-size:10px;color:#4a7a4a;margin-top:4px;}

/* ────── SPOUSE PALACE (compatibility) ────── */
.mr-spouse{background:var(--bg3);border:1px solid var(--b2);border-radius:10px;padding:.9rem 1rem;margin-bottom:1rem;}
.mr-spouse-ttl{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:.5rem;}
.mr-spouse-body{font-size:12px;color:var(--dim);font-family:var(--sans);line-height:1.7;}
.mr-spouse-body strong{color:var(--gold-soft);}

/* ────── MATCH SHARE CARD ACTIONS ────── */
.mr-share-action{display:flex;gap:8px;margin-top:.8rem;}

/* ────── NOTIFICATION OPT-IN ────── */
.notif-bar{background:linear-gradient(135deg,#0d0c08,var(--bg3));border:1px dashed var(--b3);border-radius:10px;padding:11px 14px;margin-top:1rem;display:flex;align-items:center;gap:10px;font-family:var(--sans);}
.notif-ico{font-size:18px;color:var(--gold-dim);flex-shrink:0;}
.notif-txt{flex:1;font-size:12px;color:var(--dim);line-height:1.5;}
.notif-btn{flex-shrink:0;background:transparent;border:1px solid var(--gold-dim);color:var(--gold);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 12px;border-radius:6px;cursor:pointer;font-family:var(--sans);transition:all .2s;}
.notif-btn:hover{background:rgba(212,176,104,.08);}
.notif-btn[disabled]{opacity:.5;cursor:default;}

/* ────── LEGAL PAGE (enhanced readability) ────── */
.legal-body{max-height:70vh;overflow-y:auto;padding-right:8px;}
.legal-body h4{font-size:12px;letter-spacing:1.5px;color:var(--gold-soft);text-transform:uppercase;font-family:var(--sans);margin:1rem 0 .4rem;}
.legal-body h4:first-child{margin-top:0;}
.legal-body p{font-size:12px;color:var(--dim);line-height:1.75;font-family:var(--sans);margin-bottom:.6rem;}
.legal-body a{color:var(--gold);text-decoration:none;border-bottom:1px dotted var(--gold-dim);}

/* ────── BADGE ROW ────── */
.trust-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:.6rem 0 1rem;font-family:var(--sans);}
.trust-pill{font-size:9px;letter-spacing:1.2px;color:var(--muted);background:var(--bg4);border:1px solid var(--b2);border-radius:12px;padding:4px 9px;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;}
.trust-pill::before{content:'✦';color:var(--gold-dim);font-size:8px;}

/* ────── INCOMING SHARE BANNER (viral loop: someone shared their chart with you) ────── */
.inc-banner{position:relative;z-index:5;background:linear-gradient(180deg,#1a1408,#120d05);border-bottom:1px solid #3a2a10;padding:12px 14px;display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;color:var(--gold-soft);line-height:1.45;animation:fadeUp .45s ease;}
.inc-banner-ico{font-size:18px;color:var(--gold);flex-shrink:0;}
.inc-banner-txt{flex:1;}
.inc-banner-txt strong{color:var(--gold);font-weight:500;}
.inc-banner-close{background:transparent;border:1px solid var(--b3);color:var(--muted);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 10px;border-radius:6px;cursor:pointer;font-family:var(--sans);flex-shrink:0;}
.inc-banner-close:hover{border-color:var(--gold-dim);color:var(--gold);}


/* ────── MATCH EXPLAINER + MOBILE PASS ────── */
.mr-why{margin-bottom:1rem;}
.mr-why-title{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin:0 0 8px 2px;}
.mr-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mr-why-card{background:var(--bg3);border:1px solid var(--b2);border-radius:12px;padding:1rem;}
.mr-why-kicker{font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:var(--sans);margin-bottom:6px;}
.mr-why-main{font-size:15px;line-height:1.45;color:var(--text);font-family:var(--serif);margin-bottom:8px;}
.mr-why-body{font-size:12px;line-height:1.7;color:var(--dim);font-family:var(--sans);}
.luck-timeline-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none;}
.luck-timeline-scroll::-webkit-scrollbar{display:none;}
.luck-timeline-scroll .luck-tl-row{display:flex;gap:8px;min-width:max-content;}
.luck-timeline-scroll .luck-tl-item{min-width:76px;}
@media(max-width:420px){
  .mr-why-grid{grid-template-columns:1fr;}
}
@media(max-width:390px){
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .tab{font-size:9px;padding:10px 3px;letter-spacing:.2px;white-space:nowrap;}
}



/* ───────────────────────────────────────────────────────────── */

:root{
  --gold:#f2f0ea;
  --gold-dim:#a8a29a;
  --gold-soft:#ffffff;
  --rose:#c8b8c9;
  --rose-dim:#8b7e8d;
  --bg:#090909;
  --bg2:#0d0d0f;
  --bg3:#111114;
  --bg4:#17171b;
  --border:#1f1f24;
  --b2:#292a30;
  --b3:#3a3b43;
  --text:#f3f4f7;
  --dim:#c8ccd4;
  --muted:#9196a3;
  --faint:#666c79;
  --green:#f3f4f7;
  --gbg:#141417;
  --gborder:#343844;
  --red:#d8c3cc;
  --rbg:#171418;
  --rborder:#40333a;
  --sans:Inter,-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;
  --serif:'Iowan Old Style','Cormorant Garamond',Georgia,serif;
}
html{background:#050507;}
body{background:#050507;font-family:var(--sans);color:var(--text);}
.app{background:linear-gradient(180deg,#09090a 0%,#0d0d10 100%);max-width:520px;}
@media(min-width:520px){body{padding:18px 16px;}.app{border-radius:28px;border:1px solid #22232a;box-shadow:0 32px 80px rgba(0,0,0,.45);}}
.header{padding:calc(2rem + env(safe-area-inset-top,0px)) 1.5rem 1rem;border-bottom:1px solid #1b1c22;background:linear-gradient(180deg,#0b0b0d 0%,#0f1013 100%);}
.header::before,.dm-hero::before,.paywall::before,.mr-hero::before,.yong-card::before{display:none;}
.logo{font-size:22px;color:rgba(255,255,255,.9);animation:none;margin-bottom:.5rem;}
.app-title{font-size:28px;letter-spacing:1px;font-weight:500;color:#fff;}
.app-sub{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-top:8px;}
.tab-nav{gap:6px;padding:10px 12px;border-bottom:1px solid #1a1b20;background:rgba(9,9,10,.96);backdrop-filter:blur(12px);}
.tab{padding:12px 6px;border:1px solid transparent;border-radius:999px;margin-bottom:0;font-size:11px;letter-spacing:.4px;text-transform:none;color:#7f8592;background:transparent;font-weight:500;}
.tab:hover{color:#d7dae2;}
.tab.active{color:#fff;background:#16181d;border-color:#272b33;box-shadow:none;}
.panel{padding:1.5rem 1.15rem 2rem;}
.sec{font-size:11px;letter-spacing:.8px;color:#d5d9e2;text-transform:none;margin-bottom:.9rem;font-weight:600;}
.sec::after{background:linear-gradient(90deg,#242730,transparent);}
.intro-text,.match-intro,.about-body,.today-verdict .tv-body,.luck-body,.mr-body,.yong-body,.el-insight,.empty-sub,.disclaimer{font-family:var(--sans);font-style:normal;}
.intro-text{font-size:14px;line-height:1.7;color:#c4c8d2;margin-bottom:1.2rem;}
.fl,.p-lbl,.mr-dim-ttl,.luck-age,.tv-lbl,.ti-ttl,.yong-lbl,.luck-timeline-lbl,.about-ttl,.pw-badge,.pw-note,.fl-lock,.pt-ttl,.today-day,.today-verdict .tv-lbl,.cl-step,.app-sub{letter-spacing:.9px;text-transform:none;}
.fl{font-size:11px;color:#c2c7d2;margin-bottom:8px;font-weight:600;}
.fl .hint{font-size:10px;color:#6e7480;}
.fi,.fs{background:#121318;border:1px solid #2a2d35;border-radius:14px;padding:15px 16px;color:#f3f4f7!important;font-size:15px;box-shadow:none;}
.fi:focus,.fs:focus{border-color:#5a6170;box-shadow:0 0 0 4px rgba(148,156,173,.08);}
.fr{gap:12px;}
.dst-row{background:#121318;border:1px solid #272b33;border-radius:14px;color:#bcc1cb;}
.city-box{margin-top:8px;background:#121318;border-color:#2b2e37;border-radius:14px;}
.city-opt{padding:12px 14px;color:#f2f3f7;}
.city-opt:hover,.city-opt-active{background:#1a1d24;}
.city-sub{color:#7d8491;}
.btn-g,.pw-cta{background:#f2f4f8!important;border:1px solid #f2f4f8!important;color:#0b0c0f!important;-webkit-text-fill-color:#0b0c0f!important;border-radius:16px;font-size:12px;letter-spacing:.8px;text-transform:none;font-weight:600;padding:15px 18px;box-shadow:none;}
.btn-g:hover,.pw-cta:hover{background:#ffffff!important;box-shadow:none;transform:none;}
.btn-ghost,.share-btn{background:#13151a!important;border:1px solid #2a2e37!important;color:#d4d8e0!important;-webkit-text-fill-color:#d4d8e0!important;border-radius:14px;font-size:11px;letter-spacing:.5px;text-transform:none;padding:12px 14px;}
.btn-ghost:hover,.share-btn:hover{border-color:#555d6b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:#171920!important;}
.ob-title,.dm-name,.luck-name,.tv-title,.pw-title,.fl-ttl,.modal-title,.empty-title,.mr-title,.today-full,.zb-ttl{font-family:var(--serif);font-style:normal;}
.ob-sub{color:#b8bcc6;}
.ob-btn{border-radius:999px;letter-spacing:.8px;text-transform:none;}
.dm-hero{background:transparent;border:none;border-radius:0;padding:1.1rem .1rem 1.5rem;text-align:left;margin-bottom:1.2rem;}
.dm-zh{font-size:68px;letter-spacing:0;color:#fff;margin-bottom:.2rem;}
.dm-name{font-size:32px;color:#fff;margin-bottom:.35rem;}
.dm-meta{font-size:12px;letter-spacing:.8px;color:#8d93a0;margin-bottom:.8rem;text-transform:none;}
.dm-meta strong{color:#fff;}
.dm-essence{font-size:16px;line-height:1.75;color:#d2d6df;max-width:92%;}
.zodiac-bar,.solar-flow,.solar-note,.lichun-note,.about-card,.feature-lock,.premium-teaser,.luck-hero,.luck-timeline,.today-verdict,.ti-card,.mr-dim,.mr-spouse,.match-form,.modal-content,.paywall,.yong-card,.pillar,.el-card,.notif-bar{background:#121318;border:1px solid #242832;border-radius:18px;box-shadow:none;}
.zodiac-bar{padding:1rem 1rem;gap:12px;}
.zb-ico{font-size:26px;}
.zb-sub{font-size:11px;letter-spacing:.5px;color:#7f8695;text-transform:none;}
.lichun-note,.solar-note,.solar-flow,.softReadingNote{background:#121318;color:#cbd1db;border-color:#262a33;}
.solar-flow .sf-label,.sf-meta{color:#8b92a0;}
.sf-val{color:#fff;}
.pillars-grid{gap:10px;}
.pillar{padding:16px 10px;background:#121318;}
.pillar.dm{border-color:#4a5160;background:#16181e;box-shadow:none;}
.p-lbl{font-size:10px;color:#858c9a;margin-bottom:10px;}
.p-stem{font-size:30px;color:#fff;}
.p-branch{font-size:20px;color:#b9bfca;}
.p-en{font-size:10px;color:#747b88;line-height:1.5;}
.el-row{grid-template-columns:repeat(2,1fr);gap:10px;}
.el-card{padding:14px 10px;text-align:left;display:flex;flex-direction:column;justify-content:center;min-height:86px;}
.el-card:nth-child(5){grid-column:1 / -1;}
.el-card.strong{border-color:#525a6a;background:#181a20;}
.el-card.weak{opacity:.65;}
.el-icon{font-size:24px;margin-bottom:8px;color:#fff;line-height:1;}
.el-nm{font-size:11px;color:#d6dae3;letter-spacing:.4px;text-transform:none;}
.el-card.strong .el-nm{color:#fff;}
.el-bw{height:4px;margin:8px 0 0;background:#1f222a;}
.el-b{background:#7b8495;}
.el-card.strong .el-b{background:#f0f3f8;box-shadow:none;}
.el-insight{background:transparent;border:none;padding:4px 0 0;color:#aeb4c0;}
.yong-card{background:#14161b;border-color:#2d323d;border-radius:22px;padding:1.35rem 1.2rem;}
.yong-lbl{font-size:11px;color:#9da5b4;font-weight:600;}
.yong-el{font-size:40px;color:#fff;margin-right:.7rem;line-height:1;}
.yong-name{font-size:28px;color:#fff;}
.yong-zh{color:#a3abb9;}
.yong-body{color:#d4d8e1;font-size:14px;line-height:1.75;}
.yong-secondary,.yong-action{background:#101217;border-color:#242933;color:#c5cad5;}
.yong-action strong,.ys-lbl,.yong-why summary{color:#9fa7b5;}
.ys-val{color:#fff;}
.ys-val.ys-avoid{color:#d7c2ca;}
.yw-list{color:#c6ccd6;}
.yw-list li::before{color:#8e97a7;}
.luck-age,.ltl-age{color:#8d93a0;}
.luck-name{font-size:24px;color:#fff;}
.luck-tag,.mr-score,.pw-badge,.fl-lock,.trust-pill,.pt-save{background:#16181d;border:1px solid #2b2f38;color:#dbe0e8;}
.luck-tag.fav,.luck-tag.chg,.mr-score.high,.mr-score.mid,.mr-score.low,.today-verdict.fav,.today-verdict.chg,.today-verdict.neu{background:#121318;border-color:#2a2e37;color:inherit;}
.today-verdict{text-align:left;padding:1.2rem 1rem;}
.today-verdict .tv-lbl{font-size:11px;color:#9ea5b2;margin-bottom:.45rem;}
.today-verdict.fav .tv-lbl,.today-verdict.chg .tv-lbl,.today-verdict.neu .tv-lbl{color:#9ea5b2;}
.tv-title{font-size:24px;color:#fff;}
.tv-body{font-size:14px;color:#d1d6df;}
.today-insights{gap:10px;}
.ti-card{padding:14px 14px;border-radius:16px;}
.ti-ico{float:none;display:inline-block;margin-right:8px;font-size:14px;color:#8e96a6;}
.ti-ttl{display:inline-block;font-size:11px;color:#cfd4de;letter-spacing:.4px;}
.ti-txt{margin-top:8px;color:#abb1be;font-size:13px;line-height:1.65;}
.match-form{padding:1.25rem 1rem;}
.mr-hero{background:#121318;border-color:#272b34;padding:1.35rem 1rem;border-radius:20px;}
.mr-dm{font-size:40px;color:#fff;}
.mr-link{color:#6f7787;}
.mr-verdict{font-size:11px;letter-spacing:.7px;color:#9198a6;text-transform:none;}
.mr-title{font-size:26px;color:#fff;line-height:1.25;}
.mr-body{font-family:var(--sans);font-size:14px;color:#cdd2dc;line-height:1.8;background:#121318;border-color:#272b34;border-radius:18px;}
.mr-dims{grid-template-columns:1fr;gap:10px;}
.mr-dim-val{font-size:16px;color:#fff;font-family:var(--sans);font-weight:600;}
.mr-dim-sub{font-size:11px;color:#8790a0;}
.mr-spouse-body{color:#c7ccd7;}
.paywall{background:#121318;border-color:#2d323d;padding:1.4rem 1.15rem;border-radius:22px;}
.pw-badge{font-size:10px;color:#d7dce5;}
.pw-title{font-size:32px;color:#fff;line-height:1.05;}
.pw-price,.pw-price-sub strong{color:#fff;}
.pw-benefit{color:#c7ccd7;}
.pw-benefit::before{color:#8d95a4;}
.premium-teaser,.about-card,.feature-lock,.notif-bar{border-radius:20px;}
.about-ttl,.pt-ttl,.mr-spouse-ttl,.luck-timeline-lbl{font-size:11px;color:#a4abba;}
.about-body{font-size:14px;color:#c9ced8;line-height:1.8;}
.trust-row{gap:8px;}
.trust-pill{font-size:10px;letter-spacing:.4px;color:#b4bac6;text-transform:none;background:#121318;border-color:#242933;}
.notif-bar{background:#121318;border-style:solid;}
.notif-txt{color:#cbd0d9;}
.notif-btn{border-radius:999px;border-color:#434959;color:#fff;padding:8px 12px;letter-spacing:.4px;text-transform:none;}
.price-toggle{background:#121318;border-color:#272b33;}
.pt-opt{font-size:11px;letter-spacing:.4px;text-transform:none;color:#8f97a6;}
.pt-opt.active{background:#f2f4f8;color:#0b0c0f;}
.modal-content{background:#101115;border-color:#242833;border-radius:24px;padding:1.3rem;}
.modal-title{font-size:24px;color:#fff;}
.modal-sub{font-size:12px;color:#99a1af;}
.share-actions,.mr-actions,.share-actions{gap:10px;}
.disclaimer{color:#818896;border-top-color:#1c1f26;}
.empty-title{font-size:22px;color:#fff;}
.empty-sub{font-size:13px;color:#9aa2af;}
.cl-title{font-size:18px;color:#fff;}
.cl-ring::before{border-top-color:#fff;border-right-color:#fff;}
.cl-ring::after{border-bottom-color:#545c6b;border-left-color:#545c6b;}
.cl-symbol{color:#fff;animation:none;}
.logo,.ob-icon{color:#fff;}
.ob-icon{animation:none;}
@media(max-width:420px){
  .tab-nav{gap:4px;padding:8px 8px;}
  .tab{font-size:10px;padding:11px 4px;}
  .dm-name{font-size:28px;}
  .tv-title,.pw-title{font-size:22px;}
}


/* ───────────────────────────────────────────────────────────── */

/* Readability + polish pass for 20–50 audience */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-size:16px;}
.panel{padding:1.65rem 1.25rem 2.2rem;}
.tab-nav{padding:12px 12px;gap:7px;}
.tab{font-size:12.5px;padding:13px 8px;line-height:1.2;}
.sec{font-size:12px;margin-bottom:1rem;}
.intro-text,.match-intro{font-size:15.5px;line-height:1.78;margin-bottom:1.35rem;}
.fg{margin-bottom:1.15rem;}
.fl{font-size:12px;margin-bottom:9px;}
.fl .hint{font-size:11px;}
.fi,.fs{font-size:16px;padding:16px 17px;min-height:54px;}
.fs{padding-right:40px;}
.dst-row{font-size:13.5px;line-height:1.6;padding:12px 14px;margin-bottom:1.15rem;}
.dst-row .hint{font-size:11px;}
.city-opt{padding:13px 15px;font-size:14px;}
.city-sub{font-size:11px;}
.btn-g,.pw-cta{font-size:13px;padding:16px 18px;}
.btn-ghost,.share-btn,.notif-btn{font-size:12px;padding:13px 14px;}
.adv-time{margin-top:14px;margin-bottom:1.05rem;border-radius:14px;}
.adv-time summary{padding:13px 15px;font-size:12px;line-height:1.45;}
.adv-time-body{padding:2px 15px 15px;}
.adv-time-body .fi{font-size:16px;}
.adv-hint{font-size:11.5px;line-height:1.65;margin-top:8px;}
.adv-time + .fg{margin-top:.35rem;}
.zi-split{margin-top:10px;padding:12px 13px;}
.zi-split-ttl{font-size:11px;margin-bottom:10px;}
.zi-radios label{padding:10px 11px;font-size:13px;line-height:1.5;}
.zi-note{font-size:11px;line-height:1.65;margin-top:10px;}
.dm-zh{font-size:72px;}
.dm-name{font-size:34px;}
.dm-meta{font-size:13px;}
.dm-essence{font-size:17px;line-height:1.82;max-width:100%;}
.zb-ttl{font-size:15px;}
.zb-sub{font-size:11.5px;}
.solar-flow,.solar-note,.lichun-note{font-size:12px;line-height:1.7;}
.sf-label{font-size:10px;}
.sf-val{font-size:13px;}
.sf-meta{font-size:11px;line-height:1.7;}
.pillar{padding:17px 10px;}
.p-lbl{font-size:10.5px;}
.p-stem{font-size:32px;}
.p-branch{font-size:22px;}
.p-en{font-size:10.5px;line-height:1.55;}
.el-card{min-height:94px;padding:15px 12px;}
.el-icon{font-size:25px;}
.el-nm{font-size:12px;}
.el-insight{font-size:14px;line-height:1.78;padding-top:6px;}
.yong-lbl{font-size:12px;}
.yong-name{font-size:30px;}
.yong-body{font-size:15px;line-height:1.8;}
.yong-secondary{font-size:12px;line-height:1.65;padding:.8rem .9rem;}
.yong-action{font-size:12px;line-height:1.55;padding:9px 11px;}
.yw-list{font-size:12px;line-height:1.75;}
.chart-quick-kicker,.today-rich-kicker,.mr-why-kicker,.mr-score-kicker{font-size:10.5px;}
.chart-quick-body,.today-rich-body,.mr-why-body,.mr-score-body{font-size:14px;line-height:1.8;}
.chart-deep-title{font-size:19px;margin-bottom:10px;}
.chart-deep-body{font-size:14.5px;line-height:1.85;}
.chart-bullets li{font-size:13px;line-height:1.72;}
.today-full{font-size:19px;}
.today-pillar{font-size:32px;line-height:1.2;}
.tv-title{font-size:26px;line-height:1.3;}
.tv-body{font-size:15px;line-height:1.8;}
.ti-ttl{font-size:11.5px;}
.ti-txt{font-size:14px;line-height:1.7;}
.luck-name{font-size:26px;line-height:1.25;}
.luck-body,.about-body,.mr-body,.disclaimer,.empty-sub,.notif-txt,.legal-body p{font-size:14.5px;line-height:1.8;}
.luck-timeline-lbl,.about-ttl,.tm-by,.pw-note,.trust-pill,.pt-ttl{font-size:11px;}
.luck-tl-row{gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;grid-auto-flow:column;grid-auto-columns:minmax(76px,1fr);grid-template-columns:none;}
.luck-tl-row::-webkit-scrollbar{display:none;}
.luck-tl-item{padding:8px 6px;min-width:76px;}
.ltl-age{font-size:9px;}
.ltl-s{font-size:14px;}
.ltl-b{font-size:11px;}
.mr-title{font-size:24px;line-height:1.38;}
.mr-score{font-size:11px;}
.mr-dim{padding:1rem .95rem;}
.mr-dim-ttl{font-size:10.5px;margin-bottom:6px;}
.mr-dim-val{font-size:15px;line-height:1.5;}
.mr-dim-sub,.mr-note{font-size:12px;line-height:1.7;}
.mr-spouse-body{font-size:13.5px;line-height:1.8;}
.modal-content{padding:1.45rem;}
.modal-title{font-size:20px;}
.modal-sub{font-size:13px;line-height:1.7;}
.empty-title{font-size:18px;}
.notif-btn{min-height:42px;}
@media (max-width:420px){
  .panel{padding:1.5rem 1rem 2rem;}
  .tab{font-size:12px;padding:12px 6px;}
  .chart-quick-grid,.today-rich-grid,.yong-actions,.mr-dims,.mr-score-grid,.mr-flag-grid,.mr-snapshot-grid{grid-template-columns:1fr;}
  .fr{grid-template-columns:1fr;gap:0;}
  .dm-zh{font-size:64px;}
  .dm-name{font-size:30px;}
  .today-pillar{font-size:30px;}
}
@media (max-width:390px){
  .tab-nav{padding:10px 10px;gap:6px;}
  .tab{font-size:11.5px;padding:11px 5px;}
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .mr-actions,.share-actions,.mr-share-action{flex-direction:column;}
}


/* ───────────────────────────────────────────────────────────── */

.auth-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:rgba(10,10,12,.92);font-family:var(--sans);position:sticky;top:56px;z-index:9;backdrop-filter:blur(10px);}
.auth-strip-left{min-width:0;display:flex;flex-direction:column;gap:2px;}
.auth-strip-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.auth-strip-email{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;}
.auth-inline-btn{width:auto!important;margin-top:0!important;padding:8px 12px!important;font-size:11px!important;letter-spacing:.04em!important;text-transform:none!important;border-radius:999px!important;white-space:nowrap;}
.auth-modal-grid{display:grid;gap:10px;margin-top:8px;}
.auth-note{font-size:11px;color:var(--muted);line-height:1.65;font-family:var(--sans);margin-top:8px;}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.auth-error{font-size:12px;line-height:1.6;color:var(--rose);font-family:var(--sans);min-height:18px;margin-top:8px;}
.save-cloud-btn{flex:1;}
@media(max-width:420px){
  .auth-strip{top:54px;padding:9px 12px;}
  .auth-strip-email{max-width:180px;}
  .auth-actions{grid-template-columns:1fr;}
}


/* ───────────────────────────────────────────────────────────── */

.vault-slot{margin-bottom:1.1rem;}
.vault-hero{background:#121318;border:1px solid #242832;border-radius:20px;padding:1.1rem 1rem;margin-bottom:1rem;}
.vault-kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:var(--sans);margin-bottom:8px;}
.vault-title{font-size:22px;line-height:1.2;color:var(--text);font-family:var(--serif);margin-bottom:8px;}
.vault-sub{font-size:14px;line-height:1.78;color:var(--dim);font-family:var(--sans);}
.vault-grid{display:grid;gap:10px;margin-bottom:1rem;}
.vault-card{background:var(--bg3);border:1px solid var(--b2);border-radius:16px;padding:1rem;}
.vault-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.vault-card-title{font-size:18px;line-height:1.3;color:var(--text);font-family:var(--serif);}
.vault-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:10px;color:var(--muted);font-family:var(--sans);white-space:nowrap;}
.vault-body{font-size:13px;line-height:1.72;color:var(--dim);font-family:var(--sans);}
.vault-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.vault-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:11px;color:var(--text);font-family:var(--sans);}
.vault-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.vault-btn{width:auto!important;flex:1 1 140px;margin-top:0!important;padding:11px 12px!important;}
.vault-empty{background:var(--bg3);border:1px dashed var(--b3);border-radius:16px;padding:1rem;font-size:13px;line-height:1.72;color:var(--dim);font-family:var(--sans);}
.vault-list{display:grid;gap:10px;}
.vault-row{background:var(--bg3);border:1px solid var(--b2);border-radius:16px;padding:1rem;}
.vault-row-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.vault-row-title{font-size:17px;line-height:1.3;color:var(--text);font-family:var(--serif);}
.vault-row-sub{font-size:12px;line-height:1.65;color:var(--muted);font-family:var(--sans);}
.vault-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;}
.vault-mini{width:auto!important;margin-top:0!important;padding:9px 11px!important;font-size:11px!important;}
.vault-select{width:100%;background:var(--bg4);border:1px solid var(--b3);border-radius:12px;padding:13px 14px;color:var(--text)!important;font-size:14px;font-family:var(--sans);outline:none;-webkit-appearance:none;-webkit-text-fill-color:var(--text);}
.match-save-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.match-save-row .btn-ghost,.match-save-row .btn-g{flex:1 1 180px;margin-top:0;}
.saved-people-rail{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:0 0 12px;scrollbar-width:none;}
.saved-people-rail::-webkit-scrollbar{display:none;}
.saved-person-pill{width:auto!important;min-width:max-content;margin-top:0!important;padding:10px 12px!important;font-size:11px!important;}
.vault-section{margin-top:14px;}
.vault-section .sec{margin-bottom:.8rem;}
@media(max-width:420px){
  .vault-card-title,.vault-row-title{font-size:16px;}
  .vault-actions,.vault-inline,.match-save-row{flex-direction:column;}
  .vault-btn,.vault-mini,.match-save-row .btn-ghost,.match-save-row .btn-g{flex:1 1 auto;width:100%!important;}
}


/* ───────────────────────────────────────────────────────────── */

:root{
  --gold:#e6d6bb;
  --gold-soft:#f6efe4;
  --gold-dim:#a78d62;
  --bg:#08090b;
  --bg2:#0b0d10;
  --bg3:#101318;
  --bg4:#14181e;
  --border:#232a33;
  --b2:#2b343f;
  --b3:#3a4654;
  --text:#f4efe7;
  --dim:#d4cabc;
  --muted:#988c79;
  --faint:#6f685d;
  --sans:Inter,-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;
  --serif:'Iowan Old Style','Cormorant Garamond',Georgia,serif;
}
body{background:radial-gradient(circle at top,rgba(190,155,98,.08),transparent 20%),#050608;color:var(--text);}
.app{background:linear-gradient(180deg,#090b0e 0%,#0b0f14 18%,#0a0d11 100%);max-width:500px;}
@media(min-width:520px){.app{border-radius:30px;border:1px solid rgba(230,214,187,.16);box-shadow:0 36px 90px rgba(0,0,0,.55);}}
.header{padding:calc(1.65rem + env(safe-area-inset-top,0px)) 1.35rem 1rem;border-bottom:1px solid rgba(230,214,187,.08);background:linear-gradient(180deg,rgba(11,13,17,.98) 0%,rgba(10,13,17,.9) 100%);}
.logo{font-size:18px;color:var(--gold);margin-bottom:.35rem;opacity:.95;}
.app-title{font-size:30px;letter-spacing:.06em;color:var(--gold-soft);font-weight:500;}
.app-sub{font-size:10.5px;letter-spacing:.08em;color:rgba(244,239,231,.58);margin-top:7px;}
.auth-strip{top:58px;padding:9px 14px;background:rgba(10,12,16,.88);border-bottom:1px solid rgba(230,214,187,.06);}
.auth-strip-kicker{font-size:9px;letter-spacing:.16em;color:rgba(244,239,231,.42);}
.auth-strip-email{font-size:12px;color:rgba(244,239,231,.86);}
.tab-nav{padding:10px 12px 12px;gap:8px;border-bottom:1px solid rgba(230,214,187,.07);background:rgba(9,11,14,.94);backdrop-filter:blur(18px);}
.tab{padding:12px 8px;border-radius:999px;font-size:11.5px;letter-spacing:.01em;color:rgba(244,239,231,.52);border:1px solid transparent;background:transparent;font-weight:500;}
.tab.active{color:#0f1217;background:linear-gradient(180deg,var(--gold-soft),#d7c4a4);border-color:rgba(230,214,187,.28);}
.tab:hover{color:var(--gold-soft);}
.panel{padding:1.45rem 1.05rem 2rem;}
.sec{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,231,.5);margin-bottom:.9rem;font-weight:600;}
.sec::after{background:linear-gradient(90deg,rgba(230,214,187,.16),transparent);}
.intro-text,.match-intro,.about-body,.today-verdict .tv-body,.luck-body,.mr-body,.yong-body,.el-insight,.empty-sub,.disclaimer,.vault-sub,.vault-body,.vault-empty,.vault-row-sub,.mr-section-body,.chart-deep-body,.mr-score-sub,.mr-note,.auth-note,.modal-sub{font-size:14px;line-height:1.8;color:rgba(244,239,231,.74);}
.fl{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(244,239,231,.52);margin-bottom:8px;}
.fl .hint{font-size:10px;color:rgba(244,239,231,.38);}
.fi,.fs,.vault-select{background:rgba(17,21,27,.94)!important;border:1px solid rgba(230,214,187,.12)!important;border-radius:16px;padding:15px 16px;color:var(--gold-soft)!important;-webkit-text-fill-color:var(--gold-soft)!important;caret-color:var(--gold-soft);font-size:15px;box-shadow:none;}
.fi:focus,.fs:focus,.vault-select:focus{border-color:rgba(230,214,187,.36)!important;box-shadow:0 0 0 4px rgba(230,214,187,.08)!important;}
.fi::placeholder,.fs::placeholder{color:rgba(244,239,231,.30)!important;-webkit-text-fill-color:rgba(244,239,231,.30)!important;}
input.fi:-webkit-autofill,
input.fi:-webkit-autofill:hover,
input.fi:-webkit-autofill:focus,
input[type="email"].fi:-webkit-autofill,
input[type="password"].fi:-webkit-autofill,
input[type="text"].fi:-webkit-autofill,
input[type="time"].fi:-webkit-autofill{
  -webkit-text-fill-color:var(--gold-soft)!important;
  caret-color:var(--gold-soft)!important;
  box-shadow:0 0 0 1000px rgba(17,21,27,.98) inset!important;
  -webkit-box-shadow:0 0 0 1000px rgba(17,21,27,.98) inset!important;
  border:1px solid rgba(230,214,187,.14)!important;
  transition:background-color 9999s ease-out 0s;
}
select.fs option{background:#13171d;color:var(--gold-soft);}
.city-box{margin-top:10px;background:#11151b;border:1px solid rgba(230,214,187,.12);border-radius:16px;box-shadow:0 18px 30px rgba(0,0,0,.35);}
.city-opt{padding:13px 15px;color:var(--gold-soft);font-size:14px;border-bottom:1px solid rgba(230,214,187,.06);}
.city-opt:hover,.city-opt-active{background:rgba(230,214,187,.07);}
.city-sub{font-size:10.5px;color:rgba(244,239,231,.42);}
.dst-row,.adv-time,.zodiac-bar,.solar-flow,.solar-note,.lichun-note,.about-card,.feature-lock,.premium-teaser,.luck-hero,.luck-timeline,.today-verdict,.ti-card,.mr-dim,.mr-spouse,.match-form,.modal-content,.paywall,.yong-card,.pillar,.el-card,.notif-bar,.chart-glance,.chart-quick-card,.chart-deep-card,.mr-score-card,.mr-longread,.mr-section,.mr-flag-card,.mr-compare-card,.mr-shareline,.mr-lab-card,.today-rich-card,.luck-facet,.vault-hero,.vault-card,.vault-row,.vault-empty{background:linear-gradient(180deg,rgba(18,22,28,.92) 0%,rgba(15,18,23,.98) 100%);border:1px solid rgba(230,214,187,.10);border-radius:20px;box-shadow:none;}
.dst-row{padding:12px 14px;}
.adv-time{margin-top:14px;border-radius:18px;overflow:hidden;}
.adv-time summary{padding:13px 15px;font-size:11px;letter-spacing:.12em;color:rgba(244,239,231,.58);}
.adv-time-body{padding:0 15px 15px;}
.adv-hint,.zi-note{font-size:11px;line-height:1.65;color:rgba(244,239,231,.42);}
.btn-g,.pw-cta{background:linear-gradient(180deg,var(--gold-soft),#d5c2a1)!important;border:1px solid rgba(230,214,187,.3)!important;color:#15181d!important;-webkit-text-fill-color:#15181d!important;border-radius:999px;font-size:12px;letter-spacing:.01em;text-transform:none;font-weight:600;padding:15px 18px;}
.btn-ghost,.share-btn,.notif-btn,.vault-btn,.vault-mini,.saved-person-pill{background:rgba(15,18,24,.96)!important;border:1px solid rgba(230,214,187,.12)!important;color:var(--gold-soft)!important;-webkit-text-fill-color:var(--gold-soft)!important;border-radius:999px;font-size:11px;letter-spacing:.01em;text-transform:none;padding:11px 14px;}
.btn-ghost:hover,.share-btn:hover,.notif-btn:hover,.vault-btn:hover,.vault-mini:hover,.saved-person-pill:hover{background:rgba(230,214,187,.08)!important;border-color:rgba(230,214,187,.24)!important;}
.dm-hero{padding:.9rem .1rem 1.4rem;margin-bottom:1.1rem;}
.dm-zh{font-size:62px;color:var(--gold-soft);}
.dm-name{font-size:30px;color:var(--gold-soft);margin-bottom:.35rem;}
.dm-meta{font-size:12px;color:rgba(244,239,231,.52);margin-bottom:.85rem;}
.dm-essence{font-size:16px;line-height:1.82;color:rgba(244,239,231,.82);max-width:100%;}
.pillars-grid{gap:8px;}
.pillar{padding:15px 8px;border-radius:18px;}
.pillar.dm{border-color:rgba(230,214,187,.24);background:linear-gradient(180deg,rgba(230,214,187,.08),rgba(18,22,28,.98));}
.p-lbl{font-size:9px;color:rgba(244,239,231,.40);margin-bottom:8px;}
.p-stem{font-size:29px;color:var(--gold-soft);}
.p-branch{font-size:20px;color:rgba(244,239,231,.72);}
.p-en{font-size:9.5px;color:rgba(244,239,231,.38);}
.el-row{grid-template-columns:repeat(5,1fr);gap:8px;}
.el-card{min-height:0;padding:12px 8px;text-align:center;align-items:center;justify-content:flex-start;border-radius:18px;}
.el-card:nth-child(5){grid-column:auto;}
.el-card.strong{background:linear-gradient(180deg,rgba(230,214,187,.08),rgba(16,19,24,.98));border-color:rgba(230,214,187,.20);}
.el-icon{font-size:21px;margin-bottom:6px;color:var(--gold-soft);}
.el-nm{font-size:10px;color:rgba(244,239,231,.68);}
.el-bw{height:3px;margin:8px 0 0;width:100%;background:rgba(244,239,231,.08);}
.el-b{background:rgba(230,214,187,.74);}
.el-insight{padding:2px 2px 0;color:rgba(244,239,231,.68);}
.yong-card{padding:1.2rem 1rem 1rem;border-radius:22px;}
.yong-lbl,.vault-kicker,.chart-glance-kicker,.chart-quick-kicker,.today-rich-kicker,.mr-why-kicker,.mr-score-label,.mr-section-kicker,.mr-flag-title,.mr-next-title,.mr-lab-title,.ti-ttl,.about-ttl,.pw-badge,.luck-timeline-lbl,.today-day,.trust-pill,.pt-ttl{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,231,.46);}
.yong-name{font-size:25px;color:var(--gold-soft);}
.yong-el{font-size:35px;color:var(--gold);}
.yong-body{font-size:14px;color:rgba(244,239,231,.78);}
.yong-secondary,.yong-action,.chart-frontline-item,.chart-assert-card,.mr-shareline,.mr-note-strong{background:rgba(230,214,187,.03);border:1px solid rgba(230,214,187,.08);}
.chart-glance{padding:1.1rem 1rem;border-radius:22px;}
.chart-glance-head,.chart-deep-title,.vault-title,.vault-card-title,.vault-row-title,.modal-title,.today-full,.mr-title,.tv-title,.luck-name,.pw-title{color:var(--gold-soft);font-family:var(--serif);}
.chart-glance-head{font-size:22px;line-height:1.38;}
.chart-glance-sub{font-size:14px;line-height:1.82;color:rgba(244,239,231,.72);}
.chart-frontline-item,.chart-assert-text,.chart-quick-body,.chart-deep-body,.chart-bullets li{font-size:13.5px;line-height:1.76;}
.chart-quick-grid,.today-rich-grid,.luck-facet-grid,.mr-score-grid,.mr-flag-grid,.mr-snapshot-grid{gap:10px;}
.today-verdict{padding:1.15rem 1rem;border-radius:22px;}
.tv-title{font-size:22px;}
.tv-body{font-size:14px;line-height:1.78;color:rgba(244,239,231,.80);}
.ti-card{padding:13px 14px;}
.ti-ttl{display:block;margin-bottom:6px;color:rgba(244,239,231,.58);}
.ti-txt{font-size:13.5px;color:rgba(244,239,231,.72);line-height:1.75;}
.luck-hero,.luck-timeline,.about-card,.paywall,.feature-lock,.premium-teaser,.notif-bar,.modal-content,.match-form,.vault-card,.vault-row,.vault-hero{border-radius:22px;}
.luck-name{font-size:23px;}
.luck-body{font-size:14px;color:rgba(244,239,231,.76);}
.luck-timeline-scroll .luck-tl-item,.luck-tl-item{border-radius:14px;min-width:82px;}
.mr-hero{padding:1.2rem 1rem;border-radius:24px;}
.mr-title{font-size:24px;line-height:1.3;}
.mr-score{font-size:10.5px;border-radius:999px;}
.mr-body,.mr-longread{font-size:14px;line-height:1.82;color:rgba(244,239,231,.76);border-radius:22px;}
.mr-dim,.mr-score-card,.mr-section,.mr-flag-card,.mr-compare-card,.mr-spouse,.mr-lab-card{padding:1rem;border-radius:20px;}
.mr-dim-val,.mr-score-num,.mr-section-title,.mr-why-main{color:var(--gold-soft);}
.mr-dim-val{font-size:15px;font-weight:600;}
.mr-dim-sub,.mr-score-sub,.mr-section-body,.mr-why-body,.mr-spouse-body,.mr-bullets li,.mr-note,.mr-shareline,.mr-lab-body{color:rgba(244,239,231,.68);}
.match-save-row,.mr-actions,.share-actions,.mr-share-action{gap:10px;}
 .modal-action-row{display:flex;gap:10px;align-items:center;}
.modal-action-row .btn-g,.modal-action-row .btn-ghost{flex:1;margin-top:0;}
#shareCanvas,#matchShareCanvas{width:100%;border-radius:18px;background:#0d1014;border:1px solid rgba(230,214,187,.08);margin-bottom:14px;}
.vault-hero{padding:1.2rem 1rem;}
.vault-title{font-size:24px;}
.vault-sub{color:rgba(244,239,231,.70);}
.vault-grid,.vault-list{gap:12px;}
.vault-card,.vault-row{padding:1rem;border-radius:20px;}
.vault-card-head,.vault-row-top{margin-bottom:8px;}
.vault-card-title,.vault-row-title{font-size:18px;}
.vault-row-sub,.vault-body{font-size:13.5px;color:rgba(244,239,231,.58);}
.vault-chip,.vault-badge{background:rgba(230,214,187,.04);border:1px solid rgba(230,214,187,.08);color:var(--gold-soft);}
.saved-people-rail{gap:10px;padding-bottom:8px;}
.saved-person-pill{padding:10px 13px!important;}
.empty-title{font-size:20px;color:var(--gold-soft);}
.empty-sub{font-size:13.5px;color:rgba(244,239,231,.62);}
.modal-content{padding:1.35rem;border-radius:24px;}
.modal-title{font-size:24px;}
.auth-actions{gap:10px;}
.auth-error{font-size:12px;color:#e0a9b1;}
.disclaimer{font-size:12.5px;color:rgba(244,239,231,.52);border-top-color:rgba(230,214,187,.08);}
.notif-txt{font-size:13px;color:rgba(244,239,231,.70);}
.pw-title{font-size:30px;line-height:1.05;}
.pw-benefit,.pt-body,.pt-list{font-size:13.5px;line-height:1.74;color:rgba(244,239,231,.72);}
.trust-row{gap:8px;justify-content:flex-start;}
.trust-pill{font-size:9.5px;border-radius:999px;background:rgba(230,214,187,.04);border:1px solid rgba(230,214,187,.08);color:rgba(244,239,231,.56);padding:5px 10px;}
@media(max-width:420px){
  .panel{padding:1.35rem .95rem 1.9rem;}
  .auth-strip{top:54px;padding:8px 12px;}
  .auth-strip-email{max-width:180px;}
  .tab-nav{padding:10px 10px 12px;gap:6px;overflow-x:auto;scrollbar-width:none;}
  .tab-nav::-webkit-scrollbar{display:none;}
  .tab{flex:0 0 auto;padding:11px 12px;}
  .el-row{grid-template-columns:repeat(3,1fr);}
  .el-card:nth-child(4),.el-card:nth-child(5){grid-column:span 1;}
  .chart-quick-grid,.today-rich-grid,.luck-facet-grid,.mr-score-grid,.mr-flag-grid,.mr-snapshot-grid,.fr{grid-template-columns:1fr;}
  .modal-action-row,
  .auth-actions,.share-actions,.mr-actions,.mr-share-action,.vault-actions,.vault-inline,.match-save-row{flex-direction:column;display:flex;}
  .btn-g,.btn-ghost,.share-btn,.notif-btn,.vault-btn,.vault-mini,.saved-person-pill{width:100%!important;}
}
@media(max-width:390px){
  .app-title{font-size:28px;}
  .dm-zh{font-size:56px;}
  .dm-name{font-size:28px;}
  .mr-title,.tv-title{font-size:21px;}
  .el-row{grid-template-columns:repeat(2,1fr);}
}

/* v1.2.1 account cleanup */
.more-hero{margin-bottom:1rem;}
.more-copy{font-size:14px;line-height:1.78;color:rgba(244,239,231,.72);font-family:var(--sans);margin-bottom:1rem;}
.match-vault-panel{background:linear-gradient(180deg,rgba(18,22,28,.92),rgba(13,16,20,.98));border:1px solid rgba(230,214,187,.10);border-radius:22px;padding:1rem;margin-bottom:1rem;}
.match-vault-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:.85rem;}
.match-vault-title{font-family:var(--serif);font-size:20px;color:var(--gold-soft);line-height:1.2;}
.match-vault-sub{font-family:var(--sans);font-size:12px;color:rgba(244,239,231,.52);line-height:1.55;margin-top:4px;}
.match-vault-link{background:transparent;border:none;color:var(--gold);font-family:var(--sans);font-size:11px;cursor:pointer;white-space:nowrap;padding:4px 0;}
.saved-people-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.saved-person-card{display:flex;align-items:center;gap:10px;text-align:left;background:rgba(230,214,187,.035)!important;border:1px solid rgba(230,214,187,.10)!important;border-radius:16px!important;padding:11px 12px!important;color:var(--gold-soft)!important;-webkit-text-fill-color:var(--gold-soft)!important;font-family:var(--sans);cursor:pointer;}
.saved-person-orb{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(230,214,187,.20);color:var(--gold);font-family:var(--serif);font-size:16px;flex:0 0 auto;}
.saved-person-name{font-size:13px;line-height:1.2;color:var(--gold-soft);}
.saved-person-meta{font-size:11px;line-height:1.35;color:rgba(244,239,231,.50);margin-top:2px;}
.manual-form-divider{display:flex;align-items:center;gap:10px;margin:1.1rem 0 1rem;color:rgba(244,239,231,.42);font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;}
.manual-form-divider:before,.manual-form-divider:after{content:'';height:1px;background:rgba(230,214,187,.08);flex:1;}
.vault-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:.85rem;}
.vault-section-title{font-family:var(--serif);font-size:22px;color:var(--gold-soft);line-height:1.2;}
.vault-section-sub{font-family:var(--sans);font-size:12.5px;color:rgba(244,239,231,.56);line-height:1.55;margin-top:3px;}
@media(max-width:420px){.saved-people-cards{grid-template-columns:1fr;}.match-vault-head,.vault-section-head{align-items:flex-start;flex-direction:column;}.match-vault-link{text-align:left;}}


/* ───────────────────────────────────────────────────────────── */

/* v1.2.3 · refined celestial ornaments
   UI-only polish: no calculation, auth, database, or match-engine logic changed. */
:root{
  --bg:#07090b;
  --bg2:#0a0d10;
  --bg3:#0f1418;
  --panel:#10161b;
  --panel2:#121922;
  --text:#f3eadc;
  --dim:#c4b8a7;
  --muted:#948878;
  --faint:#635b51;
  --gold:#d7a968;
  --gold-soft:#ecd5ad;
  --gold-weak:rgba(215,169,104,.22);
  --line:rgba(236,213,173,.13);
  --line2:rgba(236,213,173,.22);
  --shadow-luxe:0 24px 70px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.035);
}
html,body{
  background:
    radial-gradient(circle at 18% 4%, rgba(215,169,104,.16), transparent 24%),
    radial-gradient(circle at 92% 0%, rgba(215,169,104,.08), transparent 20%),
    linear-gradient(180deg,#050608 0%,#090b0e 100%);
}
.app{
  max-width:520px;
  background:
    radial-gradient(circle at 18% 6%, rgba(215,169,104,.105), transparent 24%),
    radial-gradient(circle at 82% 6%, rgba(215,169,104,.06), transparent 19%),
    radial-gradient(circle at 50% -12%, rgba(236,213,173,.07), transparent 25%),
    linear-gradient(180deg,#07090b 0%,#0b0f12 42%,#07090b 100%)!important;
  position:relative;
  overflow:hidden;
}
.app::before{
  content:'';
  position:absolute;inset:0;pointer-events:none;opacity:.58;z-index:0;
  background-image:
    radial-gradient(circle at 14% 12%, rgba(236,213,173,.60) 0 1px, transparent 1.4px),
    radial-gradient(circle at 82% 11%, rgba(236,213,173,.45) 0 1px, transparent 1.5px),
    radial-gradient(circle at 53% 7%, rgba(236,213,173,.50) 0 1px, transparent 1.4px),
    radial-gradient(circle at 25% 31%, rgba(236,213,173,.30) 0 .8px, transparent 1.2px),
    radial-gradient(circle at 78% 37%, rgba(236,213,173,.24) 0 .8px, transparent 1.2px),
    radial-gradient(circle at 42% 66%, rgba(236,213,173,.20) 0 .8px, transparent 1.2px);
}
.app::after{
  content:'';position:absolute;left:50%;top:18px;transform:translateX(-50%);width:300px;height:70px;pointer-events:none;z-index:0;opacity:.62;
  border-top:1px solid rgba(236,213,173,.26);border-radius:50%;
}
.app>*{position:relative;z-index:1;}
@media(min-width:520px){
  body{padding:18px 14px;}
  .app{border-radius:30px;border:1px solid rgba(236,213,173,.12);box-shadow:0 38px 110px rgba(0,0,0,.68);}
}
.header{
  padding:calc(2.15rem + env(safe-area-inset-top,0px)) 1.45rem 1.25rem!important;
  border-bottom:1px solid rgba(236,213,173,.10)!important;
  background:linear-gradient(180deg,rgba(9,11,14,.86),rgba(8,10,12,.42))!important;
  overflow:visible!important;
}
.header::before{
  content:''!important;display:block!important;position:absolute!important;left:50%;top:18px!important;transform:translateX(-50%)!important;
  width:118px!important;height:18px!important;border-top:1px solid rgba(236,213,173,.35)!important;border-radius:50%!important;
  background:transparent!important;opacity:.85!important;pointer-events:none;
}
.header::after{
  content:'✦'!important;position:absolute;left:50%;top:8px;transform:translateX(-50%);font-size:13px;color:var(--gold);opacity:.88;pointer-events:none;
}
.logo{
  width:34px!important;height:34px!important;margin:0 auto .72rem!important;border-radius:50%;display:grid!important;place-items:center!important;
  color:var(--gold)!important;font-size:14px!important;line-height:1!important;
  background:radial-gradient(circle at 50% 43%,rgba(236,213,173,.14),rgba(7,9,11,.98) 66%)!important;
  border:1px solid rgba(236,213,173,.24)!important;
  box-shadow:0 0 0 5px rgba(236,213,173,.035), inset 0 0 0 1px rgba(255,255,255,.03)!important;
}
.logo::before,.logo::after{content:'';position:absolute;background:rgba(236,213,173,.23);pointer-events:none;}
.logo::before{width:1px;height:54px;top:-10px;left:50%;}
.logo::after{height:1px;width:54px;left:-10px;top:50%;}
.app-title{
  font-family:var(--serif)!important;font-size:34px!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  color:#f3e7d7!important;font-weight:400!important;text-shadow:0 0 30px rgba(215,169,104,.11)!important;
}
.app-sub{
  margin-top:8px!important;font-family:var(--serif)!important;text-transform:none!important;letter-spacing:.03em!important;
  font-size:13px!important;color:rgba(243,234,220,.62)!important;line-height:1.5!important;
  display:inline-flex!important;align-items:center;gap:10px;justify-content:center;
}
.app-sub::before,.app-sub::after{content:''!important;width:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(236,213,173,.36));display:block;position:static!important;transform:none!important;}
.app-sub::after{background:linear-gradient(90deg,rgba(236,213,173,.36),transparent);}
.auth-strip,.tab-nav{
  margin-left:1.05rem!important;margin-right:1.05rem!important;border-radius:20px!important;
  background:linear-gradient(180deg,rgba(18,24,29,.82),rgba(11,15,18,.92))!important;
  border:1px solid rgba(236,213,173,.12)!important;box-shadow:var(--shadow-luxe)!important;
}
.auth-strip{padding:13px 14px!important;}
.auth-strip-kicker{color:rgba(236,213,173,.62)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:9px!important;}
.auth-strip-email{color:rgba(243,234,220,.84)!important;}
.tab-nav{padding:6px!important;gap:4px!important;overflow:visible!important;}
.tab{
  border-radius:15px!important;min-height:46px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  color:rgba(243,234,220,.55)!important;-webkit-text-fill-color:rgba(243,234,220,.55)!important;
  font-size:11px!important;letter-spacing:.02em!important;font-family:var(--sans)!important;position:relative!important;
}
.tab::before{font-size:16px!important;line-height:1;color:rgba(236,213,173,.42)!important;position:static!important;transform:none!important;content:'◇'!important;display:block!important;}
.tab:nth-child(1)::before{content:'☉'!important;}
.tab:nth-child(2)::before{content:'☽'!important;}
.tab:nth-child(3)::before{content:'♡'!important;}
.tab:nth-child(4)::before{content:'◎'!important;}
.tab:nth-child(5)::before{content:'▣'!important;}
.tab:nth-child(6)::before{content:'⋯'!important;}
.tab.active{
  color:var(--gold-soft)!important;-webkit-text-fill-color:var(--gold-soft)!important;
  background:linear-gradient(180deg,rgba(215,169,104,.18),rgba(215,169,104,.055))!important;
  box-shadow:inset 0 0 0 1px rgba(236,213,173,.13)!important;
}
.tab.active::before{color:var(--gold)!important;}
.tab.active::after{content:''!important;position:absolute!important;left:30%;right:30%;bottom:5px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)!important;border-radius:99px;}
.panel{padding:1rem 1.05rem 1.3rem!important;}
.sec{
  display:flex!important;align-items:center!important;gap:9px!important;margin:1.35rem 0 .9rem!important;
  color:var(--gold-soft)!important;font-family:var(--serif)!important;font-size:19px!important;letter-spacing:.01em!important;text-transform:none!important;
}
.sec::before{content:'✦'!important;font-family:var(--serif);font-size:12px;color:var(--gold);}
.sec::after{content:''!important;display:block!important;height:1px;flex:1;background:linear-gradient(90deg,rgba(236,213,173,.26),transparent)!important;}
.intro-text,.empty-sub,.modal-sub,.vault-sub,.vault-section-sub,.match-vault-sub,.more-copy,.pt-body,.about-body{
  color:rgba(243,234,220,.70)!important;line-height:1.78!important;font-size:14px!important;
}
/* ornamental cards */
.dst-row,.adv-time,.zodiac-bar,.solar-flow,.solar-note,.lichun-note,.about-card,.feature-lock,.premium-teaser,.luck-hero,.luck-timeline,.today-verdict,.ti-card,.mr-dim,.mr-spouse,.match-form,.modal-content,.paywall,.yong-card,.pillar,.el-card,.notif-bar,.chart-glance,.chart-quick-card,.chart-deep-card,.mr-score-card,.mr-longread,.mr-section,.mr-flag-card,.mr-compare-card,.mr-shareline,.mr-lab-card,.today-rich-card,.luck-facet,.vault-hero,.vault-card,.vault-row,.vault-empty,.match-vault-panel,.el-insight,#yongCard{
  background:linear-gradient(180deg,rgba(19,26,31,.90),rgba(9,13,16,.96))!important;
  border:1px solid rgba(236,213,173,.13)!important;border-radius:22px!important;box-shadow:var(--shadow-luxe)!important;
  position:relative;overflow:hidden;
}
.dst-row::before,.adv-time::before,.zodiac-bar::before,.solar-flow::before,.solar-note::before,.about-card::before,.premium-teaser::before,.luck-hero::before,.luck-timeline::before,.today-verdict::before,.ti-card::before,.mr-dim::before,.mr-spouse::before,.match-form::before,.modal-content::before,.paywall::before,.yong-card::before,.pillar::before,.el-card::before,.notif-bar::before,.chart-glance::before,.chart-quick-card::before,.chart-deep-card::before,.mr-score-card::before,.mr-longread::before,.mr-section::before,.mr-flag-card::before,.mr-compare-card::before,.mr-shareline::before,.mr-lab-card::before,.today-rich-card::before,.luck-facet::before,.vault-hero::before,.vault-card::before,.vault-row::before,.vault-empty::before,.match-vault-panel::before,.el-insight::before,#yongCard::before{
  content:''!important;position:absolute!important;right:13px!important;top:12px!important;width:31px!important;height:31px!important;opacity:.30!important;pointer-events:none!important;background:
    linear-gradient(rgba(236,213,173,.36),rgba(236,213,173,.36)) center/1px 100% no-repeat,
    linear-gradient(rgba(236,213,173,.36),rgba(236,213,173,.36)) center/100% 1px no-repeat!important;
}
.dst-row::after,.adv-time::after,.zodiac-bar::after,.solar-flow::after,.solar-note::after,.about-card::after,.premium-teaser::after,.luck-hero::after,.luck-timeline::after,.today-verdict::after,.ti-card::after,.mr-dim::after,.mr-spouse::after,.match-form::after,.modal-content::after,.paywall::after,.yong-card::after,.pillar::after,.el-card::after,.notif-bar::after,.chart-glance::after,.chart-quick-card::after,.chart-deep-card::after,.mr-score-card::after,.mr-longread::after,.mr-section::after,.mr-flag-card::after,.mr-compare-card::after,.mr-shareline::after,.mr-lab-card::after,.today-rich-card::after,.luck-facet::after,.vault-hero::after,.vault-card::after,.vault-row::after,.vault-empty::after,.match-vault-panel::after,.el-insight::after,#yongCard::after{
  content:'✦'!important;position:absolute!important;right:24px!important;top:21px!important;font-size:8px!important;color:rgba(236,213,173,.54)!important;pointer-events:none!important;
}
/* Day Master emblem */
.dm-hero{
  text-align:center!important;padding:1.55rem 1rem 1.6rem!important;margin-bottom:1.2rem!important;
  background:radial-gradient(circle at 50% 38%,rgba(215,169,104,.10),transparent 48%),linear-gradient(180deg,rgba(14,20,24,.35),rgba(9,12,15,.25))!important;
  border:0!important;box-shadow:none!important;
}
.dm-hero::before{display:none!important;}
.dm-zh{
  display:grid!important;place-items:center!important;width:136px!important;height:136px!important;margin:0 auto .92rem!important;border-radius:50%!important;
  border:1px solid rgba(215,169,104,.50)!important;color:var(--gold)!important;font-size:58px!important;letter-spacing:0!important;line-height:1!important;
  background:radial-gradient(circle at 50% 50%,rgba(215,169,104,.10),rgba(6,8,10,.02) 62%)!important;
  box-shadow:0 0 0 8px rgba(215,169,104,.035),0 0 0 18px rgba(215,169,104,.025), inset 0 0 28px rgba(215,169,104,.05)!important;
  position:relative!important;text-shadow:0 0 22px rgba(215,169,104,.18)!important;
}
.dm-zh::before{content:'';position:absolute;inset:14px;border:1px solid rgba(215,169,104,.34);border-radius:50%;box-shadow:0 0 0 10px rgba(215,169,104,.025);}
.dm-zh::after{content:'✦';position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--gold);text-shadow:none;}
.dm-name{font-size:29px!important;color:var(--gold-soft)!important;font-family:var(--serif)!important;font-style:normal!important;letter-spacing:.01em!important;margin-bottom:.3rem!important;}
.dm-meta{font-family:var(--serif)!important;color:rgba(243,234,220,.64)!important;text-transform:none!important;letter-spacing:.02em!important;font-size:13px!important;margin-bottom:.9rem!important;}
.dm-essence{font-family:var(--serif)!important;font-size:16px!important;line-height:1.82!important;color:rgba(243,234,220,.78)!important;max-width:30em!important;margin:0 auto!important;}
/* Pillars and elements */
.pillars-grid{gap:10px!important;}
.pillar{padding:17px 10px 15px!important;text-align:center!important;}
.p-lbl{color:rgba(236,213,173,.55)!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-size:9px!important;}
.p-stem,.p-branch{color:#f3e7d7!important;text-shadow:0 0 20px rgba(215,169,104,.10)!important;}
.pillar.dm{border-color:rgba(215,169,104,.34)!important;background:linear-gradient(180deg,rgba(215,169,104,.105),rgba(10,14,17,.96))!important;}
.el-row{gap:9px!important;}
.el-card{align-items:center!important;text-align:center!important;padding:13px 8px!important;}
.el-icon{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center;margin:0 auto 8px!important;border:1px solid rgba(236,213,173,.18);background:rgba(236,213,173,.035);font-size:17px!important;}
.el-nm{font-family:var(--serif)!important;color:var(--gold-soft)!important;font-size:14px!important;}
.el-bw{height:4px!important;border-radius:999px!important;background:rgba(236,213,173,.10)!important;margin-top:10px!important;}
/* Forms and controls */
.fi,.fs{
  min-height:52px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(19,26,31,.98),rgba(10,14,17,.98))!important;
  color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;border:1px solid rgba(236,213,173,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;font-size:16px!important;
}
.fi::placeholder{color:rgba(243,234,220,.38)!important;-webkit-text-fill-color:rgba(243,234,220,.38)!important;}
.fi:focus,.fs:focus{outline:none!important;border-color:rgba(215,169,104,.44)!important;box-shadow:0 0 0 5px rgba(215,169,104,.08), inset 0 1px 0 rgba(255,255,255,.04)!important;}
.fl{color:rgba(236,213,173,.74)!important;letter-spacing:.10em!important;text-transform:uppercase!important;font-size:10px!important;}
/* Buttons */
.btn-g,.pw-cta{
  border:0!important;border-radius:999px!important;color:#17100a!important;-webkit-text-fill-color:#17100a!important;
  background:linear-gradient(180deg,#f0d5aa 0%,#d4a769 52%,#bd8b4f 100%)!important;
  box-shadow:0 18px 40px rgba(149,103,47,.22), inset 0 1px 0 rgba(255,255,255,.38)!important;
  font-family:var(--serif)!important;text-transform:none!important;letter-spacing:.01em!important;font-size:16px!important;
}
.btn-ghost,.share-btn,.vault-btn,.vault-inline,.auth-inline-btn,.modal-action-row .btn-ghost{
  border-radius:999px!important;border:1px solid rgba(236,213,173,.18)!important;background:rgba(236,213,173,.045)!important;color:rgba(243,234,220,.80)!important;-webkit-text-fill-color:rgba(243,234,220,.80)!important;
}
.share-actions{gap:10px!important;}
.share-btn{min-height:44px!important;}
/* Match */
.match-vault-panel{padding:1rem!important;border-radius:24px!important;}
.saved-people-cards{display:flex!important;gap:12px!important;overflow-x:auto!important;padding:2px 2px 8px!important;scrollbar-width:none;}
.saved-people-cards::-webkit-scrollbar{display:none;}
.saved-person-card{min-width:138px!important;flex:0 0 auto!important;border-radius:20px!important;padding:12px 12px!important;background:linear-gradient(180deg,rgba(21,29,34,.92),rgba(10,14,17,.96))!important;border:1px solid rgba(236,213,173,.14)!important;}
.saved-person-orb{width:42px!important;height:42px!important;border-color:rgba(215,169,104,.34)!important;color:var(--gold)!important;background:radial-gradient(circle,rgba(215,169,104,.12),rgba(8,11,14,.95))!important;}
.mr-hero{border-radius:28px!important;padding:1.45rem 1.1rem!important;border:1px solid rgba(215,169,104,.18)!important;background:radial-gradient(circle at 50% 10%,rgba(215,169,104,.10),transparent 36%),linear-gradient(180deg,rgba(19,26,31,.92),rgba(9,13,16,.98))!important;box-shadow:var(--shadow-luxe)!important;}
.mr-dm{border:1px solid rgba(215,169,104,.28)!important;border-radius:50%!important;width:58px!important;height:58px!important;display:grid!important;place-items:center!important;color:var(--gold)!important;background:rgba(215,169,104,.045)!important;}
.mr-link{color:rgba(215,169,104,.70)!important;}
.mr-score{border-radius:999px!important;background:rgba(215,169,104,.08)!important;border:1px solid rgba(215,169,104,.18)!important;display:inline-flex!important;padding:8px 14px!important;color:var(--gold-soft)!important;}
.mr-pill{border-color:rgba(215,169,104,.18)!important;background:rgba(215,169,104,.055)!important;color:rgba(243,234,220,.78)!important;border-radius:999px!important;}
.mr-dim-ttl,.mr-score-label,.mr-section-kicker,.today-rich-kicker,.vault-kicker{color:rgba(215,169,104,.72)!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-size:9.5px!important;}
/* Vault */
.vault-hero{padding:1.25rem!important;border-radius:26px!important;}
.vault-title,.vault-section-title,.vault-card-title,.vault-row-title{color:var(--gold-soft)!important;font-family:var(--serif)!important;}
.vault-grid{gap:12px!important;}
.vault-card,.vault-row{border-radius:24px!important;}
.vault-mini,.vault-badge{
  border:1px solid rgba(215,169,104,.28)!important;background:radial-gradient(circle,rgba(215,169,104,.10),rgba(8,11,14,.96))!important;color:var(--gold-soft)!important;
}
.vault-row{transition:transform .18s ease,border-color .18s ease;}
.vault-row:hover{transform:translateY(-1px);border-color:rgba(215,169,104,.25)!important;}
/* Tiny icons for content cards */
.chart-quick-card:nth-child(1)::before,.chart-deep-card:nth-child(1)::before,.mr-compare-card:nth-child(1)::before{content:'✦'!important;background:none!important;right:auto!important;left:16px!important;top:14px!important;width:auto!important;height:auto!important;font-size:15px!important;color:var(--gold)!important;opacity:.8!important;}
.chart-quick-card:nth-child(2)::before,.chart-deep-card:nth-child(2)::before,.mr-compare-card:nth-child(2)::before{content:'◎'!important;background:none!important;right:auto!important;left:16px!important;top:14px!important;width:auto!important;height:auto!important;font-size:15px!important;color:var(--gold)!important;opacity:.8!important;}
.chart-quick-card:nth-child(3)::before,.chart-deep-card:nth-child(3)::before,.mr-compare-card:nth-child(3)::before{content:'◇'!important;background:none!important;right:auto!important;left:16px!important;top:14px!important;width:auto!important;height:auto!important;font-size:15px!important;color:var(--gold)!important;opacity:.8!important;}
.chart-quick-card,.chart-deep-card,.mr-compare-card{padding-top:2.45rem!important;}
/* Mobile tuning */
@media(max-width:420px){
  .app-title{font-size:30px!important;letter-spacing:.14em!important;}
  .app-sub{font-size:12px!important;gap:8px;}
  .app-sub::before,.app-sub::after{width:22px;}
  .auth-strip,.tab-nav{margin-left:.8rem!important;margin-right:.8rem!important;}
  .panel{padding-left:.85rem!important;padding-right:.85rem!important;}
  .tab{font-size:10px!important;min-height:43px!important;}
  .tab::before{font-size:14px!important;}
  .sec{font-size:18px!important;}
  .dm-zh{width:122px!important;height:122px!important;font-size:52px!important;}
  .dm-name{font-size:27px!important;}
  .pillars-grid{grid-template-columns:repeat(2,1fr)!important;}
  .el-row{grid-template-columns:repeat(2,1fr)!important;}
  .el-card:nth-child(5){grid-column:1 / -1!important;}
  .saved-person-card{min-width:128px!important;}
  .share-actions,.modal-action-row{flex-direction:column!important;}
  .btn-g{min-height:52px!important;}
}


/* ───────────────────────────────────────────────────────────── */

/* v1.2.4 · ornate comparison build
   UI-only layer: richer decorative system, colored Five Elements, stronger iconography. */
:root{
  --wood:#7fbf8a;
  --wood-rgb:127,191,138;
  --fire:#e58f72;
  --fire-rgb:229,143,114;
  --earth:#d4a968;
  --earth-rgb:212,169,104;
  --metal:#e8e4d8;
  --metal-rgb:232,228,216;
  --water:#7da7d9;
  --water-rgb:125,167,217;
  --ornate-gold:#d7a968;
  --ornate-cream:#f3eadc;
  --ornate-line:rgba(236,213,173,.18);
  --ornate-card:rgba(12,17,21,.94);
}
/* Luxurious star-field and ornamental frame */
.app{
  background:
    radial-gradient(circle at 12% 4%,rgba(215,169,104,.18),transparent 22%),
    radial-gradient(circle at 88% 2%,rgba(125,167,217,.08),transparent 20%),
    radial-gradient(circle at 50% -8%,rgba(236,213,173,.075),transparent 25%),
    linear-gradient(180deg,#050608 0%,#0b0f13 45%,#06080a 100%)!important;
}
.app::before{
  opacity:.78!important;
  background-image:
    radial-gradient(circle at 12% 12%,rgba(243,234,220,.66) 0 1px,transparent 1.5px),
    radial-gradient(circle at 34% 7%,rgba(215,169,104,.55) 0 .85px,transparent 1.3px),
    radial-gradient(circle at 63% 8%,rgba(243,234,220,.46) 0 .9px,transparent 1.4px),
    radial-gradient(circle at 84% 14%,rgba(215,169,104,.44) 0 1px,transparent 1.5px),
    radial-gradient(circle at 18% 38%,rgba(125,167,217,.30) 0 .9px,transparent 1.4px),
    radial-gradient(circle at 78% 44%,rgba(229,143,114,.22) 0 .9px,transparent 1.4px),
    radial-gradient(circle at 42% 72%,rgba(127,191,138,.26) 0 .9px,transparent 1.4px),
    linear-gradient(90deg,transparent 0 18%,rgba(236,213,173,.025) 18% 18.2%,transparent 18.2% 81.8%,rgba(236,213,173,.025) 81.8% 82%,transparent 82%);
}
.app::after{border-top-color:rgba(236,213,173,.36)!important;box-shadow:0 -20px 60px rgba(215,169,104,.10);}
.header{padding-top:calc(2.35rem + env(safe-area-inset-top,0px))!important;}
.header .logo::before{height:62px!important;top:-14px!important;background:linear-gradient(180deg,transparent,rgba(236,213,173,.38),transparent)!important;}
.header .logo::after{width:62px!important;left:-14px!important;background:linear-gradient(90deg,transparent,rgba(236,213,173,.38),transparent)!important;}
.app-title{font-size:35px!important;letter-spacing:.20em!important;}
.app-title::before,.app-title::after{content:'✧';font-size:13px;color:rgba(215,169,104,.72);vertical-align:middle;margin:0 11px;text-shadow:none;}
/* Section ornaments */
.sec{font-size:20px!important;margin-top:1.55rem!important;margin-bottom:1rem!important;}
.sec::before{content:'✶'!important;color:var(--ornate-gold)!important;font-size:13px!important;text-shadow:0 0 20px rgba(215,169,104,.28);}
.sec::after{background:linear-gradient(90deg,rgba(215,169,104,.34),rgba(215,169,104,.11),transparent)!important;}
/* Card ornamental corners */
.dst-row,.adv-time,.zodiac-bar,.solar-flow,.solar-note,.lichun-note,.about-card,.premium-teaser,.luck-hero,.luck-timeline,.today-verdict,.ti-card,.mr-dim,.mr-spouse,.match-form,.modal-content,.paywall,.yong-card,.pillar,.el-card,.notif-bar,.chart-glance,.chart-quick-card,.chart-deep-card,.mr-score-card,.mr-longread,.mr-section,.mr-flag-card,.mr-compare-card,.mr-shareline,.mr-lab-card,.today-rich-card,.luck-facet,.vault-hero,.vault-card,.vault-row,.vault-empty,.match-vault-panel,.el-insight,#yongCard{
  border-color:rgba(236,213,173,.17)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.04),inset 0 0 0 1px rgba(255,255,255,.012)!important;
}
.dst-row::before,.adv-time::before,.zodiac-bar::before,.solar-flow::before,.solar-note::before,.about-card::before,.premium-teaser::before,.luck-hero::before,.luck-timeline::before,.today-verdict::before,.ti-card::before,.mr-dim::before,.mr-spouse::before,.match-form::before,.modal-content::before,.paywall::before,.yong-card::before,.pillar::before,.el-card::before,.notif-bar::before,.chart-glance::before,.chart-quick-card::before,.chart-deep-card::before,.mr-score-card::before,.mr-longread::before,.mr-section::before,.mr-flag-card::before,.mr-compare-card::before,.mr-shareline::before,.mr-lab-card::before,.today-rich-card::before,.luck-facet::before,.vault-hero::before,.vault-card::before,.vault-row::before,.vault-empty::before,.match-vault-panel::before,.el-insight::before,#yongCard::before{
  opacity:.42!important;
}
/* Day Master medallion: more ceremonial */
.dm-hero{padding-top:1.45rem!important;padding-bottom:1.65rem!important;}
.dm-zh{
  width:150px!important;height:150px!important;font-size:64px!important;
  border-color:rgba(215,169,104,.62)!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(215,169,104,.16),rgba(9,12,15,.03) 62%),
    conic-gradient(from 0deg,rgba(215,169,104,.02),rgba(215,169,104,.18),rgba(215,169,104,.02),rgba(125,167,217,.10),rgba(215,169,104,.02))!important;
  box-shadow:0 0 0 7px rgba(215,169,104,.035),0 0 0 18px rgba(215,169,104,.025),0 0 80px rgba(215,169,104,.10),inset 0 0 34px rgba(215,169,104,.08)!important;
}
.dm-zh::before{inset:16px!important;border-color:rgba(236,213,173,.34)!important;}
.dm-zh::after{content:'✦   ✧   ✦'!important;width:100px;text-align:center;top:-13px!important;font-size:10px!important;letter-spacing:5px;}
.dm-name{font-size:31px!important;}
/* Five Elements: colored ornate cards */
.el-row{
  grid-template-columns:repeat(5,1fr)!important;
  gap:8px!important;
  align-items:stretch!important;
}
.el-card{
  min-height:132px!important;
  padding:12px 7px 11px!important;
  border-radius:22px!important;
  text-align:center!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
.el-card::before{
  right:8px!important;top:8px!important;width:24px!important;height:24px!important;opacity:.32!important;
}
.el-card::after{right:16px!important;top:14px!important;font-size:7px!important;opacity:.62!important;}
.el-card-head{display:flex;align-items:baseline;justify-content:center;gap:4px;min-height:23px;}
.el-icon{
  width:46px!important;height:46px!important;border-radius:50%!important;margin:0 auto 8px!important;
  border:1px solid currentColor!important;
  display:grid!important;place-items:center!important;
  position:relative!important;
  box-shadow:0 0 0 6px rgba(255,255,255,.025),inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
.el-icon::before,.el-icon::after{content:'';position:absolute;inset:6px;border-radius:50%;border:1px solid currentColor;opacity:.22;}
.el-icon::after{inset:-5px;border-style:dashed;opacity:.18;}
.el-sigil{font-size:19px!important;line-height:1;filter:drop-shadow(0 0 10px currentColor);}
.el-nm{font-family:var(--serif)!important;font-size:13.5px!important;color:var(--ornate-cream)!important;line-height:1.1;}
.el-cn{font-size:11px;color:currentColor;font-family:var(--serif);opacity:.82;}
.el-pct{font-family:var(--serif);font-size:23px;line-height:1;color:var(--ornate-cream);margin-top:7px;letter-spacing:.01em;}
.el-state{font-family:var(--sans);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,234,220,.54);margin-top:5px;}
.el-bw{height:4px!important;width:100%;border-radius:999px!important;margin:10px 0 0!important;background:rgba(255,255,255,.09)!important;overflow:hidden;}
.el-b{height:100%;border-radius:999px;background:currentColor!important;box-shadow:0 0 14px currentColor!important;}
.el-card.strong{box-shadow:0 28px 80px rgba(0,0,0,.54),0 0 0 1px currentColor inset,0 0 44px rgba(215,169,104,.08)!important;}
.el-card.weak{opacity:.80!important;filter:saturate(.72);}
.el-wood{color:var(--wood)!important;background:linear-gradient(180deg,rgba(var(--wood-rgb),.18),rgba(10,14,17,.96))!important;border-color:rgba(var(--wood-rgb),.36)!important;}
.el-fire{color:var(--fire)!important;background:linear-gradient(180deg,rgba(var(--fire-rgb),.18),rgba(10,14,17,.96))!important;border-color:rgba(var(--fire-rgb),.36)!important;}
.el-earth{color:var(--earth)!important;background:linear-gradient(180deg,rgba(var(--earth-rgb),.18),rgba(10,14,17,.96))!important;border-color:rgba(var(--earth-rgb),.38)!important;}
.el-metal{color:var(--metal)!important;background:linear-gradient(180deg,rgba(var(--metal-rgb),.16),rgba(10,14,17,.96))!important;border-color:rgba(var(--metal-rgb),.34)!important;}
.el-water{color:var(--water)!important;background:linear-gradient(180deg,rgba(var(--water-rgb),.18),rgba(10,14,17,.96))!important;border-color:rgba(var(--water-rgb),.36)!important;}
.el-insight{border-color:rgba(215,169,104,.20)!important;background:linear-gradient(180deg,rgba(17,24,29,.92),rgba(8,12,15,.98))!important;}
/* Dimension and match bars inherit a more jewel-like look */
.mr-score-fill,.el-b{
  background:linear-gradient(90deg,currentColor,rgba(255,255,255,.82))!important;
}
.mr-score-track,.mr-score-fill{height:5px!important;border-radius:999px!important;}
.mr-score-card{border-radius:22px!important;}
.mr-score-num{color:var(--gold-soft)!important;text-shadow:0 0 20px rgba(215,169,104,.12);}
/* Vault and saved people: richer mini-icons */
.saved-person-orb,.vault-mini,.vault-badge{
  border-color:rgba(215,169,104,.44)!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(215,169,104,.18),rgba(8,11,14,.94) 68%),
    conic-gradient(from 45deg,rgba(215,169,104,.04),rgba(215,169,104,.22),rgba(215,169,104,.04))!important;
  color:var(--gold-soft)!important;
}
.saved-person-card,.vault-row,.vault-card{
  background:linear-gradient(180deg,rgba(19,27,32,.94),rgba(9,13,16,.98))!important;
}
.saved-person-card::after,.vault-row::after,.vault-card::after{content:'✧'!important;color:rgba(215,169,104,.50)!important;}
/* Rich tiny content icons */
.ti-ico,.notif-ico,.fl-ico{filter:drop-shadow(0 0 12px rgba(215,169,104,.22));}
.chart-quick-card,.chart-deep-card,.today-rich-card,.luck-facet,.mr-section,.mr-compare-card{
  padding-top:2.65rem!important;
}
.chart-quick-card::before,.chart-deep-card::before,.today-rich-card::before,.luck-facet::before,.mr-section::before,.mr-compare-card::before{
  background:none!important;left:16px!important;right:auto!important;top:14px!important;width:auto!important;height:auto!important;
  font-size:15px!important;opacity:.90!important;color:var(--gold)!important;
}
.chart-quick-card:nth-child(4n+1)::before,.chart-deep-card:nth-child(4n+1)::before,.today-rich-card:nth-child(4n+1)::before,.luck-facet:nth-child(4n+1)::before,.mr-section:nth-child(4n+1)::before,.mr-compare-card:nth-child(4n+1)::before{content:'✦'!important;}
.chart-quick-card:nth-child(4n+2)::before,.chart-deep-card:nth-child(4n+2)::before,.today-rich-card:nth-child(4n+2)::before,.luck-facet:nth-child(4n+2)::before,.mr-section:nth-child(4n+2)::before,.mr-compare-card:nth-child(4n+2)::before{content:'◎'!important;}
.chart-quick-card:nth-child(4n+3)::before,.chart-deep-card:nth-child(4n+3)::before,.today-rich-card:nth-child(4n+3)::before,.luck-facet:nth-child(4n+3)::before,.mr-section:nth-child(4n+3)::before,.mr-compare-card:nth-child(4n+3)::before{content:'◇'!important;}
.chart-quick-card:nth-child(4n+4)::before,.chart-deep-card:nth-child(4n+4)::before,.today-rich-card:nth-child(4n+4)::before,.luck-facet:nth-child(4n+4)::before,.mr-section:nth-child(4n+4)::before,.mr-compare-card:nth-child(4n+4)::before{content:'☽'!important;}
/* More ornate mobile tuning */
@media(max-width:420px){
  .el-row{grid-template-columns:repeat(2,1fr)!important;}
  .el-card{min-height:126px!important;}
  .el-card:nth-child(5){grid-column:1 / -1!important;min-height:118px!important;}
  .el-card:nth-child(5) .el-icon{width:42px!important;height:42px!important;}
  .dm-zh{width:136px!important;height:136px!important;font-size:58px!important;}
  .app-title::before,.app-title::after{margin:0 6px;font-size:10px;}
}
@media(max-width:360px){
  .el-card{padding-left:6px!important;padding-right:6px!important;}
  .el-pct{font-size:21px;}
  .el-nm{font-size:13px!important;}
}

/* v1.4.0 pricing + plus preview */
.plan-meter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 1rem;}
.plan-meter-item{background:linear-gradient(180deg,rgba(18,22,28,.92),rgba(13,16,20,.98));border:1px solid rgba(230,214,187,.12);border-radius:18px;padding:12px 12px;box-shadow:0 12px 36px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03);position:relative;overflow:hidden;}
.plan-meter-item::after{content:'✦';position:absolute;right:12px;top:10px;font-size:9px;color:rgba(230,214,187,.34);}
.plan-meter-k{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,231,.44);margin-bottom:5px;}
.plan-meter-item strong{display:block;font-family:var(--serif);font-size:15px;line-height:1.35;color:var(--gold-soft);font-weight:500;}
.pricing-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:1.2rem 0 1rem;}
.price-card{background:linear-gradient(180deg,rgba(18,22,28,.96),rgba(12,15,20,.98));border:1px solid rgba(230,214,187,.12);border-radius:24px;padding:1.15rem;position:relative;overflow:hidden;box-shadow:0 18px 52px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035);}
.price-card::before{content:'';position:absolute;right:12px;top:10px;width:42px;height:42px;opacity:.24;pointer-events:none;background:linear-gradient(rgba(230,214,187,.28),rgba(230,214,187,.28)) center/1px 100% no-repeat,linear-gradient(rgba(230,214,187,.28),rgba(230,214,187,.28)) center/100% 1px no-repeat;}
.price-card::after{content:'✦';position:absolute;right:28px;top:25px;font-size:9px;color:rgba(230,214,187,.48);pointer-events:none;}
.price-card.is-featured{border-color:rgba(226,190,128,.30);box-shadow:0 22px 64px rgba(190,136,66,.16),inset 0 1px 0 rgba(255,255,255,.04);}
.price-kicker{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,231,.58);margin-bottom:.65rem;}
.price-value{font-family:var(--serif);font-size:34px;line-height:1;color:var(--gold-soft);margin-bottom:.45rem;}
.price-value span{font-family:var(--sans);font-size:13px;color:rgba(244,239,231,.52);margin-left:4px;}
.price-sub{font-family:var(--sans);font-size:13px;line-height:1.65;color:rgba(244,239,231,.62);margin-bottom:.9rem;max-width:34ch;}
.price-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:8px;}
.price-list li{font-family:var(--sans);font-size:13px;line-height:1.6;color:rgba(244,239,231,.72);padding-left:18px;position:relative;}
.price-list li::before{content:'◇';position:absolute;left:0;top:0;color:rgba(226,190,128,.76);font-size:10px;line-height:1.9;}
.price-btn{width:100%!important;margin-top:.2rem!important;}
.plus-paywall .pw-title{margin-bottom:.65rem;}
@media(min-width:760px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.price-card{padding:1.1rem .95rem;}.price-value{font-size:28px;}.price-list li{font-size:12px;}}
@media(max-width:420px){.plan-meter{grid-template-columns:1fr;gap:8px;}.plan-meter-item{padding:11px 12px;}.price-card{padding:1rem;}.price-value{font-size:30px;}}

/* v1.5.0 Relationship Ranking */
.ranking-panel{
  margin:0 0 1rem;
  padding:1.05rem;
  border-radius:24px;
  border:1px solid rgba(230,214,187,.13);
  background:
    radial-gradient(circle at 12% 0%, rgba(121,156,255,.10), transparent 28%),
    radial-gradient(circle at 95% 0%, rgba(227,193,133,.10), transparent 24%),
    linear-gradient(180deg, rgba(18,22,30,.96), rgba(12,15,21,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.03);
  position:relative;
  overflow:hidden;
}
.ranking-panel::before{
  content:'';
  position:absolute;
  right:16px;
  top:14px;
  width:46px;
  height:46px;
  opacity:.28;
  pointer-events:none;
  background:
    linear-gradient(rgba(230,214,187,.35),rgba(230,214,187,.35)) center/1px 100% no-repeat,
    linear-gradient(rgba(230,214,187,.35),rgba(230,214,187,.35)) center/100% 1px no-repeat;
}
.ranking-panel::after{
  content:'✦';
  position:absolute;
  right:33px;
  top:29px;
  color:rgba(230,214,187,.5);
  font-size:9px;
  pointer-events:none;
}
.ranking-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:.9rem;position:relative;z-index:1;}
.ranking-kicker{font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(230,214,187,.52);margin-bottom:6px;}
.ranking-title{font-family:var(--serif);font-size:22px;line-height:1.18;color:var(--gold-soft);max-width:13em;}
.ranking-sub{font-family:var(--sans);font-size:12px;line-height:1.55;color:rgba(244,239,231,.58);margin-top:5px;max-width:34em;}
.ranking-share,.ranking-cta{
  border:1px solid rgba(230,214,187,.18);
  background:linear-gradient(180deg,rgba(230,214,187,.06),rgba(230,214,187,.025));
  color:var(--gold-soft);
  border-radius:999px;
  padding:9px 13px;
  font-family:var(--sans);
  font-size:11px;
  cursor:pointer;
  white-space:nowrap;
}
.ranking-pattern{
  margin:.65rem 0 1rem;
  padding:.85rem .9rem;
  border-radius:18px;
  border:1px solid rgba(230,214,187,.10);
  background:rgba(230,214,187,.035);
  color:rgba(244,239,231,.80);
  font-family:var(--serif);
  font-size:15px;
  line-height:1.72;
  position:relative;
  z-index:1;
}
.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1;}
.ranking-card{
  text-align:left;
  border:1px solid rgba(230,214,187,.12);
  background:linear-gradient(180deg,rgba(230,214,187,.045),rgba(230,214,187,.018));
  color:var(--gold-soft);
  border-radius:18px;
  padding:.85rem;
  cursor:pointer;
  font-family:var(--sans);
  min-width:0;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.ranking-card:hover{transform:translateY(-1px);border-color:rgba(230,214,187,.24);}
.ranking-card-k{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(230,214,187,.50);margin-bottom:8px;}
.ranking-card-main{display:flex;align-items:center;gap:9px;min-width:0;}
.ranking-orb{
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(230,214,187,.22);background:radial-gradient(circle,rgba(230,214,187,.12),rgba(13,16,22,.98));
  color:var(--gold);font-family:var(--serif);font-size:15px;flex:0 0 auto;
}
.ranking-card-main strong{display:block;font-size:13px;line-height:1.25;color:var(--gold-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:108px;}
.ranking-card-main em{display:block;font-style:normal;font-size:10px;line-height:1.35;color:rgba(244,239,231,.48);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:118px;}
.ranking-card-main b{margin-left:auto;font-family:var(--serif);font-size:23px;font-weight:500;color:var(--gold);line-height:1;}
.ranking-track{display:block;height:4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin:10px 0 8px;}
.ranking-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#79a6ff,#e3c185,#f0e0bc);}
.ranking-card-sub{display:block;font-size:11px;line-height:1.55;color:rgba(244,239,231,.58);}
.ranking-locked{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:126px;}
.ranking-locked strong{font-family:var(--serif);font-size:17px;line-height:1.25;color:var(--gold-soft);}
.ranking-locked em{font-style:normal;font-size:11px;line-height:1.55;color:rgba(244,239,231,.56);}
.ranking-compact .ranking-title{font-size:20px;}
.ranking-compact .ranking-grid{grid-template-columns:1fr;}
.ranking-compact .ranking-card-main strong{max-width:150px;}
@media(max-width:420px){
  .ranking-panel{padding:.95rem;border-radius:22px;}
  .ranking-head{flex-direction:column;}
  .ranking-grid{grid-template-columns:1fr;}
  .ranking-title{font-size:20px;max-width:none;}
  .ranking-card-main strong,.ranking-card-main em{max-width:170px;}
  .ranking-share{align-self:flex-start;}
}


/* v1.5.2 growth/security patch */
.vault-relation-select{min-width:138px;max-width:180px;font-size:11px;padding:8px 10px;}
@media(max-width:420px){.vault-relation-select{width:100%;max-width:none;}}


/* v1.7 onboarding conversion + match share */
.accuracy-advanced{margin-top:1rem;margin-bottom:1rem;}
.accuracy-advanced .zi-split{margin:10px 0 12px;}
.match-viral-cta{
  margin:1rem 0;padding:1.1rem 1rem;border-radius:22px;
  border:1px solid rgba(230,214,187,.18);
  background:radial-gradient(circle at 15% 0%, rgba(230,214,187,.13), transparent 35%),linear-gradient(180deg,rgba(230,214,187,.06),rgba(13,16,20,.94));
  box-shadow:0 20px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03);
  position:relative;overflow:hidden;text-align:left;
}
.match-viral-cta::before{content:'⟷';position:absolute;right:18px;top:14px;font-family:var(--serif);font-size:30px;color:rgba(230,214,187,.18);}
.match-viral-kicker{font-family:var(--sans);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(230,214,187,.58);margin-bottom:.45rem;}
.match-viral-title{font-family:var(--serif);font-size:22px;line-height:1.18;color:var(--gold-soft);margin-bottom:.5rem;max-width:82%;}
.match-viral-copy{font-family:var(--sans);font-size:13px;line-height:1.7;color:rgba(244,239,231,.62);margin-bottom:.9rem;max-width:62ch;}
.match-viral-cta .btn-g{width:100%;margin-top:0;}
.match-share-primary{border-color:rgba(230,214,187,.28)!important;background:linear-gradient(180deg,rgba(230,214,187,.11),rgba(230,214,187,.04))!important;color:var(--gold-soft)!important;-webkit-text-fill-color:var(--gold-soft)!important;}
.onboarding-lite-note{font-size:11px;line-height:1.6;color:var(--faint);font-family:var(--sans);font-style:italic;text-align:center;margin-top:.8rem;}
@media(max-width:420px){.match-viral-title{font-size:20px;max-width:88%;}.match-viral-copy{font-size:12.5px;}.accuracy-advanced .fr{grid-template-columns:1fr;}}

/* v1.7.1 product hardening */
.relation-select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(230,214,187,.18);
  border-radius:999px;
  padding:7px 28px 7px 11px;
  background:
    linear-gradient(45deg, transparent 50%, rgba(230,214,187,.72) 50%) calc(100% - 14px) 50%/6px 6px no-repeat,
    linear-gradient(135deg, rgba(230,214,187,.72) 50%, transparent 50%) calc(100% - 10px) 50%/6px 6px no-repeat,
    linear-gradient(180deg,rgba(230,214,187,.075),rgba(230,214,187,.025));
  color:var(--gold-soft);
  -webkit-text-fill-color:var(--gold-soft);
  font:600 11px var(--sans);
  letter-spacing:.02em;
  min-width:122px;
  cursor:pointer;
}
.relation-select:focus{outline:none;box-shadow:0 0 0 3px rgba(230,214,187,.08);border-color:rgba(230,214,187,.32);}
.city-opt-empty{cursor:default;color:rgba(244,239,231,.72);}
.city-opt-empty:hover{background:rgba(230,214,187,.035);}
@media(max-width:420px){.relation-select{width:100%;min-width:0;}.vault-row-top{align-items:flex-start;}}

/* v1.9.0 — Luck Cycle Overlap */
.luck-overlap-panel{
  margin:1.1rem 0;
  padding:1.05rem;
  border:1px solid rgba(230,214,187,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(211,164,94,.13), transparent 32%),
    linear-gradient(180deg, rgba(18,21,27,.95), rgba(10,13,18,.98));
  box-shadow:0 18px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035);
  position:relative;
  overflow:hidden;
}
.luck-overlap-panel:before{
  content:'';
  position:absolute;
  right:16px;top:14px;
  width:42px;height:42px;
  opacity:.24;
  background:
    linear-gradient(rgba(230,214,187,.34),rgba(230,214,187,.34)) center/1px 100% no-repeat,
    linear-gradient(rgba(230,214,187,.34),rgba(230,214,187,.34)) center/100% 1px no-repeat;
  pointer-events:none;
}
.luck-overlap-panel:after{
  content:'✦';
  position:absolute;
  right:32px;top:28px;
  font-size:9px;
  color:rgba(230,214,187,.52);
  pointer-events:none;
}
.lo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;}
.lo-kicker{font:700 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(230,214,187,.58);margin-bottom:.35rem;}
.lo-title{font-family:var(--serif);font-size:23px;line-height:1.15;color:var(--gold-soft);max-width:17rem;}
.lo-score{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(230,214,187,.25);background:radial-gradient(circle,rgba(230,214,187,.13),rgba(15,17,22,.95));color:var(--gold);font-family:var(--serif);font-size:22px;box-shadow:0 0 0 5px rgba(230,214,187,.035);}
.lo-copy{font:400 13px/1.75 var(--sans);color:rgba(244,239,231,.68);margin-bottom:.9rem;max-width:60ch;}
.lo-copy em{color:var(--gold-soft);font-style:italic;}
.lo-focus{padding:.9rem;border:1px solid rgba(230,214,187,.12);border-radius:18px;background:rgba(230,214,187,.04);margin-bottom:.9rem;}
.lo-years{font-family:var(--serif);font-size:25px;color:var(--gold);line-height:1;margin-bottom:.55rem;}
.lo-line{font:500 13px/1.65 var(--sans);color:rgba(244,239,231,.78);}
.lo-line span{color:rgba(244,239,231,.42);font-style:italic;margin:0 .25rem;}
.lo-note{font:400 13px/1.7 var(--serif);color:rgba(244,239,231,.72);font-style:italic;margin-top:.65rem;}
.lo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;}
.lo-card{border:1px solid rgba(230,214,187,.10);border-radius:18px;padding:.78rem;background:rgba(8,10,14,.48);}
.lo-card.current{border-color:rgba(230,214,187,.22);background:rgba(230,214,187,.055);}
.lo-card-k{font:700 9px/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:rgba(230,214,187,.48);margin-bottom:.4rem;}
.lo-card-years{font-family:var(--serif);font-size:19px;color:var(--gold-soft);line-height:1.1;margin-bottom:.35rem;}
.lo-card-main{font:600 12.5px/1.35 var(--sans);color:rgba(244,239,231,.84);margin-bottom:.35rem;}
.lo-card-sub{font:400 11px/1.45 var(--sans);color:rgba(244,239,231,.52);min-height:2.4em;}
.lo-track{height:4px;border-radius:999px;background:rgba(230,214,187,.08);overflow:hidden;margin-top:.65rem;}
.lo-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#d8aa6b,#f1d3a2);}
.lo-disclaimer{font:400 10.5px/1.55 var(--sans);color:rgba(244,239,231,.42);font-style:italic;text-align:center;margin-top:.85rem;}
@media(max-width:560px){
  .lo-head{align-items:flex-start;}
  .lo-title{font-size:21px;}
  .lo-score{width:48px;height:48px;font-size:19px;}
  .lo-grid{grid-template-columns:1fr;}
}

/* v1.9.1 Match UX simplification */
.match-vault-shortcut{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:0 0 1rem;
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(230,214,187,.13);
  background:linear-gradient(180deg,rgba(230,214,187,.045),rgba(230,214,187,.022));
  box-shadow:0 14px 38px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.025);
  font-family:var(--sans);
}
.match-vault-shortcut strong{
  display:block;
  color:var(--gold-soft);
  font-family:var(--serif);
  font-size:16px;
  line-height:1.25;
  margin-bottom:3px;
}
.match-vault-shortcut span{
  display:block;
  color:rgba(244,239,231,.56);
  font-size:12px;
  line-height:1.45;
}
.match-vault-shortcut.post-match{margin:1rem 0;}
.match-result-simple .match-summary-hero{margin-bottom:.95rem;}
.match-core-actions{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:10px;
  margin:1rem 0 1rem;
}
.match-core-actions .btn-g,.match-core-actions .btn-ghost{margin-top:0;width:100%;}
.match-core-grid{margin-top:.35rem;margin-bottom:1rem;}
.match-focus-grid{grid-template-columns:1fr 1fr;margin-top:.8rem;margin-bottom:1rem;}
.match-viral-cta.compact{padding:1rem;margin:1rem 0;}
.match-viral-cta.compact .match-viral-title{font-size:20px;max-width:86%;}
.match-viral-cta.compact .match-viral-copy{font-size:12.5px;line-height:1.6;margin-bottom:.75rem;}
.match-detail-block{
  border:1px solid rgba(230,214,187,.13);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(18,22,28,.92),rgba(12,15,19,.98));
  margin:12px 0;
  overflow:hidden;
  box-shadow:0 16px 44px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.025);
}
.match-detail-block summary{
  cursor:pointer;
  list-style:none;
  padding:15px 16px;
  font-family:var(--serif);
  color:var(--gold-soft);
  font-size:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.match-detail-block summary::-webkit-details-marker{display:none;}
.match-detail-block summary::after{
  content:'＋';
  font-family:var(--sans);
  font-size:14px;
  color:rgba(230,214,187,.58);
}
.match-detail-block[open] summary::after{content:'－';}
.match-detail-inner{
  padding:0 14px 14px;
  border-top:1px solid rgba(230,214,187,.08);
}
.luck-detail-block .luck-overlap-panel{margin:14px 0 0;}
.match-result-simple .mr-score-grid{grid-template-columns:1fr 1fr;}
.match-result-simple .mr-sharelines{margin-top:1rem;}
@media(max-width:520px){
  .match-core-actions,.match-focus-grid,.match-result-simple .mr-score-grid{grid-template-columns:1fr;}
  .match-vault-shortcut{flex-direction:column;align-items:flex-start;}
  .match-vault-shortcut .vault-mini{width:100%;}
  .match-detail-block summary{font-size:17px;padding:14px;}
}


/* v1.9.2 Match cleanup + visible timing teaser */
.luck-overlap-teaser{
  width:100%;
  border:1px solid rgba(230,214,187,.16);
  border-radius:20px;
  padding:15px 16px;
  margin:1rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  text-align:left;
  cursor:pointer;
  color:var(--gold-soft);
  background:
    radial-gradient(circle at 12% 16%, rgba(230,214,187,.12), transparent 24%),
    linear-gradient(180deg,rgba(230,214,187,.055),rgba(230,214,187,.025));
  box-shadow:0 16px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.luck-overlap-teaser:hover{border-color:rgba(230,214,187,.28);transform:translateY(-1px);}
.lot-left{display:flex;flex-direction:column;gap:4px;min-width:0;}
.lot-kicker{font:700 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(230,214,187,.50);}
.lot-left strong{font-family:var(--serif);font-size:20px;color:var(--gold-soft);font-weight:500;line-height:1.12;}
.lot-left span:last-child{font:400 12px/1.55 var(--sans);color:rgba(244,239,231,.62);}
.lot-score{width:50px;height:50px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(230,214,187,.24);background:radial-gradient(circle,rgba(230,214,187,.13),rgba(14,17,22,.95));font-family:var(--serif);font-size:20px;color:var(--gold);}
@media(max-width:520px){.luck-overlap-teaser{align-items:flex-start}.lot-score{width:44px;height:44px;font-size:18px}.lot-left strong{font-size:19px}}


/* v2.0.0 Luck Cycle Overlap Plus */
.luck-overlap-panel.plus-unlocked{border-color:rgba(216,170,107,.28);box-shadow:0 22px 70px rgba(0,0,0,.34),0 0 0 1px rgba(216,170,107,.08) inset;}
.lo-plus-lock,.lo-plus-panel{margin-top:1rem;border:1px solid rgba(230,214,187,.13);border-radius:22px;background:linear-gradient(180deg,rgba(230,214,187,.055),rgba(8,10,14,.56));padding:1rem;position:relative;overflow:hidden;}
.lo-plus-lock:before,.lo-plus-panel:before{content:'✦';position:absolute;right:16px;top:14px;color:rgba(230,214,187,.36);font-size:12px;}
.lo-plus-lock-k,.lo-plus-section-title,.lo-plus-insight-k{font:800 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(230,214,187,.55);margin-bottom:.45rem;}
.lo-plus-lock-title{font-family:var(--serif);font-size:22px;line-height:1.12;color:var(--gold-soft);margin-bottom:.55rem;max-width:20rem;}
.lo-plus-lock-copy{font:400 13px/1.72 var(--sans);color:rgba(244,239,231,.66);margin-bottom:1rem;max-width:62ch;}
.lo-plus-preview{display:grid;gap:.7rem;margin-bottom:1rem;}
.lo-plus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.lo-plus-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(216,170,107,.32);background:rgba(216,170,107,.10);color:var(--gold);border-radius:999px;padding:.35rem .65rem;font:800 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;}
.lo-plus-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;}
.lo-plus-insight{border:1px solid rgba(230,214,187,.12);background:rgba(8,10,14,.48);border-radius:18px;padding:.85rem;}
.lo-plus-insight.warn{border-color:rgba(221,143,109,.18);}
.lo-plus-insight-body{font:400 13px/1.65 var(--serif);color:rgba(244,239,231,.74);font-style:italic;}
.lo-plus-section{margin-top:1rem;display:grid;gap:.7rem;}
.lo-plus-section.two-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
.lo-plus-row{border:1px solid rgba(230,214,187,.11);border-radius:18px;padding:.82rem;background:rgba(8,10,14,.42);}
.lo-plus-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.55rem;}
.lo-plus-row-k{font:800 9px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(230,214,187,.46);margin-bottom:.28rem;}
.lo-plus-row-years{font-family:var(--serif);font-size:21px;line-height:1;color:var(--gold-soft);}
.lo-plus-row-score{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(230,214,187,.22);background:radial-gradient(circle,rgba(230,214,187,.12),rgba(12,15,20,.96));font-family:var(--serif);font-size:16px;color:var(--gold);}
.lo-plus-row-body{font:400 12.5px/1.65 var(--sans);color:rgba(244,239,231,.72);}
.lo-plus-row-body strong{color:var(--gold-soft);font-weight:650;}
.lo-plus-row-meta{font:400 11px/1.45 var(--sans);color:rgba(244,239,231,.46);margin-top:.45rem;}
.lo-track.plus{margin-top:.7rem;height:5px;}
.lo-plus-empty{border:1px dashed rgba(230,214,187,.14);border-radius:16px;padding:.9rem;font:400 12px/1.55 var(--sans);color:rgba(244,239,231,.52);}
@media(max-width:640px){.lo-plus-columns,.lo-plus-section.two-col{grid-template-columns:1fr}.lo-plus-head{flex-direction:column}.lo-plus-badge{align-self:flex-start}}


/* v2.1.2 share modal improvements */
.share-modal-content{padding-top:3.2rem;}
.modal-close-share{
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(230,214,187,.16);
  background:rgba(10,12,16,.96);
  color:var(--gold-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.modal-close-share:hover{background:rgba(230,214,187,.08);border-color:rgba(230,214,187,.28);}
.share-link-panel{
  margin-bottom:12px;
  padding:12px;
  border:1px solid rgba(230,214,187,.12);
  border-radius:16px;
  background:rgba(12,15,19,.86);
}
.share-link-label{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--faint);
  margin-bottom:8px;
}
.share-link-row{display:flex;gap:8px;align-items:center;}
.share-link-input{
  flex:1;
  min-width:0;
  height:44px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(230,214,187,.12);
  background:#0d1015;
  color:#efe8da;
  font-size:12px;
  font-family:var(--sans);
}
.share-link-input:focus{outline:none;border-color:rgba(230,214,187,.28);}
.share-copy-btn{width:auto!important;white-space:nowrap;padding:11px 14px!important;}
.share-modal-actions{margin-top:12px;}
@media (max-width:700px){
  .share-link-row,.share-modal-actions{display:flex;flex-direction:column;}
  .share-copy-btn,.share-link-input{width:100%!important;}
}
