/* =====================================================
   DISC Report - Premium Dark Theme
   Accent color set via CSS variables per type
   ===================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0a0f;--surface:#141420;--card:#1e1e2e;--card-hover:#252538;
  --border:#2a2a3a;--border-accent:#3a3a4e;
  --text:#e8e8f0;--text2:#a0a0b8;--muted:#6e6e88;
  --accent:#ef4444;--accent-dim:rgba(239,68,68,.15);--accent-glow:rgba(239,68,68,.08);
  --accent-border:rgba(239,68,68,.3);--accent-text:#f87171;
  --green:#22c55e;--green-dim:rgba(34,197,94,.12);--green-border:rgba(34,197,94,.3);
  --yellow:#eab308;--yellow-dim:rgba(234,179,8,.12);--yellow-border:rgba(234,179,8,.3);
  --blue:#3b82f6;--purple:#a855f7;
  --r:12px;--r-sm:8px;--tr:.25s cubic-bezier(.4,0,.2,1);
  --max-w:720px;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;overflow-x:hidden;min-height:100vh}

/* ADMIN TOOLBAR */
.admin-toolbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(15,15,30,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:2px solid var(--accent);padding:10px 20px;align-items:center;gap:16px;font-size:.82rem;color:var(--text2);box-shadow:0 -4px 20px rgba(0,0,0,.5)}
.admin-toolbar label{font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.admin-toolbar select{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.82rem;cursor:pointer}
.admin-toolbar select:focus{outline:none;border-color:var(--accent)}
.admin-badge{background:var(--accent);color:#fff;padding:3px 10px;border-radius:12px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}

/* TAB BAR */
.tab-bar{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tab-bar::-webkit-scrollbar{display:none}
.tab-btn{flex:0 0 auto;padding:14px 20px;font-size:.82rem;font-weight:600;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--tr),border-color var(--tr);letter-spacing:.02em;text-transform:uppercase}
.tab-btn:hover{color:var(--text2)}
.tab-btn.active{color:var(--accent-text);border-bottom-color:var(--accent)}

/* SECTIONS */
.section{display:none;padding:32px 24px 64px;max-width:960px;margin:0 auto}
.section.active{display:block;animation:fadeUp .35s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* TYPOGRAPHY */
h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}
h2{font-size:1.35rem;font-weight:700;margin-bottom:12px;color:var(--text);display:flex;align-items:center;gap:8px}
h2::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:2px}
h3{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:8px}
h4{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:6px}
.prose{max-width:var(--max-w)}
.prose p{margin-bottom:14px;color:var(--text2);line-height:1.75;font-size:.95rem}
.prose p:last-child{margin-bottom:0}
.sub-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:8px}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px;transition:border-color var(--tr),box-shadow var(--tr)}
.card:hover{border-color:var(--accent-border);box-shadow:0 0 24px var(--accent-glow)}
.card-grid{display:grid;gap:16px;margin-top:16px}
.card-grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card-grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* BADGE */
.type-badge{display:inline-flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--accent-dim),var(--card));border:2px solid var(--accent);border-radius:var(--r);padding:20px 32px;margin-bottom:24px}
.type-letter{font-size:3.5rem;font-weight:900;color:var(--accent);line-height:1}
.type-info .type-name{font-size:1.4rem;font-weight:700}
.type-info .type-tag{font-size:.85rem;color:var(--text2)}
.type-info .type-rarity{font-size:.75rem;color:var(--muted);margin-top:2px}

/* SCORE BARS */
.score-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.score-label{width:24px;font-weight:800;font-size:1rem}
.score-label.d{color:#ef4444}.score-label.i{color:#f59e0b}.score-label.s{color:#22c55e}.score-label.c{color:#3b82f6}
.score-track{flex:1;height:10px;background:var(--border);border-radius:5px;overflow:hidden}
.score-fill{height:100%;border-radius:5px;width:0;transition:width 1.2s cubic-bezier(.25,.8,.25,1)}
.score-fill.d{background:linear-gradient(90deg,#ef4444,#f87171)}
.score-fill.i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.score-fill.s{background:linear-gradient(90deg,#22c55e,#4ade80)}
.score-fill.c{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.score-val{width:36px;text-align:right;font-weight:700;font-size:.85rem;color:var(--text2)}

/* HIGHLIGHT CARDS */
.highlight{text-align:center;padding:20px 16px}
.hl-label-tag{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.hl-label-tag.superpower{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.4);color:#f87171}
.hl-label-tag.kryptonite{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.35);color:#eab308}
.hl-label-tag.motto{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.35);color:#c084fc}
.hl-label-tag.spirit{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.35);color:#60a5fa}
.highlight .hl-value{font-size:.92rem;color:var(--text);font-weight:500;line-height:1.45}

/* PILL LIST */
.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pill{padding:6px 14px;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:20px;font-size:.82rem;color:var(--accent-text);font-weight:500}
.pill.neutral{background:rgba(160,160,184,.08);border-color:var(--border-accent);color:var(--text2)}

/* WORD CLOUD */
.word-cloud{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px}
.word-cloud span{font-size:.9rem;color:var(--text2);font-weight:500;opacity:.7;transition:opacity var(--tr),color var(--tr)}
.word-cloud span:hover{opacity:1;color:var(--accent-text)}
.word-cloud span:nth-child(3n+1){font-size:1.1rem;opacity:.9}
.word-cloud span:nth-child(5n+2){font-size:1rem;opacity:.8}

/* PULL QUOTE */
.pull-quote{border-left:3px solid var(--accent);padding:16px 20px;margin:20px 0;background:var(--accent-glow);border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic;color:var(--text);font-size:1.05rem;line-height:1.65;max-width:var(--max-w)}

/* EXPANDABLE CARDS */
.expand-card{cursor:pointer;user-select:none}
.expand-card .expand-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.expand-card .expand-arrow{font-size:.8rem;color:var(--muted);transition:transform var(--tr);flex-shrink:0;margin-top:4px}
.expand-card.open .expand-arrow{transform:rotate(180deg)}
.expand-card .expand-preview{transition:max-height .3s ease,opacity .2s ease;max-height:100px;opacity:1;overflow:hidden}
.expand-card.open .expand-preview{max-height:0;opacity:0;margin:0;padding:0}
.expand-card .expand-body{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0}
.expand-card.open .expand-body{max-height:4000px;opacity:1;margin-top:12px}

/* ACCORDION */
.accordion{margin-top:16px}
.acc-item{border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden}
.acc-head{padding:14px 18px;background:var(--card);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.92rem;color:var(--text);transition:background var(--tr)}
.acc-head:hover{background:var(--card-hover)}
.acc-head .arr{color:var(--muted);transition:transform var(--tr);font-size:.75rem}
.acc-item.open .acc-head .arr{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.acc-item.open .acc-body{max-height:6000px}
.acc-body-inner{padding:16px 18px;border-top:1px solid var(--border)}

/* INNER TABS */
.inner-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--surface);border-radius:var(--r-sm);padding:4px;overflow-x:auto}
.inner-tab{padding:8px 16px;border-radius:6px;font-size:.82rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;transition:all var(--tr);white-space:nowrap}
.inner-tab:hover{color:var(--text2)}
.inner-tab.active{background:var(--card);color:var(--accent-text)}
.inner-panel{display:none;animation:fadeUp .25s ease}
.inner-panel.active{display:block}

/* COPY BTN */
.copy-wrap{position:relative;margin-top:12px}
.copy-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;font-family:'Cascadia Code','Fira Code',monospace;font-size:.82rem;line-height:1.65;color:var(--text2);white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}
.copy-btn{position:absolute;top:8px;right:8px;padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer;transition:opacity var(--tr);text-transform:uppercase;letter-spacing:.05em}
.copy-btn:hover{opacity:.85}
.copy-btn.copied{background:var(--green)}

/* FIT BARS */
.fit-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.fit-role{width:170px;font-size:.88rem;font-weight:500;color:var(--text);flex-shrink:0}
.fit-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.fit-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent-text));width:0;transition:width 1s cubic-bezier(.25,.8,.25,1)}
.fit-pct{width:32px;text-align:right;font-size:.82rem;font-weight:700;color:var(--accent-text)}

/* QUICK LINKS */
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.quick-link{padding:8px 16px;background:var(--card);border:1px solid var(--border);border-radius:20px;font-size:.8rem;color:var(--text2);cursor:pointer;transition:all var(--tr);font-weight:500}
.quick-link:hover{border-color:var(--accent-border);color:var(--accent-text)}

/* ICON LISTS */
.icon-list{list-style:none;margin-top:8px}
.icon-list li{padding:8px 0 8px 28px;position:relative;font-size:.9rem;color:var(--text2);line-height:1.55;border-bottom:1px solid var(--border)}
.icon-list li:last-child{border-bottom:none}
.icon-list li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%}
.icon-list.warn li::before{background:var(--yellow)}
.icon-list.recover li::before{background:var(--green)}
.icon-list.drain li::before{background:#ef4444}
.icon-list.charge li::before{background:var(--green)}
.icon-list.trigger li::before{background:var(--yellow)}

/* PHRASES */
.phrase-card{padding:12px 16px;border-radius:var(--r-sm);font-size:.9rem;line-height:1.5;margin-bottom:8px}
.phrase-card.good{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);color:#86efac}
.phrase-card.bad{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.15);color:#fca5a5}

/* TOP5 */
.top5-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}
.top5-item:last-child{border-bottom:none}
.top5-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:50%;font-size:.75rem;font-weight:800;color:var(--accent-text);flex-shrink:0}
.top5-text{font-size:.92rem;color:var(--text2);line-height:1.55}

