/* =========================================================
   STARSCREEN V2 · 色彩层
   只覆盖颜色/阴影，不改变布局。
   曜黑：深海军蓝 + 青绿 + 冷蓝 + 暖金
   ========================================================= */

/* 环境色 */
body[data-theme="noir"]::before{
  background:
    radial-gradient(1000px 560px at 10% -8%,rgba(56,224,196,.10),transparent 62%),
    radial-gradient(900px 520px at 100% 0%,rgba(124,156,255,.09),transparent 68%),
    radial-gradient(700px 500px at 50% 110%,rgba(255,196,107,.04),transparent 70%);
}
/* 顶栏 */
body[data-tone] .site-header{border-bottom-color:var(--ss-line)}
body[data-tone] .site-header.is-scrolled{
  background:color-mix(in srgb,var(--ss-bg) 94%,transparent);
  border-bottom-color:color-mix(in srgb,var(--ss-accent) 22%,var(--ss-line));
}
body[data-tone] .brand-mark{color:var(--ss-accent);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--ss-accent) 35%,transparent))}
body[data-tone] .main-nav a.is-active::after,body[data-tone] .mobile-main-nav a.is-active::after{background:var(--ss-accent)}
body[data-tone] .main-nav a:hover,body[data-tone] .main-nav a.is-active,
body[data-tone] .mobile-main-nav a.is-active{color:var(--ss-accent)}
body[data-tone] .header-search:focus-within{border-color:color-mix(in srgb,var(--ss-accent) 55%,var(--ss-line));box-shadow:0 0 0 3px var(--ss-accent-soft)}

