.view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:28px}.view-head.compact{max-width:1000px}.view-head h1{font:600 clamp(36px,5vw,64px)/1.08 var(--font-heading);margin:9px 0}.view-head p{color:var(--color-muted);margin:0;max-width:560px}.curriculum-tools{display:grid;justify-items:end;gap:10px;padding-top:12px}.search-box{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:8px 13px;min-width:300px}.search-box span{font-size:var(--font-xs);color:var(--color-muted);letter-spacing:.12em}.search-box input{border:0;background:transparent;outline:0;min-width:0;flex:1}.segmented{display:flex;background:var(--color-surface-3);border-radius:var(--radius-pill);padding:4px}.segmented button{border:0;background:transparent;border-radius:var(--radius-pill);padding:8px 14px;cursor:pointer;color:var(--color-muted)}.segmented button.active{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-sm)}.path-banner{background:linear-gradient(110deg,var(--color-surface-3),var(--color-surface-2));border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:15px 18px;margin-bottom:14px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.path-banner>div{flex:1;min-width:0}.path-banner b{font:600 var(--font-xl) var(--font-heading)}.path-banner p{margin:3px 0 0;color:var(--color-muted);font-size:var(--font-sm)}.path-banner .path-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;flex-shrink:0;max-width:50%}.path-banner .path-tags span{font-size:var(--font-xs);color:var(--color-brand);border:1px solid var(--color-line-strong);padding:4px 8px;border-radius:var(--radius-pill);white-space:nowrap}.course-stage{display:grid;grid-template-columns:280px 1fr;gap:18px}.module-intro{background:linear-gradient(160deg,var(--color-brand),var(--color-brand-active));color:var(--color-white);border-radius:var(--radius-xl);padding:28px;min-height:470px;position:sticky;top:105px;overflow:hidden}.module-intro:after{content:"";position:absolute;width:250px;height:250px;border:1px solid color-mix(in srgb,var(--color-white) 12%,transparent);border-radius:var(--radius-round);right:-120px;bottom:-80px}.module-intro span{font-size:var(--font-xs);letter-spacing:.2em;color:var(--color-gold-soft)}.module-intro h2{font:600 var(--font-3xl)/1.25 var(--font-heading)}.module-intro p{color:var(--color-gold-soft);font-size:var(--font-md)}.module-intro ul{padding-left:18px;color:var(--color-gold-soft);font-size:var(--font-sm)}.module-intro .module-number{font:500 96px var(--font-heading);color:color-mix(in srgb,var(--color-white) 11%,transparent);position:absolute;bottom:15px;right:20px}.course-results{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 10px;color:var(--color-muted);font-size:var(--font-xs)}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-item{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:18px;min-height:158px;display:flex;flex-direction:column;justify-content:space-between;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative;overflow:hidden}.course-item:after{content:"";position:absolute;inset:auto -35px -65px auto;width:120px;height:120px;border:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);border-radius:var(--radius-round)}.course-item.open{cursor:pointer}.course-item.open:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:var(--color-gold-soft)}.course-item.locked{opacity:.62}.course-item.completed{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 5%,var(--color-surface))}.course-item.recommended:before{content:"岗位推荐";position:absolute;left:0;top:0;background:var(--color-error-soft);color:var(--color-brand);font-size:9px;padding:5px 9px;border-radius:0 0 var(--radius-md) 0;z-index:2}.course-item header{display:flex;justify-content:space-between;align-items:center}.course-item small{font-size:9px;letter-spacing:.14em;color:var(--color-muted)}.course-item h3{font:600 19px var(--font-heading);margin:15px 0 5px}.course-item p{font-size:var(--font-sm);color:var(--color-muted);margin:0}.course-meta{display:flex;gap:7px;margin-top:12px}.course-badge{font-size:9px;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:3px 8px;color:var(--color-muted)}.empty-state{background:var(--color-surface);border:1px dashed var(--color-line-strong);border-radius:var(--radius-lg);padding:44px;text-align:center;color:var(--color-muted)}.source-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.source-book{min-height:365px;border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base);border:0;text-align:left;cursor:pointer}.source-book:hover{transform:translateY(-5px)}.source-book:after{content:"";position:absolute;width:170px;height:170px;border:1px solid currentColor;border-radius:var(--radius-round);right:-70px;bottom:-70px;opacity:.12}.source-book span{font-size:9px;letter-spacing:.18em;opacity:.72}.source-book h2{font:600 25px/1.2 var(--font-heading)}.source-book p{font-size:var(--font-sm);opacity:.78}.source-book small{font-size:var(--font-xs)}.source-book .book-cover{position:relative;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px;background:color-mix(in srgb,var(--color-black) 8%,transparent)}.source-book .book-cover img{width:100%;height:100%;object-fit:contain;display:block}.source-book .book-spine{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-black) 20%,transparent),transparent)}.book-a{background:var(--color-brand);color:var(--color-white)}.book-b{background:var(--color-ink);color:var(--color-white)}.book-c{background:var(--color-gold-soft);color:var(--color-ink)}.book-d{background:var(--color-info-soft);color:var(--color-ink)}.book-e{background:var(--color-ink);color:var(--color-warning-soft)}.source-book[class*="book-b"] p,.source-book[class*="book-e"] p,.source-book[class*="book-en"] p{color:rgba(255,255,255,.85);opacity:1}.evidence-method{margin-top:24px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:28px;display:grid;grid-template-columns:.8fr 1.6fr;gap:28px}.method-copy h2{font:600 29px/1.3 var(--font-heading)}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.method-steps article{background:var(--color-surface-2);border-radius:var(--radius-lg);padding:17px}.method-steps b{color:var(--color-brand);font:600 var(--font-2xl) var(--font-heading)}.method-steps h3{font:600 var(--font-lg) var(--font-heading)}.method-steps p{font-size:var(--font-xs);color:var(--color-muted)}.source-principle{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.source-principle>div{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:15px;display:grid;grid-template-columns:14px 1fr;column-gap:8px}.source-principle small{grid-column:2;color:var(--color-muted)}.e-dot{width:9px;height:9px;border-radius:var(--radius-round);margin-top:7px}.direct{background:var(--color-success)}.synthesis{background:var(--color-warning)}.boundary{background:var(--color-error)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1120px}.price-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:28px;min-height:450px;display:flex;flex-direction:column;position:relative}.price-card.featured{background:linear-gradient(150deg,var(--color-brand),var(--color-brand-active));color:var(--color-white);border:0;box-shadow:0 28px 60px color-mix(in srgb,var(--color-brand-active) 24%,transparent);transform:translateY(-8px)}.recommend-badge{position:absolute;right:18px;top:18px;background:var(--color-gold-soft);color:var(--color-brand-active);padding:5px 10px;border-radius:var(--radius-pill);font-size:var(--font-xs)}.price-card>span{font-size:var(--font-xs);letter-spacing:.18em;color:var(--color-muted)}.price-card.featured>span{color:var(--color-brand-soft)}.price-card h2{font:600 var(--font-3xl) var(--font-heading)}.price{font:600 var(--font-4xl) var(--font-heading);margin:13px 0}.price small{font:var(--font-sm) var(--font-body);color:var(--color-muted)}.price-card.featured .price small{color:var(--color-brand-soft)}.price-card>p{color:var(--color-muted);font-size:var(--font-md)}.price-card.featured>p{color:var(--color-brand-soft)}.price-card ul{padding-left:20px;color:var(--color-muted);flex:1}.price-card.featured ul{color:var(--color-brand-soft)}.compare-wrap,.faq{max-width:1120px;margin-top:32px}.compare-wrap h2,.faq h2{font:600 var(--font-3xl) var(--font-heading)}.compare-table{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.compare-row{display:grid;grid-template-columns:1.4fr repeat(3,.6fr);padding:14px 18px;border-bottom:1px solid var(--color-surface-3);align-items:center}.compare-row:last-child{border-bottom:0}.compare-row.head{background:var(--color-surface-3)}.compare-row b{text-align:center}.faq details{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:15px 18px;margin:9px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--color-muted)}