/* SCENARIO */
.scenario-option{padding:12px 16px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}
.scenario-option:hover{border-color:var(--accent-border)}
.scenario-title{font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:4px}

/* UNIVERSITY */
.course-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px 28px;margin-bottom:16px;transition:border-color var(--tr),box-shadow var(--tr);cursor:pointer}
.course-card:hover{border-color:var(--accent-border);box-shadow:0 0 24px var(--accent-glow)}
.course-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px}
.course-num{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:700}
.course-meta{font-size:.78rem;color:var(--muted);font-weight:500;white-space:nowrap}
.course-title{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:6px}
.course-desc{font-size:.88rem;color:var(--text2);line-height:1.6;margin-bottom:16px}
.course-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.progress-wrap{flex:1;max-width:300px}
.progress-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-text));transition:width .6s cubic-bezier(.25,.8,.25,1)}
.progress-text{font-size:.72rem;color:var(--muted);margin-top:4px;font-weight:500}
.course-btn{padding:10px 22px;border-radius:var(--r-sm);font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);letter-spacing:.02em}
.course-btn.begin{background:var(--accent);color:#fff}
.course-btn.begin:hover{opacity:.85}
.course-btn.continue{background:var(--accent-dim);color:var(--accent-text);border:1px solid var(--accent-border)}
.course-btn.continue:hover{background:var(--accent);color:#fff}
.course-btn.completed-btn{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border);cursor:default}

/* SECTION NAV */
.section-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding:12px 0;border-bottom:1px solid var(--border)}
.section-nav-btn{padding:8px 18px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text2);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.section-nav-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-text)}
.section-nav-btn:disabled{opacity:.3;cursor:not-allowed}
.section-dots{display:flex;gap:8px;align-items:center}
.section-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:all var(--tr);cursor:pointer}
.section-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}
.section-dot.visited{background:var(--accent-dim);border:1px solid var(--accent-border)}
.content-area{max-width:720px}
.content-area h3{font-size:1.2rem;margin-bottom:16px;margin-top:8px}
.content-area p{color:var(--text2);font-size:.92rem;line-height:1.75;margin-bottom:14px}

