/* themes · 三相灵境 · 统一 UI 规范 + 全站阅灵色谱（背景见 triad-bg-stack.css，覆盖见 yueling-unified.css） */
body[data-theme="triad"]{
  --font-body:'Inter','Noto Sans SC',sans-serif;
  --font-display:'Newsreader','Noto Serif SC',serif;
  --font-label:'Inter','Noto Sans SC',sans-serif;
  --glass-blur:blur(12px);
  --panel-radius:28px;
  --card-radius:24px;
  --pill-bg:rgba(232,241,251,.85);
  --pill-active:#FFFFFF;
  --recording-red:#4A90E2;
  --bg-primary:transparent;
  --yueling-blue:#4A90E2;
  --yueling-pink:#FFB6C1;
  transition:color .45s ease;
}

body[data-theme="triad"][data-triad-zone="realm"],
body[data-theme="triad"][data-triad-zone="bookshelf"],
body[data-theme="triad"][data-triad-zone="memory"]{
  --bg-secondary:rgba(255,255,255,.82);
  --text-primary:#1D1D1F;
  --text-secondary:#86868B;
  --text-muted:#86868B;
  --text-light:#A1A1A6;
  --text-tertiary:#A1A1A6;
  --accent:#4A90E2;
  --accent-soft:rgba(74,144,226,.12);
  --border:rgba(74,144,226,.08);
  --border-light:rgba(74,144,226,.06);
  --border-active:rgba(74,144,226,.32);
  --shadow:0 8px 32px rgba(74,144,226,.08);
  --shadow-subtle:0 2px 12px rgba(74,144,226,.05);
  --shadow-float:0 12px 40px rgba(74,144,226,.12);
  --glass-bg:rgba(255,255,255,.78);
  --glass-border:rgba(74,144,226,.08);
  --pill-bg:rgba(232,241,251,.85);
  --pill-active:#FFFFFF;
}

