/* ============ 资源内容折叠样式 ============ */
.d-content-wrapper { position: relative; margin-bottom: 10px; }
.d-content { font-size: 15px; line-height: 1.8; color: #333; overflow: hidden; transition: max-height 0.35s ease; }
.d-content.collapsed { max-height: 600px; }
.d-content-mask { position: absolute; bottom: 0; left: 0; width: 100%; height: 120px; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 60%, #ffffff 100%); pointer-events: none; transition: opacity 0.3s; display: none; }
.d-content.expanded { max-height: none; }
.d-content.expanded + .d-content-mask { opacity: 0; display: none; }
.d-content-toggle { text-align: center; padding: 10px 0 20px; display: none; }
.btn-expand { display: inline-flex; align-items: center; gap: 6px; padding: 8px 20px; background: #f3f4f6; color: #4b5563; border: 1px solid #e5e7eb; border-radius: 20px; font-size: 14px; cursor: pointer; transition: all 0.2s; }
.btn-expand:hover { background: #e5e7eb; color: #111827; }
.arrow-down { font-size: 12px; transition: transform 0.3s; }
.btn-expand.is-expanded .arrow-down { transform: rotate(180deg); }

/* ============ 原有样式 ============ */
.dl-info { background: #f8fafc; border-radius: 12px; padding: 6px 14px; margin-bottom: 14px; }
.dl-info-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; font-size: 14px; }
.dl-info-row + .dl-info-row { border-top: 1px dashed #e5e7eb; }
.dl-info-label { color: #6b7280; font-size: 13px; flex-shrink: 0; }
.dl-info-value { display: inline-flex; align-items: center; gap: 8px; color: #111827; font-weight: 600; min-width: 0; }
.dl-code-val { font-family: 'SF Mono', Menlo, Consolas, monospace; font-size: 15px; letter-spacing: 1.5px; color: #4f46e5; background: #eef2ff; padding: 3px 10px; border-radius: 6px; }
.btn-copy-code { border: 1px solid #c7d2fe; background: #fff; color: #4f46e5; font-size: 12px; padding: 4px 10px; border-radius: 7px; cursor: pointer; transition: all .15s; }
.btn-copy-code:hover { background: #eef2ff; border-color: #a5b4fc; }
.btn-copy-code:active { transform: scale(.96); }
.btn-copy-code.copied { background: #dcfce7; color: #16a34a; border-color: #86efac; }
.dl-tip { font-size: 12.5px; color: #9ca3af; line-height: 1.7; padding: 0 2px; }

.perm-modal-box { padding: 0 !important; overflow: hidden; border-radius: 18px !important; }
.perm-modal-body { padding: 26px 24px 18px; text-align: center; }
.perm-icon { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #eef2ff, #e0e7ff); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; box-shadow: 0 6px 16px rgba(99, 102, 241, 0.14); }
.perm-title { font-size: 17px; font-weight: 700; color: #111827; margin-bottom: 8px; letter-spacing: 0.2px; }
.perm-msg { font-size: 13.5px; line-height: 1.75; color: #6b7280; padding: 0 6px; }
.perm-actions { padding: 4px 20px 0; display: flex; flex-direction: column; gap: 9px; }
.perm-btn { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px 16px; border-radius: 11px; font-size: 14px; font-weight: 600; text-decoration: none; border: none; cursor: pointer; transition: all .16s ease; box-sizing: border-box; line-height: 1.3; }
.perm-btn:active { transform: scale(.98); }
.perm-btn .p-ic { font-size: 16px; line-height: 1; }
.perm-btn-pri { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; box-shadow: 0 4px 12px rgba(99, 102, 241, 0.28); }
.perm-btn-pri:hover { filter: brightness(1.06); box-shadow: 0 6px 16px rgba(99, 102, 241, 0.36); }
.perm-btn-gold { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #fff; box-shadow: 0 4px 12px rgba(251, 191, 36, 0.32); }
.perm-btn-gold:hover { filter: brightness(1.06); box-shadow: 0 6px 16px rgba(251, 191, 36, 0.4); }
.perm-btn-pink { background: linear-gradient(135deg, #ec4899, #db2777); color: #fff; box-shadow: 0 4px 12px rgba(236, 72, 153, 0.28); }
.perm-btn-pink:hover { filter: brightness(1.06); box-shadow: 0 6px 16px rgba(236, 72, 153, 0.36); }
.perm-btn-gray { background: #f3f4f6; color: #4b5563; border: 1px solid #e5e7eb; }
.perm-btn-gray:hover { background: #e8eaee; color: #374151; }
.perm-close-row { padding: 14px 20px 18px; border-top: 1px solid #f3f4f8; background: #fafbfe; display: flex; justify-content: center; margin-top: 16px; }
.perm-close-row .btn { min-width: 130px; padding: 10px 26px; background: transparent; color: #6b7280; border: 1px solid #e5e7eb; border-radius: 9px; font-size: 13.5px; cursor: pointer; transition: all .16s; }
.perm-close-row .btn:hover { background: #f3f4f6; color: #374151; border-color: #d1d5db; }