/* QUIZ */
.quiz-container{max-width:720px}
.quiz-progress{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.quiz-progress-text{font-size:.82rem;color:var(--muted);font-weight:600;white-space:nowrap}
.quiz-progress-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-text));border-radius:3px;transition:width .4s}
.quiz-question{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:20px;line-height:1.5}
.quiz-options{display:grid;gap:10px;margin-bottom:20px}
.quiz-option{background:var(--card);border:2px solid var(--border);border-radius:var(--r-sm);padding:16px 20px;cursor:pointer;transition:all var(--tr);font-size:.9rem;color:var(--text2);line-height:1.5;display:flex;align-items:flex-start;gap:12px}
.quiz-option:hover:not(.locked){border-color:var(--accent-border);color:var(--text)}
.quiz-option .opt-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;font-size:.75rem;font-weight:800;color:var(--muted);flex-shrink:0;transition:all var(--tr)}
.quiz-option.correct{border-color:var(--green);background:var(--green-dim)}
.quiz-option.correct .opt-letter{background:var(--green);color:#fff;border-color:var(--green)}
.quiz-option.wrong{border-color:#ef4444;background:rgba(239,68,68,.08)}
.quiz-option.wrong .opt-letter{background:#ef4444;color:#fff;border-color:#ef4444}
.quiz-option.locked{cursor:default}
.quiz-explanation{background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;margin-top:16px;font-size:.85rem;color:var(--text2);line-height:1.6;display:none}
.quiz-explanation.visible{display:block}
.quiz-next-btn{padding:12px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-sm);font-size:.88rem;font-weight:700;cursor:pointer;transition:all var(--tr);margin-top:16px;display:none}
.quiz-next-btn.visible{display:inline-block}
.quiz-next-btn:hover{opacity:.85}
.quiz-results{text-align:center;padding:40px 20px}
.quiz-score-circle{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2rem;font-weight:900}
.quiz-score-circle.pass{background:var(--green-dim);border:3px solid var(--green);color:var(--green)}
.quiz-score-circle.fail{background:rgba(239,68,68,.1);border:3px solid #ef4444;color:#ef4444}
.quiz-result-text{font-size:1.2rem;font-weight:700;margin-bottom:8px}
.quiz-result-sub{font-size:.9rem;color:var(--text2);margin-bottom:24px}

/* RESET BTN */
.reset-btn{padding:8px 18px;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.reset-btn:hover{border-color:#ef4444;color:#ef4444}

/* BTN BACK */
.btn-back{padding:8px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text2);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.btn-back:hover{border-color:var(--accent-border);color:var(--accent-text)}

/* SPACERS */
.spacer{height:32px}
.spacer-sm{height:20px}
.mb-16{margin-bottom:16px}

/* MOBILE */
@media(max-width:640px){
  .tab-btn{padding:12px 14px;font-size:.74rem}
  .section{padding:24px 16px 48px}
  .type-badge{padding:14px 20px}
  .type-letter{font-size:2.5rem}
  .card{padding:18px}
  .card-grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .fit-role{width:120px;font-size:.8rem}
  h1{font-size:1.5rem}
  h2{font-size:1.15rem}
  .inner-tabs{gap:2px;padding:3px}
  .inner-tab{padding:6px 12px;font-size:.76rem}
  .admin-toolbar{flex-wrap:wrap;gap:8px;padding:8px 12px}
  .course-bottom{flex-direction:column;align-items:stretch;gap:12px}
  .progress-wrap{max-width:100%}
  .section-nav{flex-wrap:wrap;gap:8px;justify-content:center}
}

/* =====================================================
   TIER LOCKING SYSTEM
   ===================================================== */

/* Lock icon (CSS-only) next to tab names */
.tab-btn .lock-icon{
  display:inline-block;width:10px;height:12px;position:relative;margin-left:6px;vertical-align:middle;
  flex-shrink:0;
}
.tab-btn .lock-icon::before{
  content:'';position:absolute;bottom:0;left:0;width:10px;height:8px;border-radius:2px;
}
.tab-btn .lock-icon::after{
  content:'';position:absolute;top:0;left:2px;width:6px;height:6px;
  border:2px solid;border-bottom:none;border-radius:3px 3px 0 0;
}

/* Green lock (Essentials tier) */
.tab-btn .lock-icon.lock-green::before{background:#10b981}
.tab-btn .lock-icon.lock-green::after{border-color:#10b981}

/* Red lock (Full tier) */
.tab-btn .lock-icon.lock-red::before{background:#ef4444}
.tab-btn .lock-icon.lock-red::after{border-color:#ef4444}

/* Locked tab styling */
.tab-btn.locked{opacity:.55;cursor:pointer}
.tab-btn.locked:hover{opacity:.75}
.tab-btn.locked.active{border-bottom-color:transparent}

/* Price label on locked tabs */
.tab-btn .lock-price{
  font-size:.58rem;font-weight:800;margin-left:4px;padding:1px 5px;
  border-radius:4px;vertical-align:middle;letter-spacing:.02em;
}
.tab-btn .lock-price.price-green{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}
.tab-btn .lock-price.price-red{background:rgba(239,68,68,.12);color:#ef4444;border:1px solid rgba(239,68,68,.25)}

/* =====================================================
   LOCKED TAB OVERLAY (when clicking a locked tab)
   ===================================================== */
.tier-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:150;
  background:rgba(10,10,15,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.tier-overlay.visible{opacity:1;pointer-events:auto}

.tier-overlay-inner{
  max-width:680px;width:92%;max-height:90vh;overflow-y:auto;
  padding:36px 32px;
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  position:relative;
  animation:fadeUp .35s ease;
}
.tier-overlay-close{
  position:absolute;top:14px;right:14px;width:32px;height:32px;
  background:var(--card);border:1px solid var(--border);border-radius:50%;
  color:var(--muted);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all var(--tr);line-height:1;
}
.tier-overlay-close:hover{border-color:var(--accent-border);color:var(--text)}

.tier-overlay-title{
  font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:4px;text-align:center;
}
.tier-overlay-sub{
  font-size:.88rem;color:var(--text2);text-align:center;margin-bottom:28px;line-height:1.5;
}

/* =====================================================
   UPGRADE CARDS (side by side)
   ===================================================== */
.upgrade-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}

.upgrade-card{
  background:var(--card);border-radius:var(--r);padding:28px 24px;
  position:relative;overflow:hidden;
  transition:border-color var(--tr),box-shadow var(--tr);
}
.upgrade-card:hover{box-shadow:0 0 32px rgba(0,0,0,.3)}

.upgrade-card.card-essentials{border:2px solid #10b981}
.upgrade-card.card-essentials:hover{box-shadow:0 0 32px rgba(16,185,129,.15)}

.upgrade-card.card-full{border:2px solid #ef4444}
.upgrade-card.card-full:hover{box-shadow:0 0 32px rgba(239,68,68,.12)}

/* Best value badge */
.best-value-badge{
  position:absolute;top:14px;right:-30px;
  background:#f59e0b;color:#000;font-size:.62rem;font-weight:900;
  padding:4px 36px;transform:rotate(45deg);text-transform:uppercase;
  letter-spacing:.08em;
}

.upgrade-card-name{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  margin-bottom:4px;
}
.upgrade-card.card-essentials .upgrade-card-name{color:#10b981}
.upgrade-card.card-full .upgrade-card-name{color:#ef4444}

.upgrade-card-price{font-size:2rem;font-weight:900;color:var(--text);margin-bottom:14px}

.upgrade-card-label{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;
  color:var(--muted);margin-bottom:8px;
}

.upgrade-card ul{list-style:none;margin-bottom:20px}
.upgrade-card ul li{
  padding:5px 0 5px 20px;position:relative;font-size:.85rem;color:var(--text2);line-height:1.5;
}
.upgrade-card ul li::before{
  content:'';position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;
}
.upgrade-card.card-essentials ul li::before{background:#10b981}
.upgrade-card.card-full ul li::before{background:#ef4444}

.upgrade-btn{
  display:block;width:100%;padding:14px 20px;border:none;border-radius:var(--r-sm);
  font-size:.92rem;font-weight:700;cursor:pointer;text-align:center;
  transition:all var(--tr);text-decoration:none;letter-spacing:.02em;
}
.upgrade-btn.btn-essentials{background:#10b981;color:#fff}
.upgrade-btn.btn-essentials:hover{background:#0d9668}
.upgrade-btn.btn-full{background:#ef4444;color:#fff}
.upgrade-btn.btn-full:hover{background:#dc2626}

/* Upgrade footer text */
.upgrade-footer{text-align:center;margin-top:4px}
.upgrade-footer .upgrade-link{
  font-size:.82rem;color:#f59e0b;font-weight:600;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}
.upgrade-footer .upgrade-link:hover{color:#fbbf24}
.upgrade-footer .upgrade-fine{
  font-size:.72rem;color:var(--muted);margin-top:8px;line-height:1.5;
}

/* =====================================================
   PREMIUM PREVIEW TEASERS
   ===================================================== */
.premium-previews{margin-top:32px}
.premium-previews-title{
  font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  color:var(--muted);margin-bottom:16px;text-align:center;
}
.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}

.preview-item{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:16px 14px;text-align:center;position:relative;overflow:hidden;
  transition:border-color var(--tr);
}
.preview-item:hover{border-color:var(--accent-border)}

.preview-item .preview-icon{
  width:40px;height:40px;margin:0 auto 10px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;font-weight:900;
}
.preview-item .preview-icon.icon-courses{background:rgba(59,130,246,.12);color:#60a5fa;border:1px solid rgba(59,130,246,.25)}
.preview-item .preview-icon.icon-dataviz{background:rgba(168,85,247,.12);color:#c084fc;border:1px solid rgba(168,85,247,.25)}
.preview-item .preview-icon.icon-ai{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}
.preview-item .preview-icon.icon-social{background:rgba(16,185,129,.12);color:#34d399;border:1px solid rgba(16,185,129,.25)}
.preview-item .preview-icon.icon-team{background:rgba(239,68,68,.12);color:#f87171;border:1px solid rgba(239,68,68,.25)}

.preview-item .preview-label{font-size:.78rem;color:var(--text2);line-height:1.4;font-weight:500}
.preview-item .preview-locked{
  font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;
  color:var(--muted);margin-top:6px;
}

/* =====================================================
   DASHBOARD UPGRADE SECTION (inline at bottom)
   ===================================================== */
.dashboard-upgrade{
  margin-top:40px;padding:32px 0;border-top:1px solid var(--border);
}
.dashboard-upgrade-title{
  font-size:1.3rem;font-weight:800;color:var(--text);margin-bottom:6px;text-align:center;
}
.dashboard-upgrade-sub{
  font-size:.88rem;color:var(--text2);text-align:center;margin-bottom:28px;line-height:1.5;
}

/* =====================================================
   RESPONSIVE: STACKED ON MOBILE
   ===================================================== */
/* DATA LAB */
.data-table{width:100%;border-collapse:collapse;font-size:.82rem}
.data-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--border);color:var(--text2);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}
.data-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.data-table tr:hover td{background:rgba(255,255,255,.02)}
.dl-panel{animation:fadeUp .35s ease}

/* =====================================================
   WOW MOMENTS - ENHANCED INTERACTIONS
   ===================================================== */

/* A) DASHBOARD: "The Switch" color reveal animation */
@keyframes colorReveal{
  0%{filter:grayscale(1) brightness(.7);opacity:.6}
  60%{filter:grayscale(0) brightness(1.1);opacity:1}
  100%{filter:none;opacity:1}
}
@keyframes badgeScale{
  0%{transform:scale(.8);opacity:0}
  50%{transform:scale(1.08)}
  100%{transform:scale(1);opacity:1}
}
@keyframes particleBurst{
  0%{box-shadow:0 0 0 0 var(--accent),0 0 0 0 var(--accent)}
  50%{box-shadow:0 0 20px 8px var(--accent),0 0 40px 16px transparent}
  100%{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}
}
.type-badge.wow-animate{
  animation:badgeScale .6s cubic-bezier(.34,1.56,.64,1) forwards,
            particleBurst 1.2s ease-out .3s forwards;
}
.section.active.wow-reveal{animation:colorReveal 1.8s ease forwards}

/* Floating particles container */
.particle-field{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:0}
.particle{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;animation:particleFly 1.6s ease-out forwards}
@keyframes particleFly{
  0%{opacity:1;transform:translate(0,0) scale(1)}
  100%{opacity:0;transform:translate(var(--px),var(--py)) scale(0)}
}

/* B) PROFILE: At-a-Glance animated card */
.at-a-glance-card{position:relative;overflow:hidden}
.at-a-glance-card .type-badge{animation:badgeScale .6s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes pulseGlow{
  0%,100%{box-shadow:0 0 8px var(--accent-glow)}
  50%{box-shadow:0 0 20px var(--accent),0 0 40px var(--accent-glow)}
}
.pulse-badge{animation:pulseGlow 3s ease-in-out infinite}

@keyframes slideInItem{
  from{opacity:0;transform:translateX(-20px)}
  to{opacity:1;transform:translateX(0)}
}
.slide-in-item{opacity:0;animation:slideInItem .4s ease forwards}

@keyframes subtleGlow{
  0%,100%{text-shadow:0 0 0 transparent}
  50%{text-shadow:0 0 12px var(--accent-glow)}
}
.glow-text{animation:subtleGlow 3s ease-in-out infinite}

@keyframes soarFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-4px) rotate(1deg)}
  75%{transform:translateY(2px) rotate(-1deg)}
}
.spirit-animate{display:inline-block;animation:soarFloat 4s ease-in-out infinite}

/* Share card button */
.share-card-btn{
  margin-top:16px;padding:10px 20px;background:var(--accent);color:#fff;
  border:none;border-radius:var(--r-sm);font-size:.82rem;font-weight:700;
  cursor:pointer;transition:all var(--tr);letter-spacing:.02em;
  display:inline-flex;align-items:center;gap:8px
}
.share-card-btn:hover{opacity:.85;transform:translateY(-1px)}
.share-card-btn svg{width:16px;height:16px;fill:currentColor}

/* C) STRENGTHS: Interactive strength meters */
.strength-meter{margin-bottom:20px}
.strength-meter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;cursor:pointer}
.strength-meter-title{font-weight:700;font-size:.92rem;color:var(--text)}
.strength-meter-pct{font-size:.82rem;font-weight:700;color:var(--accent-text)}
.strength-meter-track{height:10px;background:var(--border);border-radius:5px;overflow:hidden;margin-bottom:4px}
.strength-meter-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--accent-text));width:0;transition:width 1.2s cubic-bezier(.25,.8,.25,1)}
.strength-meter-fill.animated{width:var(--target-width)}
.strength-meter-desc{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0;font-size:.88rem;color:var(--text2);line-height:1.65;padding:0 4px}
.strength-meter.expanded .strength-meter-desc{max-height:300px;opacity:1;margin-top:10px}
.strength-meter-example{margin-top:10px;padding:10px 14px;background:var(--accent-glow);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-size:.85rem;color:var(--text2);line-height:1.6;font-style:italic}

/* D) STRESS: Stress shift visualizer */
.stress-shift{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px;margin-bottom:24px;position:relative;overflow:hidden;transition:background .6s ease}
.stress-shift.stressed{background:rgba(239,68,68,.04)}
.stress-toggle{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.stress-toggle-track{width:56px;height:28px;background:var(--green);border-radius:14px;cursor:pointer;position:relative;transition:background .4s ease}
.stress-shift.stressed .stress-toggle-track{background:#ef4444}
.stress-toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.stress-shift.stressed .stress-toggle-thumb{transform:translateX(28px)}
.stress-toggle-label{font-weight:700;font-size:.92rem;color:var(--text);transition:color .4s}
.stress-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.stress-bar-label{width:24px;font-weight:800;font-size:1rem}
.stress-bar-track{flex:1;height:12px;background:var(--border);border-radius:6px;overflow:hidden;position:relative}
.stress-bar-fill{height:100%;border-radius:6px;transition:width .8s cubic-bezier(.25,.8,.25,1)}
.stress-bar-val{width:36px;text-align:right;font-weight:700;font-size:.85rem;color:var(--text2)}

/* E) COMMUNICATION: Live email preview */
.email-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:20px}
.email-preview-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border)}
.email-preview-dot{width:10px;height:10px;border-radius:50%}
.email-preview-bar{flex:1;height:8px;background:var(--border);border-radius:4px}
.email-preview-body{padding:20px;font-size:.9rem;color:var(--text2);line-height:1.75;white-space:pre-wrap}
.email-annotation{display:inline;position:relative;border-bottom:2px dashed;padding-bottom:2px;cursor:help;transition:all .2s}
.email-annotation-tip{
  display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--card);border:1px solid var(--accent-border);border-radius:8px;padding:10px 14px;
  font-size:.78rem;color:var(--text2);line-height:1.5;white-space:normal;width:220px;z-index:10;
  box-shadow:0 4px 16px rgba(0,0,0,.3)
}
.email-annotation:hover .email-annotation-tip{display:block}
.email-reader-tabs{display:flex;gap:4px;margin-top:16px;flex-wrap:wrap}
.email-reader-tab{padding:8px 14px;border-radius:20px;font-size:.78rem;font-weight:700;cursor:pointer;border:2px solid;transition:all .2s;background:transparent}
.email-reader-tab.active{color:#fff}
.email-reader-tab[data-reader="D"]{border-color:#ef4444;color:#f87171}
.email-reader-tab[data-reader="I"]{border-color:#f59e0b;color:#fbbf24}
.email-reader-tab[data-reader="S"]{border-color:#22c55e;color:#4ade80}
.email-reader-tab[data-reader="C"]{border-color:#3b82f6;color:#60a5fa}
.email-reader-tab[data-reader="D"].active{background:#ef4444;color:#fff}
.email-reader-tab[data-reader="I"].active{background:#f59e0b;color:#000}
.email-reader-tab[data-reader="S"].active{background:#22c55e;color:#000}
.email-reader-tab[data-reader="C"].active{background:#3b82f6;color:#fff}
.email-reader-insight{margin-top:16px;padding:14px 18px;background:var(--accent-glow);border:1px solid var(--accent-border);border-radius:var(--r-sm);font-size:.88rem;color:var(--text2);line-height:1.6}

/* F) CAREER: Flip cards */
.career-flip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px}
.career-flip-card{perspective:800px;height:180px;cursor:pointer}
.career-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}
.career-flip-card.flipped .career-flip-inner{transform:rotateY(180deg)}
.career-flip-front,.career-flip-back{
  position:absolute;top:0;left:0;width:100%;height:100%;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:var(--r);padding:20px;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;
  border:1px solid var(--border);background:var(--card)
}
.career-flip-back{transform:rotateY(180deg);background:var(--surface)}
.career-flip-rank{font-size:2rem;font-weight:900;color:var(--accent);line-height:1;margin-bottom:6px}
.career-flip-role{font-size:.88rem;font-weight:700;color:var(--text);line-height:1.3}
.career-flip-score{font-size:.72rem;font-weight:800;color:var(--accent-text);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.career-flip-why{font-size:.8rem;color:var(--text2);line-height:1.55;overflow-y:auto;max-height:140px;padding:0 4px}

/* Shuffle animation for career cards */
@keyframes cardShuffle{
  0%{opacity:0;transform:translateY(20px) rotate(-2deg)}
  100%{opacity:1;transform:translateY(0) rotate(0deg)}
}
.career-flip-card.shuffle-in{animation:cardShuffle .5s cubic-bezier(.34,1.56,.64,1) forwards}

/* G) RELATIONSHIPS: Compatibility wheel */
.compat-wheel-container{position:relative;width:100%;max-width:380px;margin:0 auto}
.compat-wheel-svg{width:100%;height:auto}
.compat-wheel-arc{cursor:pointer;transition:opacity .2s,filter .2s}
.compat-wheel-arc:hover{filter:brightness(1.3)}
.compat-wheel-detail{margin-top:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:20px;display:none;animation:fadeUp .3s ease}
.compat-wheel-detail.visible{display:block}
.compat-wheel-score-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:1.1rem;font-weight:900;margin-bottom:8px}
@keyframes drawArc{from{stroke-dashoffset:var(--arc-len)}to{stroke-dashoffset:0}}
.compat-arc-animated{animation:drawArc 1.2s cubic-bezier(.25,.8,.25,1) forwards}
@keyframes pulseDot{0%,100%{r:6}50%{r:9}}
.compat-pulse{animation:pulseDot 2s ease-in-out infinite}

/* H) UNIVERSITY: Course progress dashboard */
.course-progress-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:20px 0}
.cpd-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:18px 14px;text-align:center;cursor:pointer;transition:all var(--tr);position:relative}
.cpd-card:hover{border-color:var(--accent-border);box-shadow:0 0 20px var(--accent-glow)}
.cpd-card.locked-cpd{opacity:.5}
.cpd-ring{position:relative;width:64px;height:64px;margin:0 auto 10px}
.cpd-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.cpd-ring circle{fill:none;stroke-width:4}
.cpd-ring .ring-bg{stroke:var(--border)}
.cpd-ring .ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.25,.8,.25,1)}
.cpd-ring .ring-fill.completed-ring{stroke:var(--green)}
.cpd-pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:800;color:var(--text)}
.cpd-title{font-size:.78rem;font-weight:600;color:var(--text);line-height:1.3;margin-bottom:6px}
.cpd-status{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cpd-status.stat-new{color:var(--muted)}
.cpd-status.stat-progress{color:var(--accent-text)}
.cpd-status.stat-done{color:var(--green)}
/* Trophy icon (CSS only) */
.cpd-trophy{position:absolute;top:8px;right:8px;width:18px;height:18px}
.cpd-trophy::before{content:'';display:block;width:12px;height:10px;border:2px solid var(--green);border-bottom:none;border-radius:6px 6px 0 0;margin:0 auto}
.cpd-trophy::after{content:'';display:block;width:6px;height:4px;background:var(--green);margin:0 auto;border-radius:0 0 2px 2px}
.cpd-btn{padding:6px 14px;border-radius:6px;font-size:.72rem;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);margin-top:8px}
.cpd-btn.btn-begin{background:var(--accent);color:#fff}
.cpd-btn.btn-continue{background:var(--accent-dim);color:var(--accent-text);border:1px solid var(--accent-border)}
.cpd-btn.btn-review{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.cpd-overall{text-align:center;margin-bottom:20px;font-size:.88rem;color:var(--text2);font-weight:600}
.cpd-overall strong{color:var(--accent-text)}

/* I) TOOLKIT: Profile card generator */
.card-generator{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px;margin-top:16px}
.card-gen-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.card-gen-group label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.card-gen-group select,.card-gen-group input[type="color"]{
  width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);
  border-radius:6px;color:var(--text);font-size:.82rem;cursor:pointer
}
.card-gen-group input[type="color"]{height:38px;padding:2px}
.card-gen-checkboxes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.card-gen-check{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text2);cursor:pointer}
.card-gen-check input{accent-color:var(--accent)}
.card-gen-preview{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:16px;position:relative}
.card-gen-canvas{width:100%;display:block}
.card-gen-actions{display:flex;gap:10px;flex-wrap:wrap}
.card-gen-btn{padding:10px 20px;border-radius:var(--r-sm);font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);display:inline-flex;align-items:center;gap:6px}
.card-gen-btn.btn-download{background:var(--accent);color:#fff}
.card-gen-btn.btn-download:hover{opacity:.85}
.card-gen-btn.btn-share{background:var(--card);border:1px solid var(--border);color:var(--text2)}
.card-gen-btn.btn-share:hover{border-color:var(--accent-border);color:var(--accent-text)}

/* =====================================================
   RESPONSIVE (consolidated)
   ===================================================== */
@media(max-width:640px){
  .upgrade-cards{grid-template-columns:1fr;gap:16px}
  .tier-overlay-inner{padding:24px 18px}
  .tier-overlay-title{font-size:1.15rem}
  .upgrade-card-price{font-size:1.6rem}
  .preview-grid{grid-template-columns:repeat(2,1fr)}
  .tab-btn .lock-price{display:none}
  .career-flip-grid{grid-template-columns:repeat(2,1fr)}
  .career-flip-card{height:160px}
  .card-gen-controls{grid-template-columns:1fr}
  .email-reader-tabs{gap:4px}
  .email-reader-tab{padding:6px 10px;font-size:.72rem}
  .course-progress-dashboard{grid-template-columns:repeat(2,1fr)}
  .compat-wheel-container{max-width:300px}
  .stress-bar-row{gap:8px}
  .sim-convo{gap:8px}
  .sim-msg{padding:12px 14px}
  .connection-grid{grid-template-columns:1fr}
  .compare-cards{grid-template-columns:1fr}
  .explorer-controls{grid-template-columns:1fr}
  .body-lang-grid{grid-template-columns:1fr}
  .body-lang-card{height:140px}
  .trigger-input-row{flex-wrap:wrap}
  .meeting-check-row{flex-wrap:wrap}
  .audit-slider-wrap{flex-wrap:wrap}
}

/* =====================================================
   TAB EXPANSION: RELATIONSHIPS
   ===================================================== */
.sim-section{margin-bottom:20px}
.sim-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.sim-pill{padding:6px 14px;border-radius:20px;font-size:.82rem;font-weight:500;line-height:1.4}
.sim-pill.harmony{background:var(--green-dim);border:1px solid var(--green-border);color:var(--green)}
.sim-pill.friction{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.15);color:#fca5a5}
.sim-convo{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.sim-msg{padding:14px 18px;border-radius:12px;font-size:.88rem;line-height:1.6;color:var(--text2);position:relative}
.sim-msg.you{background:var(--accent-glow);border:1px solid var(--accent-border);border-bottom-left-radius:4px;margin-right:24px}
.sim-msg.them{background:var(--surface);border:1px solid var(--border);border-bottom-right-radius:4px;margin-left:24px}
.sim-sender{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.sim-insight{margin-top:12px;padding:14px 18px;background:var(--accent-glow);border:1px solid var(--accent-border);border-radius:var(--r-sm);font-size:.85rem;color:var(--text2);line-height:1.6}

/* Connection Invite */
.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.connection-col{display:flex;flex-direction:column}
.profile-code-display{font-family:'Cascadia Code','Fira Code',monospace;font-size:1.6rem;font-weight:900;color:var(--accent-text);text-align:center;padding:16px;background:var(--surface);border:2px dashed var(--accent-border);border-radius:var(--r);letter-spacing:.15em}
.connection-input{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:1rem;font-family:'Cascadia Code','Fira Code',monospace;text-align:center;letter-spacing:.1em;text-transform:uppercase}
.connection-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}

/* Compare cards */
.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare-card{background:var(--card);border:2px solid var(--border);border-radius:var(--r);padding:20px;text-align:center}
.compare-type{font-size:2.5rem;font-weight:900;line-height:1}
.compare-name{font-size:.85rem;color:var(--text2);margin-top:4px;margin-bottom:12px}
.compare-bars{text-align:left}
.compare-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.compare-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.compare-fill{height:100%;border-radius:3px;transition:width .6s}
.compare-val{width:24px;text-align:right;font-size:.78rem;font-weight:700;color:var(--text2)}

/* =====================================================
   TAB EXPANSION: CAREER
   ===================================================== */
.explorer-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;align-items:end}
.explorer-filter-group label{display:block}
.explorer-filter-group select,.explorer-filter-group input[type="range"]{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem}
.explorer-filter-group input[type="range"]{padding:0;height:8px;-webkit-appearance:none;appearance:none;background:var(--border);border:none;border-radius:4px;cursor:pointer;margin-top:4px}
.explorer-filter-group input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg)}
.explorer-filter-group span{font-size:.78rem;font-weight:700;color:var(--accent-text);margin-left:6px}
.career-explorer-grid{display:grid;gap:10px}
.explorer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 18px;cursor:pointer;transition:all var(--tr)}
.explorer-card:hover{border-color:var(--accent-border)}
.explorer-card-top{display:flex;justify-content:space-between;align-items:center}
.explorer-role{font-weight:700;font-size:.92rem;color:var(--text)}
.explorer-fit{font-size:1.1rem;font-weight:900}
.explorer-meta{display:flex;gap:12px;margin-top:4px;font-size:.75rem;color:var(--muted)}
.explorer-fit-bar{height:4px;background:var(--border);border-radius:2px;margin-top:8px;overflow:hidden}
.explorer-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease,margin .3s ease;font-size:.85rem;color:var(--text2);line-height:1.6}
.explorer-card.expanded .explorer-detail{max-height:200px;opacity:1;margin-top:12px}

/* Salary Tips */
.salary-tips-list{display:flex;flex-direction:column;gap:8px}
.salary-tip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.salary-tip-head{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background var(--tr)}
.salary-tip-head:hover{background:var(--card-hover)}
.salary-tip-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:50%;font-size:.75rem;font-weight:800;color:var(--accent-text);flex-shrink:0}
.salary-tip-title{flex:1;font-weight:600;font-size:.9rem;color:var(--text)}
.salary-tip .expand-arrow{color:var(--muted);transition:transform var(--tr)}
.salary-tip.open .expand-arrow{transform:rotate(180deg)}
.salary-tip-body{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:.85rem;color:var(--text2);line-height:1.65;padding:0 16px}
.salary-tip.open .salary-tip-body{max-height:200px;padding:0 16px 14px}

/* Interview Prep */
.interview-q-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;margin-bottom:12px}
.interview-q-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px}
.interview-q-text{font-size:.95rem;font-weight:600;color:var(--text);line-height:1.5;margin-bottom:10px}
.interview-q-tip{font-size:.85rem;color:var(--text2);line-height:1.6;padding:10px 14px;background:var(--accent-glow);border-radius:6px}

/* =====================================================
   TAB EXPANSION: COMMUNICATION LAB
   ===================================================== */
.msg-textarea{width:100%;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:.9rem;line-height:1.6;resize:vertical;font-family:inherit}
.msg-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}

/* Meeting Prep */
.meeting-check-row{display:flex;gap:16px;margin-bottom:4px;flex-wrap:wrap}
.meeting-strategy{margin-top:8px}
.meeting-section{margin-bottom:16px}
.meeting-section h4{margin-bottom:8px}

/* Conflict Script */
.conflict-script{animation:fadeUp .35s ease}
.conflict-opener{margin-bottom:12px}
.conflict-step{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.conflict-step:last-child{border-bottom:none}
.conflict-step-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:50%;font-size:.75rem;font-weight:800;color:var(--accent-text);flex-shrink:0}

/* Body Language */
.body-lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.body-lang-card{perspective:800px;height:160px;cursor:pointer}
.body-lang-card .body-lang-front,.body-lang-card .body-lang-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--r-sm);padding:16px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--border);transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}
.body-lang-card .body-lang-front{background:var(--card)}
.body-lang-card .body-lang-back{background:var(--surface);transform:rotateY(180deg)}
.body-lang-card.flipped .body-lang-front{transform:rotateY(180deg)}
.body-lang-card.flipped .body-lang-back{transform:rotateY(0)}
.body-lang-card{position:relative}
.body-lang-signal{font-weight:700;font-size:.9rem;color:var(--accent-text);margin-bottom:8px}
.body-lang-says{font-size:.82rem;color:var(--text2);line-height:1.5}
.body-lang-means{font-size:.82rem;color:var(--text2);line-height:1.5;margin-bottom:8px}
.body-lang-misread{font-size:.78rem;color:var(--muted);line-height:1.5}

/* =====================================================
   TAB EXPANSION: STRESS & ENERGY
   ===================================================== */

/* Emergency Kit */
.emergency-btn{padding:16px 32px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:var(--r);font-size:1rem;font-weight:800;cursor:pointer;transition:all .3s;width:100%;text-transform:uppercase;letter-spacing:.08em;position:relative;overflow:hidden}
.emergency-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(239,68,68,.3)}
.emergency-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s}
.emergency-btn:hover::before{left:100%}
.emergency-step-active{animation:fadeUp .35s ease}
.emergency-timer{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text);font-weight:800;margin-bottom:8px}
.emergency-action{font-size:1.15rem;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:12px}
.emergency-detail{font-size:.88rem;color:var(--text2);line-height:1.65;margin-bottom:16px}
.emergency-progress{height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.emergency-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:2px;width:0;transition:width 30s linear}

/* Energy Audit */
.audit-row{margin-bottom:14px}
.audit-label{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:4px}
.audit-slider-wrap{display:flex;align-items:center;gap:8px}
.audit-end{font-size:.72rem;color:var(--muted);white-space:nowrap;width:70px}
.audit-end:last-of-type{text-align:right}
.audit-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:3px;cursor:pointer;border:none}
.audit-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg)}
.audit-val{width:24px;text-align:center;font-weight:800;font-size:.85rem;color:var(--accent-text)}