/* Hero区改为2栏布局：文案 + podium排名 */
.hero-grid{grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.home-aux-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1120px;margin:0 auto;padding:28px 0 8px}
.home-aux-grid .ranking-card,.home-aux-grid .faq-quick-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card);height:100%}
.home-ranking{display:block}
.home-ranking .ranking-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}
.home-ranking .ranking-card-head,
.home-aux-grid .ranking-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.home-ranking .ranking-card-head .card-label,
.home-aux-grid .ranking-card-head .card-label{font-size:var(--font-xs);letter-spacing:.18em;color:var(--color-muted);font-weight:600}
.home-ranking .ranking-list{display:grid;gap:2px}
.home-ranking .ranking-item{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 8px;border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center}
.home-ranking .ranking-item:hover{background:var(--color-surface-2)}
.home-ranking .rank-num{font:700 var(--font-lg) var(--font-heading);color:var(--color-brand);text-align:center}
.home-ranking .rank-1{color:var(--color-error)}
.home-ranking .rank-2{color:var(--color-subtle)}
.home-ranking .rank-3{color:var(--color-gold)}
.home-ranking .ranking-info{min-width:0}
.home-ranking .ranking-info b{display:block;font-size:var(--font-md);font-weight:600;color:var(--color-ink);margin-bottom:2px}
.home-ranking .ranking-info small{display:block;font-size:var(--font-xs);color:var(--color-muted);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-ranking .rank-progress{height:4px;border-radius:var(--radius-pill);background:var(--color-surface-3);overflow:hidden}
.home-ranking .rank-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--color-brand),var(--color-gold-soft));border-radius:var(--radius-pill)}
.home-ranking .rank-score{font-size:var(--font-sm);font-weight:700;color:var(--color-brand);text-align:right;margin-top:4px}
.home-aux-grid .faq-quick-list{display:grid;gap:6px}
.home-aux-grid .faq-quick-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:1px solid transparent}
.home-aux-grid .faq-quick-item:hover{background:var(--color-surface-2);border-color:var(--color-line-strong)}
.home-aux-grid .faq-quick-item .faq-qn{flex:0 0 auto;font-size:var(--font-xs);font-weight:700;color:var(--color-brand);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-brand) 10%,transparent);line-height:1}
.home-aux-grid .faq-quick-item .faq-qtext{flex:1;font-size:var(--font-sm);color:var(--color-ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-aux-grid .faq-quick-item .faq-qcat{font-size:var(--font-xs);color:var(--color-muted);margin-top:2px}
.home-aux-grid .faq-quick-empty{font-size:var(--font-sm);color:var(--color-muted);padding:8px;text-align:center}
/* =========================================================
   Luxury polish - Classic theme refinements
   ========================================================= */

/* Hero ambient background */
.hero-section{
  position:relative;background:linear-gradient(180deg,var(--color-surface-2),var(--color-surface) 50%);overflow:hidden
}
.hero-section:before{
  content:"";position:absolute;top:-20%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,color-mix(in srgb,var(--color-brand) 4%,transparent),transparent 60%);pointer-events:none
}

/* Feature card enhanced shadow */
.feature-card{
  box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}
.feature-card:hover{
  box-shadow:var(--shadow-card-hover);transform:translateY(-2px)
}

/* Course item premium hover */
.course-item:hover{
  box-shadow:0 8px 32px color-mix(in srgb,var(--color-ink) 8%,transparent),0 2px 8px color-mix(in srgb,var(--color-ink) 4%,transparent);transform:translateY(-2px)
}

/* Source book enhanced */
.source-book{
  box-shadow:var(--shadow-xs);transition:transform var(--transition-base),box-shadow var(--transition-base)
}
.source-book:hover{
  box-shadow:var(--shadow-card-hover);transform:translateY(-4px)
}

/* Button enhancement */
.primary-btn{
  box-shadow:var(--shadow-button);transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base)}
.primary-btn:hover{
  box-shadow:var(--shadow-button-hover);transform:translateY(-1px)
}

/* Studio modal premium backdrop */
.studio{
  background:var(--color-scrim)
}

/* Toast refinement */
.toast{
  box-shadow:var(--shadow-modal);backdrop-filter:blur(8px)
}

/* Certificate glow */
.cert-preview-card{
  position:relative
}
.cert-preview-card:after{
  content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:var(--radius-lg);background:linear-gradient(135deg,transparent 40%,color-mix(in srgb,var(--color-brand) 6%,transparent),transparent 60%);pointer-events:none;z-index:-1
}

/* Value proposition - 会员价值主张 */
.value-proposition{margin:0 0 48px}
.vp-head{text-align:center;max-width:760px;margin:0 auto 36px}
.vp-eyebrow{font-size:var(--font-xs);letter-spacing:.2em;color:var(--color-brand);font-weight:600}
.vp-head h2{font:600 clamp(28px,4vw,44px)/1.2 var(--font-heading);margin:12px 0 14px;color:var(--color-ink)}
.vp-head p{font-size:var(--font-lg);color:var(--color-muted);margin:0}
.vp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}
.vp-pair{display:flex;flex-direction:column;gap:8px}
.vp-item{border-radius:var(--radius-md);padding:20px;position:relative;transition:transform var(--transition-base) ease,box-shadow var(--transition-base) ease}
.vp-item:hover{transform:translateY(-2px)}
.vp-item.pain{background:var(--color-brand-soft);border:1px solid var(--color-error-soft)}
.vp-item.gain{background:var(--color-success-soft);border:1px solid var(--color-success-soft)}
.vp-item.pain:hover{box-shadow:var(--shadow-md)}
.vp-item.gain:hover{box-shadow:var(--shadow-md)}
.vp-badge{display:inline-block;font-size:var(--font-xs);font-weight:700;letter-spacing:.1em;padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:10px}
.vp-item.pain .vp-badge{background:var(--color-error-soft);color:var(--color-error)}
.vp-item.gain .vp-badge{background:var(--color-success-soft);color:var(--color-success)}
.vp-item h3{font:600 var(--font-xl) var(--font-heading);margin:0 0 6px}
.vp-item p{font-size:var(--font-sm);color:var(--color-muted);margin:0;line-height:1.6}
.vp-item.pain h3{color:var(--color-error)}
.vp-item.gain h3{color:var(--color-success)}
.vp-arrow{position:relative;height:20px}
.vp-arrow:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid var(--color-brand);border-bottom:2px solid var(--color-brand);transform:translate(-50%,-70%) rotate(45deg)}

