feat(星座宝宝): 12 个自绘星座符号;弹窗按火土风水四象重做——头带配色、星图、元素纹样 (v26100426)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-04 08:53:54 +00:00
parent 038207d585
commit 4d412f0e60
5 changed files with 131 additions and 34 deletions

View File

@@ -4547,33 +4547,47 @@ a.skip:focus{left:16px;top:16px}
.hero-zod::before{content:"";position:absolute;inset:-10px -6px} /* 牌子只有 20px 高,点击区放大一圈 */
.hero-zod:active{transform:scale(.96)}
/* ============ 2026-10-04 星座宝宝弹窗 #modalZodiac ============
米白底;顶部一团幸运色的柔光(--zc,JS 按星座写);三段用细线分隔,字号克制(标题 20、正文 13.5)。 */
.zd-modal{--zc:#E8A33D;overflow:hidden;padding-top:26px;max-height:88vh;overflow-y:auto}
.zd-glow{position:absolute;left:50%;top:-120px;width:340px;height:220px;margin-left:-170px;border-radius:50%;
background:radial-gradient(closest-side,var(--zc),transparent);opacity:.32;filter:blur(8px);pointer-events:none}
.zd-modal .modal-x{position:absolute;right:16px;top:16px;z-index:2}
.zd-head{position:relative;text-align:center}
.zd-star{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--zc);color:color-mix(in srgb,var(--zc) 55%,#7A5240);
box-shadow:0 4px 14px rgba(150,80,50,.14)}
.zd-head h3{margin:8px 0 2px;font-size:20px;font-weight:800;letter-spacing:2px;color:var(--ink)}
.zd-range{margin:0;font-size:11.5px;letter-spacing:.5px;color:var(--muted)}
/* ============ 2026-10-04 星座宝宝弹窗 #modalZodiac(二版:四象主题) ============
JS 写四个变量:--zc 幸运色、--zb 头带渐变、--zbody 正文底色、--zi 元素主色(小标题 / 标签 / 星座符号)。 */
.zd-modal{--zc:#E8A33D;--zb:linear-gradient(160deg,#FFA275,#C8443A);--zbody:#FFF7F2;--zi:#D9583C;
background:var(--zbody);padding-top:0;max-height:88vh;overflow-y:auto;overflow-x:hidden}
.zd-band{position:relative;margin:0 -22px;padding:24px 22px 58px;text-align:center;color:#fff;background:var(--zb);border-radius:28px 28px 0 0;overflow:hidden}
.zd-band::before{content:"";position:absolute;left:-30%;top:-60%;width:90%;height:140%;border-radius:50%;
background:radial-gradient(closest-side,rgba(255,255,255,.28),transparent);pointer-events:none}
.zd-sky{position:absolute;right:6px;top:8px;width:150px;height:118px;opacity:.85;pointer-events:none}
.zd-sky line{stroke:rgba(255,255,255,.42);stroke-width:.6}
.zd-sky circle{fill:#fff;animation:zdTw 3.2s ease-in-out infinite}
@keyframes zdTw{0%,100%{opacity:.95}50%{opacity:.35}}
.zd-band .modal-x{position:absolute;left:14px;right:auto;top:14px;z-index:2;background:rgba(255,255,255,.22);color:#fff}
.zd-glyph{position:relative;display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;margin-top:2px;
background:rgba(255,255,255,.2);border:.5px solid rgba(255,255,255,.6);color:#fff;
-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.5)}
.zd-band h3{position:relative;margin:10px 0 4px;font-size:21px;font-weight:800;letter-spacing:3px;text-shadow:0 1px 6px rgba(0,0,0,.12)}
.zd-range{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;margin:0;font-size:11.5px;letter-spacing:.5px;color:rgba(255,255,255,.88)}
.zd-el{padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.22);border:.5px solid rgba(255,255,255,.5);font-weight:700;letter-spacing:1px;color:#fff}
.zd-switch[hidden]{display:none}
.zd-switch{display:inline-flex;gap:4px;margin-top:10px;padding:3px;border-radius:999px;background:rgba(255,255,255,.75);border:.5px solid #EFE3DA}
.zd-switch button{height:24px;padding:0 12px;border:0;border-radius:999px;background:none;font-size:12px;color:var(--muted)}
.zd-switch button.on{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 4px rgba(120,70,50,.12)}
.zd-sec{position:relative;margin-top:16px;padding-top:14px;border-top:.5px solid #EADDD3}
.zd-label{display:block;margin-bottom:8px;font-size:11.5px;font-weight:700;letter-spacing:1.5px;color:#B49A8A}
.zd-color{display:flex;align-items:center;gap:14px}
.zd-switch{position:relative;display:inline-flex;gap:4px;margin-top:12px;padding:3px;border-radius:999px;background:rgba(255,255,255,.18);border:.5px solid rgba(255,255,255,.45)}
.zd-switch button{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 11px;border:0;border-radius:999px;background:none;font-size:12px;color:rgba(255,255,255,.9)}
.zd-switch button.on{background:#fff;color:var(--zi);font-weight:700}
.zd-motif{position:absolute;left:0;bottom:-1px;width:100%;height:46px}
.zd-motif path:nth-child(1){fill:rgba(255,255,255,.14)}
.zd-motif path:nth-child(2){fill:rgba(255,255,255,.22)}
.zd-motif path:nth-child(3){fill:var(--zbody)}
.zd-modal.el-water .zd-motif,.zd-modal.el-air .zd-motif{animation:zdDrift 7s ease-in-out infinite alternate}
@keyframes zdDrift{from{transform:translateX(-6px) scaleX(1.04)}to{transform:translateX(6px) scaleX(1.04)}}
.zd-words{margin:2px 0 0;text-align:center;font-size:12px;letter-spacing:2px;color:var(--zi);opacity:.85}
.zd-sec{position:relative;margin-top:16px;padding-top:14px;border-top:.5px solid color-mix(in srgb,var(--zi) 18%,transparent)}
.zd-label{display:block;margin-bottom:8px;font-size:11.5px;font-weight:700;letter-spacing:1.5px;color:var(--zi)}
.zd-color{display:flex;align-items:center;gap:14px;padding:14px;margin-top:14px;border-top:0;border-radius:16px;background:rgba(255,255,255,.7)}
.zd-color .zd-label{margin-bottom:3px}
.zd-sw{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--zc);
box-shadow:inset 0 -6px 12px rgba(0,0,0,.08),inset 0 4px 8px rgba(255,255,255,.45),0 0 0 4px #fff,0 4px 14px rgba(120,70,50,.16)}
box-shadow:inset 0 -6px 12px rgba(0,0,0,.08),inset 0 4px 8px rgba(255,255,255,.45),0 0 0 4px #fff,0 4px 14px rgba(0,0,0,.1)}
.zd-color b{display:block;font-size:16px;font-weight:800;letter-spacing:1px;color:var(--ink)}
.zd-color p{margin:3px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.zd-tags{display:flex;gap:6px;margin-bottom:8px}
.zd-tags span{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink-2);
background:color-mix(in srgb,var(--zc) 16%,#fff);border:.5px solid color-mix(in srgb,var(--zc) 35%,#fff)}
.zd-tags span{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--zi);
background:color-mix(in srgb,var(--zi) 10%,#fff);border:.5px solid color-mix(in srgb,var(--zi) 28%,#fff)}
.zd-para{margin:0;font-size:13.5px;line-height:1.75;color:var(--ink-2)}
.zd-jobs{display:flex;flex-wrap:wrap;gap:7px}
.zd-jobs span{padding:6px 12px;border-radius:10px;background:#fff;font-size:12.5px;color:var(--ink-2);box-shadow:0 1px 3px rgba(120,70,50,.08)}
.zd-jobs span{padding:6px 12px;border-radius:10px;background:#fff;font-size:12.5px;color:var(--ink-2);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.zd-foot{margin:18px 0 2px;text-align:center;font-size:11px;color:#BCAEA4}