/* Recovery Playlist */
.recovery-items{display:flex;flex-direction:column;gap:8px}
.recovery-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:.88rem;color:var(--text2);cursor:default;animation:cardShuffle .4s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}
.recovery-check{width:22px;height:22px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;cursor:pointer;transition:all .2s;position:relative}
.recovery-check.checked{border-color:var(--green);background:var(--green)}
.recovery-check.checked::after{content:'';position:absolute;top:4px;left:6px;width:6px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}

/* Trigger Tracker */
.trigger-input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.trigger-entry{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.82rem}
.trigger-entry:last-child{border-bottom:none}
.trigger-cat{flex:1;color:var(--text);font-weight:500}
.trigger-int{font-weight:800;width:40px;text-align:center}
.trigger-date{color:var(--muted);font-size:.75rem;width:70px;text-align:right}

/* =====================================================
   LIFE SCENARIOS TAB
   ===================================================== */
#scenarioGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
@media(max-width:640px){#scenarioGrid{grid-template-columns:1fr}}

.scenario-flip-card{perspective:1000px;min-height:220px;cursor:pointer;animation:fadeUp .35s ease both}
.scenario-card-inner{position:relative;width:100%;min-height:220px;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}
.scenario-flip-card.flipped .scenario-card-inner{transform:rotateY(180deg)}

.scenario-card-front,.scenario-card-back{border-radius:var(--r);border:1px solid var(--border);padding:24px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.scenario-card-front{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.scenario-card-back{background:var(--surface);transform:rotateY(180deg);overflow-y:auto;max-height:520px}
.scenario-cat-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);background:var(--accent-dim);padding:3px 10px;border-radius:12px;margin-bottom:12px}
.scenario-card-title{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:8px}
.scenario-card-prompt{font-size:.82rem;color:var(--muted);margin-top:12px}
.scenario-section{margin-bottom:12px}
.scenario-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.scenario-section-text{font-size:.84rem;color:var(--text2);line-height:1.6}

/* Hover effect on front */
.scenario-card-front:hover{border-color:var(--accent-border);box-shadow:0 0 20px var(--accent-glow)}
.scenario-card-front::after{content:'';position:absolute;bottom:16px;width:40px;height:3px;border-radius:2px;background:var(--accent);opacity:.3;transition:opacity .25s}
.scenario-card-front:hover::after{opacity:.8}

/* =====================================================
   MARSTON'S MIRROR TAB
   ===================================================== */
.mm-panel{animation:fadeUp .35s ease}

/* Timeline */
.marston-timeline{position:relative;padding-left:32px;margin-top:8px}
.marston-timeline::before{content:'';position:absolute;left:10px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--accent),var(--accent-dim));border-radius:2px}
.timeline-item{position:relative;margin-bottom:24px;padding-left:12px}
.timeline-dot{position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 8px var(--accent-glow)}
.timeline-year{font-size:.82rem;font-weight:800;color:var(--accent-text);margin-bottom:4px}
.timeline-text{font-size:.88rem;color:var(--text2);line-height:1.65}
.timeline-item.first .timeline-dot{width:14px;height:14px;left:-28px;top:4px}
.timeline-item.last .timeline-dot{background:var(--text);box-shadow:0 0 8px rgba(255,255,255,.2)}