/* Selection refinement */
::selection{
  background:color-mix(in srgb,var(--color-brand) 12%,transparent);color:var(--color-brand-active)
}

/* ── 常用工具 ── */
.tools-gallery{margin-bottom:28px}
.tools-filter{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.tools-filter button{background:var(--color-surface-3);border:0;border-radius:var(--radius-pill);padding:8px 16px;cursor:pointer;font-size:var(--font-md);color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}
.tools-filter button.active{background:var(--color-brand);color:var(--color-white);font-weight:600}
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tool-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:28px 20px 22px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);opacity:0;animation:toolCardIn .4s ease forwards}
.tool-card:nth-child(1){animation-delay:.05s}
.tool-card:nth-child(2){animation-delay:.1s}
.tool-card:nth-child(3){animation-delay:150ms}
.tool-card:nth-child(4){animation-delay:.2s}
.tool-card:nth-child(5){animation-delay:.25s}
.tool-card:nth-child(6){animation-delay:.3s}
.tool-card:nth-child(7){animation-delay:.35s}
.tool-card:nth-child(8){animation-delay:.4s}
@keyframes toolCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tool-card:hover{border-color:var(--color-line-strong);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.tool-icon{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-surface-3);color:var(--color-brand);display:grid;place-items:center;margin-bottom:16px;flex-shrink:0}
.tool-card h3{font:600 var(--font-lg) var(--font-heading);margin:0 0 6px;color:var(--color-ink)}
.tool-card p{font-size:var(--font-sm);color:var(--color-muted);margin:0;line-height:1.5}
.tool-panel{margin-bottom:28px;animation:toolPanelIn .3s ease}
@keyframes toolPanelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tool-panel-head{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--color-line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tool-panel-head-left{flex:1;min-width:0}
.tool-feedback-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;font-size:var(--font-sm);font-family:inherit;transition:var(--transition-fast);margin-top:4px}
.tool-feedback-btn:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft)}
.tool-feedback-btn svg{opacity:.7;transition:opacity var(--transition-fast)}
.tool-feedback-btn:hover svg{opacity:1}
.tool-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--color-muted);cursor:pointer;font-size:var(--font-md);padding:6px 0}
.tool-back:hover{color:var(--color-brand)}
.tool-panel-head h2{font:600 var(--font-3xl) var(--font-heading);margin:10px 0 6px}
.tool-panel-head p{color:var(--color-muted);margin:0;font-size:var(--font-base)}
.calc-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:28px}
.calc-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px}
.calc-input{display:flex;flex-direction:column;gap:6px}
.calc-input.full{grid-column:1/-1}
.calc-input label{font-size:var(--font-sm);color:var(--color-muted);font-weight:500}
.calc-input input,.calc-input select{width:100%;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-2);font-size:var(--font-base);outline:0;transition:var(--transition-fast);box-sizing:border-box}
.calc-input input:focus,.calc-input select:focus{border-color:var(--color-brand);background:var(--color-white);box-shadow:0 0 0 3px var(--color-brand-ring);outline:none}
.calc-result{background:var(--color-surface-3);border-radius:var(--radius-md);padding:20px;margin-bottom:16px}
.calc-result.big{padding:28px;text-align:center}
.result-hint{color:var(--color-muted);font-size:var(--font-md);text-align:center}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.result-item{background:var(--color-white);border-radius:var(--radius-md);padding:14px;text-align:center;border:1px solid var(--color-line)}
.result-item.active{border-color:var(--color-brand);background:var(--color-surface)}
.result-item span{font-size:var(--font-xs);color:var(--color-muted);display:block;margin-bottom:4px}
.result-item b{font:600 var(--font-2xl) var(--font-heading);color:var(--color-ink);display:block}
.result-item small{font-size:var(--font-xs);color:var(--color-muted);margin-top:2px;display:block}
.pren-value{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:10px}
.pren-value span{font-size:var(--font-base);color:var(--color-muted)}
.pren-value b{font:600 var(--font-4xl) var(--font-heading);color:var(--color-brand)}
.pren-level{font-size:var(--font-base)}
.pren-level .level-low{color:var(--color-success)}
.pren-level .level-mid{color:var(--color-warning)}
.pren-level .level-high{color:var(--color-warning)}
.pren-level .level-veryhigh{color:var(--color-error)}
.calc-formula{background:var(--color-surface-3);border-radius:var(--radius-md);padding:12px 14px;font-size:var(--font-sm);color:var(--color-muted);margin-bottom:12px;line-height:1.6}
.calc-formula b{color:var(--color-brand)}
.calc-note{font-size:var(--font-sm);color:var(--color-muted);line-height:1.6;padding-top:12px;border-top:1px solid var(--color-line)}
.calc-note b{color:var(--color-muted)}
.weight-value{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:8px}
.weight-value span{font-size:var(--font-md);color:var(--color-muted)}
.weight-value b{font:600 var(--font-4xl) var(--font-heading);color:var(--color-brand)}
.weight-value small{font-size:var(--font-base);color:var(--color-muted);font-weight:500}
.weight-sub{font-size:var(--font-base);color:var(--color-muted)}
.weight-sub b{color:var(--color-ink);font-weight:600}
.calc-preset{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-line)}
.calc-preset b{font-size:var(--font-sm);color:var(--color-muted);margin-bottom:10px;display:block}
.preset-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}
.preset-table th{background:var(--color-surface-3);padding:8px 12px;text-align:left;font-weight:600;color:var(--color-muted);font-size:var(--font-xs);letter-spacing:.06em;border-bottom:1px solid var(--color-line)}
.preset-table td{padding:9px 12px;border-bottom:1px dashed var(--color-line);color:var(--color-ink)}
.preset-table tbody tr:hover{background:var(--color-surface-2)}
.preset-table tbody tr:last-child td{border-bottom:0}
.preset-table b{color:var(--color-brand);font-size:var(--font-base)}
.mini-use{background:var(--color-brand);color:var(--color-white);border:0;border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-xs);cursor:pointer;transition:var(--transition-fast)}
.mini-use:hover{opacity:.88}
.calc-tabs{display:flex;gap:4px;background:var(--color-surface-3);border-radius:var(--radius-md);padding:4px;margin-bottom:18px}
.calc-tabs button{flex:1;border:0;background:transparent;border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;font-size:var(--font-md);color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}
.calc-tabs button.active{background:var(--color-white);color:var(--color-brand);box-shadow:var(--shadow-sm);font-weight:600}
.fer-value{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:8px}
.fer-value span{font-size:var(--font-md);color:var(--color-muted)}
.fer-value b{font:600 var(--font-4xl) var(--font-heading);color:var(--color-brand)}
.fer-note{font-size:var(--font-md);color:var(--color-muted)}
.grade-type-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.grade-type-filter button{background:var(--color-surface-3);border:0;border-radius:var(--radius-pill);padding:6px 14px;font-size:var(--font-sm);cursor:pointer;color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}
.grade-type-filter button.active{background:var(--color-brand);color:var(--color-white)}
.grade-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-line)}
.grade-table{width:100%;border-collapse:collapse;font-size:var(--font-md)}
.grade-table th{background:var(--color-surface-3);padding:10px 12px;text-align:left;font-weight:600;color:var(--color-muted);font-size:var(--font-xs);letter-spacing:.06em;border-bottom:1px solid var(--color-line);white-space:nowrap}
.grade-table td{padding:10px 12px;border-bottom:1px solid var(--color-line);color:var(--color-ink)}
.grade-table tbody tr:hover{background:var(--color-surface-2)}
.grade-table tbody tr:last-child td{border-bottom:0}
.grade-table code{background:var(--color-surface-3);padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-sm)}
.grade-table mark{background:var(--color-warning-soft);color:var(--color-warning);padding:0 3px;border-radius:var(--radius-xs);font-weight:600}
.grade-type{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600}
.grade-type.奥氏体{background:var(--color-info-soft);color:var(--color-info)}
.grade-type.双相钢{background:var(--color-success-soft);color:var(--color-success)}
.grade-type.铁素体{background:var(--color-surface-3);color:var(--color-warning)}
.grade-type.马氏体{background:var(--color-error-soft);color:var(--color-error)}
.grade-type.沉淀硬化{background:var(--color-info-soft);color:var(--color-info)}