/* 通用文字与标记 */
body[data-tone] .eyebrow{color:var(--ss-accent)}
body[data-tone] .eyebrow::before{border-color:var(--ss-accent)}
body[data-tone] .text-link:hover,body[data-tone] .section-link:hover,body[data-tone] .ss-link:hover{color:var(--ss-accent)}
body[data-tone] .pagination a:hover{border-color:color-mix(in srgb,var(--ss-accent) 45%,var(--ss-line));color:var(--ss-accent)}
body[data-tone] .pagination .is-current{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .notice-line .icon,body[data-tone] .panel-hint .icon{color:var(--ss-accent)}

/* 按钮 */
body[data-tone] .btn-primary{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .btn-primary:hover{box-shadow:0 10px 30px color-mix(in srgb,var(--ss-accent) 25%,transparent)}
body[data-tone] .btn-outline:hover,body[data-tone] .btn-ghost:hover,body[data-tone] .btn-glass:hover{
  border-color:color-mix(in srgb,var(--ss-accent) 55%,var(--ss-line));color:var(--ss-accent);background:var(--ss-accent-soft);
}

/* 卡片 */
body[data-tone] .video-card-poster{border-color:var(--ss-line);box-shadow:0 10px 24px rgba(0,0,0,.18)}
body[data-tone] .video-card-link:hover .video-card-poster{
  border-color:color-mix(in srgb,var(--ss-accent) 50%,var(--ss-line));
  box-shadow:0 24px 52px color-mix(in srgb,var(--ss-accent) 16%,rgba(0,0,0,.32));
}
body[data-tone] .quality-badge{background:color-mix(in srgb,var(--ss-accent) 85%,#071018);color:var(--ss-accent-ink);border-color:transparent}
body[data-tone] .rating-badge{background:var(--ss-gold);color:#1b1408;border-color:transparent;font-weight:800}
body[data-tone] .pay-badge{background:color-mix(in srgb,var(--ss-secondary) 88%,#071018);color:#fff;border-color:transparent}
body[data-tone] .card-rank{background:linear-gradient(135deg,var(--ss-gold),color-mix(in srgb,var(--ss-gold) 60%,#000));color:#1b1408;border-color:transparent}
body[data-tone] .card-play{background:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .card-progress i{background:var(--ss-accent)}

/* Hero */
body[data-tone] .hero-vignette{
  background:
    linear-gradient(90deg,rgba(3,10,18,.94),rgba(3,10,18,.60) 45%,rgba(3,10,18,.05) 78%),
    linear-gradient(0deg,rgba(3,10,18,.96),transparent 50%),
    linear-gradient(135deg,rgba(56,224,196,.14),transparent 42%);
}
body[data-tone] .hero-copy .eyebrow{color:var(--ss-accent)}
body[data-tone] .hero-rating{color:var(--ss-gold)}
body[data-tone] .hero-actions .btn-primary{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .hero-actions .btn-glass{border-color:color-mix(in srgb,var(--ss-accent) 42%,rgba(255,255,255,.28));color:#fff}
body[data-tone] .hero-poster-frame{border-color:color-mix(in srgb,var(--ss-accent) 45%,rgba(255,255,255,.18));box-shadow:0 20px 48px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--ss-accent) 18%,transparent)}
body[data-tone] .hero-poster-label{background:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .hero-dot.is-active span{background:var(--ss-accent);box-shadow:0 0 10px color-mix(in srgb,var(--ss-accent) 55%,transparent)}
body[data-tone] .hero-thumb.is-active{border-color:var(--ss-accent)}
body[data-tone] .rank-live{display:none}
body[data-tone] .rank-head .eyebrow{color:var(--ss-accent)}
body[data-tone] .rank-item:nth-child(1) .rank-num{color:var(--ss-gold)}
body[data-tone] .rank-item:nth-child(2) .rank-num{color:#c7d1dd}
body[data-tone] .rank-item:nth-child(3) .rank-num{color:#c48a5a}
body[data-tone] .rank-num{font-weight:800}
body[data-tone] .rank-more:hover{color:var(--ss-accent)}

/* 章节标题/横向条 */
body[data-tone] .ss-section-head .eyebrow{color:var(--ss-accent)}
body[data-tone] .ss-section-head{border-bottom:1px solid var(--ss-line);padding-bottom:12px}
body[data-tone] .ss-section-head .ss-link:hover{color:var(--ss-accent)}

/* 标签/筛选 */
body[data-tone] .genre-chips a:hover,body[data-tone] .category-switch a:hover{border-color:color-mix(in srgb,var(--ss-accent) 55%,var(--ss-line));color:var(--ss-accent)}
body[data-tone] .genre-chips a:hover,body[data-tone] .category-switch a.is-active{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .category-sort a.is-active{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .category-filter-row a.is-active{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .category-filter-row a:hover{border-color:color-mix(in srgb,var(--ss-accent) 50%,var(--ss-line));color:var(--ss-accent)}

/* 分类页 */
body[data-tone] .category-hot::before{background:linear-gradient(90deg,var(--ss-accent),var(--ss-secondary),transparent)}
body[data-tone] .category-hot{border-color:color-mix(in srgb,var(--ss-accent) 20%,var(--ss-line))}
body[data-tone] .category-hot-title h1{color:var(--ss-text)}
body[data-tone] .category-hot-item:hover{border-color:color-mix(in srgb,var(--ss-accent) 45%,var(--ss-line));background:var(--ss-accent-soft)}
body[data-tone] .category-hot-go{color:var(--ss-accent)}
body[data-tone] .category-hot-cover em{background:var(--ss-accent);color:var(--ss-accent-ink);border-color:transparent;font-weight:800}
body[data-tone] .category-card{border-color:var(--ss-line)}
body[data-tone] .category-card:hover{border-color:color-mix(in srgb,var(--cat,var(--ss-accent)) 60%,var(--ss-line))}
body[data-tone] .category-card-bg{filter:saturate(.85) brightness(.60)}
body[data-tone] .category-card-shade{background:linear-gradient(0deg,rgba(4,10,18,.9),rgba(4,10,18,.05) 70%)}
body[data-tone] .category-card-icon{color:var(--cat,var(--ss-accent));border-color:color-mix(in srgb,var(--cat,var(--ss-accent)) 45%,transparent);background:rgba(0,0,0,.32)}

/* 详情 */
body[data-tone] .detail-v2-shade{
  background:
    linear-gradient(0deg,var(--ss-bg) 1%,rgba(3,10,18,.84) 42%,rgba(3,10,18,.28) 100%),
    linear-gradient(90deg,rgba(3,10,18,.76),transparent 72%),
    linear-gradient(135deg,rgba(56,224,196,.08),transparent 45%);
}
body[data-tone] .detail-v2-kicker span:first-child{color:var(--ss-accent);border-color:color-mix(in srgb,var(--ss-accent) 45%,transparent);background:var(--ss-accent-soft)}
body[data-tone] .detail-v2-meta .score{color:var(--ss-gold);border-color:color-mix(in srgb,var(--ss-gold) 45%,transparent);background:color-mix(in srgb,var(--ss-gold) 8%,transparent)}
body[data-tone] .detail-v2-genres a:hover{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .detail-v2-actions .btn-primary{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .detail-v2-actions .btn-glass:hover{border-color:var(--ss-accent);color:var(--ss-accent);background:var(--ss-accent-soft)}
body[data-tone] .detail-v2-poster{border-color:color-mix(in srgb,var(--ss-accent) 38%,rgba(255,255,255,.18))}
body[data-tone] .episode-chip.is-active,body[data-tone] .episode-chip:hover{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .episode-chip span{color:var(--ss-gold)}

/* 播放页 */
body[data-tone] .video-stage{border-color:color-mix(in srgb,var(--ss-accent) 28%,var(--ss-line));box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 42px color-mix(in srgb,var(--ss-accent) 8%,transparent)}
body[data-tone] .player-quickmeta b{color:var(--ss-accent)}
body[data-tone] .quick-ep.is-active{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-ink)}
body[data-tone] .playlist-item.is-active{background:var(--ss-accent-soft);border-color:color-mix(in srgb,var(--ss-accent) 35%,var(--ss-line))}
body[data-tone] .danmaku-toggle.is-on{color:var(--ss-accent);border-color:color-mix(in srgb,var(--ss-accent) 45%,var(--ss-line))}
body[data-tone] .player-info .score,body[data-tone] .player-meta .score{color:var(--ss-gold)}

/* 个人中心 */
body[data-tone] .account-stat strong{color:var(--ss-text)}
body[data-tone] .account-stat:nth-child(1) strong{color:var(--ss-accent)}
body[data-tone] .vip-strip{border-color:color-mix(in srgb,var(--ss-gold) 28%,var(--ss-line))}
body[data-tone] .vip-strip-icon{color:var(--ss-gold);background:color-mix(in srgb,var(--ss-gold) 10%,transparent)}
body[data-tone] .vip-strip-action{color:var(--ss-gold)}

/* 页脚 */
body[data-tone] .site-footer{border-top-color:color-mix(in srgb,var(--ss-accent) 20%,var(--ss-line))}
body[data-tone] .footer-col a:hover{color:var(--ss-accent)}
body[data-tone] .footer-version:hover{color:var(--ss-accent)}
body[data-tone] .footer-badges .icon{color:var(--ss-accent)}

/* 浅色主题下图片舞台仍保持深色 */
body[data-tone] .hero-vignette,body[data-tone] .detail-v2-shade{color-scheme:dark}

/* =========================================================
   通知 / 付费 / 线条装饰
   ========================================================= */

/* 大号主题通知：30 秒进度条，醒目但不遮死内容 */
body[data-tone] .toast-stack{
  right:26px;bottom:26px;max-width:min(520px,calc(100vw - 32px));gap:12px;
}
body[data-tone] .toast{
  position:relative;display:block;padding:22px 54px 22px 58px;overflow:hidden;
  border-radius:12px;border:1px solid color-mix(in srgb,var(--ss-accent) 40%,var(--ss-line));
  background:linear-gradient(145deg,var(--ss-surface),var(--ss-surface-2));
  color:var(--ss-text);font-size:14px;line-height:1.7;font-weight:500;
  box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px color-mix(in srgb,var(--ss-accent) 8%,transparent);
  animation:toastIn .3s ease;
}
body[data-tone] .toast::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ss-accent);
}
body[data-tone] .toast::after{
  content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;
  background:linear-gradient(90deg,var(--ss-accent),var(--ss-secondary));
  animation:toastLife 30s linear forwards;
}
body[data-tone] .toast-dot{
  position:absolute;left:21px;top:24px;width:18px;height:18px;margin:0;border-radius:50%;
  background:var(--ss-accent);box-shadow:0 0 0 6px var(--ss-accent-soft),0 0 24px color-mix(in srgb,var(--ss-accent) 45%,transparent);
}
body[data-tone] .toast-error{border-color:color-mix(in srgb,var(--ss-danger) 45%,var(--ss-line))}
body[data-tone] .toast-error::before,body[data-tone] .toast-error::after{background:var(--ss-danger)}
body[data-tone] .toast-error .toast-dot{background:var(--ss-danger);box-shadow:0 0 0 6px color-mix(in srgb,var(--ss-danger) 12%,transparent)}
body[data-tone] .toast-success .toast-dot{background:var(--ss-accent)}
body[data-tone] .toast button{
  position:absolute;right:12px;top:12px;width:30px;height:30px;display:grid;place-items:center;
  border-radius:5px;color:var(--ss-muted);margin:0;padding:0;
}
body[data-tone] .toast button:hover{color:var(--ss-text);background:var(--ss-accent-soft)}
@keyframes toastLife{from{width:100%}to{width:0}}
@media(max-width:680px){
  body[data-tone] .toast-stack{left:12px;right:12px;bottom:88px;max-width:none}
  body[data-tone] .toast{padding:18px 46px 18px 50px;font-size:13px;border-radius:10px}
  body[data-tone] .toast-dot{left:18px;top:20px;width:15px;height:15px}
}

/* 付费提示：暖金/琥珀，明显高于普通标签 */
body[data-tone] .pay-badge{
  left:8px;bottom:8px;padding:4px 8px;border-radius:3px;
  background:linear-gradient(135deg,#ffd27a,#f2a93b);color:#251503;border:0;
  box-shadow:0 4px 16px rgba(242,169,59,.35);font-weight:800;
}
body[data-tone] .hero-paid{
  display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:100px;
  color:#2b1a02;background:linear-gradient(135deg,#ffd98a,#ffb347);
  border:1px solid rgba(255,214,138,.85);font-size:10px;font-weight:800;
  box-shadow:0 4px 16px rgba(255,179,71,.28);
}
body[data-tone] .rank-paid{
  color:#2b1a02;background:linear-gradient(135deg,#ffd98a,#ffb347);
  border-radius:3px;padding:1px 5px;font-size:8px;font-weight:800;margin-left:5px;
}
body[data-tone] .detail-v2-status{
  border-color:color-mix(in srgb,var(--ss-gold) 45%,var(--ss-line));
  background:linear-gradient(135deg,color-mix(in srgb,var(--ss-gold) 12%,transparent),transparent);
}
body[data-tone] .detail-v2-status strong{color:var(--ss-gold)}
body[data-tone] .paywall-card{
  border:1px solid color-mix(in srgb,var(--ss-gold) 45%,var(--ss-line));
  background:linear-gradient(145deg,var(--ss-surface),color-mix(in srgb,var(--ss-gold) 7%,var(--ss-surface)));
  box-shadow:0 24px 60px rgba(0,0,0,.24),0 0 0 1px color-mix(in srgb,var(--ss-gold) 10%,transparent);
}

/* 页面几何网格 + 边框/线条装饰 */
body[data-tone]::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--ss-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--ss-line) 1px,transparent 1px);
  background-size:96px 96px;opacity:.05;
  mask-image:linear-gradient(180deg,#000,transparent 34%);
}
body[data-tone] .hero-stage{position:relative}
body[data-tone] .hero-stage::after{
  content:"";position:absolute;right:18px;top:18px;width:34px;height:34px;z-index:3;pointer-events:none;
  border-top:1px solid color-mix(in srgb,var(--ss-accent) 70%,transparent);
  border-right:1px solid color-mix(in srgb,var(--ss-accent) 70%,transparent);
}
body[data-tone] .ss-section-head{position:relative}
body[data-tone] .ss-section-head::before{
  content:"";position:absolute;left:0;top:-10px;width:32px;height:2px;background:var(--ss-accent);
}
body[data-tone] .page-compact{position:relative}
body[data-tone] .page-compact::after{
  content:"";position:absolute;left:0;bottom:-1px;width:54px;height:2px;background:var(--ss-accent);
}
body[data-tone] .site-footer{position:relative}
body[data-tone] .site-footer::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--ss-accent),var(--ss-secondary),transparent);
}
body[data-tone] .video-card-poster::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
body[data-tone] .panel{position:relative}
body[data-tone] .panel::after{
  content:"";position:absolute;left:0;top:0;width:26px;height:2px;background:linear-gradient(90deg,var(--ss-accent),transparent);
}

/* 大号实时提醒：和模版同色，30 秒自动消失 */
body[data-tone] .notify-toasts{
  left:24px;bottom:24px;max-width:min(520px,calc(100vw - 32px));gap:12px;z-index:210;
}
body[data-tone] .notify-toast{
  position:relative;display:block;padding:20px 22px 20px 58px;overflow:hidden;
  border-radius:12px;border:1px solid color-mix(in srgb,var(--ss-accent) 45%,var(--ss-line));
  background:linear-gradient(145deg,var(--ss-surface),var(--ss-surface-2));
  color:var(--ss-text);font-size:14px;line-height:1.65;
  box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px color-mix(in srgb,var(--ss-accent) 8%,transparent);
  animation:notify-in .3s ease;
}
body[data-tone] .notify-toast::before{
  content:"";position:absolute;left:20px;top:24px;width:18px;height:18px;border-radius:50%;
  background:var(--ss-accent);box-shadow:0 0 0 6px var(--ss-accent-soft),0 0 24px color-mix(in srgb,var(--ss-accent) 45%,transparent);
}
body[data-tone] .notify-toast::after{
  content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;
  background:linear-gradient(90deg,var(--ss-accent),var(--ss-secondary));
  animation:notifyLife 30s linear forwards;
}
body[data-tone] .notify-toast strong{color:var(--ss-accent);font-size:14.5px;font-weight:700;display:block;margin-bottom:3px}
body[data-tone] .notify-toast span{color:var(--ss-text-soft);font-size:12.5px;line-height:1.6;display:block;white-space:normal;overflow:visible}
body[data-tone] .notify-toast:hover{border-color:var(--ss-accent);background:linear-gradient(145deg,var(--ss-surface-2),var(--ss-surface))}
@keyframes notifyLife{from{width:100%}to{width:0}}
@media(max-width:680px){
  body[data-tone] .notify-toasts{left:12px;right:12px;bottom:88px;max-width:none}
  body[data-tone] .notify-toast{padding:17px 16px 17px 50px;font-size:13px;border-radius:10px}
  body[data-tone] .notify-toast::before{left:17px;top:20px;width:15px;height:15px}
}

/* 左上返回浮窗：位于顶栏/logo 下方 */
body[data-tone] .page-back-float{
  position:fixed;left:max(16px,calc((100vw - var(--shell)) / 2));
  top:calc(var(--header-h) + 18px);z-index:75;
  display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;
  border:1px solid color-mix(in srgb,var(--ss-accent) 38%,var(--ss-line));
  border-radius:100px;background:color-mix(in srgb,var(--ss-surface) 92%,transparent);
  color:var(--ss-text-soft);font-size:10.5px;font-weight:600;letter-spacing:.04em;
  box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(12px);
  transition:.18s ease;
}
body[data-tone] .page-back-float .icon{color:var(--ss-accent)}
body[data-tone] .page-back-float:hover{
  color:var(--ss-accent);border-color:var(--ss-accent);transform:translateY(-1px);
  box-shadow:0 12px 30px color-mix(in srgb,var(--ss-accent) 16%,transparent);
}
@media(max-width:920px){
  body[data-tone] .page-back-float{
    left:14px;top:calc(var(--header-h) + 46px);height:34px;padding:0 11px;
    background:color-mix(in srgb,var(--ss-bg) 88%,transparent);
  }
}

/* 登录/注册独立页不显示返回浮窗 */
.auth-standalone .page-back-float{display:none}
