    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --page:   #EEF2F7;
      --white:  #FFFFFF;
      --border: #D1D9E6;
      --border2:#B8C4D8;
      --navy:   #0F172A;
      --body:   #334155;
      --muted:  #64748B;
      --dim:    #94A3B8;
      --ember:  #C84B11;
      --ember2: #E05A14;
      --emlight:#FFF4EE;
      --embord: #F9C7A0;
      --green:  #059669;
      --gnlight:#ECFDF5;
      --gnbord: #A7F3D0;
      --red:    #DC2626;
      --rdlight:#FEF2F2;
      --rdbord: #FECACA;
      --yellow: #D97706;
      --sh-sm:  0 1px 3px rgba(15,23,42,0.06),0 1px 2px rgba(15,23,42,0.04);
      --sh-md:  0 4px 16px rgba(15,23,42,0.08),0 1px 4px rgba(15,23,42,0.05);
      --sh-lg:  0 8px 32px rgba(15,23,42,0.10),0 2px 8px rgba(15,23,42,0.06);
    }
    body { font-family: system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--page); color:var(--navy); min-height:100vh; line-height:1.6; -webkit-font-smoothing:antialiased; }
    .serif { font-family: Georgia,'Times New Roman',serif; }
    .screen { display:none; }
    .screen.active { display:block; }
    .hidden { display:none !important; }

    /* ── NAV ── */
    .top-nav { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.5rem; background:var(--white); border-bottom:1px solid var(--border); }
    .nav-logo { font-size:0.9rem; font-weight:700; color:var(--navy); display:flex; align-items:center; gap:0.4rem; }
    .nav-badge { font-size:0.68rem; font-weight:600; color:var(--ember); background:var(--emlight); border:1px solid var(--embord); padding:2px 8px; border-radius:20px; }
    .btn-ghost { background:var(--white); border:1px solid var(--border); border-radius:8px; color:var(--muted); padding:0.4rem 0.875rem; font-size:0.78rem; font-weight:600; cursor:pointer; transition:all 0.15s; box-shadow:var(--sh-sm); }
    .btn-ghost:hover { border-color:var(--border2); color:var(--navy); }

    /* ── INPUT SCREEN ── */
    #screen-input { min-height:100vh; background:var(--page); }
    .hero-wrap { max-width:640px; margin:0 auto; padding:3.5rem 1.25rem 2rem; text-align:center; }
    .hero-tag { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.75rem; font-weight:600; color:var(--muted); background:var(--white); border:1px solid var(--border); padding:4px 14px; border-radius:20px; margin-bottom:1.5rem; box-shadow:var(--sh-sm); }
    .hero-title { font-family:Georgia,serif; font-size:clamp(2.2rem,6vw,3.2rem); font-weight:normal; line-height:1.15; color:var(--navy); margin-bottom:0.875rem; letter-spacing:-0.5px; }
    .hero-title em { font-style:italic; color:var(--ember); }
    .hero-sub { font-size:1rem; color:var(--muted); margin-bottom:2.5rem; max-width:460px; margin-left:auto; margin-right:auto; line-height:1.65; }
    .input-card { background:var(--white); border:1px solid var(--border); border-radius:16px; padding:2rem; box-shadow:var(--sh-lg); max-width:640px; margin:0 auto 1.5rem; }
    .input-card-hdr { font-size:0.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dim); margin-bottom:1.25rem; }
    .tab-row { display:flex; gap:0.375rem; margin-bottom:1.25rem; background:var(--page); border-radius:8px; padding:3px; border:1px solid var(--border); }
    .tab-btn { flex:1; padding:0.45rem; border-radius:6px; border:none; background:transparent; color:var(--muted); font-size:0.82rem; font-weight:600; cursor:pointer; transition:all 0.15s; }
    .tab-btn.active { background:var(--white); color:var(--navy); box-shadow:var(--sh-sm); }
    textarea { width:100%; background:var(--page); border:1px solid var(--border); border-radius:10px; color:var(--navy); font-size:0.875rem; font-family:inherit; padding:1rem; resize:vertical; outline:none; min-height:200px; transition:border-color 0.15s,box-shadow 0.15s; line-height:1.65; }
    textarea:focus { border-color:var(--ember); box-shadow:0 0 0 3px rgba(200,75,17,0.1); background:var(--white); }
    textarea::placeholder { color:var(--dim); }
    .char-count { font-size:0.7rem; color:var(--dim); text-align:right; margin-top:0.375rem; }
    .pdf-zone { border:2px dashed var(--border2); border-radius:10px; padding:2.5rem 1.5rem; text-align:center; cursor:pointer; background:var(--page); transition:all 0.15s; }
    .pdf-zone:hover,.pdf-zone.drag-over { border-color:var(--ember); background:var(--emlight); }
    .pdf-zone p { font-size:0.9rem; color:var(--muted); margin-bottom:0.4rem; }
    .pdf-zone small { font-size:0.75rem; color:var(--dim); }
    #pdf-input { display:none; }
    .pdf-loaded { color:var(--green); font-weight:600; font-size:0.875rem; margin-top:0.625rem; }
    .error-msg { background:var(--rdlight); border:1px solid var(--rdbord); border-left:3px solid var(--red); border-radius:0 8px 8px 0; padding:0.75rem 1rem; font-size:0.85rem; color:#991B1B; margin-top:0.875rem; }
    .btn-primary { display:block; width:100%; padding:0.9rem; margin-top:1rem; border-radius:10px; border:none; font-size:0.95rem; font-weight:700; cursor:pointer; transition:all 0.2s; background:var(--ember); color:white; box-shadow:0 2px 8px rgba(200,75,17,0.25); }
    .btn-primary:hover:not(:disabled) { background:var(--ember2); box-shadow:0 4px 16px rgba(200,75,17,0.35); transform:translateY(-1px); }
    .btn-primary:disabled { background:var(--border2); color:var(--dim); cursor:not-allowed; box-shadow:none; transform:none; }
    .fine-print { text-align:center; font-size:0.72rem; color:var(--dim); max-width:640px; margin:0 auto; padding:0 1.25rem 1rem; }

    /* ── REVIEWS SECTION ── */
    .reviews-wrap { max-width:640px; margin:2rem auto; padding:0 1.25rem 3rem; }
    .reviews-eyebrow { font-size:0.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--dim); text-align:center; margin-bottom:1.25rem; }
    .reviews-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:0.875rem; }
    .review-item { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.25rem; box-shadow:var(--sh-sm); }
    .review-stars { color:#F59E0B; font-size:0.75rem; margin-bottom:0.625rem; letter-spacing:1px; }
    .review-quote { font-family:Georgia,serif; font-style:italic; font-size:0.83rem; color:var(--body); line-height:1.7; margin-bottom:0.875rem; }
    .review-author { font-size:0.78rem; font-weight:700; color:var(--navy); }
    .review-role { font-size:0.72rem; color:var(--muted); }

    /* ── LOADING SCREEN ── */
    #screen-loading { min-height:100vh; background:var(--page); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; }
    .loading-eyebrow { font-size:0.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--dim); }
    #loading-flame { font-size:3.5rem; line-height:1; }
    #loading-flame.animate { animation:bob 1.8s ease-in-out infinite; }
    @keyframes bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
    #loading-msg-text { font-family:Georgia,serif; font-size:1.1rem; font-style:italic; color:var(--body); text-align:center; max-width:300px; }
    .loading-dots-span { font-style:normal; color:var(--ember); }
    .dot-row { display:flex; gap:0.5rem; }
    .dot { width:7px; height:7px; border-radius:50%; background:var(--ember); animation:pulse 1.2s ease-in-out infinite alternate; }
    .dot:nth-child(2){animation-delay:0.2s} .dot:nth-child(3){animation-delay:0.4s}
    @keyframes pulse { from{opacity:0.25;transform:scale(0.8)} to{opacity:1;transform:scale(1.15)} }

    /* ── RESULT SCREEN ── */
    #screen-result { min-height:100vh; background:var(--page); }
    .result-nav { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.5rem; background:var(--white); border-bottom:1px solid var(--border); }
    .result-inner { max-width:640px; margin:0 auto; padding:2rem 1.25rem 4rem; }
    .eyebrow { font-size:0.62rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--dim); margin-bottom:0.6rem; }

    /* Review card */
    .review-card { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--ember); border-radius:12px; padding:2rem; box-shadow:var(--sh-md); margin-bottom:1rem; }
    .review-meta { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
    .review-label { font-size:0.62rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--dim); margin-bottom:0.25rem; }
    .review-title { font-family:Georgia,serif; font-size:1.05rem; color:var(--navy); }
    .review-score-block { text-align:right; }
    .score-number { font-family:Georgia,serif; font-size:3.5rem; font-weight:normal; line-height:1; color:var(--ember); }
    .score-denom { font-size:1rem; color:var(--dim); }
    .score-zone { font-size:0.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--dim); margin-top:2px; }

    /* Gauge */
    .gauge-wrap { display:flex; flex-direction:column; align-items:center; margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
    .gauge-zone-row { display:flex; align-items:center; gap:0.5rem; margin-top:0.25rem; }
    #gauge-zone-emoji { font-size:1.4rem; line-height:1; }
    #gauge-zone-label { font-family:Georgia,serif; font-style:italic; font-size:1rem; }

    /* Verdict */
    .verdict-block { margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
    .verdict-quote { font-family:Georgia,serif; font-size:0.975rem; font-style:italic; color:var(--body); line-height:1.75; padding-left:1rem; border-left:3px solid var(--border2); }

    /* Mini bars */
    .minibars { margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
    .minibar { margin-bottom:0.875rem; }
    .minibar:last-child { margin-bottom:0; }
    .minibar-header { display:flex; justify-content:space-between; margin-bottom:0.4rem; }
    .minibar-label { font-size:0.78rem; color:var(--muted); }
    .minibar-val { font-size:0.78rem; font-weight:700; }
    .minibar-track { height:5px; background:var(--page); border:1px solid var(--border); border-radius:3px; overflow:hidden; }
    .minibar-fill { height:100%; border-radius:3px; width:0; transition:width 1.4s cubic-bezier(0.4,0,0.2,1); }

    /* Roast lines */
    .roast-section { margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
    .roast-line { padding:0.875rem 1rem; border-left:3px solid var(--ember); background:var(--emlight); border-radius:0 8px 8px 0; margin-bottom:0.625rem; font-size:0.875rem; color:var(--body); line-height:1.65; }
    .roast-line:last-child { margin-bottom:0; }

    /* Offense / nice */
    .offense-box { background:var(--rdlight); border:1px solid var(--rdbord); border-left:3px solid var(--red); border-radius:0 10px 10px 0; padding:1rem; margin-bottom:1rem; }
    .offense-box .eyebrow { color:var(--red); }
    #worst-offense { font-size:0.875rem; color:#7F1D1D; line-height:1.65; }
    .nice-box { background:var(--gnlight); border:1px solid var(--gnbord); border-left:3px solid var(--green); border-radius:0 10px 10px 0; padding:1rem; margin-bottom:1.25rem; }
    .nice-box .eyebrow { color:var(--green); }
    #one-nice-thing { font-size:0.875rem; color:#064E3B; line-height:1.65; }

    /* Sample teaser */
    .sample-teaser { background:linear-gradient(135deg,#fffbf7,#fff5ee); border:1px solid var(--embord); border-radius:12px; padding:1.25rem; margin-bottom:1.25rem; }
    .sample-eyebrow { font-size:0.65rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--ember); margin-bottom:0.375rem; }
    .sample-desc { font-size:0.78rem; color:var(--muted); margin-bottom:0.875rem; }
    .sample-cols { display:grid; grid-template-columns:1fr 1fr; gap:0.625rem; }
    .sample-ba-label { font-size:0.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:0.375rem; opacity:0.7; }
    .sample-before { padding:0.875rem; background:var(--white); border:1px solid var(--border); border-radius:8px; font-size:0.82rem; color:var(--muted); line-height:1.6; }
    .sample-after-wrap { position:relative; border-radius:8px; overflow:hidden; }
    .sample-after-text { padding:0.875rem; background:var(--gnlight); border:1px solid var(--gnbord); border-radius:8px; font-size:0.82rem; color:#065F46; line-height:1.6; filter:blur(4px); user-select:none; pointer-events:none; }
    .sample-unlock-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(236,253,245,0.2) 0%,rgba(236,253,245,0.95) 55%); display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding:0 0.75rem 0.75rem; border-radius:8px; text-align:center; }
    .sample-unlock-label { font-size:0.72rem; color:var(--muted); margin-bottom:0.375rem; }
    .sample-unlock-btn { background:var(--ember); color:white; border:none; border-radius:6px; padding:0.5rem 0.875rem; font-size:0.78rem; font-weight:700; cursor:pointer; box-shadow:0 2px 8px rgba(200,75,17,0.25); width:100%; }
    .sample-unlock-btn:hover { background:var(--ember2); }

    /* Share */
    .btn-share { width:100%; padding:0.875rem; border-radius:8px; background:var(--page); border:1px solid var(--border); color:var(--body); font-size:0.875rem; font-weight:600; cursor:pointer; transition:all 0.15s; }
    .btn-share:hover { border-color:var(--border2); background:var(--white); }
    .btn-share.copied { background:var(--gnlight); border-color:var(--green); color:#065F46; }

    /* ── UPSELL ── */
    .upsell-section { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:2rem; box-shadow:var(--sh-md); margin-bottom:1rem; }
    .upsell-head { text-align:center; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
    .upsell-head h2 { font-family:Georgia,serif; font-size:1.5rem; font-weight:normal; color:var(--navy); margin-bottom:0.3rem; }
    .upsell-head p { font-size:0.875rem; color:var(--muted); }
    .upsell-cards { display:flex; flex-direction:column; gap:0.875rem; }
    .upsell-card { background:var(--page); border:1.5px solid var(--border); border-radius:12px; padding:1.25rem; transition:all 0.15s; }
    .upsell-card:hover { border-color:var(--border2); box-shadow:var(--sh-sm); }
    .upsell-card.featured { background:var(--white); border-color:var(--ember); box-shadow:0 0 0 1px rgba(200,75,17,0.08),var(--sh-sm); }
    .featured-flag { font-size:0.65rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--ember); background:var(--emlight); border:1px solid var(--embord); padding:2px 10px; border-radius:20px; display:inline-block; margin-bottom:0.625rem; }
    .upsell-row { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.5rem; }
    .upsell-name-row { display:flex; align-items:center; gap:0.25rem; }
    .upsell-name { font-size:1rem; font-weight:700; color:var(--navy); }
    .info-btn { background:none; border:1px solid var(--border); border-radius:50%; width:18px; height:18px; font-size:0.65rem; color:var(--muted); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:all 0.15s; flex-shrink:0; line-height:1; }
    .info-btn:hover { border-color:var(--ember); color:var(--ember); background:var(--emlight); }
    .upsell-price { font-family:Georgia,serif; font-size:1.5rem; color:var(--ember); line-height:1; }
    .upsell-period { font-size:0.68rem; color:var(--dim); display:block; text-align:right; margin-top:2px; }
    .upsell-desc { font-size:0.82rem; color:var(--muted); margin-bottom:1rem; line-height:1.6; }
    .btn-cta { width:100%; padding:0.8rem; border-radius:8px; border:none; font-size:0.875rem; font-weight:700; cursor:pointer; transition:all 0.2s; background:var(--ember); color:white; box-shadow:0 2px 8px rgba(200,75,17,0.2); }
    .btn-cta:hover { background:var(--ember2); transform:translateY(-1px); }
    .btn-cta.outline { background:transparent; border:1.5px solid var(--border2); color:var(--body); box-shadow:none; }
    .btn-cta.outline:hover { border-color:var(--ember); color:var(--ember); transform:none; }

    /* ── INFO MODAL ── */
    .modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,0.5); z-index:200; align-items:center; justify-content:center; padding:1rem; backdrop-filter:blur(4px); }
    .modal-overlay.open { display:flex; }
    .modal-box { background:var(--white); border-radius:16px; padding:2rem; max-width:400px; width:100%; box-shadow:0 24px 64px rgba(15,23,42,0.2); position:relative; max-height:90vh; overflow-y:auto; }
    .modal-close { position:absolute; top:1rem; right:1rem; background:none; border:1px solid var(--border); border-radius:6px; width:28px; height:28px; cursor:pointer; font-size:1rem; color:var(--muted); display:flex; align-items:center; justify-content:center; }
    .modal-close:hover { border-color:var(--border2); color:var(--navy); }
    .modal-title { font-family:Georgia,serif; font-size:1.2rem; color:var(--navy); padding-right:2rem; margin-bottom:0.2rem; }
    .modal-price { font-size:0.85rem; color:var(--ember); font-weight:700; margin-bottom:1.25rem; }
    .modal-section-hdr { font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dim); margin-bottom:0.75rem; }
    .modal-item { display:flex; gap:0.625rem; font-size:0.85rem; color:var(--body); margin-bottom:0.5rem; line-height:1.5; }
    .modal-item.yes::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; margin-top:1px; }
    .modal-item.no::before { content:'✗'; color:var(--dim); flex-shrink:0; margin-top:1px; }
    .modal-best { background:var(--emlight); border:1px solid var(--embord); border-radius:8px; padding:0.875rem; font-size:0.83rem; color:#7C2D12; line-height:1.6; margin-top:1.25rem; }
    .modal-best-label { font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:0.3rem; }
    .modal-cta { width:100%; padding:0.8rem; border-radius:8px; border:none; font-size:0.875rem; font-weight:700; cursor:pointer; background:var(--ember); color:white; margin-top:1.25rem; box-shadow:0 2px 8px rgba(200,75,17,0.2); }
    .modal-cta:hover { background:var(--ember2); }

    /* ── PAID RESULTS ── */
    .paid-loading-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:3rem 2rem; text-align:center; box-shadow:var(--sh-md); margin-bottom:1rem; }
    .paid-loading-card p { font-family:Georgia,serif; font-style:italic; color:var(--muted); margin-top:1rem; font-size:0.95rem; }
    .paid-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:2rem; box-shadow:var(--sh-md); margin-bottom:1rem; }
    .paid-card-title { font-family:Georgia,serif; font-size:1.15rem; font-weight:normal; color:var(--navy); padding-bottom:1.25rem; border-bottom:1px solid var(--border); margin-bottom:1rem; }
    .section-item { padding:1.25rem 0; border-bottom:1px solid var(--border); }
    .section-item:last-child { border-bottom:none; padding-bottom:0; }
    .item-name { font-size:0.68rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dim); margin-bottom:0.5rem; }
    .item-issue { font-size:0.83rem; color:#991B1B; background:var(--rdlight); border:1px solid var(--rdbord); border-radius:6px; padding:0.5rem 0.75rem; margin-bottom:0.75rem; line-height:1.55; }
    .before-after { display:grid; grid-template-columns:1fr 1fr; gap:0.625rem; }
    .ba-box { border-radius:8px; padding:0.875rem; font-size:0.82rem; line-height:1.6; }
    .ba-box.before { background:var(--page); border:1px solid var(--border); color:var(--muted); }
    .ba-box.after { background:var(--gnlight); border:1px solid var(--gnbord); color:#065F46; }
    .ba-label { font-size:0.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:0.375rem; opacity:0.65; }
    .tags-row { display:flex; flex-wrap:wrap; gap:0.4rem; margin-top:0.625rem; }
    .tag { font-size:0.75rem; padding:3px 10px; border-radius:20px; background:var(--page); border:1px solid var(--border); color:var(--body); }
    .quick-win { display:flex; gap:0.75rem; padding:0.6rem 0; border-bottom:1px solid var(--border); font-size:0.875rem; color:var(--body); line-height:1.55; }
    .quick-win:last-child { border-bottom:none; }
    .qw-check { color:var(--green); flex-shrink:0; font-weight:700; }
    .exp-item { padding:1rem 0; border-bottom:1px solid var(--border); }
    .exp-item:last-child { border-bottom:none; }
    .exp-company { font-size:0.875rem; font-weight:700; color:var(--navy); }
    .exp-role { font-size:0.8rem; color:var(--muted); margin-bottom:0.625rem; }
    .rewrite-bullet { display:flex; gap:0.5rem; font-size:0.83rem; color:#065F46; margin-bottom:0.375rem; line-height:1.55; }
    .rewrite-bullet::before { content:'→'; color:var(--green); flex-shrink:0; font-weight:700; }
    .changes-note { background:var(--page); border:1px solid var(--border); border-radius:8px; padding:1rem; margin-top:1.25rem; font-size:0.85rem; color:var(--muted); line-height:1.65; }
    .job-label { display:block; font-size:0.83rem; color:var(--muted); margin-bottom:0.5rem; }
    #job-desc-textarea { min-height:110px; }

    @media (max-width:520px) {
      .before-after,.sample-cols { grid-template-columns:1fr; }
      .review-meta { flex-direction:column; gap:1rem; }
      .review-score-block { text-align:left; }
      .hero-title { font-size:2rem; }
      .review-card,.upsell-section,.paid-card { padding:1.5rem; }
      .reviews-grid { grid-template-columns:1fr; }
    }

    /* ── REVIEW SYSTEM ── */
    .reviews-header-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.25rem; }
    .btn-write-review { background:var(--white); border:1px solid var(--border); border-radius:8px; color:var(--ember); padding:0.4rem 0.875rem; font-size:0.78rem; font-weight:600; cursor:pointer; box-shadow:var(--sh-sm); transition:all 0.15s; }
    .btn-write-review:hover { border-color:var(--ember); background:var(--emlight); }
    .reviews-empty { text-align:center; padding:2rem 1rem; color:var(--muted); font-family:Georgia,serif; font-style:italic; font-size:0.9rem; background:var(--white); border:1px solid var(--border); border-radius:12px; }
    .review-form-wrap { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.5rem; margin-top:1rem; box-shadow:var(--sh-sm); }
    .form-group { margin-bottom:1rem; }
    .form-group label { display:block; font-size:0.78rem; font-weight:600; color:var(--body); margin-bottom:0.375rem; }
    .form-group input[type="text"] { width:100%; background:var(--page); border:1px solid var(--border); border-radius:8px; color:var(--navy); font-size:0.875rem; padding:0.625rem 0.875rem; outline:none; transition:border-color 0.15s,box-shadow 0.15s; font-family:inherit; }
    .form-group input[type="text"]:focus { border-color:var(--ember); box-shadow:0 0 0 3px rgba(200,75,17,0.1); background:var(--white); }
    .star-picker { display:flex; gap:0.125rem; }
    .star-btn { background:none; border:none; font-size:1.75rem; color:#D1D9E6; cursor:pointer; transition:color 0.1s; padding:0 2px; line-height:1; }
    .star-btn.active,.star-btn.hover { color:#F59E0B; }
    .review-success { background:var(--gnlight); border:1px solid var(--gnbord); border-left:3px solid var(--green); border-radius:0 8px 8px 0; padding:0.75rem 1rem; font-size:0.85rem; color:#065F46; margin-bottom:0.875rem; }
    .review-loading { text-align:center; padding:1.5rem; color:var(--muted); font-size:0.875rem; }

    .loading-meter-title { font-size:0.65rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--dim); margin-bottom:0.75rem; }
    .result-review-wrap { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.75rem; box-shadow:var(--sh-md); margin-bottom:1rem; }
    .result-review-hdr { text-align:center; margin-bottom:1.25rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
    .result-review-title { font-size:1.2rem; color:var(--navy); margin-bottom:0.25rem; }
    .result-review-sub { font-size:0.85rem; color:var(--muted); }

    .sample-tag { font-size:0.72rem; color:var(--muted); margin-bottom:0.625rem; }
    .sample-after-clear { padding:0.875rem; background:var(--gnlight); border:1px solid var(--gnbord); border-radius:8px; font-size:0.82rem; color:#065F46; line-height:1.6; }
    .sample-more-cta { margin-top:0.875rem; padding-top:0.875rem; border-top:1px solid var(--embord); text-align:center; }
    .sample-more-label { font-size:0.78rem; color:var(--muted); margin-bottom:0.625rem; line-height:1.5; }
    .gauge-wrap svg text { font-family:system-ui,Georgia,sans-serif; }

    .hero-gauge-wrap { display:flex; justify-content:center; margin-bottom:0.25rem; }
    .nav-logo { display:flex; align-items:center; gap:4px; }

    /* Tips bar */
    .tips-bar { background:var(--white); border:1px solid var(--border); border-left:3px solid var(--ember); border-radius:0 12px 12px 0; padding:1.25rem 1.5rem; margin-bottom:1rem; }
    .tips-bar-title { font-size:0.78rem; font-weight:700; color:var(--ember); margin-bottom:0.625rem; }
    .tips-bar ul { padding-left:1.125rem; }
    .tips-bar li { font-size:0.82rem; color:var(--body); margin-bottom:0.375rem; line-height:1.6; }

    /* Disclaimer */
    .disclaimer-bar { background:var(--red-light,#fef2f2); border:1px solid var(--rdbord,#fecaca); border-left:3px solid var(--red,#dc2626); border-radius:0 8px 8px 0; padding:0.875rem 1rem; margin-bottom:1rem; font-size:0.82rem; color:#7f1d1d; line-height:1.6; }

    /* Editable bullets */
    [contenteditable="true"] { outline:none; cursor:text; border-radius:4px; transition:background 0.15s,box-shadow 0.15s; }
    [contenteditable="true"]:hover { background:rgba(200,75,17,0.04); }
    [contenteditable="true"]:focus { background:var(--emlight); box-shadow:0 0 0 2px var(--embord); padding:2px 4px; margin:-2px -4px; }
    .edit-hint { font-size:0.65rem; color:var(--dim); letter-spacing:1px; text-transform:uppercase; margin-bottom:0.375rem; }

    /* Action buttons on paid results */
    .paid-actions { display:flex; gap:0.625rem; flex-wrap:wrap; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); }
    .btn-download { flex:1; min-width:160px; padding:0.75rem; border-radius:8px; background:var(--ember); color:white; border:none; font-size:0.875rem; font-weight:700; cursor:pointer; transition:all 0.2s; box-shadow:0 2px 8px rgba(200,75,17,0.2); }
    .btn-download:hover { background:var(--ember2,#e05a14); transform:translateY(-1px); }
    .btn-regenerate { flex:1; min-width:140px; padding:0.75rem; border-radius:8px; background:var(--page); border:1px solid var(--border2,#b8c4d8); color:var(--body); font-size:0.875rem; font-weight:600; cursor:pointer; transition:all 0.15s; }
    .btn-regenerate:hover { border-color:var(--ember); color:var(--ember); }
    .btn-regenerate:disabled { opacity:0.45; cursor:not-allowed; }

    /* ── SUITE NAV (cross-tool navigation) ── */
    .suite-nav { background:var(--navy); padding:0.5rem 1.5rem; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
    .suite-nav-inner { display:flex; gap:1.25rem; max-width:900px; margin:0 auto; align-items:center; }
    .suite-nav a { font-size:0.78rem; font-weight:600; color:#94A3B8; text-decoration:none; padding:0.35rem 0; border-bottom:2px solid transparent; transition:all 0.15s; flex-shrink:0; }
    .suite-nav a:hover { color:#E2E8F0; }
    .suite-nav a.current { color:#FFFFFF; border-bottom-color:var(--ember2); }

    /* ── CROSS-SELL TEASER (shown after any result) ── */
    .crosssell-block { background:linear-gradient(135deg,var(--navy) 0%,#1E293B 100%); border-radius:12px; padding:1.5rem; margin-bottom:1rem; color:white; box-shadow:var(--sh-md); }
    .crosssell-eyebrow { font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#FDBA74; margin-bottom:0.5rem; }
    .crosssell-title { font-family:Georgia,serif; font-size:1.15rem; margin-bottom:0.4rem; line-height:1.4; }
    .crosssell-sub { font-size:0.85rem; color:#CBD5E1; margin-bottom:1rem; line-height:1.55; }
    .crosssell-btn { display:inline-flex; align-items:center; gap:0.4rem; background:white; color:var(--navy); border:none; padding:0.65rem 1.25rem; border-radius:8px; font-size:0.85rem; font-weight:700; cursor:pointer; text-decoration:none; transition:transform 0.15s; }
    .crosssell-btn:hover { transform:translateY(-1px); }

    /* ── CHECKLIST (LinkedIn completeness, etc.) ── */
    .checklist-item { display:flex; gap:0.75rem; padding:0.75rem 0; border-bottom:1px solid var(--border); }
    .checklist-item:last-child { border-bottom:none; }
    .checklist-check { color:var(--ember); font-weight:700; flex-shrink:0; font-size:1.1rem; line-height:1.3; }
    .checklist-body .checklist-name { font-size:0.875rem; font-weight:700; color:var(--navy); margin-bottom:0.15rem; }
    .checklist-body .checklist-note { font-size:0.8rem; color:var(--muted); line-height:1.5; }

    /* ── Q&A CARD (Interview tool) ── */
    .qa-card { background:var(--page); border:1px solid var(--border); border-radius:10px; padding:1.125rem; margin-bottom:0.875rem; }
    .qa-question { font-family:Georgia,serif; font-style:italic; font-size:0.9rem; color:var(--navy); margin-bottom:0.625rem; }
    .qa-answer { font-size:0.85rem; color:var(--body); line-height:1.7; }

    /* ── CAREER PASS BANNER (featured upsell across all tools) ── */
    .pass-banner { background:linear-gradient(135deg,#1E293B 0%,var(--navy) 100%); border-radius:14px; padding:1.5rem; margin-bottom:1.25rem; color:white; box-shadow:var(--sh-lg); border:1px solid #334155; position:relative; overflow:hidden; }
    .pass-banner::before { content:'✦'; position:absolute; top:-10px; right:10px; font-size:6rem; color:rgba(255,255,255,0.05); }
    .pass-flag { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#0F172A; background:#FDBA74; padding:3px 10px; border-radius:20px; margin-bottom:0.75rem; }
    .pass-title { font-family:Georgia,serif; font-size:1.3rem; margin-bottom:0.4rem; }
    .pass-desc { font-size:0.85rem; color:#CBD5E1; line-height:1.6; margin-bottom:1rem; max-width:520px; }
    .pass-price-row { display:flex; align-items:baseline; gap:0.5rem; margin-bottom:1rem; }
    .pass-price { font-family:Georgia,serif; font-size:2rem; }
    .pass-period { font-size:0.8rem; color:#94A3B8; }
    .pass-cta-row { display:flex; gap:0.75rem; flex-wrap:wrap; align-items:center; }
    .pass-btn { background:var(--ember); color:white; border:none; padding:0.75rem 1.5rem; border-radius:8px; font-size:0.875rem; font-weight:700; cursor:pointer; box-shadow:0 2px 8px rgba(200,75,17,0.35); }
    .pass-btn:hover { background:var(--ember2); }
    .pass-restore-link { background:none; border:none; color:#94A3B8; font-size:0.8rem; text-decoration:underline; cursor:pointer; }
    .pass-restore-link:hover { color:white; }

    /* ── RESTORE PASS MODAL ── */
    .restore-input-row { display:flex; gap:0.5rem; margin-top:1rem; }
    .restore-input-row input { flex:1; background:var(--page); border:1px solid var(--border); border-radius:8px; padding:0.65rem 0.875rem; font-size:0.875rem; outline:none; }
    .restore-input-row input:focus { border-color:var(--ember); }
    .restore-status { font-size:0.82rem; margin-top:0.75rem; line-height:1.5; }
    .restore-status.ok { color:var(--green); }
    .restore-status.err { color:var(--red); }

/* ── READINESS DASHBOARD ── */
.readiness-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:2rem; box-shadow:var(--sh-md); margin-bottom:1.25rem; text-align:center; }
.readiness-score-num { font-family:Georgia,serif; font-size:4rem; font-weight:900; color:var(--navy); line-height:1; }
.readiness-score-label { font-size:0.85rem; color:var(--muted); margin-top:0.5rem; }
.readiness-progress-track { height:10px; background:var(--page); border-radius:6px; overflow:hidden; margin:1.25rem auto 0.5rem; max-width:320px; }
.readiness-progress-fill { height:100%; background:linear-gradient(90deg,var(--ember),var(--ember2)); border-radius:6px; transition:width 0.6s ease; }
.readiness-progress-caption { font-size:0.78rem; color:var(--dim); }

.tool-progress-grid { display:flex; flex-direction:column; gap:0.875rem; }
.tool-progress-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.25rem; box-shadow:var(--sh-sm); display:flex; align-items:center; gap:1rem; }
.tool-progress-icon { font-size:1.75rem; flex-shrink:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:var(--page); border-radius:10px; }
.tool-progress-body { flex:1; min-width:0; }
.tool-progress-name { font-size:0.95rem; font-weight:700; color:var(--navy); }
.tool-progress-status { font-size:0.8rem; margin-top:0.15rem; }
.tool-progress-status.status-none { color:var(--dim); }
.tool-progress-status.status-roasted { color:#D97706; }
.tool-progress-status.status-unlocked { color:var(--green); }
.tool-progress-cta { flex-shrink:0; font-size:0.8rem; font-weight:700; padding:0.55rem 1rem; border-radius:8px; text-decoration:none; white-space:nowrap; }
.tool-progress-cta.primary { background:var(--ember); color:white; }
.tool-progress-cta.secondary { background:var(--page); color:var(--body); border:1px solid var(--border); }

/* ── ATS PARSE PREVIEW ── */
.ats-preview { background:#F8FAFC; border:1px solid var(--border); border-left:3px solid #64748B; border-radius:0 10px 10px 0; padding:1rem; margin-bottom:1.25rem; }
.ats-preview .eyebrow { color:#475569; }

/* ── LIVE INTERVIEW PRACTICE CHAT ── */
.practice-bubble { border-radius:12px; padding:0.875rem 1rem; margin-bottom:0.75rem; font-size:0.875rem; line-height:1.6; max-width:88%; }
.practice-bubble.interviewer { background:var(--page); border:1px solid var(--border); color:var(--navy); margin-right:auto; }
.practice-bubble.candidate { background:var(--navy); color:white; margin-left:auto; }
.practice-bubble-label { font-size:0.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:0.6; margin-bottom:0.3rem; }
.practice-summary-box { background:var(--gnlight); border:1px solid var(--gnbord); border-radius:10px; padding:1.25rem; }

/* ── MY VERSIONS (dashboard) ── */
.version-group { margin-bottom: 1.5rem; }
.version-group-title { font-size: 0.8rem; font-weight: 700; color: var(--navy); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.625rem; }
.version-item { background: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 0.875rem 1rem; margin-bottom: 0.625rem; display: flex; align-items: center; gap: 0.75rem; }
.version-checkbox { flex-shrink: 0; width: 18px; height: 18px; }
.version-body { flex: 1; min-width: 0; }
.version-label { font-size: 0.875rem; font-weight: 600; color: var(--navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.version-date { font-size: 0.75rem; color: var(--dim); margin-top: 0.15rem; }
.version-delete { flex-shrink: 0; background: none; border: none; color: var(--dim); cursor: pointer; font-size: 1rem; padding: 0.25rem; }
.version-delete:hover { color: var(--red); }
.version-empty { text-align: center; color: var(--dim); font-size: 0.85rem; padding: 2rem 1rem; }
.diff-box { background: var(--page); border: 1px solid var(--border); border-radius: 10px; padding: 1.25rem; margin-top: 1rem; font-size: 0.875rem; line-height: 1.8; }
.diff-legend { font-size: 0.75rem; color: var(--dim); margin-bottom: 0.75rem; }