/* ── 销售速查卡样式 ── */
.quickref-myths{display:grid;gap:14px;margin-bottom:8px}
.myth-card{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:18px 20px;border-left:4px solid var(--color-warning)}
.myth-title{font-weight:600;font-size:var(--font-base);color:var(--color-ink);margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.myth-badge{display:inline-block;background:var(--color-warning);color:var(--color-white);font-size:var(--font-xs);font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);letter-spacing:.04em}
.myth-wrong{font-size:var(--font-md);color:var(--color-muted);line-height:1.75}
.myth-wrong b{color:var(--color-error)}
.quickref-numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.num-item{display:flex;justify-content:space-between;align-items:center;background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:12px 16px}
.num-label{font-size:var(--font-sm);color:var(--color-muted)}
.num-value{font:600 var(--font-base) var(--font-heading);color:var(--color-brand)}
.tol-prec-switch{display:inline-flex;gap:4px;background:var(--color-surface-3);border-radius:var(--radius-sm);padding:3px;margin-left:12px;vertical-align:middle}
.tol-prec-switch button{border:0;background:transparent;border-radius:var(--radius-sm);padding:4px 12px;font-size:var(--font-xs);cursor:pointer;color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}
.tol-prec-switch button.active{background:var(--color-brand);color:var(--color-white);font-weight:600}

/* ── 腐蚀选材样式 ── */
.corr-env-card{background:var(--color-surface-2);border-radius:var(--radius-md);padding:20px;border:1px solid var(--color-line)}
.corr-env-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.corr-env-name{font:600 var(--font-xl) var(--font-heading);color:var(--color-ink)}
.corr-level{font-size:var(--font-md);font-weight:600}
.corr-env-params{display:flex;gap:16px;margin-bottom:16px;font-size:var(--font-md);color:var(--color-muted)}
.corr-recommend{margin-bottom:12px}
.corr-recommend b{display:block;font-size:var(--font-md);color:var(--color-muted);margin-bottom:8px}
.corr-grades{display:flex;flex-wrap:wrap;gap:8px}
.corr-grade-tag{display:inline-block;padding:6px 14px;border-radius:var(--radius-pill);font-size:var(--font-base);font-weight:600;background:var(--color-brand);color:var(--color-white)}
.corr-note-detail{font-size:var(--font-md);color:var(--color-muted);line-height:1.6;padding:12px;background:var(--color-surface-3);border-radius:var(--radius-md)}
.corr-note-detail b{color:var(--color-brand)}

/* ── 成分查询样式 ── */
.comp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.comp-header b{font:600 var(--font-3xl) var(--font-heading);color:var(--color-brand)}
.comp-header small{font-size:var(--font-md);color:var(--color-muted)}
.comp-type{color:var(--color-white);font-size:var(--font-xs);font-weight:600;padding:4px 12px;border-radius:var(--radius-pill);white-space:nowrap}
.comp-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.comp-meta-item{background:var(--color-brand-soft);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:10px 14px;display:flex;justify-content:space-between;align-items:center}
.comp-meta-item span{font-size:var(--font-xs);color:var(--color-muted)}
.comp-meta-item b{font:600 var(--font-base) var(--font-heading);color:var(--color-brand)}
.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.comp-item{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:14px;text-align:center;transition:transform var(--transition-fast),border-color var(--transition-fast)}
.comp-item:hover{border-color:var(--color-line-strong);transform:translateY(-1px)}
.comp-item span{font-size:var(--font-sm);color:var(--color-muted);display:block;margin-bottom:6px}
.comp-item b{font:600 var(--font-lg) var(--font-heading);color:var(--color-ink)}
.comp-quick-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* ── 表面加工等级样式 ── */
.surface-list{display:flex;flex-direction:column;gap:12px}
.surface-row{display:grid;grid-template-columns:70px 1fr 90px 110px;gap:14px;align-items:center;background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:14px 18px;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}
.surface-row:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-sm)}
.surface-code{font:700 var(--font-xl) var(--font-heading);color:var(--color-brand)}
.surface-name{font-size:var(--font-md);color:var(--color-ink);line-height:1.5}
.surface-ra{font-size:var(--font-sm);color:var(--color-muted);text-align:center}
.surface-ra b{display:block;font:600 var(--font-base) var(--font-heading);color:var(--color-ink);margin-bottom:2px}
.surface-use{font-size:var(--font-sm);color:var(--color-muted);text-align:center}
.surface-use b{display:block;font:600 var(--font-base) var(--font-heading);color:var(--color-ink);margin-bottom:2px}
.surface-group-title{font:600 var(--font-md) var(--font-heading);color:var(--color-subtle);margin:18px 0 4px;padding-left:4px;letter-spacing:.08em;text-transform:uppercase}
.surface-group-title:first-child{margin-top:0}
.surface-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding:14px;background:var(--color-surface-3);border-radius:var(--radius-md)}
.surface-legend-item{font-size:var(--font-sm);color:var(--color-muted);line-height:1.6}
.surface-legend-item b{color:var(--color-ink);display:block;margin-bottom:2px}

/* ── 焊接选材样式 ── */
.weld-card{background:var(--color-surface-2);border-radius:var(--radius-md);padding:20px;border:1px solid var(--color-line)}
.weld-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-line)}
.weld-head span{font-size:var(--font-sm);color:var(--color-muted)}
.weld-head b{font:600 var(--font-2xl) var(--font-heading);color:var(--color-brand)}
.weld-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.weld-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:14px;text-align:center}
.weld-item span{font-size:var(--font-xs);color:var(--color-muted);display:block;margin-bottom:6px}
.weld-item b{font:600 var(--font-base) var(--font-body);color:var(--color-ink)}
.weld-note{font-size:var(--font-md);color:var(--color-muted);line-height:1.6;padding:12px;background:var(--color-surface-3);border-radius:var(--radius-md)}
.weld-note b{color:var(--color-brand)}