/* DISC Wheel quadrant hover */
.mm-quad{transition:opacity .25s}
.mm-quad:hover{opacity:.35 !important}

/* =====================================================
   CONTENT HUB (Dashboard Explore More)
   ===================================================== */
.content-hub-section{margin-top:8px}
.content-hub-header{margin-bottom:20px}
.content-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.content-hub-card{
  display:flex;align-items:flex-start;gap:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
  border:1px solid var(--border);border-radius:var(--r);padding:20px;
  text-decoration:none;color:inherit;position:relative;overflow:hidden;
  transition:border-color var(--tr),box-shadow var(--tr),transform var(--tr);
}
.content-hub-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--hub-accent,var(--accent));opacity:.5;transition:opacity var(--tr);
}
.content-hub-card:hover{
  border-color:var(--hub-accent,var(--accent-border));
  box-shadow:0 0 24px color-mix(in srgb,var(--hub-accent,var(--accent)) 15%,transparent);
  transform:translateY(-2px);
}
.content-hub-card:hover::before{opacity:1}
.content-hub-card-icon{
  flex-shrink:0;width:44px;height:44px;border-radius:10px;
  background:color-mix(in srgb,var(--hub-accent,var(--accent)) 12%,transparent);
  display:flex;align-items:center;justify-content:center;
  color:var(--hub-accent,var(--accent));
}
.content-hub-card-body{flex:1;min-width:0}
.content-hub-card-title{font-size:.92rem;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3}
.content-hub-card-desc{font-size:.82rem;color:var(--text2);line-height:1.5;margin-bottom:6px}
.content-hub-card-personal{
  font-size:.78rem;color:var(--hub-accent,var(--accent-text));line-height:1.45;
  padding:6px 10px;border-radius:6px;
  background:color-mix(in srgb,var(--hub-accent,var(--accent)) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--hub-accent,var(--accent)) 12%,transparent);
}
.content-hub-card-arrow{
  flex-shrink:0;color:var(--muted);transition:color var(--tr),transform var(--tr);
  align-self:center;
}
.content-hub-card:hover .content-hub-card-arrow{
  color:var(--hub-accent,var(--accent-text));transform:translateX(3px);
}

