/* Scoped preparation workspace; core decisions stay together in the right column. */
body[data-page="diagnosis"] { background:radial-gradient(ellipse at 95% 0%,#10284c66,transparent 45%),#030f1b; }
body[data-page="diagnosis"] .workspace { max-width:1320px;padding:0 32px 32px;margin:auto; }
.prep-heading { display:flex;align-items:center;justify-content:space-between;padding:30px 0 24px;gap:24px; }
.prep-eyebrow { color:#61cffa;font-size:10px;letter-spacing:2px;margin:0 0 10px; }
.prep-heading h1 { font-size:clamp(25px,2.6vw,35px);line-height:1.3;margin:0 0 10px;letter-spacing:.5px; }
.prep-heading h1 span { background:linear-gradient(180deg,#59ddf5 0%,#0095fa 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:#59ddf5!important;text-shadow:none!important;margin-left:4px; }
.prep-heading p:not(.prep-eyebrow) { font-size:13px;color:#8fa9c3;margin:0; }
.prep-duration { white-space:nowrap;display:flex;align-items:center;gap:7px;font-size:12px;color:#a4bdd7;border:1px solid #1a344d;background:#0b1c2e;padding:10px 13px;border-radius:24px; }
.prep-duration svg { width:17px;height:17px;stroke:#42baff; }
.prep-workspace { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(365px,1fr);gap:22px;align-items:start; }
.prep-workspace .surface { background:linear-gradient(140deg,#0b2136,#071725 78%);border:1px solid #1b3b56;border-radius:16px;padding:24px;min-width:0;box-shadow:0 12px 40px #0002; }
.prep-config { position:sticky;top:18px; }
.prep-card-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px; }
.prep-title { display:flex;align-items:center;gap:12px; }
.prep-title>b { font-size:12px;letter-spacing:1px;color:#63d0ff;background:#103553;border:1px solid #21577b;border-radius:10px;padding:10px 9px; }
.prep-title h2 { font-size:19px;line-height:1.3;margin:0 0 4px; }
.prep-title p { color:#829eb9;font-size:12px;margin:0; }
.prep-status { color:#53e2c5;background:#0b373c;border:1px solid #185450;font-size:11px;border-radius:20px;padding:4px 9px;white-space:nowrap; }
.prep-source-tabs { display:flex;gap:22px;border-bottom:1px solid #19354c;margin-bottom:18px; }
.prep-source-tabs button { border:0;background:none;color:#7f9bb7;font-size:13px;padding:0 0 12px;display:flex;gap:7px;align-items:center;border-bottom:2px solid transparent;cursor:pointer; }
.prep-source-tabs button svg { width:17px;height:17px; }
.prep-source-tabs button.active { color:#68d3ff;border-bottom-color:#45c7ff; }
body[data-page="diagnosis"] .prep-upload { margin:0;min-height:240px;display:flex;flex-direction:column;justify-content:center;gap:10px;border-radius:12px;border:1px dashed #285e85;background:radial-gradient(ellipse at center,#11355366,transparent 80%),#0a1c2d; }
.prep-upload-icon { width:54px;height:60px;color:#58baff;background:#103453;border:1px solid #255376;border-radius:13px;display:grid;place-items:center; }
.prep-upload-icon svg { width:30px;height:36px; }
.prep-upload strong { font-size:15px; }
.prep-upload p { font-size:11px;color:#809db8;margin:0; }
.prep-upload-cta { display:flex;align-items:center;gap:20px;padding:9px 18px;background:#123a5e;border:1px solid #266ba1;border-radius:8px;font-size:12px;color:#8cd9ff;margin-top:3px; }
.prep-upload-cta svg { width:15px;height:15px; }
.prep-assurances { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:4px 2px 0;list-style:none; }
.prep-assurances li { display:flex;align-items:center;gap:8px;min-width:0; }
.prep-assurances li>span { width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#102c48;color:#49c2ff;border:1px solid #1d4c72; }
.prep-assurances svg { width:16px;height:16px; }
.prep-assurances strong { display:block;font-size:12px;font-weight:600; }
.prep-assurances small { display:block;margin-top:2px;color:#7f9bb6;font-size:11px;line-height:1.35; }
.prep-file { display:flex;align-items:center;gap:12px;background:#102b43;border:1px solid #204560;border-radius:10px;padding:13px 14px; }
.prep-file-icon { display:grid;place-items:center;color:#66c6ff;background:#154775;border-radius:8px;width:36px;height:40px;flex-shrink:0; }
.prep-file-icon svg { width:23px;height:27px; }
.prep-file>div { min-width:0;flex:1; }
.prep-file strong { display:block;font-size:13px;word-break:break-all; }
.prep-file p { font-size:11px;color:#89a9c5;margin:4px 0 0; }
.prep-file .text-button { font-size:12px;white-space:nowrap; }
.prep-result-heading { display:flex;justify-content:space-between;align-items:center;gap:14px;margin:24px 0 14px; }
.prep-result-heading h3 { font-size:16px;margin:0 0 5px; }
.prep-result-heading p { font-size:12px;color:#8ca7c0;margin:0; }
.prep-result-heading>span { font-size:10px;color:#64819c; }
.prep-sections { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.prep-section { padding:15px;background:#0a1a2b;border:1px solid #1b354d;border-radius:10px;min-width:0; }
.prep-section:nth-child(3),.prep-section:nth-child(4),.prep-section:nth-child(5) { grid-column:1/-1; }
.prep-section header { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px; }
.prep-section h4 { margin:0;display:flex;align-items:center;gap:7px;font-size:13px; }
.prep-section h4 svg { width:16px;height:18px;color:#59c7fb; }
.prep-section .text-button { font-size:11px;padding:0; }
.prep-section [data-section-text] { font-size:13px;line-height:1.9;color:#afc3d7;white-space:pre-wrap;word-break:break-word;min-height:24px; }
.prep-section [data-section-text]:empty:before { content:attr(data-placeholder);color:#617d98;font-size:12px; }
.prep-section [contenteditable="true"] { outline:1px solid #2dafff;background:#0f2942;padding:8px;border-radius:5px;min-height:65px; }
.prep-clarifications { border:1px solid #57482e;background:#30281a44;border-radius:9px;padding:12px 14px;margin-top:16px;color:#d7b97a;font-size:12px; }
.prep-clarifications summary { cursor:pointer; }
.prep-clarifications summary span { margin-left:8px;font-size:10px; }
.prep-clarifications p { line-height:1.8;font-size:12px;margin:10px 0;color:#bcae92; }
.prep-confirm { display:flex;gap:9px;align-items:flex-start;line-height:1.7;font-size:12px;color:#b6ccdf;margin-top:20px;padding-top:16px;border-top:1px solid #19374e;cursor:pointer; }
.prep-confirm input { margin-top:4px;accent-color:#25baff;width:15px;height:15px;flex-shrink:0; }
.prep-jd-tabs { display:flex;gap:4px;padding:4px;background:#051322;border:1px solid #1b344b;border-radius:9px;margin-bottom:14px; }
.prep-jd-tabs button { flex:1;min-height:32px;font-size:12px;border:1px solid transparent;background:none;color:#8fa9c3;border-radius:6px;cursor:pointer; }
.prep-jd-tabs button.active { border-color:#28608b;background:#12385a;color:#8cddff;box-shadow:0 2px 8px #0002; }
.prep-default { display:flex;gap:10px;padding:12px 13px;border:1px solid #1a3e59;background:#0d2940;border-radius:9px;margin-bottom:17px; }
.prep-default-icon svg { width:21px;height:25px;color:#51bafa; }
.prep-default p { margin:0;color:#8faec9;font-size:12px;line-height:1.8; }
.prep-default strong { color:#c6e5fa;font-weight:500;margin-right:3px; }
.prep-label { display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#d1e0ed;margin:0 0 8px;gap:8px; }
.prep-label>span:last-child:not(:first-child),.prep-label>#role-source { font-size:10px;color:#6d9dbe; }
.prep-workspace input[type="text"],.prep-workspace select,.prep-workspace textarea { box-sizing:border-box;width:100%;border:1px solid #264761;background:#07182b;color:#d6e7f8;border-radius:8px;font-family:inherit;font-size:13px;padding:10px 12px;outline:none; }
.prep-workspace select { height:39px;cursor:pointer; }
.prep-workspace textarea { line-height:1.8;resize:vertical;min-height:100px; }
.prep-workspace textarea::placeholder { color:#5e7b96; }
.prep-workspace input:focus-visible,.prep-workspace select:focus-visible,.prep-workspace textarea:focus-visible { border-color:#3cbfff;box-shadow:0 0 0 3px #2bb6ff18; }
.prep-workspace button:focus-visible,.prep-workspace label[tabindex]:focus-visible { outline:2px solid #52ccff;outline-offset:3px; }
.prep-help { margin:6px 0 14px;color:#6f8ba7;font-size:11px;line-height:1.6; }
.prep-settings-row { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px; }
.prep-mode-help { font-size:11px;line-height:1.6;color:#7899b4;margin:8px 0 18px; }
.prep-focus { border-top:1px solid #19384f;padding-top:16px; }
.prep-focus summary { font-size:12px;cursor:pointer; }
.prep-focus summary span { color:#7794b0;font-size:10px;margin-left:8px; }
.prep-focus-options { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 2px; }
.prep-focus-options label { cursor:pointer;position:relative; }
.prep-focus-options input { position:absolute;width:1px;height:1px;opacity:0; }
.prep-focus-options span { display:block;border:1px solid #23445f;border-radius:6px;padding:7px 10px;font-size:11px;color:#7896b2;background:#0a1c2d; }
.prep-focus-options :checked+span { border-color:#2a78b6;color:#88d9ff;background:#103756; }
.prep-focus-options :checked+span:before { content:'✓ ';color:#40c8ff; }
.prep-focus-options :focus-visible+span { outline:2px solid #8be3ff;outline-offset:2px; }
.prep-launch { border-top:1px solid #21425d;padding-top:16px;margin-top:17px; }
.prep-session-summary { display:flex;align-items:center;gap:6px;color:#a3bbcf;font-size:11px;margin-bottom:12px; }
.prep-ready-dot { width:6px;height:6px;background:#65819b;border-radius:50%;flex-shrink:0; }
.prep-ready-dot.ready { background:#3de0b5;box-shadow:0 0 8px #3de0b544; }
.prep-start { width:100%;border-radius:9px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:15px;font-size:15px; }
.prep-start svg { width:18px;height:18px; }
.prep-start:disabled { cursor:wait;opacity:.55; }
#prep-readiness { text-align:center;color:#84a3bd;font-size:10px;margin:8px 0 0; }
#diagnosis-status { font-size:10px;color:#5d7f9b;text-align:center;line-height:1.6;margin:5px 0 0; }
.upload-progress { margin:14px 0 2px; }
.upload-progress-track { height:6px;border-radius:99px;background:#0c2236;border:1px solid #1d4a6d;overflow:hidden; }
#upload-progress-bar, #start-progress-bar { height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#1478e6,#3ad4ff);box-shadow:0 0 12px #33c6ff66;transition:width .35s ease; }
.upload-progress p { margin:8px 0 0;color:#8fd4ff;font-size:12px;line-height:1.6; }
body[data-page="diagnosis"] .form-error { margin:8px 0;color:#fb9b99;line-height:1.7;font-size:12px; }
body[data-page="diagnosis"] .form-error:empty { margin:0; }
.prep-jd-upload { display:flex;align-items:center;gap:10px;border:1px dashed #2b6083;border-radius:8px;background:#102c43;padding:13px;cursor:pointer; }
.prep-jd-upload>svg { width:26px;height:30px;color:#60bfff; }
.prep-jd-upload>span:not(.prep-plus) { flex:1;min-width:0; }
.prep-jd-upload strong { display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.prep-jd-upload small { display:block;color:#779bb6;font-size:10px;margin-top:4px; }
.prep-plus { color:#6bd7ff;font-size:22px; }
.prep-upload.dragover,.prep-jd-upload.dragover { border-color:#63d9ff;background:#173e5a; }
#jd-text-pane { margin-bottom:14px; }
#manual-pane .outline-button { margin-top:12px;padding:9px 14px;font-size:12px; }
.gain { margin-top:22px; }
.gain-head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px; }
.gain-head h2 { display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:22px; }
.gain-head h2 i { width:4px;height:18px;border-radius:3px;background:linear-gradient(#8ad8ff,#2f78ff); }
.gain-head p { margin:0;max-width:680px;color:#8eabc4;font-size:13px;line-height:1.7; }
.gain-slogan { display:flex;align-items:center;gap:8px;margin:0;color:#8eb0cb;font-size:12px;white-space:nowrap; }
.gain-slogan span { width:22px;height:10px;background:repeating-linear-gradient(115deg,#4aa6ff 0 2px,transparent 2px 5px); }
.gain-body { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.78fr);gap:14px;align-items:stretch; }
.gain-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.gain-card { display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:12px;align-items:center;min-height:108px;padding:14px 14px 14px 16px;border:1px solid #1a4060;border-radius:14px;background:linear-gradient(160deg,#0d2842,#081624); }
.gain-icon { width:46px;height:46px;border-radius:12px;display:grid;place-items:center; }
.gain-icon svg { width:24px;height:24px; }
.gain-card.rose .gain-icon { background:linear-gradient(160deg,#5c2458,#311848);color:#ff7ad1; }
.gain-card.blue .gain-icon { background:linear-gradient(160deg,#184778,#0d2c52);color:#69c2ff; }
.gain-card.violet .gain-icon { background:linear-gradient(160deg,#3d2b78,#241850);color:#b794ff; }
.gain-card.green .gain-icon { background:linear-gradient(160deg,#0d5348,#0c3034);color:#3ee0b4; }
.gain-card h3 { display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:15px; }
.gain-card h3 b { color:#6f90ab;font-size:12px;font-weight:500; }
.gain-card p { margin:0;color:#93b0c8;font-size:12px;line-height:1.65; }
.gain-more { width:22px;height:22px;border:1px solid #2a5d86;border-radius:50%;display:grid;place-items:center;color:#8ec4e6; }
.gain-more svg { width:12px;height:12px; }
.gain-tips { position:relative;overflow:hidden;display:flex;flex-direction:column;padding:16px 16px 8px;border:1px solid #1c5278;border-radius:14px;background:linear-gradient(180deg,#0d2c4a,#08192c); }
.gain-tips-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.gain-tips h3 { display:flex;align-items:center;gap:8px;margin:0;color:#f2c14b;font-size:16px; }
.gain-tips h3 svg { width:18px;height:18px;stroke:#f2c14b; }
.gain-tips-head p { margin:2px 0 0;color:#d5e7f6;font-family:"Kaiti SC","STKaiti",cursive;font-size:15px;transform:rotate(-8deg); }
.gain-tips ul { margin:14px 0 8px;padding:0;list-style:none; }
.gain-tips li { display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;color:#d5e4f2;font-size:13px;line-height:1.55; }
.gain-tips li svg { width:16px;height:16px;margin-top:2px;flex-shrink:0;stroke:#3ee0b4; }
.gain-book { width:132px;height:82px;margin-top:auto;margin-left:auto;display:block; }
.gain-book path { stroke:none; }
body[data-page="diagnosis"] [hidden] { display:none!important; }
/* Reference design: vivid blue controls, translucent panels and a shared benefits section. */
body[data-page="diagnosis"] { background:#020f1d;isolation:isolate; }
body[data-page="diagnosis"]::before { content:"";position:absolute;inset:58px 0 0;z-index:-1;pointer-events:none;background:url('./assets/diagnosis-atmosphere.svg') center top/cover no-repeat;opacity:.85; }
body[data-page="diagnosis"] .site-header { height:60px;background:linear-gradient(100deg,#021322,#04204b);border-bottom-color:#143756; }
body[data-page="diagnosis"] .header-inner { max-width:1290px;gap:56px; }
body[data-page="diagnosis"] .nav-item { font-size:16px; }
body[data-page="diagnosis"] .workspace { max-width:1448px;padding:0 44px 24px; }
.prep-heading { padding:25px 64px 20px;gap:30px;align-items:center; }
.prep-eyebrow { color:#04e8fc;font-size:11px;font-weight:600;letter-spacing:1.8px;margin-bottom:10px; }
.prep-heading h1 { font-size:36px;font-weight:750;letter-spacing:1px;margin-bottom:9px; }
.prep-heading h1 span { background:linear-gradient(180deg,#59ddf5 0%,#0095fa 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:#59ddf5!important;text-shadow:none!important; }
.prep-heading p:not(.prep-eyebrow) { color:#aec8e7;font-size:13px;line-height:1.8;max-width:950px; }
.prep-duration { color:#c1d9f4;border-color:#074e7b;background:#03234599;padding:9px 14px;font-size:13px; }
.prep-duration svg { color:#00dcff;stroke:currentColor; }
.prep-workspace { margin:0 42px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start; }
.prep-workspace .surface { border-color:#07567b;background:linear-gradient(140deg,#03213ac9,#031a30bf 55%,#021728e6);border-radius:15px;padding:22px 24px 18px;box-shadow:inset 0 0 32px #0067c00b,0 8px 28px #0002; }
.prep-card-heading { margin-bottom:20px; }
.prep-title { gap:16px; }
.prep-title>b { width:46px;height:48px;display:grid;place-items:center;padding:0;border:1px solid #048bce;border-radius:12px;color:#04e6ff;font-size:14px;background:linear-gradient(130deg,#034f87,#042c57);box-shadow:inset 0 0 18px #0088ff30; }
.prep-title h2 { font-size:20px;font-weight:650; }
.prep-title p { color:#a3bede;font-size:13px; }
.prep-status { border-color:#006274;background:#004c575c;color:#02dfdd;font-size:12px;padding:5px 14px; }
.prep-source-tabs { gap:30px;border-color:#146285;margin-bottom:18px; }
.prep-source-tabs button { font-size:14px;color:#9eb8d8;gap:9px;padding-bottom:11px; }
.prep-source-tabs button.active { border-color:#04e6ff;color:#04e6ff;font-weight:600; }
.prep-source-tabs button svg { width:18px;height:18px; }
body[data-page="diagnosis"] .prep-upload { min-height:254px;height:auto;gap:10px;border-radius:10px;border-color:#0b94cd;background:radial-gradient(ellipse at 50% 45%,#073c6270,transparent 73%),#011a3099;box-shadow:inset 0 0 25px #006dbb0b; }
.prep-upload-icon { width:78px;height:78px;border-radius:50%;border-color:#1551c0;background:radial-gradient(ellipse at 40% 35%,#134c9b80,#062746);box-shadow:0 0 0 7px #092c624d,inset 0 0 20px #2554c633;margin-bottom:5px; }
.prep-upload-icon svg { width:34px;height:39px;stroke:#4ccfff;filter:drop-shadow(0 0 4px #34a5ff44); }
.prep-upload strong { font-size:16px; }
.prep-upload p { font-size:12px;color:#9cb7d9; }
.prep-upload-cta { margin-top:7px;border:1px solid #63c7ff;border-radius:9px;padding:12px 24px;font-size:13px;color:white;gap:16px;background:linear-gradient(115deg,#1cc4f2,#0464ff);box-shadow:inset 0 1px 1px #baf3ff88,0 4px 15px #005bf040; }
.prep-assurances { gap:0;margin:18px 0 0;padding:14px 8px;border-radius:10px;background:linear-gradient(100deg,#06253f88,#03243d99);min-height:66px;align-items:center; }
.prep-assurances li { gap:10px;padding:0 9px; }
.prep-assurances li+li { border-left:1px solid #0d4164; }
.prep-assurances li>span { width:36px;height:36px;border:1px solid #007bb1;border-radius:12px;background:linear-gradient(135deg,#03467a77,#00263a);color:#00dbf6; }
.prep-assurances li:first-child>span { color:#00efdf;background:linear-gradient(135deg,#006c6977,#002f3d); }
.prep-assurances li:nth-child(3)>span { color:#0ee3ff; }
.prep-assurances strong { font-size:12px;color:#e0edff; }
.prep-assurances small { font-size:10px;color:#91adcf;line-height:1.5; }
.prep-config { position:sticky;top:16px; }
.prep-config-scroll { min-width:0; }
.prep-config .prep-card-heading { margin-bottom:21px; }
.prep-jd-tabs { gap:3px;padding:3px;border-color:#1a4d71;background:#011426a6;border-radius:11px;margin-bottom:14px; }
.prep-jd-tabs button { min-height:37px;font-size:13px;color:#adc5e4;position:relative; }
.prep-jd-tabs button+button:not(.active)::before { content:"";position:absolute;left:-2px;top:8px;height:20px;width:1px;background:#134566; }
.prep-jd-tabs button.active { border:1px solid #78ddff;border-radius:8px;background:linear-gradient(110deg,#16bdf1,#045cff);color:#fff;box-shadow:inset 0 1px 1px #c8f5ff99,0 0 9px #009aff66;font-weight:600; }
.prep-default { padding:11px 14px;border-color:#115780;border-radius:9px;background:linear-gradient(100deg,#05375b99,#052c50bf);gap:12px;margin-bottom:18px; }
.prep-default p { color:#a5bedf;font-size:11px;line-height:1.8; }
.prep-default-icon svg { color:#00d7ff;width:24px;height:27px; }
.prep-default strong { color:#eff5ff;font-weight:650; }
.prep-label { color:#e0eafa;font-size:12px; }
.prep-label>#role-source { color:#00c5fc;font-size:11px; }
.prep-workspace input[type="text"],.prep-workspace select,.prep-workspace textarea { border-color:#164e76;background:#02162bd9;color:#edf2fc;border-radius:9px;font-size:14px; }
.prep-workspace input[type="text"],.prep-workspace select { height:43px; }
.prep-help { color:#7d9ebf;font-size:11px; }
.prep-settings-row { gap:16px;margin-top:17px; }
.prep-mode-help { color:#8eaed0;font-size:11px;margin:8px 0 10px; }
.prep-focus { padding-top:0;border:0;margin-top:9px; }
.prep-focus summary { color:#86a9cf;font-size:11px; }
.prep-focus summary span { font-size:10px;color:#5e88aa; }
.prep-launch { position:static;background:none;border:0;padding:0;margin:13px 0 0;box-shadow:none; }
.prep-session-summary { display:none; }
.prep-start { min-height:51px;font-size:17px;border-radius:10px;color:#001428;background:linear-gradient(110deg,#29cef4,#0760ff);border:1px solid #84dcff;box-shadow:inset 0 1px 1px #c9f7ff99,0 5px 18px #004ed636; }
.prep-start:hover:not(:disabled),.prep-upload:hover .prep-upload-cta { filter:brightness(1.1); }
#prep-readiness { position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap; }
#diagnosis-status { margin:6px 0 0;font-size:10px;line-height:1.4;color:#739aba; }
.prep-file,.prep-section { border-color:#145078;background:linear-gradient(130deg,#062a47c9,#031c32); }
.prep-section h4 { color:#e3f0ff; }
.prep-section [data-section-text] { color:#bad0e8; }
.prep-confirm { color:#b8d3ed; }
.prep-confirm.is-attention { color:#ff5d6c;border-top-color:#ff5d6c;animation:prep-confirm-shake .48s ease; }
.prep-confirm.is-attention span { color:#ff5d6c;font-weight:650; }
.prep-confirm.is-attention input { accent-color:#ff5d6c;outline:2px solid #ff5d6c;outline-offset:2px; }
@keyframes prep-confirm-shake { 0%,100%{transform:translateX(0)} 18%{transform:translateX(-7px)} 36%{transform:translateX(6px)} 54%{transform:translateX(-4px)} 72%{transform:translateX(3px)} }
@media (prefers-reduced-motion:reduce) { .prep-confirm.is-attention { animation:none; } }
.gain { border:1px solid #154b6d;border-radius:15px;margin-top:21px;padding:22px 34px 18px;background:linear-gradient(125deg,#101c3999,#03223b88 55%,#031728df);box-shadow:inset 0 1px 0 #74aaff0b; }
.gain-head { margin-bottom:18px;align-items:center;gap:20px; }
.gain-head>div { display:flex;align-items:center;gap:24px;min-width:0; }
.gain-head h2 { margin:0;font-size:24px;white-space:nowrap;gap:12px; }
.gain-head h2 i { width:5px;height:25px;background:linear-gradient(#25e4ff,#0568ff); }
.gain-head p { color:#a5c2e4;font-size:12px;max-width:600px; }
.gain-head .gain-slogan { flex-shrink:0;font-size:12px;color:#8cb8e2; }
.gain-body { grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px; }
.gain-grid { gap:14px; }
.gain-card { --card-accent:#009ef6;--card-tint:#063f6b;position:relative;grid-template-columns:64px minmax(0,1fr) 25px;gap:16px;min-height:110px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--card-accent) 52%,#122138);border-radius:14px;background:linear-gradient(110deg,color-mix(in srgb,var(--card-tint) 70%,transparent),#08182ac9);overflow:hidden; }
.gain-card.rose { --card-accent:#c1458c;--card-tint:#502040; }
.gain-card.blue { --card-accent:#00bfff;--card-tint:#034479; }
.gain-card.violet { --card-accent:#9f48e4;--card-tint:#38205e; }
.gain-card.green { --card-accent:#00d8bc;--card-tint:#004c4a; }
.gain-icon { width:62px;height:66px;border-radius:16px;border:1px solid color-mix(in srgb,var(--card-accent) 40%,transparent);box-shadow:inset 0 0 18px color-mix(in srgb,var(--card-accent) 12%,transparent); }
.gain-icon svg { width:34px;height:38px;stroke-width:1.8; }
.gain-card.rose .gain-icon { color:#ff70b0;background:linear-gradient(130deg,#84325c88,#37264a); }
.gain-card.blue .gain-icon { color:#2fd4ff;background:linear-gradient(130deg,#0457a388,#06345b); }
.gain-card.violet .gain-icon { color:#ca78ff;background:linear-gradient(130deg,#68369a88,#35225c); }
.gain-card.green .gain-icon { color:#09ead9;background:linear-gradient(130deg,#007b7288,#00494d); }
.gain-card h3 { font-size:17px;line-height:1.4;margin-bottom:7px; }
.gain-card h3 b { position:absolute;right:23px;top:13px;font-size:11px;color:#7196bd; }
.gain-card p { font-size:12px;line-height:1.7;color:#abc4e3;max-width:260px; }
.gain-more { align-self:end;margin-bottom:8px;width:25px;height:25px;border-color:#32689d;color:#b5ddff; }
.gain-tips { border-color:#105376;border-radius:13px;padding:18px 20px 22px;background:linear-gradient(140deg,#06283fbd,#031d32);min-height:234px; }
.gain-tips-head { align-items:center;margin-bottom:8px; }
.gain-tips h3 { color:#ffda72;font-size:20px;gap:9px; }
.gain-tips h3 svg { fill:#ffe39c;stroke:#fff0bb;width:22px;height:24px;filter:drop-shadow(0 0 5px #ffe79022); }
.gain-tips-head p { font-size:15px;color:#8cb7e2; }
.gain-tips ul { margin:12px 0 0;position:relative;z-index:1; }
.gain-tips li { font-size:12px;color:#b8d1ec;margin-bottom:13px;line-height:1.65; }
.gain-tips li svg { stroke:#00cfff;border:1px solid #00bbdf;border-radius:50%;padding:2px;width:18px;height:18px; }
.gain-book { position:absolute;right:-4px;bottom:-16px;width:136px;height:88px;opacity:.22;transform:rotate(-16deg);filter:drop-shadow(0 0 10px #1264ff); }
@media(min-width:1100px) and (max-height:850px) {
 .prep-heading{padding-top:20px;padding-bottom:18px;}.prep-heading h1{font-size:32px;}
 .prep-workspace .surface{padding:18px 22px 16px;}.prep-card-heading,.prep-config .prep-card-heading{margin-bottom:15px;}
 body[data-page="diagnosis"] .prep-upload{min-height:230px;}.prep-config .prep-default{margin-bottom:13px;}
 .prep-workspace input[type="text"],.prep-workspace select{height:39px;}.prep-settings-row{margin-top:12px;}
 .prep-config .prep-mode-help{margin-bottom:7px;}.prep-assurances{padding:12px 4px;margin-top:14px;}
 .prep-workspace{align-items:start;}.prep-config{max-height:calc(100dvh - 195px);display:flex;flex-direction:column;overflow:hidden;}
 .prep-config-scroll{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#14557a transparent;padding-right:3px;}
 .prep-launch{flex-shrink:0;margin-top:10px;padding-top:6px;background:#031b2c;}
}
@media(max-width:1300px) {
 body[data-page="diagnosis"] .workspace{padding-left:28px;padding-right:28px;}.prep-workspace{margin:0 12px;}.prep-heading{padding-left:28px;padding-right:12px;}
 .gain{padding:20px 24px;}.gain-head>div{gap:16px;}.gain-head .gain-slogan{display:none;}
 .prep-assurances li{padding:0 5px;gap:7px;}.prep-assurances small{font-size:9px;}.prep-assurances strong{font-size:11px;}
 .gain-card{grid-template-columns:48px minmax(0,1fr) 22px;gap:12px;padding:15px 13px;}.gain-icon{width:48px;height:58px;}.gain-icon svg{width:29px;height:33px;}.gain-card h3{font-size:16px;}
}
@media(max-width:1050px) {
 body[data-page="diagnosis"] .header-inner{gap:24px;}.prep-heading{padding-left:4px;}.prep-heading h1{font-size:30px;}.prep-duration{display:none;}
 .prep-workspace{margin:0;grid-template-columns:minmax(0,1.2fr) minmax(330px,1fr);gap:16px;}.prep-workspace .surface{padding:20px 18px;}
 .prep-title{gap:10px;}.prep-title h2{font-size:18px;}.prep-title p{font-size:12px;}.prep-title>b{width:39px;height:43px;}
 .prep-assurances{grid-template-columns:1fr;gap:10px;}.prep-assurances li+li{border-left:0;}.prep-assurances small{font-size:11px;}.prep-assurances strong{font-size:12px;}
 .gain-head>div{align-items:flex-start;flex-direction:column;gap:9px;}.gain-body{grid-template-columns:1fr;}.gain-tips{min-height:0;}.gain-tips ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}.gain-tips li{margin-bottom:0;}
}
@media(max-width:760px) {
 body[data-page="diagnosis"] .site-header{height:auto;}.prep-config{position:static;max-height:none;}
 body[data-page="diagnosis"] .workspace{padding:0 14px 22px;}.prep-heading{padding:22px 4px 20px;}.prep-eyebrow{font-size:9px;}.prep-heading h1{font-size:26px;letter-spacing:0;}.prep-heading p:not(.prep-eyebrow){font-size:12px;line-height:1.8;}
 .prep-workspace{grid-template-columns:1fr;gap:16px;}.prep-workspace .surface{padding:20px 18px;border-radius:13px;}.prep-title h2{font-size:19px;}
 body[data-page="diagnosis"] .prep-upload{min-height:250px;}.prep-upload-icon{width:65px;height:65px;}.prep-upload strong{font-size:14px;}.prep-upload p{font-size:10px;}
 .prep-sections{grid-template-columns:1fr;}.prep-section{grid-column:1/-1;}.prep-result-heading>span{display:none;}
 .prep-assurances{padding:13px;gap:12px;}.prep-assurances li{padding:0;}.prep-settings-row{gap:12px;}
 .gain{padding:19px 16px;margin-top:18px;border-radius:13px;}.gain-head{margin-bottom:16px;}.gain-head h2{font-size:22px;}.gain-head p{font-size:12px;}
 .gain-grid{grid-template-columns:1fr;gap:12px;}.gain-card{grid-template-columns:52px minmax(0,1fr) 22px;min-height:105px;padding:15px;}.gain-icon{width:52px;height:60px;}.gain-card h3{font-size:17px;}.gain-card p{font-size:12px;max-width:none;}.gain-tips{padding:18px 16px;}.gain-tips ul{display:block;}.gain-tips li{margin-bottom:13px;}.gain-tips-head p{font-size:13px;}.prep-start{min-height:49px;}
}
/* Balance the preparation cards while keeping long parsed resumes in normal flow. */
@media(min-width:761px) {
 .prep-workspace{align-items:stretch;}.prep-config{align-self:start;}
 .prep-resume{display:flex;flex-direction:column;}
 .prep-resume #resume-file-pane{display:flex;flex:1;}
 body[data-page="diagnosis"] .prep-resume .prep-upload{width:100%;height:100%;flex:1;}
}

/* Interview profile controls share the existing preparation panel. */
.prep-settings-row + .prep-settings-row { margin-top: 14px; }
.prep-settings-row select:disabled { opacity: .7; cursor: default; }
#interview-type-help { min-height: 2.8em; }

/* ── Mode-select dialog ── */
#mode-dialog:not([open]){display:none}
#mode-dialog[open]{display:flex;flex-direction:column;width:min(940px,calc(100vw - 28px));max-height:min(92dvh,920px);overflow:hidden;padding:48px 20px 20px;border-radius:20px;background:linear-gradient(180deg,#0c2744,#07182c)}
#mode-dialog .dialog-close{z-index:1;top:10px;right:14px;width:32px;height:32px;font-size:22px;line-height:1}
.mode-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Tabs */
.mode-picks{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex-shrink:0}
.mode-picks button{min-height:58px;border-radius:12px;border:1px solid #1e4e74;background:#0c243c;color:#c8dff8;font-size:19px;font-weight:700}
.mode-picks button.is-selected{color:#03111f;border-color:#7ad8ff;background:linear-gradient(100deg,#2ad4ff,#1a6dff 58%,#1554f0);box-shadow:inset 0 1px 0 #d9f6ffaa,0 8px 20px #0a6dff44}
/* Cards – 1fr:1fr so left/right edges align with tabs */
.mode-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;min-height:0;overflow:auto}
.mode-card{border:1px solid #1a4d78;border-radius:16px;background:linear-gradient(180deg,#0a2140,#061628);min-width:0;overflow:hidden;display:flex;flex-direction:column}
.mode-card.is-selected{border-color:#3ec6ff;box-shadow:0 0 0 1px #2ec4ff44}
/* Card header */
.mode-card-head{display:flex;align-items:center;gap:14px;padding:18px 18px 15px;border-bottom:1px solid #132d52}
.mode-card-head h3{margin:0 0 5px;font-size:23px;line-height:1.2;font-weight:750;color:#f5faff}
.mode-card-head p{margin:0;color:#8daccb;font-size:13px;line-height:1.5}
.mode-orb,.mode-tile,.mode-block-ico{display:grid;place-items:center;flex-shrink:0}
.mode-orb{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#0e3562,#0c2a4f);border:1px solid #296aa0;color:#76d4ff}
.mode-orb svg{width:25px;height:25px;stroke-width:1.7}
/* Formal steps */
.mode-steps{list-style:none;margin:0;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.mode-steps li{display:grid;grid-template-columns:34px 44px minmax(0,1fr);gap:12px;align-items:center;background:#061529;border:1px solid #183f6a;border-radius:12px;padding:13px 15px}
.mode-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #2c8dc4;color:#7fd4ff;font-size:12px;font-weight:700;background:#071e38;flex-shrink:0}
.mode-tile{width:44px;height:44px;border-radius:11px;background:linear-gradient(145deg,#11406e,#0b2c54);border:1px solid #1e5f96;color:#d7f1ff;display:grid;place-items:center;flex-shrink:0}
.mode-tile svg{width:22px;height:22px;stroke-width:1.7}
.mode-steps strong{display:block;font-size:17px;line-height:1.25;margin-bottom:5px;color:#eef7ff;font-weight:700}
.mode-steps li>div>span{display:block;color:#8cafc9;font-size:13px;line-height:1.55}
/* Coach section blocks – flush to card, no extra border/radius/bg */
.mode-block{border-top:1px solid #132d52}
.mode-block:first-of-type{border-top:0}
/* Section header bar – fills card width */
.mode-block-head{display:flex;align-items:center;gap:10px;padding:12px 18px;background:linear-gradient(90deg,#0c3264,#0a264c);border-bottom:1px solid #1a4d7c}
.mode-block-head strong{font-size:19px;color:#f0f8ff;font-weight:750}
.mode-block-head em{margin-left:auto;font-style:normal;color:#6f8ea8;font-size:12px;line-height:1.4;white-space:nowrap}
.mode-block-ico{width:32px;height:32px;border-radius:9px;background:#0d3d6c;color:#79d5ff;border:1px solid #1d6aa3}
.mode-block-ico svg{width:17px;height:17px;stroke-width:1.8}
/* 提交之后 purple header */
.mode-block.is-after .mode-block-head{background:linear-gradient(90deg,#241c5a,#19114a);border-bottom-color:#3c2e86}
.mode-block.is-after .mode-block-ico{background:#2e2368;border-color:#5a48a0;color:#c7b6ff}
/* Rows */
.mode-rows{list-style:none;margin:0;padding:4px 18px 8px;display:flex;flex-direction:column}
.mode-rows li{display:grid;grid-template-columns:28px max-content 1px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #0f2d4a}
.mode-rows li:last-child{border-bottom:0}
.mode-rows .mode-num{width:26px;height:26px;font-size:11px}
.mode-rows strong{font-size:14px;color:#eef6ff;font-weight:700;white-space:nowrap}
.mode-rows i{width:1px;height:16px;background:#28506e;flex-shrink:0;display:block}
.mode-rows span{color:#9cbad4;font-size:13px;line-height:1.45}
/* Note + confirm */
#mode-dialog-note{margin:12px 2px 10px;color:#8eabc8;font-size:12px;line-height:1.6;flex-shrink:0}
#mode-dialog-note:empty{display:none}
#mode-dialog-confirm{display:block;margin:0 auto;width:min(340px,100%);min-height:50px;border-radius:12px;font-size:17px;flex-shrink:0}
/* Mobile */
@media(max-width:800px){
  #mode-dialog[open]{padding:48px 14px 16px}
  .mode-compare,.mode-picks{grid-template-columns:1fr}
  .mode-rows li{grid-template-columns:26px minmax(0,1fr)}
  .mode-rows i{display:none}
  .mode-rows strong{white-space:normal}
}