/* ── Coursera主题工具适配 ── */
body.theme-coursera .corr-grade-tag{background:var(--color-brand)}
body.theme-coursera .comp-header b{color:var(--color-brand)}
body.theme-coursera .weld-head b{color:var(--color-brand)}
body.theme-coursera .corr-note-detail b{color:var(--color-brand)}
body.theme-coursera .weld-note b{color:var(--color-brand)}

/* ── 页面Footer ── */
.site-footer{background:var(--color-surface-3);border-top:1px solid var(--color-line);padding:32px 0;margin-top:48px}
.footer-inner{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-brand b{font:600 var(--font-xl) var(--font-heading);color:var(--color-ink)}
.footer-brand small{font-size:var(--font-xs);color:var(--color-muted);display:block;margin-top:2px}
.footer-links{display:flex;gap:20px;font-size:var(--font-sm);color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:center}
.footer-links a{color:var(--color-muted);text-decoration:none;transition:color var(--transition-fast)}
.footer-links a:hover{color:var(--color-brand)}
.footer-copy{font-size:var(--font-xs);color:var(--color-subtle)}
.footer-copy .icp-link{color:var(--color-subtle);text-decoration:none;margin-left:4px;transition:color var(--transition-fast)}
.footer-copy .icp-link:hover{color:var(--color-brand)}
body.theme-coursera .site-footer{background:var(--color-brand-soft);border-top-color:var(--color-line-strong)}
body.theme-coursera .footer-brand b{color:var(--color-ink)}

/* ── 法律文本弹窗 ── */
.legal-body{max-width:760px;margin:0 auto;padding:32px 28px 48px;line-height:1.8;font-size:var(--font-sm);color:var(--color-ink)}
.legal-body h2{font:700 var(--font-2xl) var(--font-heading);color:var(--color-ink);margin:32px 0 12px}
.legal-body h3{font:600 var(--font-lg) var(--font-heading);color:var(--color-ink);margin:24px 0 8px}
.legal-body p{margin:0 0 12px;color:var(--color-caption)}
.legal-body ul{margin:0 0 12px;padding-left:20px}
.legal-body li{margin-bottom:6px;color:var(--color-caption)}
.legal-body .legal-meta{font-size:var(--font-xs);color:var(--color-subtle);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-line)}

/* ── 企业开票 ── */
.invoice-section{margin-top:40px;padding-top:32px;border-top:1px solid var(--color-line)}
.invoice-section h2{font:600 var(--font-3xl) var(--font-heading);margin:0 0 20px;text-align:center}
.invoice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.invoice-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:24px;text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}
.invoice-card:hover{border-color:var(--color-brand);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.invoice-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-brand);display:grid;place-items:center;margin:0 auto 14px}
.invoice-card h3{font:600 var(--font-xl) var(--font-heading);margin:0 0 8px}
.invoice-card p{font-size:var(--font-md);color:var(--color-muted);margin:0;line-height:1.6}
.invoice-note{text-align:center;font-size:var(--font-md);color:var(--color-muted);padding:16px;background:var(--color-surface-3);border-radius:var(--radius-md)}
.invoice-note p{margin:0}
.invoice-note b{color:var(--color-muted)}


/* ── 学习统计面板 ── */
.stats-calendar-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin:24px 0}
.stats-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:20px}
.stat-item{text-align:center;padding:12px 8px;background:var(--color-surface-2);border-radius:var(--radius-md);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.stat-icon{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;margin:0 auto 8px}
.stat-icon.stat-streak{background:var(--color-surface-3);color:var(--color-brand)}
.stat-icon.stat-progress{background:var(--color-success-soft);color:var(--color-success)}
.stat-icon.stat-week{background:var(--color-warning-soft);color:var(--color-warning)}
.stat-icon.stat-rate{background:var(--color-info-soft);color:var(--color-info)}
.stat-item b{font:600 var(--font-2xl) var(--font-heading);display:block;color:var(--color-ink)}
.stat-item small{font-size:var(--font-xs);color:var(--color-muted);display:block;margin-top:2px}
/* ── 学习日历 ── */
.study-calendar{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:20px}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cal-label{font-size:var(--font-xs);letter-spacing:.14em;color:var(--color-muted);font-weight:600}
.cal-streak{font-size:var(--font-sm);color:var(--color-brand);font-weight:600}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-cell{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--color-surface-3);display:grid;place-items:center;font-size:var(--font-xs);color:var(--color-muted);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);position:relative;min-height:28px}
.cal-cell span{position:relative;z-index:1}
.cal-cell.cal-today{font-weight:700;color:var(--color-brand);box-shadow:inset 0 0 0 1.5px var(--color-brand)}
.cal-cell.cal-lv1{background:var(--color-surface-3);color:var(--color-muted)}
.cal-cell.cal-lv2{background:var(--color-gold-soft);color:var(--color-muted)}
.cal-cell.cal-lv3{background:var(--color-gold-soft);color:var(--color-body)}
.cal-cell.cal-lv4{background:var(--color-gold);color:var(--color-surface-3)}
.cal-cell:hover{transform:scale(1.2);z-index:2;box-shadow:var(--shadow-sm)}
.cal-legend{display:flex;align-items:center;gap:4px;margin-top:10px;justify-content:flex-end;font-size:var(--font-xs);color:var(--color-muted)}
.cal-legend i{width:12px;height:12px;border-radius:var(--radius-xs);display:inline-block}
.cal-legend i.cal-lv1{background:var(--color-surface-3)}
.cal-legend i.cal-lv2{background:var(--color-gold-soft)}
.cal-legend i.cal-lv3{background:var(--color-gold-soft)}
.cal-legend i.cal-lv4{background:var(--color-gold)}
.cal-legend-today{margin-left:8px;font-weight:600;color:var(--color-brand)}

/* ── 日历月份标签 ── */
.cal-months{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
  margin-bottom:4px;
}
.cal-month-label{
  font-size:var(--font-xs);
  color:var(--color-muted);
  font-weight:600;
  text-align:center;
  opacity:.7;
}

/* ── 日历点击交互 ── */
.cal-cell{
  cursor:pointer;
}
.cal-cell.cal-selected{
  box-shadow:inset 0 0 0 2px var(--color-brand);
  transform:scale(1.15);
  z-index:2;
}
.cal-detail{
  margin-top:12px;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity var(--transition-base),transform var(--transition-base);
  pointer-events:none;
}
.cal-detail.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.cal-detail-inner{
  background:var(--color-surface-2);
  border:1px solid var(--color-line);
  border-radius:var(--radius-md);
  padding:12px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:var(--font-md);
}
.cal-detail-inner b{
  color:var(--color-ink);
  font-weight:600;
}
.cal-detail-inner span{
  color:var(--color-brand);
  font-weight:600;
}
.cal-detail-inner small{
  color:var(--color-muted);
  margin-left:auto;
  font-size:var(--font-xs);
}

