/* 知命共用 UI：金紫外框、館主頭像、功能 icon、會員晶片。由 shell.js 自動載入；首頁另以 <link> 載入。 */
:root{--zf-gold:#D9A441;--zf-v:#C029FF;--zf-p:#D8397B;--zf-ink:#241B33}
/* ---------- 外框 .zmf（也自動套用在 .box / .sc / details）：金紫漸層邊＋內細線＋四角花飾（全用 background 層，不佔用 ::before/::after） ---------- */
.zmf,body .wrap .box,body .wrap .sc,body .wrap details{position:relative;border:1.5px solid transparent!important;border-radius:18px;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg transform='' fill='none' stroke='%23D9A441' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 24V9Q2 2 9 2h15' opacity='.9'/%3E%3Cpath d='M7 24V12Q7 7 12 7h12' opacity='.45'/%3E%3Ccircle cx='2.2' cy='2.2' r='1.8' fill='%23D9A441' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 7px 7px/22px 22px no-repeat padding-box,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg transform='translate(30 0) scale(-1 1)' fill='none' stroke='%23D9A441' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 24V9Q2 2 9 2h15' opacity='.9'/%3E%3Cpath d='M7 24V12Q7 7 12 7h12' opacity='.45'/%3E%3Ccircle cx='2.2' cy='2.2' r='1.8' fill='%23D9A441' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 7px top 7px/22px 22px no-repeat padding-box,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg transform='translate(0 30) scale(1 -1)' fill='none' stroke='%23D9A441' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 24V9Q2 2 9 2h15' opacity='.9'/%3E%3Cpath d='M7 24V12Q7 7 12 7h12' opacity='.45'/%3E%3Ccircle cx='2.2' cy='2.2' r='1.8' fill='%23D9A441' stroke='none'/%3E%3C/g%3E%3C/svg%3E") left 7px bottom 7px/22px 22px no-repeat padding-box,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg transform='translate(30 30) scale(-1 -1)' fill='none' stroke='%23D9A441' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 24V9Q2 2 9 2h15' opacity='.9'/%3E%3Cpath d='M7 24V12Q7 7 12 7h12' opacity='.45'/%3E%3Ccircle cx='2.2' cy='2.2' r='1.8' fill='%23D9A441' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 7px bottom 7px/22px 22px no-repeat padding-box,
 linear-gradient(180deg,#fff,#FBF8FF) padding-box,linear-gradient(135deg,rgba(192,41,255,.55),rgba(217,164,65,.7) 50%,rgba(216,57,123,.55)) border-box!important;
 box-shadow:0 18px 38px -28px rgba(127,40,201,.5),inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(192,41,255,.12)}
body .wrap .box,body .wrap .sc{padding:18px 20px}
body .wrap details{padding:12px 18px}
body .wrap .box.nl{overflow:hidden}
/* ---------- h2 圖示＋館主 ---------- */
.zh2{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}
.zh2 .zh-t{flex:0 1 auto}
.zh2 .zm-mchip{margin-left:auto}
/* ---------- 功能 icon（單字金紫圓章，與首頁工具卡同風格） ---------- */
.zi{--h:285;flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font:800 15px/1 "Noto Serif TC","Songti TC",serif;color:#fff;
 background:linear-gradient(135deg,hsl(var(--h) 72% 52%),hsl(calc(var(--h) + 50) 70% 46%));box-shadow:0 0 0 2px #fff,0 0 0 3px hsl(var(--h) 60% 70% / .55),0 6px 12px -6px hsl(var(--h) 70% 40% / .6);vertical-align:middle;text-decoration:none}
.zi.sm{width:24px;height:24px;font-size:12.5px}.zi.lg{width:38px;height:38px;font-size:19px}
.zi[data-hall=macro_destiny],.zh-macro_destiny{--h:262}.zi[data-hall=astro_soul]{--h:300}.zi[data-hall=instant_oracle]{--h:330}
.zi[data-hall=vibe_sync]{--h:195}.zi[data-hall=divination]{--h:18}.zi[data-hall=zeri_hall]{--h:38}.zi[data-hall=naming]{--h:150}.zi[data-hall=free]{--h:345}
/* ---------- 館主頭像 chip ---------- */
.zm-mav{flex:none;width:var(--s,44px);height:var(--s,44px);border-radius:50%;object-fit:cover;object-position:50% 20%;background:#2a1448;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--zf-gold),0 8px 16px -8px rgba(80,30,130,.6);display:block}
.zm-mchip{display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 3px;border-radius:999px;background:linear-gradient(135deg,rgba(192,41,255,.08),rgba(217,164,65,.14));border:1px solid rgba(217,164,65,.45);font:600 13px/1.2 -apple-system,"Noto Sans TC","PingFang TC",sans-serif;color:#4a2a6e;text-decoration:none;white-space:nowrap}
.zm-mchip .zm-mav{--s:30px;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--zf-gold)}
.zm-mchip small{display:block;font-size:11px;font-weight:500;color:#7D6E94}
.zm-mtag{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.zm-mtag .zm-mav{--s:22px;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--zf-gold)}
/* ---------- 館別標題列（館主大頭像＋名字＋口號） ---------- */
.zm-hallhead{display:flex;align-items:center;gap:14px;margin:30px 0 10px;flex-wrap:wrap}
.zm-hallhead .zm-mav{--s:64px}
.zm-hallhead h2{margin:0!important;font-size:20px}.zm-hallhead .zm-hm{font-size:13px;color:#7D6E94;line-height:1.5}.zm-hallhead .zm-hm b{color:#7F28C9}
/* ---------- 會員晶片（右上角，與首頁一致） ---------- */
.zs-me{flex:none;display:flex;align-items:center;gap:10px;position:relative}
.zs-pts{font:500 13px/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:#B82263;border:1px solid rgba(216,57,123,.35);padding:8px 13px;border-radius:999px;background:#fff;text-decoration:none;white-space:nowrap}
.zs-av{width:34px;height:34px;border-radius:50%;border:1px solid rgba(216,57,123,.35);background:linear-gradient(135deg,#7F28C9,#C029FF) center/cover;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:600;cursor:pointer;padding:0}
.zs-dd{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:#fff;border:1px solid rgba(192,41,255,.2);border-radius:14px;box-shadow:0 18px 40px -18px rgba(60,20,110,.45);padding:8px;z-index:60;display:none}
.zs-dd.open{display:block}.zs-dd .em{font-size:12px;color:#7D6E94;padding:6px 10px 8px;border-bottom:1px solid rgba(192,41,255,.12);margin-bottom:4px;word-break:break-all}
.zs-dd a,.zs-dd button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:9px;color:#241B33;text-decoration:none;cursor:pointer;font-family:inherit}.zs-dd a:hover,.zs-dd button:hover{background:rgba(192,41,255,.08)}
@media(max-width:560px){.zs-pts{padding:7px 10px;font-size:12px}}
/* ---------- 工具頁：館主橫幅、區塊圖示、館主來信 ---------- */
.zm-toolhead{display:flex;align-items:center;gap:16px;padding:14px 18px;margin:6px 0 18px;border-radius:20px}
.zm-toolhead .th-av .zm-mav{--s:72px}
.zm-toolhead .th-b{flex:1 1 auto;min-width:0}
.zm-toolhead .th-t{display:flex;align-items:center;gap:10px;font-size:20px;color:#241B33}.zm-toolhead .th-t b{font-family:"Noto Serif TC",serif;font-weight:800}
.zm-toolhead .th-s{margin-top:4px;font-size:13.5px;color:#7F28C9}.zm-toolhead .th-s strong{color:#B82263}
.zm-toolhead .th-q{margin-top:2px;font-size:13px;color:#7D6E94;line-height:1.55}
.zm-toolhead .th-learn{flex:none;text-decoration:none;text-align:center;padding:9px 16px;border-radius:14px;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(135deg,#C029FF,#B82263);box-shadow:0 10px 20px -12px rgba(184,34,99,.7)}
.zm-toolhead .th-learn small{display:block;font-weight:400;font-size:11.5px;opacity:.9}
.zm-ph{display:flex!important;align-items:flex-start;gap:10px}.zm-ph>div{min-width:0;flex:1 1 auto}
.zm-ph-av{flex:none}.zm-ph-av .zm-mav{--s:38px}
.zm-letter{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px}
.zm-letter .zm-mav{--s:46px}
.zm-letter .bub{flex:1;position:relative;background:linear-gradient(135deg,rgba(192,41,255,.07),rgba(217,164,65,.12));border:1px solid rgba(217,164,65,.45);border-radius:6px 16px 16px 16px;padding:10px 14px;font-size:14px;line-height:1.65;color:#3b2a55}
.zm-letter .bub b{font-size:14px;color:#B82263}.zm-letter .bub small{margin-left:8px;font-weight:500;color:#7D6E94;font-size:12px}.zm-letter .bub p{margin:3px 0 0}
@media(max-width:700px){.zm-toolhead{flex-wrap:wrap}.zm-toolhead .th-learn{width:100%}}
/* ---------- 館內專長標籤（可點）與學習系列入口 ---------- */
.chat-tags a{font-size:13px;padding:5px 12px 5px 14px;border-radius:999px;background:rgba(216,57,123,.1);border:1px solid rgba(216,57,123,.35);color:var(--gold-pale,#B82263);text-decoration:none;transition:transform .15s,background .15s}
.chat-tags a i{font-style:normal;margin-left:4px;opacity:.7}.chat-tags a:hover{transform:translateY(-1px);background:rgba(216,57,123,.18)}
.scene-room[data-tone=violet] .chat-tags a{background:rgba(192,41,255,.12);border-color:rgba(192,41,255,.4);color:#C029FF}
.chat-art.zmf{display:flex!important;gap:12px;align-items:center;padding:14px 16px;margin-top:14px;font-size:13.5px;border-radius:16px}
.chat-art.zmf .ca-b b{font-size:14.5px;color:#B82263;margin-bottom:2px}
.chat-art.zmf:hover{transform:translateY(-1px)}
