/* 晶喜珠宝 · 每日占卜。版面用网站的颜色（site.css）；占卜部分的排版沿用小晶灵（src/pet/pet.css、gua-intake.css）。
   网站的 .btn、.note 等也叫同样的名字，所以这里的规则都放在 .zb 下面，盖过网站的样式。 */
.zb{
  --surface:#FFFFFF; --surface-2:var(--ivory); --ink-soft:var(--muted); --rose:#E7CBBE; --danger:#A33A3A;
  width:min(680px,calc(100% - 32px)); margin:40px auto 80px; color:var(--body); font-size:15px; line-height:1.7; font-weight:400;
}
.zb [hidden]{display:none!important}
.zb button{font:inherit;color:inherit;cursor:pointer}
.zb button:focus-visible,.zb a:focus-visible,.zb input:focus-visible{outline:2px solid var(--jade);outline-offset:2px}
.zb-intro{padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.zb-kicker{color:var(--gold);font-size:12px;letter-spacing:.3em;margin:0 0 10px}
.zb h1{font-size:clamp(32px,6vw,46px);line-height:1.25;color:var(--ink);margin:0 0 12px}
.zb-intro>p:last-child{color:var(--muted);font-size:15px;line-height:1.85;margin:0}
.zb-box{min-height:240px}
.zb-foot{margin:36px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;text-align:center}
.zb p{margin:8px 0}
.zb h2,.zb h3,.zb h4{color:var(--ink)}
.zb .muted{color:var(--muted);font-size:13.5px}
.zb .center{text-align:center}
.zb .note{display:block;border:0;padding:0;letter-spacing:0;font-size:12.5px;color:var(--muted);text-align:center;margin-top:10px}
.zb .err{color:var(--danger);font-size:13px;min-height:1.4em;margin:10px 2px 6px}
.zb .say{background:var(--surface-2);border-radius:14px;padding:12px 14px;margin:12px 0;font-size:14.5px;color:var(--ink)}
.zb .tag{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-family:var(--sans);font-weight:400;vertical-align:middle}

/* 按钮（盖过网站的 .btn） */
.zb .btn,.zb-sheet .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--jade);background:var(--jade);color:#fff;font-size:15px;letter-spacing:.04em;text-decoration:none;text-align:center;transition:background .2s,color .2s}
.zb .btn:hover,.zb-sheet .btn:hover{background:var(--jade-2)}
.zb .btn.ghost,.zb-sheet .btn.ghost{background:transparent;color:var(--jade)}
.zb .btn.ghost:hover,.zb-sheet .btn.ghost:hover{background:var(--jade);color:#fff}
.zb .btn.wide,.zb-sheet .btn.wide{display:flex;width:100%}
.zb .btn:disabled{opacity:.55;cursor:wait}
.zb .linkbtn{background:none;border:0;color:var(--jade);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;padding:0}

/* 选方式、写问题 */
.zb .methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.zb .method{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;transition:border-color .2s,box-shadow .2s}
.zb .method:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.zb .method .mi{font-size:26px;line-height:1}
.zb .method .mt{display:flex;flex-direction:column;gap:3px}
.zb .method b{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink)}
.zb .method small{color:var(--muted);font-size:13px;line-height:1.55}
.zb .method:active{transform:scale(.98)}
.zb .method-chosen{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border-radius:999px;padding:9px 16px;font-size:14.5px;margin-bottom:12px;color:var(--ink)}
.zb .chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.zb .chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13.5px}
.zb .chip[aria-pressed="true"]{background:var(--jade);color:#fff;border-color:var(--jade)}
.zb .field{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:12px 14px;font:inherit;font-size:16px}
.zb .once-rule{border:1px solid var(--gold-soft);border-left:4px solid var(--gold);background:#FBF6EC;border-radius:12px;padding:12px 16px;margin:0 0 16px}
.zb .once-rule b{display:block;font-family:var(--serif);font-size:17px;font-weight:600;color:#7A5A2E}
.zb .once-rule p{margin:4px 0 0;font-size:14.5px;line-height:1.75;color:var(--ink)}
.zb .once-now{display:inline-block;margin:10px 0 0;padding:4px 12px;border-radius:999px;background:#FBF6EC;border:1px solid var(--gold-soft);color:#7A5A2E;font-size:13.5px}
.zb .ask-tips{margin:10px 0 0;background:var(--surface-2);border-radius:14px;padding:10px 14px}
.zb .ask-tips summary{cursor:pointer;color:var(--jade);font-size:14px;font-weight:500}
.zb .ask-tips[open] summary{margin-bottom:6px}
.zb .ask-tip{padding:8px 0;border-top:1px solid var(--line)}
.zb .ask-tip b{display:block;color:var(--ink);font-weight:500;font-size:14.5px;margin-bottom:2px}
.zb .ask-tip p{margin:2px 0;font-size:14px;line-height:1.7}
.zb .ask-tip span{display:inline-block;font-size:12px;border-radius:999px;padding:0 8px;margin-right:8px}
.zb .ask-good span{background:#E3F0E7;color:var(--jade)}
.zb .ask-bad{color:var(--muted)}
.zb .ask-bad span{background:#F3E6E1;color:#8A4B1F}
.zb .ask-rule{margin:8px 0 2px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.zb .gua-intake h3{font-size:19px;line-height:1.6;margin:8px 0 10px}
.zb .gua-intake-question{border-left:3px solid var(--gold-soft);padding:10px 14px;background:var(--surface-2);border-radius:0 12px 12px 0;line-height:1.8;overflow-wrap:anywhere;color:var(--ink)}
.zb .gua-intake-options{display:grid;gap:8px;margin:16px 0}
.zb .gua-intake-option{font-size:14px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.zb .gua-intake-option[aria-pressed="true"]{border-color:var(--jade);background:var(--surface-2);box-shadow:inset 3px 0 var(--jade)}
.zb .gua-intake-actions{display:grid;gap:12px;margin-top:16px;justify-items:center}

/* 静心、起卦 */
.zb .calm{text-align:center;padding:10px 4px}
.zb .breath{width:120px;height:120px;margin:14px auto 10px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,var(--gold-soft));box-shadow:0 0 0 10px rgba(224,199,158,.25);animation:zb-breathe 4.8s ease-in-out infinite}
@keyframes zb-breathe{50%{transform:scale(1.18);box-shadow:0 0 0 18px rgba(224,199,158,.12)}}
.zb .calm-text{font-family:var(--serif);font-size:19px;min-height:1.6em;margin:6px 0;color:var(--ink)}
.zb .coins{display:flex;justify-content:center;gap:16px;margin:18px 0 10px}
.zb .coin{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F5DA92,#C9963A);border:2px solid #9C7426;display:grid;place-items:center;font-family:var(--serif);font-weight:700;color:#5E4313;font-size:18px}
.zb .coin.spin{animation:zb-spin .6s ease-in-out}
@keyframes zb-spin{50%{transform:rotateY(180deg) translateY(-18px)}}
.zb .numrow{display:flex;gap:10px}
.zb .numrow .field{flex:1;min-width:0;text-align:center;font-size:20px}
.zb .steps .step{background:var(--surface-2);border-radius:12px;padding:10px 12px;margin:8px 0 0;font-size:14.5px;color:var(--ink);animation:zb-fadein .4s ease-out}
@keyframes zb-fadein{from{opacity:0;transform:translateY(6px)}}
.zb .fan{display:flex;justify-content:center;padding:30px 0 20px;min-height:150px;overflow:hidden}
.zb .facedown{width:56px;height:88px;margin:0 -7px;flex:none;border-radius:12px;border:2px solid #fff;background:linear-gradient(145deg,var(--jade-2),var(--jade));box-shadow:0 6px 16px rgba(31,59,50,.2);transform:rotate(var(--r));transition:transform .25s;display:grid;place-items:center}
.zb .facedown::after{content:"✦";color:var(--gold-soft);font-size:22px}
.zb .facedown:hover,.zb .facedown:focus-visible{transform:rotate(var(--r)) translateY(-10px)}
.zb .facedown.picked{transform:translateY(-34px) scale(1.15) rotateY(180deg);background:linear-gradient(145deg,var(--gold-soft),var(--gold));z-index:2}
.zb .palm{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:320px;margin:16px auto 8px}
.zb .palm-cell{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 0;text-align:center;font-family:var(--serif);font-size:17px;color:var(--ink);transition:background .15s,color .15s}
.zb .palm-cell.on{background:var(--jade);color:#fff;border-color:var(--jade)}

/* 可以滑动的牌堆 */
.zb .deck-wrap{position:relative;margin:4px -16px 0}
.zb .deck{position:relative;display:flex;gap:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;padding:34px calc(50% - 50px) 74px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-x}
.zb .deck::-webkit-scrollbar{display:none}
.zb .dcard{flex:none;width:100px;height:166px;margin:0 -22px;padding:0;border:0;background:none;border-radius:10px;transform-origin:50% 100%;transition:opacity .3s,filter .3s;will-change:transform;box-shadow:0 10px 22px -12px rgba(31,59,50,.7);position:relative}
.zb .dcard svg{width:100%;height:100%;display:block;border-radius:10px}
.zb .dcard.focus{filter:drop-shadow(0 0 10px rgba(224,199,158,.85))}
.zb .deck.chosen .dcard:not(.picked){opacity:.18}
.zb .dcard.picked{z-index:300!important;transition:transform .35s ease-out,opacity .3s}
.zb .dcard.face{animation:zb-flip2 .5s ease-out}
@keyframes zb-flip2{from{transform:translateY(-8px) scale(1.12) rotateY(90deg)}to{transform:translateY(-8px) scale(1.12) rotateY(0)}}
.zb .deck-arrow{position:absolute;top:44%;transform:translateY(-50%);z-index:400;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--jade);font-size:24px;line-height:1;padding:0 0 3px;box-shadow:0 4px 12px -6px rgba(0,0,0,.3)}
.zb .deck-arrow.prev{left:20px}.zb .deck-arrow.next{right:20px}
.zb .deck-arrow:disabled{opacity:0}
.zb .cback{display:grid;place-items:center;align-content:center;gap:6px;width:100%;height:100%;border-radius:10px;border:2px solid #fff;background:linear-gradient(145deg,var(--jade-2),var(--jade));color:var(--gold-soft)}
.zb .cback i{font-style:normal;font-size:26px}.zb .cback b{font-family:var(--serif);font-size:12px;letter-spacing:.3em;color:#F2DDB0}
.zb .cface{display:grid;place-items:center;align-content:center;gap:8px;width:100%;height:100%;border-radius:10px;border:2px solid var(--gold-soft);background:linear-gradient(160deg,#fff,var(--ivory))}
.zb .cface svg{width:46px;height:46px}.zb .cface b{font-family:var(--serif);font-size:14px;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.zb .dcard{transition:none}.zb .dcard.face{animation:none}}

/* 英文页：中文才有的占卜方式 */
.zb .method-zh{position:relative;background:var(--surface-2);border-style:dashed}
.zb .method-zh b{color:var(--muted)}
.zb .zh-tag{position:absolute;top:12px;right:12px;font-size:12px;border-radius:99px;padding:1px 9px;background:#FBF6EC;border:1px solid var(--gold-soft);color:#7A5A2E}
.zb-en .brief-list dd,.zb-en .guaname,.zb-en .t3 b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.08em}

/* 三张牌阵 */
.zb .deck-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 0}
.zb .deck-slot{text-align:center}
.zb .deck-slot small{display:block;margin-top:6px;color:var(--muted);font-size:12.5px;letter-spacing:.1em}
.zb .slot-card{display:block;width:72px;height:120px;margin:0 auto;border:1.5px dashed var(--gold-soft);border-radius:8px;background:var(--surface-2)}
.zb .deck-slot.filled .slot-card{border:0;background:none;box-shadow:0 8px 16px -10px rgba(31,59,50,.7);animation:zb-fadein .35s ease-out}
.zb .slot-card svg{width:100%;height:100%;display:block;border-radius:8px}
.zb .slot-card.face{animation:zb-flip3 .5s ease-out}
@keyframes zb-flip3{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}
.zb .dcard.used{opacity:.15}
.zb .deck.done .dcard{opacity:.15}
.zb .spreads .mi{font-size:22px;letter-spacing:-.25em}
.zb .tarot-three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 4px;text-align:center}
.zb .t3 small{display:block;color:var(--gold);font-size:12.5px;letter-spacing:.12em;margin-bottom:6px}
.zb .t3-art svg{width:100%;height:auto;display:block;border-radius:9px;box-shadow:0 12px 24px -14px rgba(31,59,50,.6)}
.zb .t3 b{display:block;margin-top:6px;font-family:var(--serif);font-size:14.5px;color:var(--ink)}

.zb .brief{background:var(--jade);color:#F6E7C4;border-radius:var(--r-card);padding:14px 18px;margin-top:14px}
.zb .brief h3{color:#F2DDB0;font-size:17px;margin:0 0 6px;letter-spacing:.1em}
.zb .brief-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:15.5px;line-height:1.7}
.zb .brief-list dt{color:#16302A;background:#E0C79E;border-radius:6px;padding:0 8px;height:1.7em;font-size:13px;line-height:1.7em;margin-top:.1em;white-space:nowrap}
.zb .brief-list dd{margin:0;color:#fff;font-family:var(--serif)}
.zb .overall{border-color:var(--gold-soft);background:#FBF6EC}
.zb .overall h3{color:#7A5A2E}
.zb .overall .baihua{background:#fff}
.zb .overall-list{margin:8px 0 0;padding-left:20px}
.zb .overall-list li{margin:5px 0}

/* 塔罗牌 */
.zb .tarot-fan{display:flex;justify-content:center;align-items:center;padding:70px 0 56px;min-height:280px;overflow:hidden;perspective:900px}
.zb .tarot-back{width:84px;height:140px;margin:0 -16px;flex:none;padding:0;border:0;background:none;border-radius:9px;transform:rotate(var(--r));transition:transform .45s,opacity .3s;box-shadow:0 8px 18px -8px rgba(31,59,50,.6)}
.zb .tarot-back svg{width:100%;height:100%;display:block;border-radius:9px}
.zb .tarot-back:hover,.zb .tarot-back:focus-visible{transform:rotate(var(--r)) translateY(-12px)}
.zb .tarot-fan.chosen .tarot-back:not(.picked){opacity:.25}
.zb .tarot-back.picked{transform:translateY(-6px) scale(1.5);z-index:2;margin:0 18px}
.zb .tarot-back.face{animation:zb-flip .5s ease-out}
@keyframes zb-flip{from{transform:translateY(-6px) scale(1.5) rotateY(90deg)}to{transform:translateY(-6px) scale(1.5) rotateY(0)}}
.zb .tarot-card{width:min(220px,62vw);margin:4px auto 8px}
.zb .tarot-card svg{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 18px 36px -18px rgba(31,59,50,.55)}

/* 卦象 */
.zb .hexrow{display:flex;justify-content:center;align-items:center;gap:40px;margin:6px 0}
.zb .hexa{display:flex;flex-direction:column-reverse;gap:7px;width:96px;margin:10px auto}
.zb .hexrow .hexa{margin:10px 0}
.zb .yao{height:11px;display:flex;gap:14px;position:relative}
.zb .yao i{flex:1;background:var(--ink);border-radius:3px}
.zb .yao.chg i{background:var(--gold)}
.zb .yao.chg::after{content:"变";position:absolute;right:-20px;top:-5px;font-size:11px;color:var(--gold)}
.zb .gua-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}
.zb .gua-symbol{font-size:58px;line-height:1;color:var(--ink)}
.zb .guaname{font-family:var(--serif);font-size:26px;font-weight:600;margin:4px 0 0;text-align:center}
.zb .gua-head .guaname{text-align:left;margin:0}
.zb .crystal-card{text-align:center;padding:8px 0 2px}
.zb .gemwrap{width:76px;margin:0 auto 6px}
.zb .liuren-word{font-family:var(--serif);font-size:46px;line-height:1.2;margin:0;font-weight:600}
.zb .meihua{background:var(--surface-2);border-radius:var(--r-card);padding:12px 14px;margin:8px 0}
.zb .meihua h3{font-size:16px;margin:12px 0 4px}
.zb .meihua .baihua{background:var(--surface)}
.zb .kvs{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;margin:8px 0}
.zb .kvs dt{color:var(--muted)}
.zb .kvs dd{margin:0;color:var(--ink)}

/* 白话 */
.zb .explain-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;margin-top:14px;font-size:15px;line-height:1.85}
.zb .explain-box h3{font-size:17px;margin:0 0 4px}
.zb .explain-box summary{cursor:pointer;font-family:var(--serif);font-weight:600;color:var(--ink)}
.zb .advice{margin:6px 0 0;padding-left:22px}
.zb .advice li{margin:4px 0}
.zb .baihua{background:var(--surface-2);border-radius:12px;padding:10px 14px;margin:8px 0 0;font-size:15px;line-height:1.8}
.zb .baihua.strong{font-family:var(--serif);font-size:16.5px;color:var(--ink)}
.zb .yuanwen-more{margin:16px 0 8px;background:var(--surface-2);border-radius:14px;padding:12px 14px}
.zb .yuanwen-more summary{cursor:pointer;color:var(--jade);font-weight:500}
.zb .yuanwen-more[open] summary{margin-bottom:8px}
.zb .reading{background:var(--surface);border-radius:12px;padding:10px 12px;margin-top:10px}
.zb .reading.minor{opacity:.85}
.zb .reading .lab{color:var(--muted);font-size:12.5px}
.zb .pair{display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px}
@media (min-width:600px){.zb .pair{grid-template-columns:1fr 1fr}}
.zb .pair-col h4{font-family:var(--serif);font-size:13px;margin:6px 0 0;color:var(--muted)}
.zb .yuanwen-text{font-family:var(--serif);font-size:16px;line-height:1.8;margin:2px 0 0;color:var(--ink)}
.zb .baihua-text{font-size:14.5px;line-height:1.75;margin:2px 0 0}

/* 两个分页 */
.zb-tabs{display:flex;gap:6px;background:var(--surface-2);border-radius:999px;padding:5px;margin:0 0 22px}
.zb-tab{flex:1;border:0;background:transparent;border-radius:999px;padding:10px 12px;font-size:15px;color:var(--muted);letter-spacing:.06em}
.zb-tab[aria-selected="true"]{background:#fff;color:var(--jade);box-shadow:0 2px 10px -4px rgba(31,59,50,.3);font-weight:500}

/* 五行系列 */
.zb .series{--s1:#EDEBE4;--s2:#C9C2B0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;margin-top:18px}
.zb .series-金{--s1:#F4F1EA;--s2:#C9A96A}
.zb .series-木{--s1:#E6F0E6;--s2:#3E8E62}
.zb .series-水{--s1:#E3EAF2;--s2:#2B3F5C}
.zb .series-火{--s1:#F5E4E8;--s2:#B04A6E}
.zb .series-土{--s1:#F5ECDC;--s2:#B9822E}
.zb .series-head{display:flex;align-items:center;gap:14px}
.zb .series-mark{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:24px;font-weight:600;color:#fff;background:radial-gradient(circle at 35% 30%,var(--s1),var(--s2) 75%);text-shadow:0 1px 2px rgba(0,0,0,.25)}
.zb .series-head small{display:block;color:var(--muted);font-size:12.5px;letter-spacing:.08em}
.zb .series-head b{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);margin-right:8px}
.zb .series-colors{color:var(--muted);font-size:14px}
.zb .series-why{margin:12px 0 0;font-size:14.5px;line-height:1.8}
.zb .series-sub{margin:12px 0 6px;font-size:13px;color:var(--muted)}
.zb .beads{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:14px}
.zb .bead{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:0;border-radius:999px;padding:4px 10px 4px 5px;font-size:13px;color:var(--ink)}
.zb .bead i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 -2px 3px rgba(0,0,0,.18),inset 0 2px 2px rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.08)}
.zb .bead-more{padding:4px 12px;color:var(--jade);text-decoration:underline;text-underline-offset:3px}

/* 2027 年运势 */
.zb .year-head{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border-radius:var(--r-card);padding:14px 16px}
.zb .year-head b{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:600}
.zb .taisui{border-radius:var(--r-card);padding:16px;margin-top:18px;border:1px solid var(--line);background:var(--surface)}
.zb .taisui small{color:var(--muted);font-size:12.5px;letter-spacing:.08em}
.zb .taisui h3{font-size:21px;margin:2px 0 6px}
.zb .taisui p{margin:0;font-size:15px;line-height:1.85}
.zb .taisui-watch{border-color:#E3C7A8;background:#FBF5EC}
.zb .taisui-watch h3{color:#8A4B1F}
.zb .taisui-good{border-color:#BFD6C4;background:#F1F7F2}
.zb .taisui-good h3{color:var(--jade)}
.zb .fortune-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.zb .fortune-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.zb .fortune-item h4{font-family:var(--serif);font-size:16px;margin:0 0 4px;color:var(--ink)}
.zb .fortune-item p{margin:0;font-size:14px;line-height:1.75}
@media (max-width:520px){.zb .fortune-grid{grid-template-columns:1fr}}
.zb .bday-form,.zb .bday-mine{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;margin-top:18px}
.zb .bday-form h3,.zb .bday-mine h3{font-size:17px;margin:0 0 4px}
.zb .bday-selects{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
.zb .bday-selects .field{padding:10px 8px;font-size:15px;appearance:auto}
.zb .bday-leap{display:flex;align-items:center;gap:6px;font-size:14px;margin-top:8px}
.zb .bday-actions{display:flex;justify-content:space-between;margin-top:12px}
.zb .bday-mine .kvs{font-size:14.5px}

/* 分享图片 */
.zb-modal{position:fixed;inset:0;background:rgba(20,26,23,.5);display:none;align-items:flex-end;justify-content:center;z-index:50}
.zb-modal.on{display:flex}
.zb-sheet{background:#fff;width:100%;max-width:460px;border-radius:24px 24px 0 0;padding:22px 18px calc(24px + env(safe-area-inset-bottom,0px));max-height:92vh;overflow-y:auto;font-size:15px;line-height:1.6}
.zb-sheet h2{font-size:22px;margin:0 0 6px;color:var(--ink)}
.zb-sheet .muted{color:var(--muted);font-size:13px;text-align:center;margin:8px 0}
.zb-sheet .btn{margin-top:8px}
.share-img{display:block;width:100%;max-width:340px;margin:10px auto;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.share-opt{display:flex;align-items:center;gap:8px;justify-content:center;font-size:14px;margin:6px 0}
@media (min-width:600px){.zb-modal{align-items:center}.zb-sheet{border-radius:24px}}

@media (max-width:420px){
  .zb{margin-top:28px}
  .zb .methods{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .zb .coin,.zb .breath,.zb .steps .step{animation:none!important}
  .zb .facedown{transition:none}
}