/* Coursera 日历适配 */
body.theme-coursera .cal-cell.cal-lv1{background:var(--color-info-soft);color:var(--color-info)}
body.theme-coursera .cal-cell.cal-lv2{background:var(--color-info-soft);color:var(--color-info)}
body.theme-coursera .cal-cell.cal-lv3{background:var(--color-info-soft);color:var(--color-info)}
body.theme-coursera .cal-cell.cal-lv4{background:var(--color-info);color:var(--color-white)}
body.theme-coursera .cal-legend i.cal-lv1{background:var(--color-info-soft)}
body.theme-coursera .cal-legend i.cal-lv2{background:var(--color-info-soft)}
body.theme-coursera .cal-legend i.cal-lv3{background:var(--color-info-soft)}
body.theme-coursera .cal-legend i.cal-lv4{background:var(--color-info)}
body.theme-coursera .cal-cell.cal-today{box-shadow:inset 0 0 0 1.5px var(--color-brand);color:var(--color-brand)}
body.theme-coursera .cal-cell.cal-selected{box-shadow:inset 0 0 0 2px var(--color-brand)}
body.theme-coursera .cal-detail-inner{background:var(--color-surface-2)}


/* ── 收藏按钮 ── */
.source-book{position:relative}
.fav-btn{position:absolute;top:10px;right:10px;z-index:5;width:32px;height:32px;border-radius:var(--radius-round);border:0;background:color-mix(in srgb,var(--color-white) 88%,transparent);color:var(--color-subtle);cursor:pointer;display:grid;place-items:center;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);backdrop-filter:blur(6px);opacity:0;transform:scale(.8)}
.source-book:hover .fav-btn,.fav-btn.active{opacity:1;transform:scale(1)}
.fav-btn:hover{color:var(--color-brand);background:var(--color-white);box-shadow:var(--shadow-sm)}
.fav-btn.active{color:var(--color-gold);background:var(--color-warning-soft)}


/* ── 学习报告导出 ── */
.study-report-section{margin:32px 0}
.report-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}
.report-card:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--color-ink) 6%,transparent);transform:translateY(-1px)}
.report-head{display:flex;align-items:center;gap:14px}
.report-head svg{color:var(--color-brand);flex-shrink:0}
.report-head h3{font:600 var(--font-xl) var(--font-heading);margin:0 0 4px}
.report-head p{font-size:var(--font-md);color:var(--color-muted);margin:0}
.report-actions{display:flex;gap:10px}
.report-actions .primary-btn.small{padding:8px 18px;font-size:var(--font-md)}


/* ── 笔记增强 ── */
.notes-drawer header{align-items:flex-start}
.notes-header-actions{display:flex;gap:6px}
.notes-header-actions .icon-btn{width:34px;height:34px;border-radius:var(--radius-button)}
.notes-tabs{display:flex;gap:0;margin:0 -28px 12px;padding:0 28px;border-bottom:1px solid var(--color-line)}
.notes-tabs button{flex:1;background:transparent;border:0;padding:10px 0;font-size:var(--font-md);color:var(--color-muted);cursor:pointer;position:relative;transition:color var(--transition-fast)}
.notes-tabs button.active{color:var(--color-brand);font-weight:600}
.notes-tabs button::after{content:'';position:absolute;bottom:-1px;left:10%;right:10%;height:2px;border-radius:var(--radius-xs);background:transparent;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast)}
.notes-tabs button.active::after{background:var(--color-brand);left:15%;right:15%}
.notes-current-view,.notes-all-view{min-height:200px;display:flex;flex-direction:column}
.notes-all-view{overflow-y:auto;flex:1}
.notes-list{display:flex;flex-direction:column;gap:10px}
.notes-list-item{background:var(--color-surface-2);border-radius:var(--radius-md);padding:14px;border:1px solid var(--color-line);transition:border-color var(--transition-fast),background-color var(--transition-fast)}
.notes-list-item:hover{border-color:var(--color-subtle)}
.notes-list-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.notes-lesson-badge{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-white);font-size:var(--font-xs);font-weight:700;display:grid;place-items:center;flex-shrink:0}
.notes-list-head strong{font-size:var(--font-md);color:var(--color-ink);font-weight:600;flex:1}
.notes-list-head small{font-size:var(--font-xs);color:var(--color-muted)}
.notes-list-item p{font-size:var(--font-md);color:var(--color-muted);line-height:1.7;margin:0;word-break:break-word}
.notes-list-item p br+br{margin-bottom:4px}
body.theme-coursera .notes-tabs{border-bottom-color:var(--color-line)}
body.theme-coursera .notes-tabs button{color:var(--color-muted);font-family:var(--font-body)}
body.theme-coursera .notes-tabs button.active{color:var(--color-brand)}
body.theme-coursera .notes-tabs button.active::after{background:var(--color-brand)}
body.theme-coursera .notes-list-item{background:var(--color-surface-2);border-color:var(--color-line)}
body.theme-coursera .notes-list-item:hover{border-color:var(--color-brand)}
body.theme-coursera .notes-lesson-badge{background:var(--color-brand)}
body.theme-coursera .notes-list-head strong{font-family:var(--font-body);color:var(--color-ink)}
body.theme-coursera .notes-list-item p{color:var(--color-muted)}

/* ── 独立工具页面 ── */
.tools-page-gallery{max-width:1200px;margin:0 auto 32px;padding:0 24px}
.page-tools-filter{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap;justify-content:center;background:linear-gradient(135deg,var(--color-surface-2),var(--color-surface-3));padding:6px;border-radius:var(--radius-pill);border:1px solid var(--color-line);max-width:600px;margin-left:auto;margin-right:auto}
.page-tools-filter button{background:transparent;border:0;border-radius:var(--radius-pill);padding:8px 20px;cursor:pointer;font-size:var(--font-md);color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);font-weight:500;font-family:inherit}
.page-tools-filter button:hover{color:var(--color-brand);background:var(--color-brand-soft)}
.page-tools-filter button.active{background:linear-gradient(135deg,var(--color-brand),var(--color-brand-hover));color:var(--color-white);font-weight:600;box-shadow:0 4px 12px color-mix(in srgb,var(--color-brand) 25%,transparent)}
.page-tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.page-tool-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:28px 20px 22px;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);opacity:0;animation:toolCardIn .4s ease forwards}
.page-tool-card:nth-child(1){animation-delay:.05s}
.page-tool-card:nth-child(2){animation-delay:.1s}
.page-tool-card:nth-child(3){animation-delay:150ms}
.page-tool-card:nth-child(4){animation-delay:.2s}
.page-tool-card:nth-child(5){animation-delay:.25s}
.page-tool-card:nth-child(6){animation-delay:.3s}
.page-tool-card:nth-child(7){animation-delay:.35s}
.page-tool-card:nth-child(8){animation-delay:.4s}
.page-tool-card:nth-child(9){animation-delay:.45s}
.page-tool-card:nth-child(10){animation-delay:.5s}
.page-tool-card:nth-child(11){animation-delay:.55s}
.page-tool-card:nth-child(12){animation-delay:.6s}
.page-tool-card:hover{border-color:var(--color-brand);transform:translateY(-4px);box-shadow:var(--shadow-card)}
.page-tool-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand) 10%,transparent),color-mix(in srgb,var(--color-brand) 5%,transparent));display:flex;align-items:center;justify-content:center;color:var(--color-brand);margin-bottom:16px;transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base)}
.page-tool-card:hover .page-tool-icon{background:linear-gradient(135deg,var(--color-brand),var(--color-brand-hover));color:var(--color-white);transform:scale(1.1)}
.page-tool-card h3{font:600 var(--font-lg) var(--font-heading);margin:0 0 6px;color:var(--color-ink)}
.page-tool-card p{font-size:var(--font-sm);color:var(--color-muted);margin:0;line-height:1.5}

