/* 下载条款弹窗(works-detail 专用) */
.dl-terms{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;padding:24px}
.dl-terms[hidden]{display:none}
.dl-terms-backdrop{position:absolute;inset:0;background:rgba(10,14,22,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:dl-terms-fade .18s ease both}
.dl-terms-card{position:relative;width:100%;max-width:720px;max-height:min(86vh,860px);display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;animation:dl-terms-pop .22s cubic-bezier(.22,1,.36,1) both}
.dl-terms-head{display:flex;align-items:center;gap:12px;padding:20px 24px 14px;border-bottom:1px solid var(--color-border);flex:none}
.dl-terms-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.dl-terms-lead{margin:0;color:var(--color-text-muted);font-size:.875rem}
.dl-terms-close{margin-left:auto;width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;transition:color .15s,background .15s,border-color .15s}
.dl-terms-close:hover{color:var(--color-text);border-color:var(--color-text)}
/* 中部滚动区:原生滚动条隐藏,使用与全站一致的自定义滚动条 */
.dl-terms-scroll-wrap{position:relative;min-height:0;display:flex;flex:1 1 auto}
.dl-terms-body{flex:1 1 auto;padding:18px 24px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;font-size:.90625rem;line-height:1.75}
.dl-terms-body::-webkit-scrollbar{width:0;height:0}
.dl-terms-scrollbar{position:absolute;top:0;bottom:0;right:6px;width:10px;opacity:0;transition:opacity .2s;pointer-events:none}
.dl-terms-scroll-wrap.is-scrollable .dl-terms-scrollbar{opacity:1}
.dl-terms-scrollbar-thumb{position:absolute;right:2px;width:6px;border-radius:999px;background:var(--color-text);pointer-events:auto;cursor:grab;touch-action:none;transition:background .2s}
@supports (color:color-mix(in lab, red, red)){.dl-terms-scrollbar-thumb{background:color-mix(in srgb, var(--color-text) 24%, transparent)}}
.dl-terms-scrollbar-thumb:hover,.dl-terms-scrollbar-thumb.dragging{background:var(--color-text)}
@supports (color:color-mix(in lab, red, red)){.dl-terms-scrollbar-thumb:hover,.dl-terms-scrollbar-thumb.dragging{background:color-mix(in srgb, var(--color-text) 42%, transparent)}}
.dl-terms-scrollbar-thumb.dragging{cursor:grabbing}
.dl-terms-body h4{margin:18px 0 8px;font-size:1rem;font-weight:750;color:var(--color-text)}
.dl-terms-body h4:first-child{margin-top:0}
.dl-terms-body p{margin:0 0 10px;color:var(--color-text)}
.dl-terms-body ul{margin:4px 0 12px;padding-left:1.4em;list-style:outside}.dl-terms-body li{margin:4px 0}.dl-terms-body .dl-terms-sign{margin-top:8px;text-align:right;color:var(--color-text-muted)}
.dl-terms-body li{color:var(--color-text)}
.dl-terms-body strong{font-weight:700}
.dl-terms-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--color-border);background:var(--color-surface);flex:none}
html.dl-terms-open,html.dl-terms-open body{overflow:hidden}
html.dl-terms-open .custom-scrollbar{opacity:0 !important;pointer-events:none}
@keyframes dl-terms-fade{from{opacity:0}to{opacity:1}}
@keyframes dl-terms-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (pointer:coarse){.dl-terms-scrollbar{display:none}}
@media (max-width:640px){
  .dl-terms{padding:0;align-items:flex-end}
  .dl-terms-card{max-height:88vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
  .dl-terms-head{padding:18px 18px 12px}
  .dl-terms-body{padding:16px 18px 8px}
  .dl-terms-foot{padding:12px 18px 16px}
}
