
:root {
 --bg:#1A1C21; --bg2:#24272E; --bg3:#1e2128; --card:#24272E;
 --border:#32363F; --text:#f1f5f9; --text2:#8b949e;
 --accent:#FF6A1A; --accent2:#e86d00; --gradient:linear-gradient(135deg,#FF6A1A,#e86d00);
 --glow:rgba(255,106,26,0.25); --success:#6ee7b7; --warn:#fbbf24; --danger:#f87171;
 --muted-label:#9499A1; --text-dim:rgba(255,255,255,0.45);
 --border-accent:rgba(255,106,26,0.2); --border-purple:rgba(192,132,252,0.2);
 --border-success:rgba(74,222,128,0.2); --bg-success-tint:rgba(74,222,128,0.03); --bg-accent-tint:rgba(255,106,26,0.03);
 --score-panel:#41414e; --overlay-dark:rgba(0,0,0,0.75); --score-denom:rgba(255,255,255,0.35); --score-bar-track:rgba(255,255,255,0.1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-y:scroll;}body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}

/* SIDEBAR */
.sidebar{width:240px;background:var(--bg2);border-right:1px solid var(--border);padding:0.75rem 1rem;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;z-index:50;overflow-y:hidden;}
.sidebar a.logo{text-decoration:none;display:flex;align-items:center;gap:0.55rem;font-size:1.2rem;font-weight:700;letter-spacing:0.05em;margin-bottom:0.5rem;padding:0 0.5rem;font-family:'General Sans',sans-serif;color:var(--text);text-shadow:0 0 20px var(--glow);}
.sidebar .logo img{height:28px;width:auto;}
.sidebar .logo__text{font-family:'Inter',sans-serif;font-size:1rem;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
#sideNavHome{margin-top:1.5rem;}
#sideNavDocs{margin-top:0.25rem;}
#mobileNavBackHome{display:none;text-decoration:none;}
.sidebar-fox-wrap{margin-top:auto;display:flex;justify-content:center;align-items:flex-end;overflow:visible;flex-shrink:0;}
.sidebar-fox{width:160px;height:auto;object-fit:contain;display:block;margin-bottom:0;}
#billingBtnWrap{display:none;margin-top:0.3rem;}
.btn-billing-manage{font-size:0.65rem;padding:0.18rem 0.55rem;border:1px solid rgba(255,255,255,0.18);border-radius:4px;background:transparent;color:rgba(255,255,255,0.5);cursor:pointer;letter-spacing:0.02em;font-family:inherit;}
.nav-item--logout,#adminLink{margin-top:0.5rem;}
.nav-item{display:flex;align-items:center;gap:0.75rem;padding:0.4rem 1rem;border-radius:10px;cursor:pointer;color:var(--text2);font-size:0.9rem;font-weight:500;transition:all 0.2s;margin-bottom:0.05rem;position:relative;}
.nav-item:hover{background:rgba(255,255,255,0.04);color:var(--text);}
.nav-item.active{background:rgba(255,106,26,0.1);color:#FF6A1A;border-left:3px solid #FF6A1A;}
.nav-item .icon{font-size:1.1rem;width:24px;text-align:center;}
.tier-badge{font-size:0.6rem;padding:0.1rem 0.4rem;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;position:absolute;right:0.5rem;}
.tier-free{background:rgba(74,222,128,0.15);color:var(--success);}
.tier-pro{background:rgba(255,106,26,0.15);color:#FF6A1A;}
.tier-premium{background:rgba(255,106,26,0.1);color:#FF6A1A;}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:0.25rem;}
.user-info{display:flex;align-items:center;gap:0.75rem;padding:0.5rem;font-size:0.85rem;}
.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.8rem;}
.user-plan{font-size:0.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.05em;}

/* MAIN */
.main{margin-left:240px;padding:2rem;min-height:100vh;overflow-x:hidden;}
.page-header{margin-bottom:2rem;padding-top:1.25rem;}
.page-header h1{font-family:'Inter',sans-serif;font-weight:800;font-size:1.8rem;margin-bottom:0.25rem;}
.page-header p{color:var(--text2);font-size:0.95rem;}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;}
.card h3{font-size:1.1rem;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem;}

/* FORMS */
label{display:block;font-size:0.85rem;color:var(--text2);margin-bottom:0.35rem;font-weight:500;}
input,select,textarea{width:100%;padding:0.7rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:0.9rem;font-family:inherit;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none;border-color:#FF6A1A;box-shadow:0 0 0 3px rgba(255,106,26,0.12);}
textarea{min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-group{margin-bottom:1rem;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.65rem 1.5rem;border-radius:8px;font-weight:600;font-size:0.9rem;border:none;cursor:pointer;transition:all 0.25s;font-family:inherit;}
.btn-primary{background:#FF6A1A;color:#000;font-weight:700;border-radius:8px;}
.btn-primary:hover{background:#ff8c1a;}
.btn-primary:disabled{opacity:0.5;cursor:not-allowed;}
.btn-outline{background:transparent;color:var(--accent);border:1px solid rgba(255,106,26,0.3);}
.btn-outline:hover{background:rgba(255,106,26,0.1);}
.btn-sm{padding:0.45rem 1rem;font-size:0.8rem;}
.btn-danger{background:rgba(248,113,113,0.1);color:var(--danger);border:1px solid rgba(248,113,113,0.2);}
.btn-block{width:100%;justify-content:center;}

/* WORKFLOW BAR (5-step, spec-exact) */
.step-flow {
 display: flex;
 align-items: center;
 gap: 0;
 margin-bottom: 2rem;
 margin-left: -2rem;
 margin-right: -2rem;
 margin-top: -2rem;
 padding: 1rem 2rem;
 background: var(--bg2);
 border-bottom: 1px solid var(--border);
 position: sticky; top: 0; z-index: 40;
}
.step-item { display:flex; align-items:center; gap:0; flex:1; position:relative; cursor:pointer; }
.step-item:last-child { flex: 0; }
/* Connecting line between nodes */
.step-connector {
 flex: 1;
 height: 2px;
 background: #4A4D54;
 transition: background 0.4s;
}
.step-item.completed + .step-item .step-connector,
.step-connector.lit { background: #FF6A1A; }
.step-node-wrap {
 display: flex; flex-direction: column;
 align-items: center; gap: 0.4rem;
 min-width: 80px;
}
/* NODE STATES */
.step-num {
 width: 32px; height: 32px; border-radius: 50%;
 display: flex; align-items: center; justify-content: center;
 font-size: 0.8rem; font-weight: 700;
 transition: all 0.3s;
 flex-shrink: 0;
 /* Future (default) */
 background: #2a2d35;
 border: 1.5px solid #4A4D54;
 color: #fff;
}
/* Completed: solid orange circle, white number */
.step-item.completed .step-num {
 background: #FF6A1A;
 border: 2px solid #FF6A1A;
 color: #fff;
}
/* Active: transparent with orange border and glow */
.step-item.active .step-num {
 background: transparent;
 border: 2px solid #FF6A1A;
 color: #FF6A1A;
 box-shadow: 0 0 0 4px rgba(255,106,26,0.2);
}
.step-label {
 font-size: 0.65rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.07em;
 color: #9499A1; /* future */
 white-space: nowrap;
 text-align: center;
 transition: color 0.3s;
}
.step-item.active .step-label {
 color: #fff;
 font-weight: 700;
}
.step-item.completed .step-label { color: #fff; font-weight: 700; }
.step-item.locked { cursor: default; }

/* ATS GAUGE */
.ats-gauge{text-align:center;padding:2rem;}
.gauge-circle{width:160px;height:160px;border-radius:50%;margin:0 auto 1rem;position:relative;display:flex;align-items:center;justify-content:center;}
.gauge-score{font-family:'Inter',sans-serif;font-size:3rem;font-weight:800;}
.gauge-label{color:var(--text2);font-size:0.85rem;}

/* TAGS */
.tag{display:inline-block;padding:0.25rem 0.7rem;border-radius:6px;font-size:0.8rem;margin:0.2rem;font-weight:500;}
.tag-red{background:rgba(248,113,113,0.12);color:var(--danger);}
.tag-green{background:rgba(74,222,128,0.12);color:var(--success);}
.tag-blue{background:rgba(255,106,26,0.12);color:var(--accent);}
.rec-item{padding:0.75rem 1rem;background:var(--bg);border-radius:8px;margin-bottom:0.5rem;font-size:0.9rem;line-height:1.5;}
.rec-item strong{color:var(--accent);}

/* VOICE CONTROLS */
.voice-area{border:2px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;margin:1rem 0;transition:all 0.3s;}
.voice-area.recording{border-color:var(--danger);background:rgba(248,113,113,0.05);animation:pulse 1.5s infinite;}
.voice-area.done{border-color:var(--success);background:rgba(74,222,128,0.05);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.7;}}
.mic-btn{width:64px;height:64px;border-radius:50%;border:none;font-size:1.8rem;cursor:pointer;transition:all 0.3s;display:inline-flex;align-items:center;justify-content:center;}
.mic-btn.idle{background:var(--card);border:2px solid var(--border);color:var(--text2);}
.mic-btn.recording{background:rgba(248,113,113,0.2);border:2px solid var(--danger);color:var(--danger);animation:pulse 1s infinite;}
.voice-transcript{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-top:1rem;text-align:left;min-height:80px;color:var(--text);font-size:0.9rem;line-height:1.6;}
.voice-stats{display:flex;gap:1.5rem;justify-content:center;margin-top:0.75rem;font-size:0.8rem;color:var(--text2);}
.voice-stats span{display:flex;align-items:center;gap:0.3rem;}

/* QUESTION CARD */
.question-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;}
.q-type{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);font-weight:700;margin-bottom:0.5rem;}
.q-text{font-size:0.95rem;line-height:1.65;margin-bottom:1rem;color:var(--text);font-weight:500;}
.q-hint{font-size:0.85rem;color:var(--text2);font-style:normal;margin-bottom:1rem;padding:0.75rem 1rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;line-height:1.55;}
.feedback-card{
  background:linear-gradient(135deg,rgba(11,18,32,0.95),rgba(13,22,40,0.98));
  border:1px solid rgba(255,106,26,0.2);
  border-radius:16px;
  padding:0;
  margin-top:1.25rem;
  overflow:hidden;
  box-shadow:0 8px 40px rgba(0,0,0,0.4),0 0 0 1px rgba(255,106,26,0.08);
  position:relative;
}
.feedback-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#FF6A1A,transparent);
}
.feedback-inner{padding:1.5rem;}
.score-ring-wrap{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,0.06);}
.score-ring-svg{flex-shrink:0;}
.score-ring-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:#9499A1;margin-top:0.2rem;}
.feedback-section{margin-bottom:1rem;}
.feedback-section-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.4rem;}
.feedback-section-label::before{content:'';display:inline-block;width:3px;height:12px;border-radius:2px;background:currentColor;}
.feedback-text{font-size:0.88rem;line-height:1.7;color:rgba(255,255,255,0.72);}
.skill-pill-good{display:inline-block;padding:0.2rem 0.6rem;border-radius:5px;font-size:0.78rem;font-weight:600;background:rgba(34,197,94,0.1);color:#22c55e;border:1px solid rgba(34,197,94,0.2);margin:0.15rem;}
.skill-pill-bad{display:inline-block;padding:0.2rem 0.6rem;border-radius:5px;font-size:0.78rem;font-weight:600;background:rgba(239,68,68,0.1);color:#ef4444;border:1px solid rgba(239,68,68,0.2);margin:0.15rem;}
.feedback-tip{background:rgba(255,106,26,0.07);border-left:3px solid #FF6A1A;border-radius:0 8px 8px 0;padding:0.75rem 1rem;font-size:0.85rem;font-style:italic;color:rgba(255,255,255,0.65);margin-top:1rem;}
.feedback-actions{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,0.05);display:flex;gap:0.75rem;justify-content:flex-end;background:rgba(0,0,0,0.2);}
.score-badge{display:inline-flex;align-items:center;gap:0.3rem;padding:0.25rem 0.75rem;border-radius:100px;font-weight:700;font-size:0.82rem;margin-bottom:0;}

/* ROLE FINDER */
.rf-role{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:0.75rem;transition:border-color 0.2s;}
.rf-role:hover{border-color:rgba(255,106,26,0.3);}
.rf-role-header{display:flex;align-items:center;gap:1rem;margin-bottom:0.75rem;}
.rf-match-ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.95rem;flex-shrink:0;position:relative;}
.rf-match-ring::before{content:'';position:absolute;inset:0;border-radius:50%;border:3px solid var(--border);}
.rf-match-ring.high{background:rgba(74,222,128,0.12);color:var(--success);}
.rf-match-ring.high::before{border-color:var(--success);}
.rf-match-ring.med{background:rgba(255,106,26,0.12);color:var(--accent);}
.rf-match-ring.med::before{border-color:var(--accent);}
.rf-match-ring.low{background:rgba(251,191,36,0.12);color:var(--warn);}
.rf-match-ring.low::before{border-color:var(--warn);}
.rf-role-title{font-size:1.05rem;font-weight:600;}
.rf-explanation{color:var(--text2);font-size:0.9rem;line-height:1.6;margin-bottom:0.75rem;}
.rf-skills{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.5rem;}
.rf-growth-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:0.75rem;}
.rf-growth-item .rf-priority{display:inline-block;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:0.15rem 0.5rem;border-radius:4px;margin-bottom:0.5rem;}
.rf-priority-high{background:rgba(248,113,113,0.12);color:var(--danger);}
.rf-priority-medium{background:rgba(251,191,36,0.12);color:var(--warn);}
.rf-priority-low{background:rgba(74,222,128,0.12);color:var(--success);}
.rf-higher-role{background:var(--bg);border:1px solid rgba(192,132,252,0.2);border-radius:10px;padding:1rem;margin-bottom:0.75rem;}

/* COVER LETTER */
.letter-output{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2rem;white-space:pre-wrap;line-height:1.8;font-size:0.95rem;color:var(--text);}

/* RESUME PREVIEW */
.resume-preview{background:#fff;color:#1a1a1a;border-radius:12px;padding:2.5rem;font-family:Georgia,serif;line-height:1.6;}
.resume-preview h2{color:#111;font-size:1.6rem;margin-bottom:0.25rem;font-family:'Inter',sans-serif;}
.resume-preview .contact{color:#666;font-size:0.85rem;margin-bottom:1.5rem;}
.resume-preview .section-head{color:#2563eb;font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-bottom:2px solid #2563eb;padding-bottom:0.25rem;margin:1.5rem 0 0.75rem;font-family:'Inter',sans-serif;}
.resume-preview .exp-title{font-weight:700;font-family:'Inter',sans-serif;}
.resume-preview .exp-company{color:#666;font-size:0.9rem;}
.resume-preview ul{padding-left:1.2rem;margin:0.5rem 0;}
.resume-preview li{margin-bottom:0.3rem;font-size:0.9rem;}
.skill-pills{display:flex;flex-wrap:wrap;gap:0.4rem;}
.skill-pill{background:#e8f4fd;color:#1e6fa1;padding:0.2rem 0.6rem;border-radius:4px;font-size:0.8rem;font-family:'Inter',sans-serif;}

/* UPGRADE GATE */
.upgrade-gate{text-align:center;padding:3rem 2rem;background:var(--bg2);border:1px dashed rgba(255,106,26,0.3);border-radius:16px;margin:1rem 0;}
.upgrade-gate h3{font-family:'Inter',sans-serif;font-weight:800;font-size:1.3rem;margin-bottom:0.5rem;}
.upgrade-gate p{color:var(--text2);margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;}
.upgrade-gate .price{font-family:'Inter',sans-serif;font-weight:800;font-size:2rem;margin-bottom:0.5rem;}
.upgrade-gate .price span{font-size:0.85rem;color:var(--text2);font-family:'Inter',sans-serif;}

/* LOADING */
.loading-overlay{display:none;position:fixed;inset:0;background:rgba(5,10,18,0.85);z-index:999;align-items:center;justify-content:center;flex-direction:column;gap:1rem;}
.loading-overlay.active{display:flex;}
.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,0.2);border-top-color:var(--accent);border-radius:50%;animation:spin 0.6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeInDown{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.loading-text{color:var(--text2);font-size:1rem;}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;}
.stat-card .stat-num{font-family:'Inter',sans-serif;font-weight:800;font-size:2rem;line-height:1;}
.stat-card .stat-label{color:var(--text2);font-size:0.8rem;margin-top:0.25rem;}

/* TAB SWITCH */
.input-method{display:flex;gap:0.5rem;margin-bottom:1rem;}
.input-method button{padding:0.5rem 1rem;border-radius:8px;font-size:0.85rem;font-weight:500;cursor:pointer;background:transparent;color:var(--text2);border:1px solid var(--border);transition:all 0.2s;font-family:inherit;}
.input-method button.active{background:rgba(255,106,26,0.1);color:var(--accent);border-color:rgba(255,106,26,0.3);}

/* FILE UPLOAD */
.upload-zone{border:2px dashed var(--border);border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all 0.3s;background:var(--bg);}
.upload-zone:hover{border-color:var(--accent);background:rgba(255,106,26,0.03);}
.upload-zone.dragover{border-color:var(--accent);background:rgba(255,106,26,0.06);transform:scale(1.01);}
.upload-zone .upload-icon{font-size:2.5rem;margin-bottom:0.75rem;}
.upload-zone p{color:var(--text2);font-size:0.9rem;}
.upload-zone .formats{font-size:0.8rem;color:var(--text2);margin-top:0.5rem;opacity:0.7;}
.upload-progress{margin-top:1rem;display:none;}
.upload-progress .progress-bar{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden;}
.upload-progress .progress-fill{height:100%;background:var(--gradient);border-radius:3px;transition:width 0.3s;width:0%;}
.upload-progress .progress-text{font-size:0.8rem;color:var(--text2);margin-top:0.5rem;}
.parsed-preview{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:1.5rem;}
.parsed-field{margin-bottom:0.75rem;}
.parsed-field label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--accent);font-weight:600;margin-bottom:0.2rem;}
.parsed-field .value{font-size:0.9rem;color:var(--text);line-height:1.5;}

/* LANG TOGGLE */
.lang-toggle{display:flex;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px;margin:0.75rem 0.5rem 0;}
.lang-toggle button{flex:1;padding:0.35rem;border:none;border-radius:6px;font-size:0.75rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text2);font-family:inherit;transition:all 0.2s;}
.lang-toggle button.active{background:var(--gradient);color:#fff;}

.hidden{display:none!important;}
.spinner--overlay{width:40px;height:40px;border-width:3px;}
.spinner--md{width:30px;height:30px;margin:0 auto 1rem;}
.lead-muted{color:var(--text2);margin-bottom:1.5rem;line-height:1.7;}
.note-muted{color:var(--text2);margin-bottom:1rem;font-size:0.9rem;line-height:1.6;}
.text-muted-sm{color:var(--text2);font-size:0.9rem;}
.text-muted-xs{color:var(--text2);font-size:0.8rem;}
.text-muted-desc{color:var(--text2);font-size:0.82rem;line-height:1.4;}
.mb-1{margin-bottom:1rem;}
.input-method--lg{margin-bottom:1.5rem;}
.flex-row-wrap{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.flex-col-gap{display:flex;flex-direction:column;gap:0.75rem;padding:0 0.5rem 1.5rem;}
.mt-15{margin-top:1.5rem;}
.state-loading{text-align:center;padding:3rem;color:var(--text2);}
.state-empty{text-align:center;padding:4rem 2rem;}
.state-empty-icon{font-size:3rem;margin-bottom:1rem;}
.state-empty-title{margin-bottom:0.5rem;}
.state-empty-desc{color:var(--text2);margin-bottom:1.5rem;}
.usage-pill{display:inline;font-size:0.85rem;font-weight:400;margin-left:0.75rem;vertical-align:middle;color:var(--text2);}
.usage-pill.green{color:#22c55e;}
.usage-pill.orange{color:#f97316;}
.usage-pill.red{color:#ef4444;}

/* PRINT CSS */
@media print {
 body{background:#fff!important;color:#000!important;display:block!important;}
 .sidebar,.nav-item,.loading-overlay,.step-flow,.stats-row,.no-print,.btn,.input-method,
 .upgrade-gate,.page-header,.card>h3,.voice-area,.voice-stats,.feedback-card,.q-hint,
 .tier-badge,.user-plan,.user-info{display:none!important;}
 .main{padding:0!important;}
 .card{background:none!important;border:none!important;padding:0!important;margin:0!important;box-shadow:none!important;}
 .resume-preview{padding:0!important;border-radius:0!important;box-shadow:none!important;}
 .resume-preview h2{font-size:20pt!important;}
 .resume-preview .contact{font-size:10pt!important;}
 .resume-preview .section-head{font-size:10pt!important;color:#2563eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
 .resume-preview .exp-title{font-size:11pt!important;}
 .resume-preview li{font-size:10pt!important;}
 .skill-pill{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:9pt!important;}
 .letter-output{padding:0!important;border:none!important;font-size:11pt!important;white-space:pre-wrap!important;}
 .hidden{display:block!important;}
 #resumeResult,#tailorResults{display:block!important;} #resumePreviewWrap{display:block!important;}
 @page{size:letter;margin:0.7in;}
 h1,h2,h3,h4{page-break-after:avoid;break-after:avoid;}
 .resume-preview>div{page-break-inside:avoid;break-inside:avoid;}
}

@media(max-width:768px){
  /* ── Sidebar becomes bottom nav bar ── */
  .sidebar{
    width:100% !important;
    height:56px;
    flex-direction:row;
    position:fixed;
    top:auto;
    bottom:0;
    left:0;
    right:0;
    padding:0;
    border-right:none;
    border-top:1px solid var(--border);
    z-index:100;
    overflow:visible;
    align-items:stretch;
  }
  .sidebar .logo,
  .lang-toggle,
  .sidebar-footer,
  .sidebar-fox { display:none !important; }

  .nav-item{
    flex:1;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0.35rem 0.25rem;
    border-left:none !important;
    border-radius:0;
    font-size:0.6rem;
    gap:2px;
    margin:0;
  }
  .nav-item span { display:block !important; font-size:0.58rem; text-align:center; line-height:1.2; }
  .nav-num { display:none; }
  #mobileNavBackHome { display:flex !important; flex:1; flex-direction:column; justify-content:center; align-items:center; padding:0.35rem 0.25rem; color:var(--text2); font-size:0.58rem; text-align:center; gap:2px; text-decoration:none; }

  /* Main content */
  .main{
    margin-left:0 !important;
    padding:1rem 0.85rem 80px 0.85rem;
    width:100%;
    box-sizing:border-box;
  }

  /* Page header */
  .page-header { padding-top:0.75rem; }
  .page-header h1 { font-size:1.4rem; }
  .page-header p { font-size:0.85rem; }

  /* Cards */
  .card { padding:1rem; border-radius:12px; }

  /* Forms — single column */
  .form-row { grid-template-columns:1fr; }
  input, select, textarea { font-size:16px !important; }

  /* Step flow */
  .step-flow { overflow-x:auto; padding:0.75rem 0.85rem; -webkit-overflow-scrolling:touch; }
  .step-node-wrap { min-width:60px; }
  .step-label { font-size:0.52rem; }

  /* Stats */
  .stats-row { grid-template-columns:1fr 1fr; gap:0.5rem; }

  /* Role finder */
  .rf-split { grid-template-columns:1fr !important; }
  .rf-right { position:static !important; max-height:none !important; }

  /* 2-col grids → single col */
  .hp-grid { grid-template-columns:1fr !important; }

  /* Buttons */
  .btn { width:100%; justify-content:center; box-sizing:border-box; }
  .btn + .btn { margin-top:0.5rem; }

  /* Score ring */
  .score-ring-wrap { flex-direction:column; align-items:center; gap:1rem; }

  /* Voice */
  .voice-stats { flex-wrap:wrap; justify-content:center; }

  /* Input method */
  .input-method { flex-wrap:wrap; }

  /* Hire probability */
  .hp-fox-img { width:180px !important; }

  /* Modals */
  #extraUsageModal > div { width:92% !important; padding:1.5rem !important; }

  /* Need help */
  #va-btn { bottom:70px !important; right:14px !important; }
  #va-panel { bottom:130px !important; right:10px !important; width:calc(100vw - 20px); }
}

@media(max-width:400px){
  .stats-row { grid-template-columns:1fr; }
  .page-header h1 { font-size:1.2rem; }
  .card { padding:0.85rem; }
  .step-label { font-size:0.48rem; }
}

/* ROLE FINDER SPLIT-PANE (spec §2) */
.rf-split {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 1rem;
 align-items: start;
}
.rf-left { display: flex; flex-direction: column; gap: 0.75rem; }
.rf-role-card {
 background: var(--bg);
 border: 1px solid var(--border);
 border-radius: 10px;
 padding: 1rem 1.25rem;
 cursor: pointer;
 transition: border-color 0.2s, background 0.2s;
 display: flex; align-items: center; gap: 1rem;
}
.rf-role-card:hover { border-color: rgba(255,106,26,0.4); }
.rf-role-card.selected {
 border-color: #FF6A1A;
 background: rgba(255,106,26,0.06);
}
.rf-role-radio {
 width: 20px; height: 20px; border-radius: 50%;
 border: 2px solid #4A4D54;
 display: flex; align-items: center; justify-content: center;
 flex-shrink: 0;
 transition: all 0.2s;
}
.rf-role-card.selected .rf-role-radio {
 border-color: #FF6A1A;
 background: #FF6A1A;
}
.rf-role-card.selected .rf-role-radio::after {
 content: '';
 width: 8px; height: 8px; border-radius: 50%;
 background: #fff;
}
.rf-role-name { font-weight: 600; font-size: 0.95rem; }
.rf-role-pct { font-size: 0.78rem; color: #FF6A1A; font-weight: 700; margin-top: 0.15rem; }
.rf-right {
 background: #1A1F2E;
 border: 1px solid var(--border);
 border-radius: 12px;
 padding: 1.5rem;
 position: sticky; top: 80px;
 overflow-y: auto;
 max-height: 600px;
}
.rf-roles-card{padding:1.5rem;}
.rf-roles-head{margin-bottom:1.25rem;}
.rf-roles-title{font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;}
.rf-roles-sub{font-size:0.72rem;color:var(--muted-label);text-transform:uppercase;letter-spacing:0.08em;margin-top:0.3rem;}
.rf-gap-section-label{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:0.75rem;}
#rfGapRole{font-size:1.1rem;font-weight:800;margin-bottom:0.75rem;color:var(--text);min-height:1.5rem;}
#rfGapMatchPct{margin-bottom:1rem;}
#rfGapKey{color:var(--muted-label);font-size:0.88rem;line-height:1.65;}
#rfGapSkills{margin-top:0.75rem;}
#rfGapActionsLabel{display:none;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);margin:0.75rem 0 0.4rem;}
#rfSummaryText{color:var(--text2);line-height:1.7;}
.rf-locked-head{text-align:center;padding:1rem 1.5rem 0.5rem;}
.rf-locked-icon{font-size:2rem;margin-bottom:0.5rem;}
.rf-locked-title{margin-bottom:0.5rem;}
.rf-locked-desc{color:var(--text2);margin-bottom:1.25rem;font-size:0.9rem;}
.rf-locked-foot{text-align:center;padding:0 1.5rem 1.5rem;}
.rf-lock-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border-accent);border-radius:10px;}
.rf-lock-row--purple{border-color:var(--border-purple);}
.rf-lock-icon{font-size:1.5rem;flex-shrink:0;}
.rf-lock-title{font-weight:600;font-size:0.95rem;margin-bottom:0.2rem;}
.rf-comparisons-title{font-size:1rem;margin-bottom:1.25rem;}
.rf-complete-card{background:linear-gradient(135deg,rgba(11,18,32,0.98),rgba(13,22,40,0.98));border:1px solid var(--border-accent);border-radius:16px;padding:0;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.3);}
.rf-complete-accent{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);}
.rf-complete-body{padding:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.rf-complete-kicker{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:0.3rem;}
.rf-complete-title{font-size:1.05rem;font-weight:700;margin-bottom:0.25rem;}
.rf-complete-sub{font-size:0.85rem;color:var(--text-dim);}
.rf-complete-actions{display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;}
.justify-center{justify-content:center;}
.card-padded{padding:1.5rem;}
.textarea-job{min-height:200px;width:100%;}
.textarea-resume{min-height:200px;}
.card-head-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;}
.card-head-row h3{margin:0;}
.toolbar-actions{display:flex;gap:0.5rem;flex-wrap:wrap;}
.ats-score-panel{text-align:center;padding:2rem 1rem 1.5rem;}
.ats-score-eyebrow{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--text2);margin-bottom:1.75rem;}
.ats-ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.5rem;}
#atsGlow{position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,26,0.15) 0%,transparent 70%);transition:background 0.6s;}
.ats-ring-svg{transform:rotate(-90deg);}
#atsArc{transition:stroke-dashoffset 1.4s cubic-bezier(0.4,0,0.2,1),stroke 0.4s;}
.ats-ring-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#atsScoreNum{font-family:'Inter',sans-serif;font-weight:900;font-size:2.8rem;line-height:1;color:var(--text);letter-spacing:-0.03em;}
.ats-score-pct{font-size:0.7rem;font-weight:700;color:rgba(255,255,255,0.35);letter-spacing:0.08em;margin-top:0.1rem;}
#atsScoreLabel{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);margin-bottom:1.25rem;}
#atsSummary{color:var(--text2);max-width:560px;margin:0 auto;line-height:1.7;font-size:0.9rem;text-align:center;}
.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.card-title-sm{font-size:0.95rem;}
.optimize-gate-card{text-align:center;background:linear-gradient(135deg,rgba(255,106,26,0.07),rgba(255,106,26,0.03));border:1px solid var(--border-accent);}
.optimize-gate-card h3{justify-content:center;margin-bottom:0.5rem;}
.optimize-gate-note{color:var(--text2);margin-bottom:1.25rem;font-size:0.9rem;max-width:460px;margin-left:auto;margin-right:auto;}
.btn-optimize{font-size:1rem;padding:0.8rem 2rem;}
.doc-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;}
.doc-card-title{margin:0;font-size:1rem;}
.doc-card-sub{color:var(--text2);font-size:0.82rem;margin-top:0.2rem;}
.doc-card-actions{display:flex;gap:0.5rem;flex-wrap:wrap;}
.mt-125{margin-top:1.25rem;}
.mt-1{margin-top:1rem;}
.lang-actions{display:flex;gap:0.6rem;margin-top:1rem;flex-wrap:wrap;}
.int-tier-card--free{border:1px solid var(--border-success);background:var(--bg-success-tint);}
.int-tier-card--pro{border:1px solid var(--border-accent);background:var(--bg-accent-tint);}
.int-tier-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;}
.int-tier-icon-lg{font-size:1.3rem;}
.int-tier-icon-md{font-size:1.2rem;}
.int-tier-title{font-weight:600;}
.int-tier-desc{color:var(--text2);font-size:0.85rem;}
.int-tier-list{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem;}
.int-tier-row{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;background:var(--bg);border-radius:8px;}
.int-tier-row--locked{border:1px dashed var(--border-accent);opacity:0.6;}
.int-tier-row--purple{border:1px dashed var(--border-purple);opacity:0.7;}
.int-fw-600{font-weight:600;}
.int-desc-muted{color:var(--text2);font-size:0.85rem;}
.card-int-session{background:rgba(255,106,26,0.05);border-color:rgba(255,106,26,0.15);}
.int-session-bar{display:flex;justify-content:space-between;align-items:center;}
.int-session-label{color:var(--accent);font-weight:600;}
.int-progress-hint{color:var(--text2);margin-left:1rem;}
.int-back-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;}
.int-meta-xs{font-size:0.75rem;color:var(--text2);}
.int-summary-shell{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:0;overflow:hidden;}
.int-summary-body{padding:1.75rem 2rem;}
.int-summary-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem;}
.int-summary-kicker{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--text2);margin-bottom:0.3rem;}
.int-summary-title{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:-0.02em;}
.int-summary-score{display:flex;align-items:center;gap:2rem;margin-bottom:1.75rem;padding:1.25rem 1.5rem;background:var(--score-panel);border-radius:12px;}
.int-score-col{flex-shrink:0;text-align:center;}
.int-score-display{display:inline-flex;align-items:baseline;gap:0.1rem;}
#intAvgScore{font-family:'Inter',sans-serif;font-weight:900;font-size:3.5rem;line-height:1;color:var(--text);letter-spacing:-0.04em;}
.int-score-denom{font-family:'Inter',sans-serif;font-weight:700;font-size:1.2rem;color:var(--score-denom);}
.int-score-bar{width:100px;height:4px;background:var(--score-bar-track);border-radius:3px;margin-top:0.5rem;overflow:hidden;}
#intScoreBarFill{height:100%;border-radius:3px;background:var(--accent);width:0%;transition:width 1.2s cubic-bezier(0.4,0,0.2,1),background 0.4s;}
.int-summary-main{flex:1;}
.delivery-summary{color:var(--text2);font-size:0.85rem;margin-top:0.4rem;}
.int-summary-actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;}
.hp-loading-page{text-align:center;padding:4rem 1rem;}
.hp-loading-stack{display:inline-flex;flex-direction:column;align-items:center;gap:1.5rem;}
.hp-spinner{position:relative;width:80px;height:80px;}
.hp-spinner-svg--spin{animation:hpSpin 1.6s linear infinite;}
.hp-spinner-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hp-icon--pulse{animation:hpPulse 1.6s ease-in-out infinite;}
.hp-loading-title{font-weight:700;font-size:1rem;color:var(--text);margin-bottom:0.4rem;letter-spacing:0.01em;}
.hp-loading-dots{font-size:0.85rem;color:var(--accent);font-weight:600;letter-spacing:0.15em;}
#extraUsageModal{position:fixed;inset:0;z-index:1000;display:none;background:var(--overlay-dark);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
#extraUsageModal.is-open{display:flex!important;}
.extra-modal-panel{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:2rem;max-width:420px;width:90%;position:relative;}
.extra-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text2);font-size:1.4rem;cursor:pointer;}
.extra-modal-head{text-align:center;margin-bottom:1.5rem;}
.extra-modal-icon{font-size:2rem;margin-bottom:0.5rem;}
#extraModalTitle{font-size:1.2rem;margin-bottom:0.4rem;}
.extra-modal-desc{color:var(--text2);font-size:0.88rem;}
.extra-pack-list{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem;}
.extra-modal-foot{text-align:center;}
.extra-modal-foot-note{color:var(--text2);font-size:0.78rem;}
.extra-modal-dismiss{margin-top:0.75rem;background:none;border:none;color:var(--text2);font-size:0.82rem;cursor:pointer;text-decoration:underline;}
.extra-pack-btn{display:flex;justify-content:space-between;align-items:center;padding:0.85rem 1.2rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;font-size:0.95rem;transition:border-color 0.2s;font-family:inherit;width:100%;}
.extra-pack-btn:hover{border-color:var(--accent);}
.extra-pack-btn-label{font-weight:600;}
.extra-pack-btn-price{color:var(--accent);font-weight:700;}
.ai-sparkle-badge{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;pointer-events:none;}
.pick-empty-box{text-align:center;padding:1.5rem;background:var(--bg);border-radius:12px;border:1px dashed var(--border);}
.pick-empty-box p{margin-bottom:0.75rem;}
.pick-empty-box p:last-child{margin-bottom:0;}
.link-accent{color:var(--accent);}
.int-job-card,.past-session-card{padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:0.5rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:space-between;}
.int-job-card:hover,.past-session-card:hover{border-color:rgba(255,106,26,0.3);}
.int-job-card.selected{background:rgba(255,106,26,0.1);border-color:var(--accent);}
.int-job-card-main{display:flex;align-items:center;gap:0.75rem;}
.int-job-title{font-weight:600;font-size:0.95rem;color:var(--text);}
.int-job-company{color:var(--text2);font-size:0.82rem;margin-top:0.15rem;}
.int-job-date{color:var(--text2);font-size:0.75rem;margin-top:0.15rem;}
.int-job-meta{display:flex;align-items:center;gap:0.75rem;}
.int-job-score{font-weight:700;font-size:0.85rem;}
.int-job-score--high{color:var(--success);}
.int-job-score--med{color:var(--warn);}
.int-job-score--low{color:var(--danger);}
.pick-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.75rem;color:var(--accent);}
.int-job-card.selected .pick-check{border-color:var(--accent);}
.past-session-score-wrap{text-align:right;}
.past-session-score{font-weight:800;font-size:1.1rem;line-height:1;}
.past-session-score-denom{font-size:0.65rem;color:var(--text2);font-weight:400;}
.past-session-score--high{color:var(--success);}
.past-session-score--med{color:var(--warn);}
.past-session-score--low{color:var(--danger);}
.past-session-side{display:flex;align-items:center;gap:1rem;flex-shrink:0;}
.premium-gate-card{text-align:center;padding:2.5rem;}
.premium-gate-label{font-size:1.5rem;font-weight:700;margin-bottom:0.5rem;color:var(--text2);}
.premium-gate-desc{color:var(--text2);margin-bottom:1.5rem;}
.state-empty-inline{color:var(--text2);text-align:center;padding:1rem;}
.past-score-card{margin-bottom:1rem;text-align:center;padding:2rem 1rem;}
.past-score-value{font-size:3rem;font-weight:900;line-height:1;margin-bottom:0.25rem;}
.past-score-value--high{color:var(--success);}
.past-score-value--med{color:var(--warn);}
.past-score-value--low{color:var(--danger);}
.past-score-denom{font-size:1.2rem;color:var(--text2);}
.past-score-meta{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);margin-bottom:0.5rem;}
.past-score-verdict{font-weight:700;}
.past-section-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);margin-bottom:0.6rem;}
.past-tag-chip{font-size:0.82rem;padding:0.2rem 0.65rem;border-radius:6px;background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text);display:inline-block;margin:0.15rem;}
.past-detail-actions{text-align:center;margin-top:1rem;}
.card-spaced{margin-bottom:1rem;}
.resume-pick-card,.rf-resume-pick{padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:0.5rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:space-between;}
.resume-pick-card:hover,.rf-resume-pick:hover{border-color:rgba(255,106,26,0.3);}
.resume-pick-card.selected,.rf-resume-pick.selected{background:rgba(255,106,26,0.1);border-color:var(--accent);}
.resume-pick-main{display:flex;align-items:center;gap:0.75rem;}
.resume-pick-icon{font-size:1.3rem;}
.resume-pick-title{font-weight:600;font-size:0.9rem;display:flex;align-items:center;gap:0.5rem;}
.resume-pick-meta{color:var(--text2);font-size:0.8rem;}
.tier-badge--static{position:static;font-size:0.6rem;}
.pick-empty-lg{text-align:center;padding:2rem;background:var(--bg);border-radius:12px;border:1px dashed var(--border);}
.pick-empty-lg p{margin-bottom:1rem;}
.text-danger-sm{color:var(--danger);font-size:0.9rem;}
.doc-card-clickable{cursor:pointer;transition:all 0.2s;}
.doc-card-clickable:hover{border-color:rgba(255,106,26,0.3);}
.doc-row{display:flex;align-items:center;justify-content:space-between;}
.doc-row-main{display:flex;align-items:center;gap:1rem;flex:1;cursor:pointer;}
.doc-icon{font-size:1.8rem;}
.doc-title-row{font-weight:600;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.doc-subline{color:var(--text2);font-size:0.85rem;margin-top:0.15rem;}
.doc-row-actions{display:flex;align-items:center;gap:0.75rem;}
.doc-badge{font-size:0.65rem;padding:0.1rem 0.4rem;border-radius:3px;font-weight:700;}
.doc-badge--resume{background:rgba(74,222,128,0.12);color:var(--success);}
.doc-badge--optimized{background:rgba(255,106,26,0.12);color:var(--accent);}
.doc-badge--cover{background:rgba(59,130,246,0.12);color:#60a5fa;}
.doc-badge--summary{background:rgba(192,132,252,0.12);color:#c084fc;}
.doc-score{font-weight:700;font-size:0.9rem;}
.doc-delete-btn{background:rgba(248,113,113,0.1);border:none;color:var(--danger);cursor:pointer;padding:0.4rem 0.5rem;border-radius:6px;font-size:0.8rem;transition:background 0.2s;font-family:inherit;}
.doc-delete-btn:hover{background:rgba(248,113,113,0.25);}
.doc-chevron{color:var(--text2);font-size:1.2rem;cursor:pointer;}
.doc-viewer-gauge-wrap{text-align:center;margin-bottom:1.5rem;}
.gauge-circle--viewer{width:120px;height:120px;margin:0 auto 0;}
.gauge-score--lg{font-size:2rem;}
.doc-viewer-score-label{color:var(--text2);font-size:0.85rem;margin-top:0.5rem;}
.doc-viewer-section{margin-bottom:1rem;}
.doc-viewer-section strong.label-danger{color:var(--danger);}
.doc-viewer-section strong.label-accent{color:var(--accent);}
.doc-viewer-tags{margin-top:0.5rem;}
.doc-viewer-letter-sep{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1.5rem;}
.doc-viewer-letter-sep h3{margin-bottom:0.75rem;}
.resume-exp-block{margin-bottom:1rem;}
.text-muted-inline{color:var(--text2);}
.voice-status{color:var(--text2);margin-top:0.75rem;font-size:0.85rem;}
.voice-divider{color:var(--text2);text-align:center;margin:0.75rem 0;font-size:0.82rem;letter-spacing:0.03em;}
.textarea-answer{min-height:140px;line-height:1.7;padding:1rem 1.2rem;}
.actions-row-sm{display:flex;gap:1rem;}
.card-feedback{margin-top:1rem;}
.feedback-inner{padding:0.25rem 0 1rem;}
.feedback-body-mt{margin-top:1rem;}
.upgrade-inline-box{margin-top:1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);text-align:center;}
.upgrade-inline-title{font-weight:600;font-size:0.9rem;margin-bottom:0.35rem;}
.upgrade-inline-desc{color:var(--text2);font-size:0.85rem;margin-bottom:1rem;}
.feedback-footer{padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;}
.int-section-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent);margin-bottom:0.35rem;}
.feedback-chips{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:1rem;}
.feedback-prose{font-size:0.87rem;line-height:1.7;color:var(--text2);}
.feedback-block{margin-bottom:1rem;}
.feedback-tip{margin-top:1rem;padding:0.85rem 1rem;background:var(--bg);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;font-size:0.85rem;color:var(--text2);font-style:italic;}
.feedback-tip--tight{margin-top:0.5rem;}
.feedback-tips-box{margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);}
.feedback-list{margin:0;padding-left:1.1rem;}
.feedback-list li{font-size:0.87rem;line-height:1.65;color:var(--text2);margin-bottom:0.3rem;}
.score-verdict{font-size:1.1rem;font-weight:700;}
.score-verdict--high{color:var(--success);}
.score-verdict--med{color:var(--warn);}
.score-verdict--low{color:var(--danger);}
.score-ring-arc{transition:stroke-dashoffset 1s cubic-bezier(0.4,0,0.2,1);}
.summary-verdict{font-size:1rem;font-weight:700;margin-bottom:0.3rem;}
.summary-verdict--high{color:#22c55e;}
.summary-verdict--med{color:#f97316;}
.summary-verdict--low{color:#ef4444;}
.summary-msg{font-size:0.85rem;color:var(--text2);line-height:1.6;}
.gtyes-note--mb{margin-bottom:1rem;}
.gtyes-note--mt{margin-top:1rem;}
.hp-hero-card{text-align:center;padding:2rem 1rem;margin-bottom:1rem;overflow:hidden;position:relative;}
.hp-hero-kicker{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--text2);margin-bottom:1.5rem;}
.hp-hero-compose{position:relative;display:inline-block;width:280px;margin:0 auto;}
.hp-ring-wrap{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:220px;height:220px;margin:0 auto;}
.hp-ring-svg{position:absolute;top:0;left:0;}
.hp-arc{transition:stroke-dashoffset 1.8s cubic-bezier(0.4,0,0.2,1);}
.hp-ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:4;width:160px;}
.hp-pct-num{font-family:'Inter',sans-serif;font-weight:900;font-size:3.8rem;line-height:1;color:var(--text);letter-spacing:-0.04em;}
.hp-pct-suffix{font-size:1.8rem;}
.hp-verdict-text{font-size:1.1rem;font-weight:800;margin-top:0.2rem;}
.hp-fox-wrap{margin-top:-60px;position:relative;z-index:2;}
.hp-fox-img-dynamic{width:300px;height:auto;object-fit:contain;display:block;margin:0 auto;margin-top:-40px;}
.hp-summary-text{color:var(--text2);margin:1.25rem 0 0;font-size:0.9rem;line-height:1.8;text-align:center;}
.hp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.hp-list{margin:0;padding-left:1.1rem;}
.hp-list li{font-size:0.85rem;color:var(--text2);margin-bottom:0.35rem;line-height:1.5;}
.hp-actions-center{text-align:center;margin-top:1rem;}
.hp-error-title{color:var(--danger);font-weight:600;margin-bottom:0.5rem;}
.hp-error-desc{color:var(--text2);font-size:0.85rem;}
.rf-role-body{flex:1;}
.rf-role-meta{display:flex;align-items:center;gap:0.5rem;margin-top:0.2rem;}
.rf-rank-badge{font-size:0.58rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;padding:0.1rem 0.45rem;border-radius:4px;}
.rf-rank-0{border-left:3px solid #22c55e;}
.rf-rank-pct-0{color:#22c55e;}
.rf-rank-badge-0{background:rgba(34,197,94,0.12);color:#22c55e;border:1px solid rgba(34,197,94,0.35);}
.rf-rank-1{border-left:3px solid #22c55e;}
.rf-rank-pct-1{color:#22c55e;}
.rf-rank-badge-1{background:rgba(34,197,94,0.12);color:#22c55e;border:1px solid rgba(34,197,94,0.35);}
.rf-rank-2{border-left:3px solid #eab308;}
.rf-rank-pct-2{color:#eab308;}
.rf-rank-badge-2{background:rgba(234,179,8,0.12);color:#eab308;border:1px solid rgba(234,179,8,0.35);}
.rf-rank-3{border-left:3px solid #f97316;}
.rf-rank-pct-3{color:#f97316;}
.rf-rank-badge-3{background:rgba(249,115,22,0.12);color:#f97316;border:1px solid rgba(249,115,22,0.35);}
.rf-rank-4{border-left:3px solid #ef4444;}
.rf-rank-pct-4{color:#ef4444;}
.rf-rank-badge-4{background:rgba(239,68,68,0.12);color:#ef4444;border:1px solid rgba(239,68,68,0.35);}
.rf-comp-block{margin-bottom:1rem;border-radius:10px;overflow:hidden;border:1px solid var(--border);}
.rf-comp-head{padding:0.85rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;}
.rf-comp-role{font-weight:600;font-size:0.9rem;color:var(--text);}
.rf-comp-role--accent{color:var(--accent);}
.rf-comp-vs{font-size:0.72rem;color:var(--text2);font-weight:500;}
.rf-comp-grid{display:grid;grid-template-columns:1fr 1fr;background:var(--bg2);}
.rf-comp-cell{padding:1rem 1.25rem;border-bottom:1px solid var(--border);}
.rf-comp-cell--right{border-right:1px solid var(--border);}
.rf-comp-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);margin-bottom:0.4rem;}
.rf-comp-cell--accent-label .int-section-label{margin-bottom:0.4rem;}
.rf-comp-body{font-size:0.85rem;color:var(--text);line-height:1.6;}
.rf-insight-card{padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);margin-bottom:0.75rem;}
.rf-insight-text{color:var(--text2);font-size:0.85rem;line-height:1.55;}
.rf-insight-roles{display:flex;flex-wrap:wrap;gap:0.4rem;}
.rf-insight-role{font-size:0.85rem;font-weight:600;color:var(--text);}
.rf-insight-sep{color:var(--text2);padding:0 0.25rem;}
.rf-insight-item{margin-bottom:0.5rem;}
.rf-insight-item-title{font-weight:600;font-size:0.9rem;color:var(--text);margin-bottom:0.2rem;}
.rf-growth-card{padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);margin-bottom:0.75rem;}
.rf-growth-action{font-weight:600;font-size:0.9rem;margin-bottom:0.3rem;color:var(--text);}
@media(max-width:768px){.hp-grid{grid-template-columns:1fr;}}
#rfGapRole{color:var(--text);}
.rf-gap-meta{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.5rem;}
.rf-pill{font-size:0.72rem;font-weight:700;padding:0.2rem 0.6rem;border-radius:6px;background:color-mix(in srgb,var(--pill-color) 9%,transparent);border:1px solid color-mix(in srgb,var(--pill-color) 27%,transparent);color:var(--pill-color);}
.rf-pill--cap{text-transform:capitalize;}
.rf-match-pill{display:inline-flex;align-items:center;padding:0.3rem 0.9rem;border-radius:100px;font-size:0.82rem;font-weight:700;background:color-mix(in srgb,var(--pill-color) 9%,transparent);border:1px solid color-mix(in srgb,var(--pill-color) 27%,transparent);color:var(--pill-color);}
.rf-gap-analysis{font-size:0.87rem;line-height:1.7;color:rgba(255,255,255,0.65);margin-bottom:1rem;}
.rf-gap-upgrade{font-size:0.87rem;color:rgba(255,255,255,0.35);margin-bottom:1rem;}
.rf-gap-section{margin-bottom:0.85rem;}
.rf-gap-section-label{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.4rem;display:flex;align-items:center;gap:0.3rem;}
.rf-gap-section-label--match{color:#22c55e;}
.rf-gap-section-label--miss{color:#ef4444;}
.rf-gap-section-label--actions{color:var(--accent);}
.rf-gap-section--actions{margin-top:0.5rem;}
.rf-gap-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.rf-gap-dot--match{background:#22c55e;}
.rf-gap-dot--miss{background:#ef4444;}
.rf-gap-dot--actions{background:var(--accent);}
.rf-gap-chips{display:flex;flex-wrap:wrap;gap:0.3rem;}
.rf-skill-chip--match{font-size:0.77rem;padding:0.18rem 0.55rem;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.22);border-radius:4px;color:#22c55e;}
.rf-skill-chip--miss{font-size:0.77rem;padding:0.18rem 0.55rem;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.22);border-radius:4px;color:#ef4444;}
.rf-gap-action-row{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.84rem;color:rgba(255,255,255,0.6);padding:0.35rem 0;border-bottom:1px solid rgba(255,255,255,0.04);line-height:1.55;}
.rf-gap-action-arrow{color:var(--accent);flex-shrink:0;}
#va-header svg{flex-shrink:0;}
@media(max-width:768px){.analysis-grid{grid-template-columns:1fr;}}
#docViewer{position:fixed;inset:0;background:rgba(5,10,18,0.9);z-index:200;display:none;align-items:center;justify-content:center;padding:2rem;}
#docViewer.is-open{display:flex!important;}
.doc-viewer-modal{background:var(--bg2);border:1px solid var(--border);border-radius:20px;width:850px;max-width:95vw;max-height:90vh;overflow-y:auto;}
.doc-viewer-head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border);}
.doc-viewer-title{margin:0;}
.doc-viewer-toolbar{display:flex;gap:0.5rem;align-items:center;}
.doc-viewer-close{background:none;border:none;color:var(--text2);font-size:1.5rem;cursor:pointer;padding:0.25rem;}
.doc-viewer-body{padding:1.5rem;}
#fileInput{display:none;}
.textarea-md{min-height:180px;}
.textarea-lg{min-height:300px;}
.textarea-xl{min-height:250px;white-space:pre-wrap;line-height:1.6;}
.textarea-sm{min-height:80px;}
.form-hint{font-size:0.75rem;color:var(--text2);margin-top:0.35rem;}
.form-section-label{border-bottom:1px solid var(--border);padding-bottom:0.5rem;margin-bottom:1rem;color:var(--accent);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}
.form-section-label--spaced{margin:1.5rem 0 1rem;}
.card-success{text-align:center;background:rgba(74,222,128,0.08);border-color:rgba(74,222,128,0.25);margin-top:1.5rem;}
.card-success h3{justify-content:center;font-family:'Inter',sans-serif;font-weight:800;font-size:1.3rem;}
.card-success-note{color:var(--text2);margin-bottom:1rem;}
.btn-generate-resume{font-size:1rem;padding:0.8rem 2.5rem;}
.parsed-heading{margin-bottom:0.5rem;}
.parsed-note{color:var(--text2);font-size:0.85rem;margin-bottom:1.5rem;}
.actions-row{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;}
.resume-done-card{padding:0;overflow:hidden;border:1px solid var(--border-accent);}
.resume-done-accent{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);}
.resume-done-body{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;}
.resume-done-kicker{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:0.2rem;}
.resume-done-title{margin:0;font-size:1rem;}
.resume-done-actions{display:flex;gap:0.5rem;flex-wrap:wrap;}
.resume-preview-wrap{padding:1.5rem;border-top:1px solid rgba(255,255,255,0.06);}
.card-translate{text-align:center;background:rgba(255,106,26,0.05);border-color:var(--border-accent);}
.rf-gap-label {
 font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
 letter-spacing: 0.1em; color: #9499A1; margin-bottom: 1rem;
}
.rf-gap-role { font-size: 1.05rem; font-weight: 700; margin-bottom: 0.5rem; }
.rf-gap-key { font-size: 0.85rem; color: var(--text2); line-height: 1.6; margin-bottom: 1rem; }
.rf-gap-key strong { color: var(--text); }
.rf-gap-actions { margin-bottom: 0.5rem; font-size: 0.85rem; font-weight: 600; }
.rf-gap-action-item {
 display: flex; align-items: flex-start; gap: 0.5rem;
 font-size: 0.85rem; color: var(--text2); padding: 0.4rem 0;
 line-height: 1.5;
}
.rf-gap-action-item::before { content: "•"; color: #FF6A1A; flex-shrink: 0; }
.rf-continue-btn {
 width: 100%; margin-top: 1.5rem;
 background: #FF6A1A; color: #000; font-weight: 700;
 border: none; cursor: pointer;
 padding: 0.85rem 1rem; border-radius: 8px;
 font-family: inherit; font-size: 0.9rem;
 text-transform: uppercase; letter-spacing: 0.05em;
 transition: background 0.2s;
}
.rf-continue-btn:hover { background: #ff8c1a; }
@media(max-width:768px){
 .rf-split { grid-template-columns: 1fr; }
 .rf-right { position: static; }
}

.nav-num {
 display: inline-flex; align-items: center; justify-content: center;
 width: 20px; height: 20px; border-radius: 50%;
 background: rgba(255,106,26,0.15); border: 1px solid rgba(255,106,26,0.3);
 color: #FF6A1A; font-size: 0.7rem; font-weight: 700;
 flex-shrink: 0;
}
.nav-item.active .nav-num {
 background: #FF6A1A; color: #000; border-color: #FF6A1A;
}
@keyframes foxPop { from { transform: translateY(20px) scale(0.9); opacity:0; } to { transform: translateY(0) scale(1); opacity:1; } }
@keyframes glowPulse { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
.hp-fox-img { animation: foxPop 0.7s cubic-bezier(0.34,1.56,0.64,1) both; }
.nav-item.nav-locked { opacity: 0.4; cursor: not-allowed; }
.nav-item.nav-locked:hover { background: none; color: var(--text2); }
.nav-item.nav-locked .nav-num {
 background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.3);
}


.gtyes-note{display:flex;align-items:flex-start;gap:8px;margin-top:1.25rem;padding:10px 14px;background:rgba(139,148,158,0.06);border:1px solid rgba(139,148,158,0.12);border-radius:10px;color:#8b949e;font-size:0.78rem;line-height:1.5;}
.gtyes-note svg{flex-shrink:0;margin-top:1px;opacity:0.6;}


@keyframes hpSpin{to{transform:rotate(360deg)}}
@keyframes hpPulse{0%,100%{opacity:0.5;transform:scale(0.9)}50%{opacity:1;transform:scale(1.1)}}
@keyframes hpDot{0%,80%,100%{opacity:0.2}40%{opacity:1}}


#va-overlay{display:none;position:fixed;inset:0;z-index:99994;background:transparent;}
#va-overlay.va-open{display:block;}
#va-btn{all:unset !important;box-sizing:border-box !important;position:fixed !important;bottom:28px !important;right:28px !important;z-index:99997 !important;display:inline-flex !important;align-items:center !important;gap:7px !important;background:#FFFFFF !important;color:#111111 !important;padding:11px 18px !important;border-radius:999px !important;font-family:'Inter',sans-serif !important;font-size:14px !important;font-weight:600 !important;cursor:pointer !important;box-shadow:0 2px 16px rgba(255,106,26,0.4) !important;line-height:1 !important;white-space:nowrap !important;visibility:visible !important;opacity:1 !important;pointer-events:auto !important;}
#va-btn:hover{background:#F0F0F0 !important;}
#va-panel{display:none;position:fixed !important;bottom:82px !important;right:28px !important;z-index:99996 !important;width:344px;max-width:calc(100vw - 40px);background:#0B1220;border:1px solid rgba(255,106,26,0.18);border-radius:16px;overflow:hidden;box-shadow:0 8px 48px rgba(0,0,0,0.7);flex-direction:column;}
#va-panel.va-open{display:flex;}
#va-header{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#FF6A1A;}
#va-header-text{flex:1;min-width:0;}
#va-title{font-family:'Inter',sans-serif;font-weight:700;font-size:0.95rem;color:#fff;}
#va-subtitle{font-family:'Inter',sans-serif;font-size:0.73rem;color:#fff;opacity:0.78;margin-top:1px;}
#va-close{all:unset;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.22);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;flex-shrink:0;}
#va-close:hover{background:rgba(255,255,255,0.35);}
#va-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;max-height:340px;min-height:120px;background:#0B1220;}
#va-messages::-webkit-scrollbar{width:3px;}
#va-messages::-webkit-scrollbar-thumb{background:rgba(255,106,26,0.25);border-radius:3px;}
.va-msg{display:flex;}
.va-bot{justify-content:flex-start;}
.va-user{justify-content:flex-end;}
.va-bubble{max-width:88%;padding:9px 13px;border-radius:14px;font-family:'Inter',sans-serif;font-size:0.845rem;line-height:1.55;}
.va-bot .va-bubble{background:#111827;border:1px solid rgba(255,106,26,0.12);border-bottom-left-radius:4px;color:#e2e8f0;}
.va-user .va-bubble{background:rgba(255,106,26,0.15);border:1px solid rgba(255,106,26,0.28);border-bottom-right-radius:4px;color:#f1f5f9;}
#va-chips{display:block;}
.va-category{margin-bottom:10px;}
.va-category-label{font-family:'Inter',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,106,26,0.6);margin-bottom:5px;padding-left:2px;}
.va-chip{all:unset;box-sizing:border-box;display:flex;align-items:center;width:100%;padding:8px 12px;background:#1E293B;border:1px solid rgba(255,106,26,0.15);border-radius:8px;color:#94a3b8;font-family:'Inter',sans-serif;font-size:0.82rem;font-weight:500;cursor:pointer;line-height:1.3;margin-bottom:5px;transition:all 0.15s;}
.va-chip:hover{border-color:#FF6A1A;color:#FF6A1A;background:rgba(255,106,26,0.06);}
.va-chip-arrow{margin-left:auto;opacity:0.4;font-size:0.75rem;}
.va-back-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#111d2e;border:1px solid rgba(255,106,26,0.25);border-radius:999px;color:#FF6A1A;font-family:'Inter',sans-serif;font-size:0.76rem;font-weight:500;cursor:pointer;}
.va-back-btn:hover{border-color:#FF6A1A;}
#va-input-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid rgba(255,106,26,0.1);background:#0B1220;}
#va-input{all:unset;flex:1;background:#1E293B;border:1px solid rgba(255,106,26,0.18);border-radius:8px;padding:8px 12px;color:#f1f5f9;font-family:'Inter',sans-serif;font-size:0.84rem;box-sizing:border-box;}
#va-input::placeholder{color:#4b5563;}
#va-input:focus{border-color:rgba(255,106,26,0.5);outline:none;}
#va-send{all:unset;padding:8px 14px;background:#FF6A1A;border-radius:8px;color:#fff;font-family:'Inter',sans-serif;font-size:0.84rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;}
#va-send:hover{background:#e86d00;}
@media(max-width:420px){#va-btn{right:14px !important;bottom:14px !important;}#va-panel{right:10px !important;bottom:72px !important;width:calc(100vw - 20px);}}