@media(max-width:1200px){
  .page-tools-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .page-tools-grid{grid-template-columns:repeat(2,1fr)}
  .page-tools-filter{max-width:100%}
  .page-tools-filter button{padding:8px 16px;font-size:var(--font-sm)}
}
@media(max-width:600px){
  .tools-page-gallery{padding:0 16px}
  .page-tools-grid{grid-template-columns:1fr;gap:12px}
  .page-tools-filter{gap:4px;padding:4px}
  .page-tools-filter button{padding:6px 12px;font-size:var(--font-sm)}
  .page-tool-card{padding:20px 16px}
  .page-tool-icon{width:48px;height:48px;margin-bottom:12px}
  .kb-tabs{max-width:100%;padding:4px}
  .kb-tabs button{padding:8px 16px;font-size:var(--font-md)}
}

/* ── 课程地图侧边栏配色优化（更贴合整体主题） ── */
#moduleIntro.module-intro{
  background:linear-gradient(160deg,var(--color-gold),var(--color-gold-hover));
  color:var(--color-surface);
  border-radius:var(--radius-xl);
  padding:28px;
  min-height:470px;
  position:sticky;
  top:105px;
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
#moduleIntro.module-intro:after{
  border-color:color-mix(in srgb,var(--color-on-brand) 15%,transparent);
}
#moduleIntro.module-intro span{
  color:var(--color-gold-soft);
}
#moduleIntro.module-intro h2{
  color:var(--color-surface);
}
#moduleIntro.module-intro p{
  color:var(--color-gold-soft);
}
#moduleIntro.module-intro ul{
  color:var(--color-gold-soft);
}
#moduleIntro.module-intro .module-number{
  color:color-mix(in srgb,var(--color-on-brand) 12%,transparent);
}

/* ── 响应式细节优化 ── */
@media(max-width:900px){
  .course-stage{
    grid-template-columns:1fr;
  }
  .module-intro{
    position:relative;
    top:auto;
    min-height:auto;
  }
  .source-gallery{
    grid-template-columns:repeat(3,1fr);
    gap:12px;
  }
}
@media(max-width:600px){
  .view-head{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
  .view-head h1{
    font-size:var(--font-3xl);
  }
  .source-gallery{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }
  .source-book{
    min-height:280px;
    padding:16px;
    border-radius:var(--radius-md);
  }
  .source-book h2{
    font-size:var(--font-xl);
  }
  .evidence-method{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
  }
  .method-steps{
    grid-template-columns:1fr;
  }
  .source-principle{
    grid-template-columns:1fr;
  }
}

/* ── 知识库标签精致化（专注主题） ── */
.kb-tabs{
  display:flex;
  gap:4px;
  margin:0 auto 28px;
  max-width:700px;
  flex-wrap:wrap;
  justify-content:center;
  padding:6px;
  background:linear-gradient(135deg,var(--color-canvas),var(--color-surface-3));
  border-radius:var(--radius-pill);
  border:1px solid var(--color-line);
  box-shadow:inset 0 1px 3px color-mix(in srgb,var(--color-black) 4%,transparent);
}
.kb-tabs button{
  padding:10px 24px;
  border:0;
  background:transparent;
  border-radius:var(--radius-pill);
  font-size:var(--font-base);
  font-weight:500;
  color:var(--color-muted);
  cursor:pointer;
  transition:color var(--transition-base), background-color var(--transition-base);
  font-family:var(--font-heading);
  letter-spacing:.05em;
  position:relative;
}
.kb-tabs button:hover{
  color:var(--color-brand);
  background:var(--color-brand-soft);
}
.kb-tabs button.active{
  background:var(--color-brand-gradient);
  color:var(--color-on-brand);
  font-weight:600;
  box-shadow:var(--shadow-button);
  transform:translateY(-1px);
}

/* 专业主题下的 kb-tabs */
body.theme-coursera .kb-tabs{
  background:linear-gradient(135deg,var(--color-surface-2),var(--color-surface-3));
  border-color:var(--color-line);
}
body.theme-coursera .kb-tabs button{
  color:var(--color-muted);
  font-family:var(--font-body);
}
body.theme-coursera .kb-tabs button:hover{
  color:var(--color-brand);
  background:var(--color-brand-soft);
}
body.theme-coursera .kb-tabs button.active{
  background:var(--color-brand-gradient);
  box-shadow:var(--shadow-button);
}

/* ── 空状态通用样式 ── */
.empty-state{padding:48px 20px;text-align:center;color:var(--color-muted)}
.empty-state svg{opacity:.35;margin-bottom:12px}
.empty-state p{margin:0 0 4px;font-size:var(--font-lg)}
.empty-state small{font-size:var(--font-md);opacity:.7}

/* ── 书籍卡片标题行（含在线阅读标签） ── */
.source-book .book-title-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 6px;
}
.source-book .book-title-row h2{
  margin:0;flex:1 1 auto;min-width:0;
}
.source-book .book-online-tag{
  flex:0 0 auto;font-size:var(--font-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);
  background:color-mix(in srgb,var(--color-white) 25%,transparent);border:1px solid color-mix(in srgb,var(--color-white) 30%,transparent);
  white-space:nowrap;letter-spacing:.04em;
}