@media(max-width:900px){
  .content-hub-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .content-hub-grid{grid-template-columns:1fr}
  .content-hub-card{padding:16px}
}

/* =====================================================
   QUICK PLAY (Toolkit tab game cards)
   ===================================================== */
.quick-play-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.quick-play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.quick-play-card{
  display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
  border:1px solid var(--border);border-radius:var(--r);padding:20px;
  text-decoration:none;color:inherit;position:relative;overflow:hidden;
  transition:border-color var(--tr),box-shadow var(--tr),transform var(--tr);
}
.quick-play-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--qp-color,var(--accent));opacity:.5;transition:opacity var(--tr);
}
.quick-play-card:hover{
  border-color:var(--qp-color,var(--accent-border));
  box-shadow:0 0 20px color-mix(in srgb,var(--qp-color,var(--accent)) 15%,transparent);
  transform:translateY(-2px);
}
.quick-play-card:hover::before{opacity:1}
.quick-play-icon{
  width:40px;height:40px;border-radius:10px;
  background:color-mix(in srgb,var(--qp-color,var(--accent)) 12%,transparent);
  display:flex;align-items:center;justify-content:center;
  color:var(--qp-color,var(--accent));
}
.quick-play-info{flex:1}
.quick-play-name{font-size:.92rem;font-weight:700;color:var(--text);margin-bottom:4px}
.quick-play-desc{font-size:.8rem;color:var(--text2);line-height:1.5;margin-bottom:8px}
.quick-play-score{
  font-size:.76rem;font-weight:600;
  color:var(--qp-color,var(--accent-text));
  margin-bottom:8px;
}
.quick-play-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 20px;border-radius:8px;font-size:.82rem;font-weight:700;
  background:var(--qp-color,var(--accent));color:#fff;
  transition:opacity var(--tr),transform var(--tr);
  align-self:flex-start;
}
.quick-play-card:hover .quick-play-btn{opacity:.9;transform:scale(1.02)}

@media(max-width:900px){
  .quick-play-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .quick-play-grid{grid-template-columns:1fr}
  .quick-play-card{padding:16px}
}
