/* 文化术语悬浮翻译助手（Chronik · 右上角 FAB + 右滑面板 + 内联气泡） */
.culture-fab{
  position:fixed; top:70px; right:16px; z-index:1200;
  width:50px; height:50px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  background:linear-gradient(135deg,rgba(217,119,87,.95),rgba(120,140,93,.9));
  color:#15110a; border:1px solid rgba(255,255,255,.25);
  box-shadow:0 6px 22px rgba(0,0,0,.45), 0 0 0 4px rgba(217,119,87,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}
.culture-fab:hover{ transform:translateY(-2px) scale(1.05); box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 6px rgba(217,119,87,.18); }
.culture-fab svg{ width:26px; height:26px; display:block }
.culture-fab .fab-badge{
  position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px;
  border-radius:9px; background:var(--red,#d8735f); color:#fff; font-size:11px; line-height:18px;
  text-align:center; font-family:var(--font-en,sans-serif); box-shadow:0 0 0 2px var(--u-surface);
}

/* 右滑面板 */
.culture-overlay{
  position:fixed; inset:0; z-index:1300; background:rgba(4,6,12,.55);
  opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s;
}
.culture-overlay.show{ opacity:1; visibility:visible }
.culture-panel{
  position:fixed; top:0; right:0; z-index:1310; height:100%; width:380px; max-width:92vw;
  background:var(--u-surface); border-left:1px solid rgba(217,119,87,.22);
  box-shadow:-12px 0 40px rgba(0,0,0,.5);
  transform:translateX(100%); transition:transform .26s cubic-bezier(.22,.8,.3,1);
  display:flex; flex-direction:column;
}
.culture-panel.show{ transform:translateX(0); }
.culture-panel-head{
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  padding:18px 18px 14px; border-bottom:1px solid rgba(217,119,87,.16);
}
.culture-panel-head h2{
  margin:0; font-family:var(--font-serif,"Noto Serif SC",serif); font-size:17px; letter-spacing:1px;
  color:var(--u-accent,#d97757); font-weight:600;
}
.culture-panel-head .sub{ font-size:11px; color:var(--u-ink-3,#87867f); margin-top:3px; letter-spacing:.5px }
.culture-close{
  background:transparent; border:1px solid rgba(217,119,87,.3); color:var(--u-ink-3,#87867f);
  width:32px; height:32px; border-radius:8px; cursor:pointer; font-size:16px; line-height:1;
}
.culture-close:hover{ border-color:var(--u-accent,#d97757); color:var(--u-accent,#d97757) }
.culture-panel-body{ flex:1 1 auto; overflow-y:auto; padding:14px 18px 28px }
.culture-hint{ font-size:12px; color:var(--u-ink-2,#5e5d59); line-height:1.7; margin:0 0 14px;
  padding:10px 12px; border-radius:9px; background:rgba(120,140,93,.07); border:1px solid rgba(120,140,93,.18) }
.culture-section-title{ font-size:12px; letter-spacing:2px; color:var(--u-ok,#788c5d);
  font-family:var(--font-serif,serif); margin:18px 0 10px; text-transform:uppercase }
.culture-group-title{ font-size:12.5px; color:var(--u-accent,#d97757); margin:14px 0 8px; font-weight:600 }
.culture-term{
  border:1px solid rgba(217,119,87,.14); border-radius:11px; padding:10px 12px; margin-bottom:8px;
  background:var(--u-surface-2,#f0eee6); cursor:default; transition:border-color .14s;
}
.culture-term:hover{ border-color:rgba(217,119,87,.4) }
.culture-term .ct-zh{ font-family:var(--font-cn,"KaiTi",serif); font-size:16px; color:var(--u-accent,#d97757); margin-right:8px }
.culture-term .ct-tr{ font-size:13px; color:var(--u-ink-2,#5e5d59) }
.culture-term .ct-note{ font-size:11.5px; color:var(--u-ink-3,#87867f); line-height:1.6; margin-top:5px }

/* 内联气泡（点击页面上的中文术语触发） */
.culture-pop{
  position:fixed; z-index:1400; max-width:300px; pointer-events:none;
  background:var(--u-surface); border:1px solid rgba(217,119,87,.4); border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.5); padding:12px 14px;
  opacity:0; transform:translateY(6px); transition:opacity .15s, transform .15s;
}
.culture-pop.show{ opacity:1; transform:translateY(0) }
.culture-pop .cp-zh{ font-family:var(--font-cn,"KaiTi",serif); font-size:17px; color:var(--u-accent,#d97757); margin-right:8px }
.culture-pop .cp-tr{ font-size:14px; color:var(--u-ink-2,#5e5d59) }
.culture-pop .cp-note{ font-size:12px; color:var(--u-ink-3,#87867f); line-height:1.65; margin-top:6px }
.culture-pop .cp-sep{ height:1px; background:rgba(217,119,87,.18); margin:8px 0 }

/* 被标记为中文术语的可点击提示（仅视觉暗示，不打断阅读） */
[data-culture]{ cursor:help; border-bottom:1px dotted rgba(217,119,87,.35) }

@media (max-width:760px){
  .culture-fab{ top:62px; right:12px; width:46px; height:46px }
  .culture-panel{ width:340px }
}
@media (max-width:420px){
  .culture-panel{ width:100% }
}
