/* 岗位深度分析：7 张卡的三态（未解锁 / 生成中 / 已解锁）与动效。
   基础容器（.deep-analysis-skin / .analysis-skin-card / .analysis-preview-mask）沿用 styles.css，
   这里只补状态、内容排版和动画，避免与原型皮肤的尺寸规则冲突。 */

.analysis-card-list{display:grid;gap:14px;margin-top:13px}
.analysis-card{position:relative}
.analysis-card h4{justify-content:flex-start;flex-wrap:wrap;margin-bottom:12px}
.analysis-scope-tag{margin-left:auto;padding:3px 8px;border-radius:5px;background:#f1f5f9;color:#7b8ba0;font-size:10px;font-style:normal;font-weight:400}

/* 卡片进入：错峰淡入上移。--i 由 JS 按顺序写入，制造"逐张展开"的观感。 */
.analysis-enter-once{animation:analysisCardIn .45s cubic-bezier(.22,.68,.35,1) both}
@keyframes analysisCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Only a completed in-view report reveals its cards; polling never replays it. */
.analysis-result-reveal{animation:analysisReportReveal .58s cubic-bezier(.22,.68,.35,1) both;animation-delay:var(--analysis-reveal-delay,0ms)}
@keyframes analysisReportReveal{from{opacity:0;transform:translateY(16px);clip-path:inset(0 0 12% 0 round 16px)}to{opacity:1;transform:none;clip-path:inset(0 round 16px)}}
@media(prefers-reduced-motion:reduce){.analysis-result-reveal{animation:none!important}}

/* ---------- 头部：配额徽标 + 解锁全部 ---------- */
/* 三态照原型取色：有免费次数灰、会员金、用完红。基础皮肤在 styles.css 里给的是绿色，
   这三条必须能盖住它，所以都写在 .deep-analysis-head 的作用域下提权重。 */
.deep-analysis-head .analysis-quota-chip{background:#f7f8fa;color:#717b8e}
.deep-analysis-head .analysis-quota-chip.is-member{background:#faf1dc;color:#8c6420}
.deep-analysis-head .analysis-quota-chip.is-empty{background:#fbeaec;color:#b7434b}
.analysis-unlock-all{margin-left:auto;padding:0;background:none;color:#1f4068;font-size:12.5px;font-weight:600}
.analysis-unlock-all:hover:not(:disabled){text-decoration:underline}
.analysis-unlock-all:disabled{cursor:wait;color:#9aa6b5}
.analysis-disclaimer{margin:12px 0 0;padding:11px 13px;border:1px solid #eef0f3;border-radius:10px;background:#f7f8fa;color:#8a92a0;font-size:11.5px;line-height:1.6}
.analysis-footnote{margin:13px 0 0;padding:4px;color:#a6acb8;font-size:11px;line-height:1.6}

/* ---------- 未解锁：合并成一块 ---------- */
/* 目录清晰、正文模糊：用户要看得见自己买的是哪几项，才知道值不值 1 块钱。 */
.analysis-locked-block h4{margin-bottom:11px}
.analysis-locked-titles{display:grid;gap:0;margin:0 0 4px;padding:0;list-style:none}
.analysis-locked-titles li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0f1f3;color:#1a2436;font-size:13px;font-weight:500}
.analysis-locked-titles li:last-child{border-bottom:0}
.analysis-locked-titles li:before{content:"";flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#c7d2de}
.analysis-locked-titles em{margin-left:auto;padding:3px 8px;border-radius:5px;background:#f1f5f9;color:#7b8ba0;font-size:10px;font-style:normal;font-weight:400}

.analysis-locked-preview{position:relative;margin-top:12px;padding-top:12px;border-top:1px solid #f0f1f3}
.analysis-teaser{display:grid;gap:11px}
.analysis-teaser>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px}
.analysis-teaser i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#eef1f5,#e3e8ee,#eef1f5);background-size:220% 100%;animation:analysisIdle 3.2s ease-in-out infinite}
.analysis-teaser>div>i:first-child{width:78%}
.analysis-teaser>div:nth-child(2)>i:last-child{width:86%}
.analysis-teaser>div:nth-child(3)>i:last-child{width:64%}
.analysis-teaser>div:nth-child(4)>i:last-child{width:92%}
.analysis-teaser>div:nth-child(5)>i:last-child{width:71%}
@keyframes analysisIdle{0%,100%{background-position:0 0}50%{background-position:100% 0}}

/* 遮罩只盖住骨架区，不盖标题目录。渐变与模糊照原型取值。 */
.analysis-mask{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(to bottom,rgba(255,255,255,.35),rgba(255,255,255,.85) 40%,#fff);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.analysis-unlock-pill{display:flex;align-items:center;gap:9px;padding:6px 6px 6px 15px;border:1px solid #ecedef;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(20,30,50,.12);font-size:12.5px;font-weight:600;color:#1d2b45;transition:transform .2s,box-shadow .2s}
.analysis-unlock-pill:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,30,50,.18)}
.analysis-unlock-pill:disabled{cursor:wait;opacity:.7}
.analysis-unlock-pill em{padding:5px 14px;border-radius:999px;background:#1f4068;color:#fff;font-size:12.5px;font-weight:600;font-style:normal}
.analysis-unlock-lock{width:13px;height:13px;border:1.5px solid #8c6420;border-radius:3px;border-top-left-radius:7px;border-top-right-radius:7px}

/* ---------- 生成中 ---------- */
.analysis-generating{display:grid;gap:13px}
.analysis-generating-head{display:flex;align-items:center;gap:9px;color:#25578a;font-size:12px;font-weight:700}
.analysis-spinner{flex:0 0 15px;width:15px;height:15px;border:2px solid #d6e2ee;border-top-color:#2a628f;border-radius:50%;animation:analysisSpin .8s linear infinite}
@keyframes analysisSpin{to{transform:rotate(360deg)}}
.analysis-step{transition:opacity .25s}
.analysis-step.is-swapping{opacity:0}
/* 骨架行的扫描光带：让"正在查"这件事有可见的持续反馈，而不是一个静止的转圈。 */
.analysis-skeleton{display:grid;gap:9px}
.analysis-skeleton i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#eef1f5 0%,#e0e6ed 40%,#f6f8fa 55%,#eef1f5 100%);background-size:240% 100%;animation:analysisSweep 1.5s linear infinite}
.analysis-skeleton i:nth-child(1){width:92%;animation-delay:0s}
.analysis-skeleton i:nth-child(2){width:78%;animation-delay:.12s}
.analysis-skeleton i:nth-child(3){width:85%;animation-delay:.24s}
.analysis-skeleton i:nth-child(4){width:54%;animation-delay:.36s}
@keyframes analysisSweep{from{background-position:140% 0}to{background-position:-140% 0}}
.analysis-generating small{color:#9aa6b5;font-size:11px}

/* ---------- 已解锁 ---------- */
.analysis-summary{margin:0 0 14px;padding:11px 13px;border-radius:9px;background:#f4f8fb;color:#1d3c60;font-size:13px;line-height:1.75}
.analysis-highlights{margin:0}
.analysis-highlights>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid #edf0f3}
.analysis-highlights>div:last-child{border-bottom:0}
.analysis-highlights dt{color:#728198;font-size:12px;line-height:1.7}
.analysis-highlights dd{margin:0;color:#172d49;font-size:12px;line-height:1.8}
.analysis-highlights dd.is-empty{color:#9aa6b5}
.analysis-cite{margin-left:5px;color:#7d95b1;font-size:10px;letter-spacing:.5px}

.analysis-body{margin-top:13px;border-top:1px solid #edf0f3;padding-top:12px}
.analysis-body>summary{cursor:pointer;color:#25578a;font-size:12px;font-weight:700;list-style:none}
.analysis-body>summary::-webkit-details-marker{display:none}
.analysis-body>summary:before{content:"▸ ";display:inline-block;transition:transform .2s}
.analysis-body[open]>summary:before{content:"▾ "}
.analysis-body>p{margin:10px 0 0;color:#3a5069;font-size:12px;line-height:2;animation:analysisCardIn .3s ease both}

.analysis-unknowns{margin-top:11px;padding:9px 11px;border-radius:8px;background:#fbf6ec;color:#8d6418;font-size:11px;line-height:1.8}
.analysis-foot{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid #edf0f3}
.analysis-confidence{padding:4px 9px;border-radius:5px;font-size:10px;font-weight:800}
.analysis-confidence.high{background:#e8f3eb;color:#397253}
.analysis-confidence.medium{background:#eef3f8;color:#315981}
.analysis-confidence.low{background:#fdecef;color:#c6434c}
.analysis-generated{margin-left:auto;color:#a2aebd;font-size:10px}
.analysis-sources-toggle{padding:4px 10px;border:1px solid #dce2e9;border-radius:6px;background:#fff;color:#5a6a7e;font-size:11px}
.analysis-sources-toggle:hover{border-color:#aebfd1;background:#f8fafc}
.analysis-sources{display:grid;gap:8px;margin-top:11px;animation:analysisCardIn .3s ease both}
.analysis-sources a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;color:#3a5069;font-size:11px;line-height:1.6;text-decoration:none}
.analysis-sources a:hover strong{text-decoration:underline}
.analysis-sources b{color:#a2aebd;font-weight:400}
.analysis-sources strong{overflow:hidden;color:#25578a;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.analysis-sources span{color:#a2aebd;font-size:10px}

/* ---------- 解锁弹窗（￥1 单次 vs 开通会员） ---------- */
/* 只在服务端回 402（免费次数用完且不是会员）时出现。有免费次数的人永远看不到它。 */
.analysis-unlock-mask{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,40,.46);animation:analysisCardIn .22s ease both}
.analysis-unlock-dialog{width:min(420px,100%);padding:26px 24px 22px;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(16,24,40,.24)}
.analysis-unlock-dialog header{display:flex;align-items:center;gap:10px}
.analysis-unlock-dialog h2{margin:0;font-size:17px;font-weight:800;color:#16233c}
.analysis-unlock-dialog header button{margin-left:auto;width:28px;height:28px;border-radius:50%;background:#f4f6f8;color:#8a92a0;font-size:17px;line-height:1}
.analysis-unlock-dialog header button:hover{background:#e9edf1;color:#5a6a7e}
.analysis-unlock-lead{margin:9px 0 18px;color:#8a92a0;font-size:12px;line-height:1.7}
.analysis-unlock-option{position:relative;display:flex;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:14px 15px;border:1.5px solid #dfe1e5;border-radius:13px;background:#fff;text-align:left;transition:border-color .2s,transform .2s,box-shadow .2s}
.analysis-unlock-option:hover{transform:translateY(-1px);border-color:#1f4068;box-shadow:0 10px 22px rgba(20,30,50,.1)}
.analysis-unlock-option.is-member{border-color:#c99a3f;background:linear-gradient(150deg,#fbf3e0,#fdf9f0)}
.analysis-unlock-option.is-member:hover{border-color:#a97e28;box-shadow:0 10px 22px rgba(201,154,63,.22)}
.analysis-unlock-option-icon{flex:0 0 34px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#eef2f7;color:#1f4068;font-size:15px}
.analysis-unlock-option.is-member .analysis-unlock-option-icon{background:#f3e2be;color:#8c6420}
.analysis-unlock-option-text{flex:1;min-width:0;display:grid;gap:4px}
.analysis-unlock-option-text strong{color:#16233c;font-size:13px;font-weight:700}
.analysis-unlock-option-text small{color:#8a92a0;font-size:11px;line-height:1.6}
.analysis-unlock-option em{flex:0 0 auto;padding:6px 13px;border-radius:999px;background:#1f4068;color:#fff;font-size:12px;font-weight:600;font-style:normal;white-space:nowrap}
.analysis-unlock-option.is-member em{background:linear-gradient(135deg,#c99a3f,#a97e28)}
.analysis-unlock-badge{position:absolute;top:-9px;right:14px;padding:2px 9px;border-radius:999px;background:#c99a3f;color:#fff;font-size:10px;font-weight:700}
.analysis-unlock-dialog footer{margin-top:6px;color:#a6acb8;font-size:11px;line-height:1.6;text-align:center}

/* ---------- 失败 ---------- */
.analysis-failed{display:grid;gap:10px;color:#8593a6;font-size:12px;line-height:1.8}
.analysis-failed strong{color:#c6434c;font-size:13px}
.analysis-failed button{justify-self:start;min-height:34px;padding:0 15px;border:1px solid #d4dee9;border-radius:8px;background:#fff;color:#254469;font-size:12px;font-weight:700}

/* 侧栏额度条：与卡片头部同一套三态取色。 */
.job-action-quota.is-member{background:#faf1dc;color:#8c6420}
.job-action-quota.is-empty{background:#fbeaec;color:#b7434b}

/* 岗位速览：三个数字来自 admission_odds 卡，未解锁时不再显示假数字。 */
.job-overview-card dd.is-locked{color:#a2aebd;font-size:11px;font-weight:400}

@media(max-width:560px){
  .analysis-highlights>div{grid-template-columns:104px minmax(0,1fr);gap:11px}
  .analysis-teaser>div{grid-template-columns:104px minmax(0,1fr);gap:11px}
  .analysis-unlock-pill{padding-left:12px;gap:7px;font-size:12px}
  .analysis-unlock-option{flex-wrap:wrap}
  .analysis-unlock-option em{width:100%;text-align:center}
}
.analysis-current-facts{margin-bottom:16px}
.analysis-data-note,.analysis-basis{display:block;color:#758297;font-size:12px;line-height:1.65;margin:8px 0}
.analysis-evidence-tag{display:inline-block;font-size:10px;font-weight:500;border-radius:4px;padding:2px 5px;background:#edf2f7;color:#52667f;white-space:nowrap}
.analysis-highlights blockquote{margin:8px 0;padding:7px 10px;border-left:2px solid #cad6e5;background:#f7f9fc;color:#53647c;font-size:12px;line-height:1.6}
.analysis-platform-stats{margin:14px 0;padding:14px;border:1px solid #dae5ef;border-radius:10px;background:#f6f9fc;font-size:13px;line-height:1.8}
.analysis-platform-stats h5,.analysis-job-supplement h5{font-size:13px;margin:0 0 8px;color:#1f4068}
.analysis-job-supplement{margin-top:18px;padding-top:14px;border-top:1px solid #e4eaf2}
.analysis-current-facts a{font-size:12px;color:#1f4068}
@media(prefers-reduced-motion:reduce){.analysis-card,.analysis-spinner,.analysis-skeleton i{animation:none!important}.analysis-step{transition:none!important}}

/* One persistent research surface. Poll updates never recreate these layers. */
.analysis-card-list{gap:0;isolation:isolate}
.analysis-stage{position:relative;overflow:hidden;padding:24px 30px 20px;margin-bottom:20px;border:1px solid #254d72;border-radius:20px;background:#102c49;color:#f4faff;box-shadow:0 16px 40px #1637521c;isolation:isolate}
.analysis-stage-aurora{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.analysis-stage-aurora:before,.analysis-stage-aurora:after{content:"";position:absolute;width:330px;height:230px;border-radius:50%;filter:blur(54px);opacity:.5;will-change:transform;animation:analysisAurora 13s ease-in-out infinite alternate}
.analysis-stage-aurora:before{left:-70px;top:-150px;background:#2bb5d0}
.analysis-stage-aurora:after{right:-80px;bottom:-160px;background:#4c68e0;animation-delay:-6s;animation-direction:alternate-reverse}
@keyframes analysisAurora{to{transform:translate(65px,75px) scale(1.22)}}
.analysis-stage-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1px;color:#b4cadd}
.analysis-stage-top>span:first-child{display:flex;align-items:center;gap:7px;font-weight:600;color:#e7f6fc}
.analysis-stage-top i{width:5px;height:5px;border-radius:50%;background:#9fe0e7;box-shadow:0 0 12px #a0e8ff}
.analysis-stage-focus{display:flex;align-items:center;gap:24px;min-height:184px;transition:min-height .7s ease}
.analysis-stage-eyebrow{margin:0 0 7px;font-size:11px;letter-spacing:2px;color:#89b7d2}
.analysis-stage h5{margin:0;color:#fff;font-size:24px;font-weight:650;line-height:1.4;letter-spacing:.2px}
.analysis-stage-focus p:last-child{margin:10px 0 0;font-size:12px;line-height:1.7;color:#b5cbdf}
.analysis-orb{position:relative;flex:0 0 112px;width:112px;height:112px;display:grid;place-items:center;transition:transform .7s ease}
.analysis-orb:before{content:"";position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle at 32% 24%,#dcfcff,#76c6ed 25%,#4774b8 55%,#153456 76%);box-shadow:0 0 32px #5ccbe655,inset -5px -5px 16px #122d65;animation:analysisCore 4s ease-in-out infinite}
.analysis-orb b{position:relative;color:#e9ffff;font-size:32px;font-weight:400;text-shadow:0 0 14px #c6f5ff;animation:analysisCore 4s ease-in-out infinite}
.analysis-orb>i{position:absolute;inset:5px;border-radius:50%;border:1px solid #94d7f230;border-top-color:#c8f3ff;border-right-color:#6ca6ec70;animation:analysisOrbit 7s linear infinite}
.analysis-orb>i:nth-child(2){inset:0 16px;transform:rotate(55deg);border-top-color:#9cbffe;animation-name:analysisOrbitTilt;animation-duration:9s}
.analysis-orb>i:nth-child(3){inset:16px 0;border-top-color:#67ccdf;border-left-color:#bfbbff90;animation-direction:reverse;animation-duration:11s}
@keyframes analysisOrbit{to{transform:rotate(360deg)}}
@keyframes analysisOrbitTilt{to{transform:rotate(415deg)}}
@keyframes analysisCore{50%{transform:scale(1.055);filter:brightness(1.12)}}
.analysis-progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#c0d7e9;font-variant-numeric:tabular-nums}
.analysis-progress-track{position:relative;height:3px;margin:12px 0 19px;overflow:hidden;border-radius:3px;background:#bdd8e81c}
.analysis-progress-track>i{position:relative;display:block;height:100%;width:0;background:linear-gradient(90deg,#4086d5,#a5e4ee);border-radius:3px;transition:width 1s cubic-bezier(.22,.68,.35,1)}
.analysis-progress-track:after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(90deg,transparent,#cefaff85,transparent);animation:analysisTrack 3.6s ease-in-out infinite}
@keyframes analysisTrack{to{transform:translateX(440%)}}
.analysis-stage-tasks{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.analysis-stage-tasks>div{display:flex;align-items:center;gap:8px;min-height:32px;font-size:11px;color:#bfd2e0}
.analysis-stage-tasks i{flex:0 0 4px;height:4px;border-radius:50%;background:#7994ad}
.analysis-stage-tasks small{margin-left:auto;flex-shrink:0;font-size:10px;color:#7f9bb6}
.analysis-stage-tasks [data-state=ready] i{background:#9edccb;box-shadow:0 0 8px #80d3d32b}
.analysis-stage-tasks [data-state=ready] small{color:#a1d4c8}
.analysis-stage-foot{margin:17px 0 0;border-top:1px solid #cde7ff17;padding-top:13px;color:#7f9eb9;font-size:10px;line-height:1.7}
.analysis-stage.is-complete .analysis-stage-focus{min-height:126px}
.analysis-stage.is-complete .analysis-orb{transform:scale(.78)}
.analysis-stage.is-complete .analysis-orb *,.analysis-stage.is-complete .analysis-orb:before,.analysis-stage.is-complete .analysis-stage-aurora:before,.analysis-stage.is-complete .analysis-stage-aurora:after{animation-play-state:paused}
.analysis-stage.is-complete .analysis-stage-tasks,.analysis-stage.is-complete .analysis-stage-foot{display:none}
.analysis-stage.is-complete .analysis-progress-track:after{display:none}
.analysis-stage.is-complete .analysis-progress-track{margin-bottom:0}
/* Compact facts and one continuous report, not eight competing panels. */
.analysis-facts-strip{padding:23px 26px;margin-bottom:16px;border:1px solid #e4eaf0;border-radius:14px;background:#fff}
.analysis-facts-heading{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;color:#1e3e60}
.analysis-facts-heading em{margin-left:auto;font-size:11px;font-weight:400;font-style:normal;color:#8391a3}
.analysis-facts-strip>dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;margin:21px 0 16px}
.analysis-facts-strip dt{margin-bottom:6px;color:#8896a7;font-size:11px}
.analysis-facts-strip dd{margin:0;font-size:13px;font-weight:550;line-height:1.65;color:#1c3651;overflow-wrap:anywhere}
.analysis-facts-evidence{padding:6px 0 0;font-size:12px;color:#566a82;line-height:1.8}
.analysis-facts-evidence small{display:block;color:#7a8ba0}
.analysis-facts-evidence a{color:#315d83;font-size:11px}
.analysis-report-section{margin:0;border:1px solid #e4eaf0;border-bottom:0;background:#fff;overflow:clip}
.analysis-report-section:first-of-type{border-top-left-radius:14px;border-top-right-radius:14px}
.analysis-report-section:last-of-type{border-bottom:1px solid #e4eaf0;border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.analysis-report-section>summary{list-style:none;display:flex;align-items:center;gap:16px;padding:24px 26px;cursor:pointer;transition:background .2s}
.analysis-report-section>summary::-webkit-details-marker{display:none}
.analysis-report-section>summary:hover{background:#f8fafc}
.analysis-report-section>summary:focus-visible{outline:2px solid #5686ac;outline-offset:-4px}
.analysis-report-number{align-self:flex-start;padding-top:1px;color:#99a9ba;font-size:12px;font-variant-numeric:tabular-nums}
.analysis-report-title{display:grid;gap:7px;min-width:0;flex:1}
.analysis-report-title strong{font-size:15px;font-weight:650;color:#233e59}
.analysis-report-title small{font-size:12px;line-height:1.75;color:#8390a0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.analysis-report-section[open]>.analysis-report-title small{display:none}
.analysis-report-toggle{font-size:21px;font-weight:300;color:#7b8fa5;transition:transform .24s}
.analysis-report-section[open]>.analysis-report-toggle{transform:rotate(45deg)}
.analysis-report-section[open]>summary .analysis-report-toggle{transform:rotate(45deg)}
.analysis-report-section[open]>summary .analysis-report-title small{display:none}
.analysis-report-body{padding:0 26px 22px 54px}
.analysis-report-scope{margin:0 0 14px;color:#91a0ae;font-size:10px;letter-spacing:.5px}
.analysis-report-body .analysis-highlights>div{grid-template-columns:124px minmax(0,1fr);gap:16px;padding:14px 0}
.analysis-value{font-size:13px;line-height:1.8;font-weight:500;color:#203d5a}
.analysis-evidence{margin-top:7px;font-weight:400}
.analysis-evidence>summary{cursor:pointer;width:fit-content;list-style:none;font-size:11px;color:#8496a9;line-height:1.7}
.analysis-evidence>summary:after{content:" ＋";font-size:10px}
.analysis-evidence[open]>summary:after{content:" −"}
.analysis-evidence>summary::-webkit-details-marker{display:none}
.analysis-evidence>summary:hover{color:#2a608c}
.analysis-report-body .analysis-evidence-tag{font-size:9px;padding:1px 5px;color:#8796a7;background:#f1f4f7;font-weight:400;margin-left:5px;vertical-align:1px}
.analysis-report-body .analysis-foot{gap:10px;padding-top:15px}
.analysis-report-body .analysis-confidence{font-weight:500;background:#f2f5f7;color:#7a8c9f}
.analysis-report-body .analysis-unknowns{background:#f9f8f4;color:#918263;font-size:11px;padding:11px 13px}
.analysis-report-body .analysis-platform-stats{border:0;background:#f5f8fb;border-radius:8px;padding:16px 18px}
.analysis-locked-block{border:1px solid #e4eaf0;box-shadow:none!important;border-radius:16px!important;padding:26px!important}
.analysis-locked-titles{grid-template-columns:1fr 1fr;gap:0 26px}
.analysis-locked-titles em{display:none}
.analysis-locked-preview{padding:25px 0 12px;margin-top:20px}
.analysis-disclaimer{background:none;border:0;padding:2px 0;margin:8px 0 16px;font-size:11px;line-height:1.8;color:#8e99a7}
@media(max-width:620px){
 .analysis-stage{padding:20px;border-radius:16px}.analysis-stage-focus{gap:12px;min-height:172px}.analysis-orb{flex-basis:88px;width:88px;height:88px}.analysis-orb:before{inset:17px}.analysis-stage h5{font-size:20px}.analysis-stage-eyebrow{font-size:10px;letter-spacing:1px}.analysis-stage-focus p:last-child{font-size:11px}.analysis-stage-tasks{column-gap:15px}.analysis-stage-tasks>div{font-size:10px;gap:5px}.analysis-stage-tasks small{font-size:9px}
 .analysis-facts-strip{padding:20px}.analysis-facts-strip>dl{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-report-section>summary{padding:21px 19px;gap:12px}.analysis-report-body{padding:0 19px 22px}.analysis-report-body .analysis-highlights>div{grid-template-columns:88px minmax(0,1fr);gap:12px}.analysis-locked-block{padding:21px!important}.analysis-locked-titles{column-gap:14px}.analysis-locked-titles li{font-size:12px}.analysis-report-title strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .analysis-stage *,.analysis-stage *:before,.analysis-stage *:after,.analysis-enter-once{animation:none!important;transition:none!important}
 .analysis-stage-aurora:before,.analysis-stage-aurora:after{filter:blur(50px)}
}

/* Second round: expanded topic cards, matching the approved white prototype. */
.analysis-card-list{display:flex;flex-direction:column;gap:16px}
.analysis-v3-card{position:relative;min-width:0;border:1px solid #e9edf2;border-radius:14px;padding:20px;background:#fff;box-shadow:0 3px 14px #20344b05;overflow-wrap:anywhere;scroll-margin-top:85px}
.analysis-v3-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-height:30px}
.analysis-v3-card>header h4{font-size:15px;font-weight:650;margin:0;color:#26364c}
.analysis-v3-card>header small{margin-left:auto;color:#8993a1;font-size:10px;font-weight:400}
.analysis-topic-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:var(--analysis-tint);color:var(--analysis-accent)}
.analysis-topic-icon svg{width:18px;height:18px}
.analysis-v3-body{min-height:320px}
.analysis-v3-card.is-profile .analysis-v3-body{min-height:124px}
.analysis-v3-card[data-analysis-card=interview] .analysis-v3-body{min-height:650px}
.analysis-v3-card .analysis-highlights{margin:0}
.analysis-v3-card .analysis-highlights>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid #eef1f4}
.analysis-v3-card .analysis-highlights>div:last-child{border:0}
.analysis-v3-card .analysis-highlights dt{font-size:12px;color:#758294;line-height:1.8;font-weight:500}
.analysis-v3-card .analysis-highlights dd{margin:0;min-width:0}
.analysis-v3-card .analysis-value{font-size:13px;line-height:1.9;color:#26384d;font-weight:400}
.analysis-v3-card .analysis-evidence-tag{font-size:9px;background:#f1f5f8;color:#788a9d;margin-left:4px}
.analysis-evidence-link{display:block;margin:8px 0;color:#476e94;font-size:11px;text-decoration:none;overflow-wrap:anywhere}
.analysis-profile-summary{font-size:14px;line-height:1.9;color:#273b53;margin:8px 0 16px}
.analysis-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 12px}
.analysis-profile-facts dt{color:#8a95a3;font-size:11px;margin-bottom:6px}.analysis-profile-facts dd{margin:0;font-size:12px;line-height:1.7;color:#344960}
.analysis-practice{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.analysis-practice>li{display:flex;gap:12px;padding:15px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfc}
.analysis-practice>li>span{display:grid;place-items:center;flex:0 0 23px;height:23px;background:#fbeaec;color:#b7434b;border-radius:7px;font-size:11px}
.analysis-practice>li>div{min-width:0}.analysis-practice h5{font-size:13px;line-height:1.8;margin:0 0 8px;color:#26384d;font-weight:600}.analysis-practice p{font-size:12px;line-height:1.8;color:#6e7f91;margin:5px 0}.analysis-practice b{font-weight:500;color:#526881}
.analysis-peer-list{margin-top:20px;padding:15px;background:#f7f9fb;border-radius:10px}.analysis-peer-list h5{margin:0 0 12px;font-size:12px;color:#3c5670}.analysis-peer-list>a{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #e7ecf2;color:#315678;text-decoration:none}.analysis-peer-list strong{font-size:12px;font-weight:600}.analysis-peer-list span,.analysis-peer-list small,.analysis-peer-list p{font-size:11px;line-height:1.8;color:#8490a0}
.analysis-stage{margin:0;padding:18px 22px;border-color:#dde7f0;border-radius:14px;background:linear-gradient(130deg,#f9fcff,#eff6fc 70%,#faf7ef);color:#24496e;box-shadow:0 3px 16px #20344b06}
.analysis-stage-aurora:before{background:#b2d6fb;opacity:.23;filter:blur(55px)}.analysis-stage-aurora:after{background:#f7e5b9;opacity:.24;filter:blur(55px)}
.analysis-stage-top,.analysis-stage-top>span:first-child{color:#7994ab}.analysis-stage-top i{background:#91b9d3;box-shadow:0 0 12px #a4cce0}
.analysis-stage-focus,.analysis-stage.is-complete .analysis-stage-focus{min-height:102px;gap:18px}.analysis-stage h5{font-size:18px;color:#315674}.analysis-stage-eyebrow{color:#94a9ba;letter-spacing:1px}.analysis-stage-focus p:last-child{color:#8396a9;font-size:11px}
.analysis-orb{flex-basis:66px;width:66px;height:66px}.analysis-orb:before{inset:15px;background:radial-gradient(circle at 40% 30%,#effaff,#a6c9eb);box-shadow:0 0 20px #b5d0e833}.analysis-orb>b{font-size:20px;color:#648dae}.analysis-orb i{border-color:#8ab4d16b!important}
.analysis-progress-caption{color:#8b9eaf}.analysis-progress-track{background:#dce6ef;margin-bottom:12px}.analysis-progress-track>i{background:linear-gradient(90deg,#82adcf,#c1dbe8)}.analysis-progress-track:after{background:linear-gradient(90deg,transparent,#9fbed185,transparent)}
.analysis-stage-tasks{display:none}.analysis-stage-foot{margin-top:10px;padding-top:10px;border-color:#dae5ee;color:#92a4b3}.analysis-stage.is-complete .analysis-progress-caption{color:#7b929f}
.analysis-disclaimer{border:1px solid #eef0f3;background:#f7f8fa;border-radius:10px;padding:11px 13px;color:#8a92a0;font-size:11px;margin-bottom:16px}
.analysis-v3-card .analysis-generating{padding:18px 0}.analysis-v3-card .analysis-generating small{font-size:11px;color:#98a5b3;line-height:1.8}
.analysis-v3-card .analysis-foot{margin-top:14px;border-top:1px solid #f0f2f4;padding-top:12px;font-size:10px}.analysis-v3-card .analysis-confidence{background:none;color:#96a1ae;padding:0;font-size:10px}
@media(max-width:620px){.analysis-v3-card{padding:16px}.analysis-v3-card>header{gap:8px}.analysis-v3-card>header h4{font-size:14px}.analysis-v3-card>header small{max-width:88px;text-align:right;font-size:9px}.analysis-v3-card .analysis-highlights>div{grid-template-columns:78px minmax(0,1fr);gap:12px}.analysis-v3-body{min-height:440px}.analysis-v3-card[data-analysis-card=interview] .analysis-v3-body{min-height:900px}.analysis-profile-facts{gap:10px}.analysis-profile-facts dd{font-size:11px}.analysis-practice>li{padding:12px;gap:9px}.analysis-stage{padding:16px}.analysis-stage h5{font-size:16px}.analysis-stage-focus{gap:12px}.analysis-orb{flex-basis:54px;width:54px;height:54px}.analysis-stage-focus p:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){.analysis-v3-card *,.analysis-v3-card *:before,.analysis-v3-card *:after{animation:none!important;transition:none!important}}

.analysis-v3-card .analysis-key-point{color:var(--analysis-accent,#315f82);font-weight:650}

/* One continuous, light research stage. Polling changes text/state, not nodes. */
.analysis-stage{isolation:isolate;padding:22px 26px;background:linear-gradient(115deg,#f9fcff 12%,#f0f7fc 60%,#f5f5ff);border:1px solid #dce7f2;box-shadow:0 5px 22px #294b7610}
.analysis-stage-top{letter-spacing:0;font-size:11px;min-height:18px}
.analysis-stage-top>span:first-child{color:#567796;font-weight:600}
.analysis-stage-top>[data-analysis-elapsed]{color:#698099;font-variant-numeric:tabular-nums;white-space:nowrap}
.analysis-stage-top i{width:6px;height:6px;background:#559ac1;animation:analysisSignal 2.8s ease-in-out infinite}
.analysis-stage-focus,.analysis-stage.is-complete .analysis-stage-focus{min-height:120px;gap:24px;transition:none}
.analysis-stage-focus>div:last-child{min-width:0}
.analysis-stage h5{font-size:20px;line-height:1.5;color:#284967}
.analysis-stage-eyebrow{font-size:10px;letter-spacing:1px;color:#7898b2;margin-bottom:5px}
.analysis-stage-focus p:last-child{font-size:12px;color:#6d8296;line-height:1.8;margin-top:5px;min-height:22px}
.analysis-orb,.analysis-stage.is-complete .analysis-orb{flex:0 0 80px;width:80px;height:80px;transform:none}
.analysis-orb:before{inset:17px;border:1px solid #e2f1fd;background:linear-gradient(150deg,#fff,#deecfb 85%);box-shadow:0 0 24px #8ab2ed30,inset 0 1px 4px #fff;animation:analysisCore 5s ease-in-out infinite}
.analysis-orb>i{inset:3px;border-color:#c9daed!important;border-top-color:#669bc8!important;border-right-color:#a7bee6!important;animation-duration:8s}
.analysis-orb>i:nth-child(2){inset:9px 0;border-color:#dce4f2!important;border-top-color:#a3a5d1!important;animation-duration:12s}
.analysis-orb>i:nth-child(3){inset:0 9px;border-color:#d9eaf1!important;border-top-color:#88bbcb!important;animation-duration:10s}
.analysis-orb>i:first-child:after{content:"";position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:#739bd0;box-shadow:0 0 9px #9ec8ee}
.analysis-orb b{display:grid;place-items:center;width:25px;height:25px;animation:none}
.analysis-orb b svg{grid-area:1/1;width:24px;height:24px;color:#5d82a6}
.analysis-orb-check{fill:none;stroke:#44846d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .35s}
.analysis-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:12px}
.analysis-workflow li{position:relative;display:flex;align-items:center;gap:8px;min-height:32px;color:#8191a4;font-size:11px}
.analysis-workflow li>span{position:relative;flex:0 0 22px;display:grid;place-items:center;width:22px;height:22px;border:1px solid #d6e0eb;border-radius:50%;background:#ffffff80;color:#9aa8b9;font-size:10px;transition:background .35s,color .35s,border-color .35s}
.analysis-workflow b{font-weight:500}
.analysis-workflow li.is-current{color:#2e638b}
.analysis-workflow li.is-current>b{font-weight:650}
.analysis-workflow li.is-current>span{border-color:#7ca7ce;color:#315f88;background:#e4f0fb;box-shadow:0 0 0 4px #e0edf780;animation:analysisSignal 2.8s ease-in-out infinite}
.analysis-workflow li.is-done{color:#508574}
.analysis-workflow li.is-done>span{font-size:0;background:#e7f3ee;color:#508574;border-color:#c7e2d7}
.analysis-workflow li.is-done>span:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='%23508574' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.analysis-stage .analysis-progress-track{height:3px;background:#dfe9f2;margin:16px 0 12px}
.analysis-stage .analysis-progress-track:after{width:34%;background:linear-gradient(90deg,transparent,#78a8d5,transparent);animation:analysisTrack 3.6s ease-in-out infinite}
.analysis-stage .analysis-progress-track>i{background:linear-gradient(90deg,#70a6c1,#92c6b0)}
.analysis-stage.is-running .analysis-progress-track>i{transition:none}
.analysis-stage .analysis-progress-caption{font-size:10px;line-height:1.6;color:#788da1;min-height:17px}
.analysis-stage .analysis-stage-foot,.analysis-stage.is-complete .analysis-stage-foot{display:block;margin:12px 0 0;padding:10px 0 0;border-color:#e1e9f1;min-height:28px;font-size:11px;color:#7f93a5}
.analysis-stage.is-complete .analysis-stage-top>span:first-child{color:#51806e}
.analysis-stage.is-complete .analysis-orb b svg:first-child{opacity:0}
.analysis-stage.is-complete .analysis-orb-check{opacity:1}
.analysis-stage.is-complete .analysis-progress-track:after,.analysis-stage.is-stopped .analysis-progress-track:after{display:none}
.analysis-stage.is-complete *,.analysis-stage.is-complete *:before,.analysis-stage.is-complete *:after,.analysis-stage.is-stopped *,.analysis-stage.is-stopped *:before,.analysis-stage.is-stopped *:after{animation-play-state:paused!important}
.analysis-row-skeleton{position:relative;gap:0;overflow:hidden;margin-top:3px}
.analysis-row-skeleton>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid #f0f3f7;min-height:66px;align-items:start}
.analysis-row-skeleton>div:last-child{border:0}
.analysis-row-skeleton>div>span{display:grid;gap:11px}
.analysis-row-skeleton i,.analysis-row-skeleton i:nth-child(n){animation:none;background:#edf2f7;height:8px;width:100%}
.analysis-row-skeleton>div>i{max-width:62px!important;background:#e9eff5}
.analysis-row-skeleton>div>span>i:last-child{width:65%}
.analysis-row-skeleton>div:nth-child(2)>span>i:last-child{width:82%}
.analysis-row-skeleton:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#fff9 44%,#c7dfed26 50%,#fff9 56%,transparent 70%);transform:translateX(-100%);animation:analysisPageScan 3.8s ease-in-out infinite}
.analysis-generating-head{font-weight:500;color:#65839e}.analysis-generating .analysis-spinner{border-color:#dde8f2;border-top-color:#81a7c6;animation-duration:1.8s}
@keyframes analysisPageScan{0%,12%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
@keyframes analysisSignal{50%{opacity:.55}}
@media(max-width:620px){.analysis-stage{padding:18px 16px}.analysis-stage-focus,.analysis-stage.is-complete .analysis-stage-focus{gap:14px;min-height:132px}.analysis-orb,.analysis-stage.is-complete .analysis-orb{flex-basis:60px;width:60px;height:60px}.analysis-orb:before{inset:11px}.analysis-stage h5{font-size:17px}.analysis-stage-focus p:last-child{font-size:11px}.analysis-workflow{gap:5px}.analysis-workflow li{gap:5px;font-size:10px}.analysis-workflow li>span{flex-basis:18px;width:18px;height:18px;font-size:9px}.analysis-row-skeleton>div{grid-template-columns:78px minmax(0,1fr);gap:12px}.analysis-stage-top{font-size:10px}}
@media(prefers-reduced-motion:reduce){.analysis-stage,.analysis-stage *,.analysis-stage *:before,.analysis-stage *:after,.analysis-row-skeleton:after{animation:none!important;transition:none!important}.analysis-row-skeleton:after{display:none}.analysis-stage.is-running .analysis-progress-track:after{left:33%;opacity:.7}}
.analysis-coverage-note{margin:12px 0 0;padding:10px 12px;background:#f5f8fb;border-radius:7px;color:#718399;font-size:11px;line-height:1.7}

.analysis-unlock-option.is-credit-pack { border-color:#b4cfef; background:linear-gradient(110deg,#f0f6ff,#fff); }
.analysis-unlock-option.is-credit-pack .analysis-unlock-option-icon { background:#e1ecfc; color:#285990; }

.analysis-unlock-dialog { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
