/* reno-download.css —— 平台选择下载浮层 + iOS/AppleTV 共享 ID 引导 + 邀请码条
   自包含: 主题变量在浮层容器上自定义, 不依赖宿主站样式; 命名空间 sid-/sidtv-/rdl-/inv- 前缀。
   移植自 reno_landing_cn (Hero / SharedIdGuide / SharedIdGuideTv / InviteAttribution / InviteReminder)。 */

/* ===== 主题令牌: 跟随宿主站 =====
   浮层注入在 <body> 内, 会继承宿主 :root 上的 CSS 变量。这里把浮层用的令牌映射到
   主站变量(Proton 紫 --primary:#6D4AFF 等), 缺失变量的页面(如 article)回落到同一套
   Proton 值 —— 配色随主站自动一致, 不再突兀。品牌色用主站 --primary, 语义色(危险/
   警告/成功)保持固定。主站为纯亮色, 故不做暗色覆盖, 以免暗色浏览器下浮层与主站脱节。 */
#reno-dl, #sid-choice, #sid-guide, #sidtv-choice, #sidtv-guide, #sid-zoom {
  --color-brand-crimson: var(--primary, #6D4AFF);
  --color-brand-purple: var(--primary-hover, var(--primary-dark, #5a3bd0));
  --color-success: #16A34A;
  --color-warning: #E0A34B;
  --color-danger: #DC2626;
  --theme-page: var(--bg-body, var(--bg-light, #FAFAFC));
  --theme-card: var(--surface, #FFFFFF);
  --theme-card-alt: color-mix(in srgb, var(--primary, #6D4AFF) 6%, #FFFFFF);
  --theme-heading: var(--text-main, #111827);
  --theme-body: var(--text-secondary, #4B5563);
  --theme-muted: var(--text-muted, #9CA3AF);
  --theme-border: var(--border-light, rgba(0, 0, 0, 0.08));
  font-family: inherit;
  line-height: 1.5;
  box-sizing: border-box;
}
#reno-dl *, #sid-choice *, #sid-guide *, #sidtv-choice *, #sidtv-guide *, #sid-zoom * { box-sizing: border-box; }

/* ===== 通用浮层 ===== */
.sid-overlay {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem; background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transition: opacity 0.2s ease;
}
.sid-overlay[hidden] { display: none; }
.sid-overlay.sid-open { opacity: 1; }

.sid-panel {
  position: relative; width: 100%; max-width: 30rem;
  background: var(--theme-card); border: 1px solid var(--theme-border);
  border-radius: 1.25rem; box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  transform: translateY(12px); transition: transform 0.2s ease;
}
.sid-open .sid-panel { transform: translateY(0); }
.sid-choice-panel { padding: 1.75rem 1.5rem 1.5rem; }

.sid-close {
  position: absolute; top: 0.75rem; right: 0.75rem;
  width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center;
  border-radius: 999px; color: var(--theme-muted); background: none; border: none; cursor: pointer;
  transition: color 0.15s, background 0.15s;
}
.sid-close:hover { color: var(--theme-heading); background: var(--theme-card-alt); }
.sid-close svg { width: 1.125rem; height: 1.125rem; }
.sid-close-static { position: static; flex-shrink: 0; }

/* choice 面板文字 (替代原 Tailwind 工具类) */
.sid-choice-title { font-size: 1.25rem; font-weight: 700; color: var(--theme-heading); margin: 0 0 0.25rem; }
.sid-choice-sub { font-size: 0.875rem; color: var(--theme-body); margin: 0 0 1.25rem; }
.sid-choice-list { display: flex; flex-direction: column; gap: 0.75rem; }
.sid-choice-hint { font-size: 0.75rem; color: var(--theme-muted); margin: 1rem 0 0; }

/* ===== 选择项 ===== */
.sid-option {
  position: relative; display: flex; flex-direction: column; gap: 0.25rem;
  padding: 1rem 1.125rem; text-align: left; border-radius: 0.875rem;
  border: 1px solid var(--theme-border); background: var(--theme-card-alt);
  cursor: pointer; transition: border-color 0.15s, transform 0.1s;
}
.sid-option:hover { border-color: var(--color-brand-crimson); }
.sid-option:active { transform: scale(0.99); }
.sid-option-title { font-weight: 600; font-size: 0.9375rem; color: var(--theme-heading); }
.sid-option-note { margin-left: 0.375rem; font-weight: 400; font-size: 0.8125rem; color: var(--theme-muted); }
.sid-option-desc { font-size: 0.8125rem; color: var(--theme-body); line-height: 1.5; }

/* ===== 分叉选项 ===== */
.sid-branch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.sid-branch-opt {
  display: flex; flex-direction: column; gap: 0.625rem; padding: 0.625rem;
  text-align: left; border-radius: 0.875rem; border: 1px solid var(--theme-border);
  background: var(--theme-card-alt); cursor: pointer; transition: border-color 0.15s, transform 0.1s;
}
.sid-branch-opt:hover { border-color: var(--color-brand-crimson); }
.sid-branch-opt:active { transform: scale(0.99); }
.sid-branch-shot { display: block; border-radius: 0.5rem; overflow: hidden; border: 1px solid var(--theme-border); background: var(--theme-card); }
.sid-branch-shot img { width: auto; max-width: 100%; max-height: 34vh; height: auto; margin: 0 auto; display: block; }
.sid-branch-shot .sid-shot-ph { aspect-ratio: 9 / 16; }
.sid-branch-text { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.sid-branch-title { font-weight: 600; font-size: 0.8125rem; line-height: 1.45; color: var(--theme-heading); }
.sid-branch-sub { font-size: 0.6875rem; color: var(--theme-muted); }

/* ===== 向导 ===== */
/* 各尺寸都做成"按内容收缩的居中卡片": 短步骤只占内容高, 内容超高时卡片封顶、内部滚动 */
.sid-overlay-full { padding: 1rem; }
.sid-wizard {
  max-width: 30rem; width: 100%; height: auto;
  max-height: calc(100dvh - 2rem);
  display: flex; flex-direction: column;
  border-radius: 1.25rem; border: 1px solid var(--theme-border);
}
@media (min-width: 640px) {
  .sid-overlay-full { padding: 1.5rem; }
  .sid-wizard { max-height: min(46rem, calc(100dvh - 3rem)); }
}
.sid-wizard-head { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1rem; border-bottom: 1px solid var(--theme-border); flex-shrink: 0; }
.sid-bar { flex: 1; height: 4px; border-radius: 999px; background: var(--theme-border); overflow: hidden; }
.sid-bar span { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--color-brand-crimson), var(--color-brand-purple)); transition: width 0.25s ease; }
.sid-wizard-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1.25rem 1.25rem 1.5rem; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.sid-wizard-foot { flex-shrink: 0; }
.sid-counter { font-size: 0.75rem; color: var(--theme-muted); margin: 0 0 0.5rem; }
.sid-step[hidden], .sidtv-step[hidden] { display: none; }
.sid-step-title { font-size: 1.125rem; font-weight: 700; color: var(--theme-heading); margin: 0 0 0.5rem; line-height: 1.4; }
.sid-seq { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-direction: column; gap: 0.4375rem; }
.sid-seq li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; line-height: 1.6; color: var(--theme-body); }
.sid-seq .sid-cred-num { margin-top: 0.1875rem; }
.sid-shot-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin-top: 0.75rem; }
.sid-shot-row .sid-shot { margin-top: 0; }
.sid-shot-row .sid-shot img { width: 100%; max-height: none; }
.sid-shot-row-2 { grid-template-columns: repeat(2, 1fr); }
.sid-shot-num {
  position: absolute; top: 0.375rem; left: 0.375rem; z-index: 1;
  width: 1.125rem; height: 1.125rem; display: flex; align-items: center; justify-content: center;
  border-radius: 999px; font-size: 0.6875rem; font-weight: 700; color: #fff; background: var(--color-brand-crimson);
}
.sid-step-title-danger { color: var(--color-danger); }
.sid-step-desc { font-size: 0.875rem; color: var(--theme-body); line-height: 1.65; margin: 0 0 1rem; }
.sid-tip { font-size: 0.75rem; color: var(--theme-muted); line-height: 1.6; margin: 0.875rem 0 0; }

.sid-danger { border: 1px solid color-mix(in srgb, var(--color-danger) 45%, transparent); background: color-mix(in srgb, var(--color-danger) 10%, transparent); border-radius: 0.75rem; padding: 0.875rem 1rem; margin-bottom: 1rem; }
.sid-danger-head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 0.875rem; color: var(--color-danger); margin-bottom: 0.5rem; }
.sid-danger-head svg { width: 1.125rem; height: 1.125rem; flex-shrink: 0; }
.sid-danger p { font-size: 0.8125rem; line-height: 1.65; color: var(--theme-body); margin: 0; }

.sid-warn { border: 1px solid color-mix(in srgb, var(--color-warning) 45%, transparent); background: color-mix(in srgb, var(--color-warning) 10%, transparent); border-radius: 0.75rem; padding: 0.75rem 0.875rem; font-size: 0.75rem; line-height: 1.6; color: var(--theme-body); margin-top: 1rem; }

.sid-check { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.875rem 1rem; border-radius: 0.75rem; border: 1px solid var(--theme-border); background: var(--theme-card-alt); cursor: pointer; font-size: 0.8125rem; line-height: 1.6; color: var(--theme-heading); }
.sid-check input { width: 1.125rem; height: 1.125rem; margin-top: 0.0625rem; flex-shrink: 0; accent-color: var(--color-brand-crimson); cursor: pointer; }

.sid-shot { position: relative; margin-top: 1rem; border-radius: 0.75rem; overflow: hidden; border: 1px solid var(--theme-border); background: var(--theme-card-alt); }
.sid-shot img { width: auto; max-width: 100%; max-height: 45vh; height: auto; margin: 0 auto; display: block; cursor: zoom-in; }
.sid-shot-ph { display: none; align-items: center; justify-content: center; aspect-ratio: 9 / 19.5; font-size: 0.75rem; color: var(--theme-muted); }
.sid-shot-missing img { display: none; }
.sid-shot-missing .sid-shot-ph { display: flex; }

.sid-zoom-hint { display: flex; align-items: center; justify-content: center; gap: 0.3125rem; margin: 0.5rem 0 0; font-size: 0.6875rem; color: var(--theme-muted); cursor: pointer; }
.sid-zoom-hint svg { width: 0.875rem; height: 0.875rem; }
.sid-shot-missing + .sid-zoom-hint { display: none; }

.sid-zoom { position: fixed; inset: 0; z-index: 2147483100; display: flex; align-items: center; justify-content: center; padding: 2rem 1.25rem; background: rgba(0, 0, 0, 0.92); cursor: zoom-out; opacity: 0; transition: opacity 0.2s ease; }
.sid-zoom[hidden] { display: none; }
.sid-zoom.sid-open { opacity: 1; }
.sid-zoom img { max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: 0.5rem; }

#sid-guide[data-branch='new'] .sid-only-old,
#sid-guide[data-branch='old'] .sid-only-new { display: none; }

.sid-cred { border-radius: 0.75rem; border: 1px solid var(--theme-border); background: var(--theme-card-alt); overflow: hidden; }
.sid-cred-row { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0.875rem; }
.sid-cred-main { flex: 1; min-width: 0; }
.sid-cred-row + .sid-cred-row { border-top: 1px solid var(--theme-border); }
.sid-cred-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.3125rem; }
.sid-cred-num { flex-shrink: 0; width: 1.125rem; height: 1.125rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 0.6875rem; font-weight: 700; color: #fff; background: var(--color-brand-crimson); }
.sid-cred-label { flex: 1; font-size: 0.75rem; font-weight: 600; color: var(--theme-muted); }
.sid-cred-row code { display: block; font-size: 0.875rem; line-height: 1.4; color: var(--theme-heading); word-break: break-all; user-select: all; margin: 0; }

.sid-cred--loading code { color: transparent; user-select: none; }
.sid-cred--loading code::after { content: ''; display: inline-block; width: 62%; height: 0.85em; vertical-align: middle; border-radius: 0.25rem; background: linear-gradient(90deg, var(--theme-border) 25%, var(--theme-card) 37%, var(--theme-border) 63%); background-size: 400% 100%; animation: sid-cred-shimmer 1.2s ease-in-out infinite; }
.sid-cred--loading .sid-cred-row:nth-child(2) code::after { width: 42%; }
@keyframes sid-cred-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
.sid-copy:disabled, .sidtv-copy:disabled { opacity: 0.5; cursor: default; }

.sid-skip { display: block; width: 100%; margin-top: 0.75rem; font-size: 0.75rem; color: var(--theme-muted); background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; transition: color 0.15s, opacity 0.15s; }
.sid-skip:hover:not(:disabled) { color: var(--color-brand-crimson); }
.sid-skip:disabled { opacity: 0.5; cursor: not-allowed; }

.sid-cred-picker { margin-bottom: 0.875rem; }
.sid-cred-picker[hidden] { display: none; }
.sid-cred-picker-label { font-size: 0.75rem; line-height: 1.6; color: var(--theme-muted); margin: 0 0 0.5rem; }
.sid-cred-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sid-chip { padding: 0.375rem 0.875rem; font-size: 0.75rem; font-weight: 600; border-radius: 999px; border: 1px solid var(--theme-border); background: var(--theme-card-alt); color: var(--theme-body); cursor: pointer; transition: border-color 0.15s, color 0.15s; }
.sid-chip:hover { border-color: var(--color-brand-crimson); }
.sid-chip-on { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }

.sid-cred-refresh, .sidtv-refresh { display: flex; align-items: center; justify-content: center; gap: 0.375rem; width: 100%; margin-top: 0.75rem; padding: 0.625rem 0.75rem; font-size: 0.8125rem; font-weight: 600; color: var(--color-brand-crimson); background: color-mix(in srgb, var(--color-brand-crimson) 8%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-crimson) 35%, transparent); border-radius: 0.625rem; cursor: pointer; transition: background 0.15s, border-color 0.15s, transform 0.1s, opacity 0.15s; }
.sid-cred-refresh::before, .sidtv-refresh::before { content: "\21bb"; font-size: 1rem; line-height: 1; }
.sid-cred-refresh:hover, .sidtv-refresh:hover { background: color-mix(in srgb, var(--color-brand-crimson) 14%, transparent); border-color: var(--color-brand-crimson); }
.sid-cred-refresh:active, .sidtv-refresh:active { transform: scale(0.99); }
.sid-cred-refresh:disabled, .sidtv-refresh:disabled { opacity: 0.5; cursor: wait; }

.sid-copy, .sidtv-copy { flex-shrink: 0; padding: 0.5rem 0.9375rem; font-size: 0.8125rem; font-weight: 600; color: #fff; border: none; border-radius: 0.5rem; cursor: pointer; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }

.sid-primary-link { display: block; text-align: center; padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 600; color: #fff; text-decoration: none; border-radius: 0.75rem; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }

.sid-done-mark { width: 3rem; height: 3rem; margin-bottom: 0.875rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; color: #fff; background: var(--color-success); }
.sid-done-mark svg { width: 1.5rem; height: 1.5rem; }

.sid-faq { border-top: 1px solid var(--theme-border); padding: 0.75rem 0; }
.sid-faq summary { cursor: pointer; font-size: 0.8125rem; font-weight: 600; color: var(--theme-heading); list-style: none; }
.sid-faq summary::-webkit-details-marker { display: none; }
.sid-faq summary::before { content: '+ '; color: var(--color-brand-crimson); }
.sid-faq[open] summary::before { content: '\2212 '; }
.sid-faq p { font-size: 0.8125rem; line-height: 1.65; color: var(--theme-body); margin-top: 0.5rem; }

.sid-wizard-foot { display: flex; gap: 0.625rem; padding: 0.875rem 1.25rem; padding-bottom: max(0.875rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--theme-border); }
.sid-back, .sid-next { flex: 1; padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 600; border-radius: 0.75rem; cursor: pointer; transition: opacity 0.15s; }
.sid-back { flex: 0 0 auto; min-width: 5.5rem; color: var(--theme-body); background: var(--theme-card-alt); border: 1px solid var(--theme-border); }
.sid-back[hidden] { display: none; }
.sid-next { color: #fff; border: none; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }
.sid-next[hidden] { display: none; }
.sid-next:disabled { opacity: 0.4; cursor: not-allowed; }

/* ===== TV 专用 ===== */
.sidtv-shot .sid-shot-ph { aspect-ratio: 16 / 9; }
.sidtv-note { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.75rem 0.875rem; margin-top: 0.75rem; border-radius: 0.75rem; border: 1px solid var(--theme-border); background: var(--theme-card-alt); }
.sidtv-note-title { font-weight: 600; font-size: 0.8125rem; color: var(--theme-heading); }
.sidtv-note-desc { font-size: 0.75rem; line-height: 1.6; color: var(--theme-body); }

/* ===== 邀请码条 (chip + reminder) ===== */
.inv-code { align-items: center; gap: 0.75rem; padding: 0.5rem 0.5rem 0.5rem 0.875rem; border-radius: 0.75rem; border: 1px solid var(--theme-border); background: var(--theme-card-alt); text-align: left; }
.inv-code-chip { display: flex; width: 100%; max-width: 100%; margin: 1rem 0 0; }
.inv-code-main { flex: 1; min-width: 0; }
.inv-code-label { display: block; font-size: 0.6875rem; font-weight: 600; color: var(--theme-muted); }
.inv-code-value { display: block; font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.06em; color: var(--theme-heading); word-break: break-all; user-select: all; }
.inv-code-copy { flex-shrink: 0; align-self: stretch; padding: 0.5rem 0.9375rem; font-size: 0.8125rem; font-weight: 600; color: #fff; border: none; border-radius: 0.5rem; cursor: pointer; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }
.inv-code-hint { font-size: 0.75rem; line-height: 1.6; color: var(--theme-muted); margin: 0.5rem 0 0; }
.inv-code[hidden], .inv-code-hint[hidden] { display: none; }

.inv-rem { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; padding: 0.75rem 0.875rem; border-radius: 0.875rem; background: color-mix(in srgb, var(--color-brand-crimson) 8%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-crimson) 42%, transparent); }
.inv-rem[hidden] { display: none; }
.inv-rem:last-child { margin-top: 1rem; margin-bottom: 0; }
.inv-rem-ic { flex-shrink: 0; width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; border-radius: 0.625rem; color: #fff; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); }
.inv-rem-ic svg { width: 1.25rem; height: 1.25rem; }
.inv-rem-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.125rem; }
.inv-rem-top { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
.inv-rem-label { font-size: 0.6875rem; font-weight: 600; color: var(--color-brand-crimson); flex-shrink: 0; }
.inv-rem-code { font-size: 1.125rem; font-weight: 800; letter-spacing: 0.06em; color: var(--color-brand-crimson); word-break: break-all; user-select: all; }
.inv-rem-hint { font-size: 0.6875rem; line-height: 1.45; color: var(--theme-muted); }
.inv-rem-copy { flex-shrink: 0; align-self: stretch; padding: 0.4rem 0.9375rem; font-size: 0.8125rem; font-weight: 700; color: #fff; border: none; border-radius: 0.5rem; cursor: pointer; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); transition: opacity 0.15s; }
.inv-rem-copy:hover { opacity: 0.92; }

/* ===== 下载浮层 (rdl) ===== */
#reno-dl .sid-panel { max-width: 26rem; }
.rdl-panel { padding: 1.5rem 1.375rem 1.375rem; max-height: calc(100dvh - 2rem); overflow-y: auto; overscroll-behavior: contain; }
.rdl-title { font-size: 1.1875rem; font-weight: 700; color: var(--theme-heading); margin: 0 0 0.25rem; }
.rdl-sub { font-size: 0.8125rem; color: var(--theme-body); margin: 0 0 1.125rem; }
.rdl-primary { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 0.875rem 1.25rem; font-size: 1rem; font-weight: 600; color: #fff; text-decoration: none; border: none; border-radius: 0.875rem; cursor: pointer; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); box-shadow: 0 10px 30px color-mix(in srgb, var(--color-brand-crimson) 25%, transparent); transition: opacity 0.15s, transform 0.1s; }
.rdl-primary:hover { opacity: 0.92; }
.rdl-primary:active { transform: scale(0.99); }
.rdl-primary svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.rdl-or { display: flex; align-items: center; gap: 0.75rem; margin: 1.125rem 0 0.875rem; }
.rdl-or::before, .rdl-or::after { content: ''; flex: 1; height: 1px; background: var(--theme-border); }
.rdl-or span { font-size: 0.75rem; color: var(--theme-muted); }
.rdl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem; }
.rdl-pill { display: flex; align-items: center; gap: 0.625rem; padding: 0.6875rem 0.75rem; border-radius: 0.75rem; background: var(--theme-card-alt); border: 1px solid var(--theme-border); text-decoration: none; cursor: pointer; transition: border-color 0.15s, transform 0.1s; }
.rdl-pill:hover { border-color: color-mix(in srgb, var(--color-brand-crimson) 40%, transparent); }
.rdl-pill:active { transform: scale(0.99); }
.rdl-pill[hidden] { display: none; }
.rdl-pill-icon { width: 2rem; height: 2rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 0.5rem; background: linear-gradient(135deg, var(--color-brand-crimson), var(--color-brand-purple)); opacity: 0.9; }
.rdl-pill-icon svg { width: 1.125rem; height: 1.125rem; color: #fff; }
.rdl-pill-text { display: flex; flex-direction: column; min-width: 0; }
.rdl-pill-name { font-size: 0.8125rem; font-weight: 600; color: var(--theme-heading); }
.rdl-pill-action { font-size: 0.6875rem; color: var(--color-brand-crimson); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rdl-netdisk { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; margin-top: 0.875rem; padding: 0.75rem 1rem; font-size: 0.9375rem; font-weight: 600; color: var(--color-brand-crimson); background: color-mix(in srgb, var(--color-brand-crimson) 8%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-crimson) 30%, transparent); border-radius: 0.875rem; text-decoration: none; cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.rdl-netdisk:hover { background: color-mix(in srgb, var(--color-brand-crimson) 14%, transparent); border-color: var(--color-brand-crimson); }
.rdl-netdisk svg { width: 1.125rem; height: 1.125rem; flex-shrink: 0; }
.rdl-open-app { display: flex; align-items: center; justify-content: center; gap: 0.375rem; margin-top: 1rem; font-size: 0.8125rem; color: var(--theme-muted); text-decoration: none; cursor: pointer; transition: color 0.15s; }
.rdl-open-app:hover { color: var(--color-brand-crimson); }
.rdl-open-app svg { width: 1rem; height: 1rem; flex-shrink: 0; }