/* ── Pricing 自测选择题 ── */
.vp-quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}
.vp-quiz-item{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:14px;transition:var(--transition-base)}
.vp-quiz-item.answered{border-color:var(--color-line-strong)}
.vp-quiz-question{display:flex;gap:12px;align-items:flex-start}
.vp-quiz-num{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-round);background:linear-gradient(135deg,var(--color-brand),var(--color-gold));color:var(--color-white);display:grid;place-items:center;font:700 var(--font-md) var(--font-body);letter-spacing:.05em}
.vp-quiz-question h3{font:600 var(--font-lg)/1.55 var(--font-body);margin:0;color:var(--color-ink)}
.vp-quiz-options{display:flex;gap:10px}
.vp-option{flex:1;border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:10px 0;font-size:var(--font-md);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);color:var(--color-muted)}
.vp-option:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft)}
.vp-option.selected-yes{background:var(--color-brand);color:var(--color-white);border-color:var(--color-brand)}
.vp-option.selected-no{background:var(--color-surface-3);color:var(--color-muted);border-color:var(--color-line-strong)}
.vp-quiz-item .vp-item.gain{border-radius:var(--radius-md);padding:16px;background:var(--color-success-soft);border:1px solid var(--color-success-soft);animation:gainReveal .4s ease}
.vp-quiz-item .vp-item.gain[hidden]{display:none}
.vp-quiz-item .vp-item.gain .vp-badge{background:var(--color-success-soft);color:var(--color-success)}
.vp-quiz-item .vp-item.gain h3{color:var(--color-success);font:600 var(--font-lg) var(--font-heading);margin:0 0 6px}
.vp-quiz-item .vp-item.gain p{font-size:var(--font-sm);color:var(--color-success);margin:0;line-height:1.6}
@keyframes gainReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* 引导文字 */
.pricing-recommend{max-width:1120px;margin:40px auto 20px;text-align:center}
.pricing-recommend-text{font:600 var(--font-2xl)/1.4 var(--font-heading);color:var(--color-ink);margin:0}
.pricing-recommend-text:before{content:"";display:inline-block;width:40px;height:2px;background:var(--color-brand);margin:0 16px 6px 0;vertical-align:middle}
.pricing-recommend-text:after{content:"";display:inline-block;width:40px;height:2px;background:var(--color-brand);margin:0 0 6px 16px;vertical-align:middle}

/* 价格表显示动画 */
#pricingGrid{animation:pricingReveal .6s ease}
@keyframes pricingReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){
  .vp-quiz-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media(max-width:600px){
  .vp-quiz-grid{grid-template-columns:1fr}
  .pricing-recommend-text{font-size:var(--font-xl)}
  .pricing-recommend-text:before,.pricing-recommend-text:after{width:20px;margin:0 8px 4px}
}

/* ── 工具页加载提示 ── */
.loading-hint{padding:48px;text-align:center;color:var(--color-muted);font-size:var(--font-base)}
.loading-hint:before{content:'';display:inline-block;width:20px;height:20px;border:2px solid var(--color-line);border-top-color:var(--color-brand);border-radius:var(--radius-round);animation:spin .6s linear infinite;vertical-align:middle;margin-right:8px}
@media(max-width:680px){.invoice-grid{grid-template-columns:1fr}}

/* ── 会员验证码 ── */
.activation-code-section{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:24px;margin:20px 0}
.activation-code-section h3{font-size:var(--font-lg);font-weight:600;margin:0 0 8px}
.activation-code-section .text-muted{color:var(--color-muted);font-size:var(--font-sm);margin:0 0 16px}
.activation-code-form{display:flex;gap:10px}
.activation-code-form input{flex:1;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-base);color:var(--color-ink)}
.activation-code-form input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 8%,transparent);outline:none}
.activation-code-form button{padding:12px 20px;white-space:nowrap}
.activation-code-error{color:var(--color-error);font-size:var(--font-sm);margin-top:8px;min-height:20px}
.code-badge{display:inline-block;background:var(--color-gold-soft);color:var(--color-gold);font-size:var(--font-xs);font-weight:600;padding:3px 10px;border-radius:var(--radius-pill);margin-left:8px;vertical-align:middle}

@media(max-width:600px){
  .activation-code-form{flex-direction:column}
  .activation-code-form button{width:100%}
}

/* =========================================================
   FAQ - 常见问题汇总
   ========================================================= */
.faq-container{max-width:900px;margin:0 auto}
.faq-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.faq-cats{display:flex;gap:6px;flex-wrap:wrap}
.faq-cat-btn{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-muted);border-radius:var(--radius-pill);padding:6px 14px;font-size:var(--font-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}
.faq-cat-btn:hover{border-color:var(--color-line-strong);color:var(--color-ink)}
.faq-cat-btn.active{background:var(--color-brand);color:var(--color-white);border-color:var(--color-brand)}
.faq-search{min-width:260px}
.faq-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:var(--font-sm);color:var(--color-muted)}
.faq-hint{font-size:var(--font-xs);opacity:.7}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.faq-item:hover{border-color:var(--color-line-strong)}
.faq-item.open{border-color:var(--color-brand);box-shadow:var(--shadow-md)}
.faq-q{width:100%;display:flex;align-items:flex-start;gap:12px;padding:18px 20px;background:none;border:0;cursor:pointer;text-align:left;color:var(--color-ink)}
.faq-q-cat{flex:0 0 auto;font-size:var(--font-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-brand);white-space:nowrap;margin-top:2px;letter-spacing:.04em}
.faq-q-text{flex:1;font-size:var(--font-md);font-weight:500;line-height:1.6;padding-right:8px}
.faq-q-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;color:var(--color-muted);transition:transform var(--transition-fast)}
.faq-item.open .faq-q-icon{transform:rotate(180deg);color:var(--color-brand)}
.faq-a{border-top:1px solid var(--color-line);background:var(--color-surface-2)}
.faq-a[hidden]{display:none}
.faq-a-inner{padding:20px 20px 22px}
.faq-a-inner p{margin:0 0 12px;line-height:1.8;color:var(--color-ink);font-size:var(--font-md)}
.faq-a-inner p:last-child{margin-bottom:0}
.faq-compare{margin:14px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-line)}
.faq-compare table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}
.faq-compare th{background:var(--color-surface-3);text-align:left;padding:10px 14px;font-weight:600;font-size:var(--font-xs);letter-spacing:.06em;color:var(--color-muted);border-bottom:1px solid var(--color-line)}
.faq-compare td{padding:12px 14px;border-bottom:1px solid var(--color-line);line-height:1.6;vertical-align:top}
.faq-compare tr:last-child td{border-bottom:0}
.faq-compare .faq-row-head{font-weight:600;color:var(--color-brand);white-space:nowrap;width:160px}
.faq-warn,.faq-tip{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);margin:12px 0;font-size:var(--font-sm);line-height:1.6}
.faq-warn{background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-error) 20%,var(--color-line));color:var(--color-error)}
.faq-warn svg{flex:0 0 auto;margin-top:2px}
.faq-tip{background:color-mix(in srgb,var(--color-brand) 8%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-brand) 20%,var(--color-line));color:var(--color-brand-active)}
.faq-tip svg{flex:0 0 auto;margin-top:2px}
.faq-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-line)}
.faq-tag{font-size:var(--font-xs);color:var(--color-muted);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-3)}
.faq-code{background:var(--color-ink);color:var(--color-surface-2);padding:14px 16px;border-radius:var(--radius-md);overflow-x:auto;font-family:"SF Mono",Consolas,monospace;font-size:var(--font-sm);line-height:1.7;margin:12px 0}
.faq-a-inner ul{margin:8px 0 12px;padding-left:20px}
.faq-a-inner ul li{margin-bottom:6px;line-height:1.7}
.faq-empty{text-align:center;padding:60px 20px;color:var(--color-muted)}
.faq-empty p{font-size:var(--font-lg);margin-bottom:6px}
.faq-empty small{font-size:var(--font-sm);opacity:.7}