body[data-theme="triad"] .sidebar{
  background:rgba(255,255,255,.8);
  backdrop-filter:blur(10px);
  border-right:1px solid rgba(0,0,0,.03);
  box-shadow:var(--shadow-subtle);
}
body[data-theme="triad"] .home-shell{background:transparent}
body[data-theme="triad"] .sidebar-header{border-bottom:1px solid rgba(0,0,0,.03)}
body[data-theme="triad"] .logo{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:-.02em;font-style:normal}
body[data-theme="triad"] .logo span{font-weight:500;color:var(--text-primary)}
body[data-theme="triad"] .subtitle{font-family:var(--font-label);font-size:11px;letter-spacing:.05em;color:var(--text-muted);text-transform:none}
body[data-theme="triad"] .sidebar-nav-btn{border-radius:var(--card-radius);font-family:var(--font-sidebar);font-size:13px;font-weight:500;color:var(--text-muted)}
body[data-theme="triad"] .sidebar-nav-btn:hover:not(.active){background:rgba(255,255,255,.42);backdrop-filter:none;border-color:rgba(0,0,0,.03);color:var(--text-primary);box-shadow:none}
body[data-theme="triad"] .sidebar-nav-btn.active{background:transparent!important;color:#1D1D1F;font-weight:600;border-color:transparent!important;box-shadow:none!important}
body[data-theme="triad"] .sidebar-foot-btn{border-radius:var(--card-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.03);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .music-now-sidebar{background:rgba(245,245,247,.8);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.03);border-radius:var(--card-radius)}
body[data-theme="triad"] .home-toolbar{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.03)}
body[data-theme="triad"] .home-toolbar h2,
body[data-theme="triad"] .home-toolbar-title{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;color:var(--text-primary)}
body[data-theme="triad"] .view-mode-tab{border-radius:999px;background:var(--pill-bg);border:1px solid transparent;color:var(--text-muted);font-weight:500}
body[data-theme="triad"] .view-mode-tab:hover{background:var(--pill-active);border-color:rgba(0,0,0,.05);color:var(--text-primary);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .view-mode-tab.active{background:var(--pill-active);border-color:rgba(0,0,0,.05);color:var(--text-primary);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .search-box input{border-radius:999px;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.03);box-shadow:var(--shadow-subtle);color:var(--text-primary)}
body[data-theme="triad"] .search-results{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);border-radius:var(--card-radius);box-shadow:var(--shadow-float)}
body[data-theme="triad"] .book-section-head h3{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
body[data-theme="triad"] .book-card-cover-wrap{box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .book-card-cover{border-radius:0;box-shadow:none}
body[data-theme="triad"] .book-card-title{font-family:var(--font-display);font-weight:500;color:var(--text-primary)}
body[data-theme="triad"] .book-meta-tag{background:var(--pill-bg);color:var(--text-muted);border-radius:999px;font-size:10px;letter-spacing:.05em}
body[data-theme="triad"] .dash-hero{border-radius:var(--panel-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .dash-eyebrow{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
body[data-theme="triad"] .dash-title{font-family:var(--font-display);font-size:clamp(26px,3vw,34px);font-weight:400;letter-spacing:-.02em;color:var(--text-primary)}
body[data-theme="triad"] .dash-title strong{font-weight:500}
body[data-theme="triad"] .dash-lead{color:var(--text-muted)}
body[data-theme="triad"] .dash-demo-card{border-radius:var(--card-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .dash-demo-card:hover{box-shadow:var(--shadow-float);border-color:rgba(0,0,0,.08)}
body[data-theme="triad"] .dash-section-head h2{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--text-primary)}
body[data-theme="triad"] .dash-continue-card,
body[data-theme="triad"] .dash-thinking-item,
body[data-theme="triad"] .dash-knowledge-preview{border-radius:var(--panel-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .dash-btn{border-radius:999px;background:#FFFFFF;border:1px solid rgba(74,144,226,.15);box-shadow:var(--shadow-subtle);font-weight:500;color:var(--text-primary)}
body[data-theme="triad"] .dash-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-float)}
body[data-theme="triad"] .dash-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}
body[data-theme="triad"] .dash-filter-btn{border-radius:999px;background:var(--pill-bg);border:1px solid transparent;color:var(--text-muted)}
body[data-theme="triad"] .dash-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .section-title{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
body[data-theme="triad"] .btn{border-radius:999px;background:#FFFFFF;border:1px solid rgba(74,144,226,.15);box-shadow:var(--shadow-subtle);font-weight:500}
body[data-theme="triad"] .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-float)}
body[data-theme="triad"] .book-detail-modal,
body[data-theme="triad"] .meta-edit-modal,
body[data-theme="triad"] .quote-overlay{background:rgba(232,241,251,.55);backdrop-filter:blur(10px)}
body[data-theme="triad"] .book-detail-card,
body[data-theme="triad"] .meta-edit-card,
body[data-theme="triad"] .quote-card{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.08);border-radius:var(--panel-radius);box-shadow:var(--shadow-float);color:var(--text-primary)}
body[data-theme="triad"] .book-meta h1{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}
body[data-theme="triad"] .theme-card{border-radius:var(--card-radius);border:2px solid transparent;background:rgba(255,255,255,.5)}
body[data-theme="triad"] .theme-card.active{border-color:rgba(74,144,226,.28);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .font-option,
body[data-theme="triad"] .mood-card{border-radius:var(--card-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05)}
body[data-theme="triad"] .discover-card{border-radius:var(--panel-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .toast{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid rgba(74,144,226,.1);box-shadow:var(--shadow-float);font-family:var(--font-label);font-weight:500}
body[data-theme="triad"] .realm-eyebrow{font-family:var(--font-label);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
body[data-theme="triad"] .realm-lead{font-family:var(--font-display);font-size:clamp(12px,1.45vw,16px);font-weight:400;line-height:1.5;color:rgba(29,29,31,.72);max-width:none;width:100%;margin:0 auto;text-align:center;white-space:nowrap;letter-spacing:.04em}
body[data-theme="triad"] .realm-float-tag{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.1);border-radius:9px;box-shadow:0 2px 10px rgba(74,144,226,.06);padding:6px 12px;width:max-content;max-width:min(240px,42vw);text-align:left}
body[data-theme="triad"] .realm-float-label{font-family:var(--font-display);font-size:11px;color:var(--text-primary);line-height:1.32;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(216px,40vw)}
body[data-theme="triad"] .realm-float-sub{font-size:8px;color:var(--text-muted);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(216px,40vw)}
body[data-theme="triad"] .realm-agent-pulse{background:linear-gradient(135deg,#FFB6C1,#4A90E2);animation:pulse 1.5s infinite}
body[data-theme="triad"] .realm-agent-name{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:-.02em}
body[data-theme="triad"] .realm-agent-role{font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}
body[data-theme="triad"] .realm-chat-panel{border-radius:var(--panel-radius);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .realm-book-select,
body[data-theme="triad"] .realm-char-chip,
body[data-theme="triad"] .realm-input{border-radius:10px;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.03);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .realm-char-chip.active{background:var(--pill-active);border-color:rgba(74,144,226,.18)}
body[data-theme="triad"] .realm-msg-bubble{border-radius:10px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-subtle)}
body[data-theme="triad"] .realm-send-btn{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-float);font-weight:500}
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-ai-panel,
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-tts-panel{background:rgba(245,248,253,.92);backdrop-filter:blur(12px);border:1px solid rgba(74,144,226,.08);border-radius:var(--panel-radius);box-shadow:var(--shadow-float);color:var(--text-primary)}
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-ai-fab{background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.08);box-shadow:var(--shadow-subtle);color:var(--text-primary)}
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-bar{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:none!important}
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-ai-mode-btn{border-radius:999px;background:var(--pill-bg);border:1px solid transparent;color:var(--text-muted)}
body[data-theme="triad"] .reader-overlay:not(.has-scene) .reader-ai-mode-btn.active{background:var(--pill-active);border-color:rgba(74,144,226,.18);color:var(--accent);box-shadow:var(--shadow-subtle)}
@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}
@keyframes etherPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.5)}}
@keyframes resonancePulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}100%{transform:scale(.8);opacity:.5}}
@keyframes tuningPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}100%{transform:scale(1);opacity:1}}

body[data-theme="triad"] .realm-command-input{background:rgba(255,255,255,.88)!important;border-color:rgba(74,144,226,.12)!important;color:var(--text-primary)!important}
body[data-theme="triad"] .realm-command-input::placeholder{color:var(--text-muted)}
body[data-theme="triad"] .realm-drawer{background:rgba(255,255,255,.88);border-left:1px solid rgba(74,144,226,.1);backdrop-filter:blur(16px)}
body[data-theme="triad"] .realm-drawer-head{border-bottom-color:rgba(74,144,226,.08)}
