/* ===================================================================
   词语详情页 · 分层词典工具风
   核心层 / 进阶层 / 拓展层，沿用全站设计变量
   =================================================================== */
.cy-page{padding-bottom:34px}
.cy-detail{min-width:0}

/* ---------- 字头卡 ---------- */
.cy-hero{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;padding:26px;background:linear-gradient(160deg,#FFFDF7,#F5EFE0);border:1px solid var(--c-card-line);border-radius:var(--r-3);box-shadow:var(--sh-1)}
.cy-tian{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:190px;height:190px;background:#FFFEF9;border:1px solid var(--c-line-2);border-radius:var(--r-2);overflow:hidden}
.cy-tian::before{content:"";position:absolute;inset:8px;border:1px dashed var(--c-line-3);border-radius:2px}
.cy-tian::after{content:"";position:absolute;inset:8px;background-image:linear-gradient(to right,transparent calc(50% - .5px),var(--c-line-3) 50%,transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),var(--c-line-3) 50%,transparent calc(50% + .5px)),linear-gradient(45deg,transparent calc(50% - .5px),var(--c-line-3) 50%,transparent calc(50% + .5px)),linear-gradient(-45deg,transparent calc(50% - .5px),var(--c-line-3) 50%,transparent calc(50% + .5px));opacity:.75}
.cy-tian__word{position:relative;z-index:1;max-width:92%;font-family:var(--font-serif);font-size:44px;font-weight:700;line-height:1.25;letter-spacing:2px;color:var(--c-ink);text-align:center;word-break:break-all;animation:cyInk var(--t-slow) var(--ease-out) both}
.cy-tian__label{position:relative;z-index:1;font-size:11px;letter-spacing:2px;color:var(--c-muted)}
@keyframes cyInk{from{opacity:0;filter:blur(6px);transform:scale(.92)}to{opacity:1;filter:blur(0);transform:scale(1)}}
.cy-hero__body{min-width:0}
.cy-pinyin{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.cy-pinyin__main{font-family:var(--font-pinyin);font-size:22px;letter-spacing:1px;color:var(--c-primary);font-weight:600}
.cy-pinyin__label,.cy-altpy__label{font-size:12px;letter-spacing:1px;color:var(--c-muted)}
.cy-altpy{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.cy-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cy-badge{display:inline-block;padding:3px 11px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);background:var(--c-cream);font-size:12.5px;color:var(--c-ink-3);letter-spacing:.5px}
.cy-badge--pos{background:#FFF8E7;border-color:var(--c-accent)}
.cy-badge--mood{background:var(--c-primary);border-color:var(--c-primary);color:#FFF5DC}
.cy-badge--muted{background:transparent;border-style:dashed;color:var(--c-muted)}
.cy-summary{font-size:17px;line-height:1.9;color:var(--c-ink);text-indent:0;margin:0 0 16px;padding-left:14px;border-left:3px solid var(--c-accent)}
/* ---------- 缺项提示 ---------- */
.cy-missing{margin:0 0 20px;padding:10px 14px;border:1px dashed var(--c-line-2);border-radius:var(--r-2);background:var(--c-paper);font-size:13px;line-height:1.8;color:var(--c-muted)}
.cy-empty{margin:8px 0;font-size:13.5px;line-height:1.8;color:var(--c-muted);text-indent:0}

/* ---------- 分层区块 ---------- */
.cy-section{margin-bottom:22px;background:#FFF;border:1px solid var(--c-card-line);border-radius:var(--r-3);padding:20px 22px;box-shadow:var(--sh-1)}
#cy-core{margin-top:22px}
.cy-section__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--c-line-2);padding-bottom:9px;margin-bottom:16px}
.cy-section__head h2{font-size:20px;letter-spacing:2px;margin:0;padding-left:12px;position:relative}
.cy-section__head h2::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:4px;background:var(--c-primary);border-radius:2px}
.cy-layer{font-size:12px;letter-spacing:1px;color:var(--c-muted)}
.cy-sub{font-size:15px;letter-spacing:1px;color:var(--c-primary);margin:18px 0 10px;text-indent:0}
.cy-sub small{font-size:12px;font-weight:400;color:var(--c-muted);letter-spacing:0;margin-left:8px}

/* 核心层 */
.cy-senses{list-style:none;margin:0 0 16px;padding:0;counter-reset:none}
.cy-sense{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px dashed var(--c-line);text-indent:0}
.cy-sense:last-child{border-bottom:0}
.cy-sense__no{flex:0 0 auto;font-family:var(--font-serif);font-size:20px;color:var(--c-primary);font-weight:700}
.cy-sense__pos{flex:0 0 auto;font-size:12px;padding:1px 9px;border-radius:var(--r-pill);background:var(--c-cream);color:var(--c-ink-3)}
.cy-sense__text{font-size:16px;line-height:1.9;color:var(--c-ink)}
.cy-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.cy-panel{background:var(--c-paper);border:1px solid var(--c-card-line);border-radius:var(--r-2);padding:14px 16px}
.cy-panel h3{font-size:15px;margin:0 0 10px;letter-spacing:1px;color:var(--c-primary)}
.cy-origin{margin:0}
.cy-origin>div{display:flex;gap:10px;padding:5px 0;border-bottom:1px dashed var(--c-line-3);font-size:14px}
.cy-origin>div:last-child{border-bottom:0}
.cy-origin dt{flex:0 0 64px;color:var(--c-muted);font-size:12.5px}
.cy-origin dd{margin:0;color:var(--c-ink);line-height:1.8;overflow-wrap:anywhere}
.cy-quote{font-family:var(--font-serif)}
.cy-example{margin:0 0 10px;font-size:14.5px;line-height:1.85;text-indent:0}
.cy-tag{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:var(--r-pill);background:var(--c-primary);color:#FFF5DC;font-size:11px;vertical-align:2px}
.cy-tag--alt{background:var(--c-accent)}
.cy-tag--classic{background:var(--c-ink-soft)}

/* 进阶层 */
.cy-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cy-fact{border:1px solid var(--c-card-line);border-radius:var(--r-2);padding:12px 14px;background:#FFFDF8}
.cy-fact--wide{grid-column:1/-1}
.cy-fact>span{display:block;font-size:12px;letter-spacing:1px;color:var(--c-muted)}
.cy-fact strong{display:block;font-family:var(--font-serif);font-size:20px;color:var(--c-primary);margin:3px 0}
.cy-fact p{margin:0;font-size:13.5px;line-height:1.8;color:var(--c-ink-3);text-indent:0}
.cy-synonyms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.cy-syn{border-left:3px solid var(--c-accent);background:var(--c-paper);padding:9px 14px;border-radius:0 var(--r-2) var(--r-2) 0}
.cy-syn__word{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--c-primary)}
.cy-syn p{margin:3px 0 0;font-size:13.5px;line-height:1.8;color:var(--c-ink-3);text-indent:0}
.cy-chips{display:flex;flex-wrap:wrap;gap:8px}
.cy-chip{display:inline-block;padding:4px 12px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);background:#FFFDF8;font-size:13px;color:var(--c-ink-3)}
.cy-chip--warn{background:var(--c-primary);border-color:var(--c-primary);color:#FFF5DC}
.cy-pitfalls{list-style:none;margin:0;padding:0}
.cy-pitfalls li{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--c-line);font-size:14px;line-height:1.8;text-indent:0}
.cy-pitfalls li:last-child{border-bottom:0}

/* 拓展层 */
.cy-timeline{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0}
.cy-timeline__item{position:relative;border:1px solid var(--c-card-line);border-radius:var(--r-2);background:var(--c-paper);padding:12px 14px}
.cy-timeline__item::before{content:"";position:absolute;left:14px;right:14px;top:-6px;height:2px;background:var(--c-accent)}
.cy-timeline__stage{display:inline-block;font-family:var(--font-serif);font-size:16px;color:var(--c-primary);font-weight:700;letter-spacing:2px}
.cy-timeline__item p{margin:5px 0 0;font-size:13px;line-height:1.8;color:var(--c-ink-3);text-indent:0}
.cy-story,.cy-culture{background:#FFFDF8;border:1px solid var(--c-card-line);border-radius:var(--r-2);padding:6px 16px 12px;margin-top:14px}
.cy-story p,.cy-culture p{margin:0;font-size:14.5px;line-height:1.95;color:var(--c-ink);text-indent:0}
.cy-quotes{list-style:none;margin:0;padding:0}
.cy-quotes li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px dashed var(--c-line);font-family:var(--font-serif);font-size:15px}
.cy-quotes li:last-child{border-bottom:0}
.cy-quotes small{font-size:12px;color:var(--c-muted)}
.cy-rel{display:flex;flex-wrap:wrap;gap:9px}
.cy-rel__card{display:inline-flex;flex-direction:column;min-width:88px;padding:8px 14px;border:1px solid var(--c-card-line);border-radius:var(--r-2);background:#FFFDF8;font-family:var(--font-serif);font-size:17px;color:var(--c-ink);background-image:none;transition:transform var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.cy-rel__card:hover{transform:translateY(-2px);border-color:var(--c-primary);color:var(--c-primary)}
.cy-rel__card small{font-family:var(--font-pinyin);font-size:11px;color:var(--c-muted)}

/* 返回导航 */
.cy-back{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;font-size:14px}
.cy-back a{background-image:none}

/* 侧栏 */
.cy-side-links{display:flex;flex-wrap:wrap;gap:7px}
.cy-side-links a{display:inline-flex;align-items:baseline;gap:5px;padding:4px 10px;border:1px solid var(--c-card-line);border-radius:var(--r-pill);background:#FFFDF8;font-family:var(--font-serif);font-size:15px;color:var(--c-ink)}
.cy-side-links a:hover{border-color:var(--c-primary)}
.cy-side-links em{font-family:var(--font-pinyin);font-size:10px;font-style:normal;color:var(--c-muted)}
.cy-rec-links a{background:#FFF8E7;border-color:var(--c-accent)}
.cy-rec-links a:hover{border-color:var(--c-primary)}

@media (max-width:900px){
    .layout-2col{grid-template-columns:minmax(0,1fr)}
    .layout-2col.is-reading .side-col{position:static;max-height:none;overflow:visible}
    .cy-hero{grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px}
    .cy-hero__body{width:100%}
    .cy-section{padding:16px}
}
@media (max-width:640px){
    .cy-hero{padding:18px}
    .cy-tian{width:150px;height:150px}
    .cy-tian__word{font-size:34px}
    .cy-section__head h2{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
    .cy-tian__word{animation:none}
}
@media print{
    .side-col{display:none!important}
    .cy-section,.cy-hero{box-shadow:none;break-inside:avoid}
}
