*{box-sizing:border-box}html{overflow-x:hidden;text-size-adjust:100%}:root{--bg-page:#f8f9fa;--bg-card:#fff;--bg-subtle:#f5f6f8;--border:#e2e5e9;--border-focus:#8b99a6;--text:#2c3238;--text-secondary:#5b6570;--text-muted:#6b7680;--accent:#5c6f7c;--accent-soft:#7d8f9c;--pastel:#eef1f4;--pastel-accent:#e4e9ed;--pastel-ivoire:#fafaf8;--bg-ivoire-card:#f5f2eb;--shadow:0 1px 3px rgba(44,50,56,.06);--shadow-md:0 4px 12px rgba(44,50,56,.08);--shadow-card:0 2px 8px rgba(44,50,56,.06);--radius:10px;--radius-sm:8px;--radius-card:16px}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-page);color:var(--text);min-height:100vh;line-height:1.55;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app{width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}@media (min-width:640px){.app{padding:2rem 2rem 3rem}}@media (min-width:900px){.app{padding:2.5rem 2.5rem 4rem}}.app-header{margin-bottom:2.25rem}.app-hero{background:var(--bg-ivoire-card);border:1px solid var(--border-focus);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:2rem 1.5rem;text-align:center;max-width:100%}@media (min-width:640px){.app-hero{padding:2.25rem 2rem}}@media (min-width:900px){.app-hero{padding:2.5rem 2.25rem}}.app-hero h1{margin:0 auto .65rem;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.2;text-align:center}@media (min-width:640px){.app-hero h1{font-size:2.15rem}}.app-hero .app-header-subtitle{margin:0 auto;font-size:1.05rem;font-weight:700;line-height:1.55;color:var(--text-secondary);max-width:36rem;text-align:center}.app-main{display:flex;flex-direction:column;gap:2.25rem}@media (min-width:640px){.app-main{gap:2.5rem}}@media (min-width:900px){.app-main{gap:2.75rem}}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border)}@media (min-width:640px){.card{padding:1.75rem}}@media (min-width:900px){.card{padding:2rem 2.25rem}}.section-title{margin:0 0 1.25rem;font-size:1.18rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.formulaire-stage.card{background:#f6f2ea;border:1px solid var(--border-focus);border-radius:16px;box-shadow:0 4px 20px rgba(44,50,56,.08)}.formulaire-stage .section-title{font-size:1.22rem;margin-bottom:1.35rem;color:var(--text)}.form-stage{gap:1rem}.form-field,.form-stage{display:flex;flex-direction:column}.form-field{gap:.35rem}.form-field .label,.form-field label:not(.checkboxes label){font-size:.9rem;font-weight:700;color:var(--text-secondary)}.form-field input[type=text],.form-field select{padding:.55rem .75rem;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text)}.form-field input[type=text]:focus,.form-field select:focus{outline:none;border-color:var(--border-focus)}.form-field.preferences .checkboxes{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.form-field.preferences .checkboxes label{display:flex;align-items:center;gap:.4rem;font-weight:400}.domaine-field{margin-top:.75rem}.domaine-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted)}.domaine-field input,.input-domaine{max-width:200px}.pays-selection .pays-hint{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted)}.pays-grille{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.35rem}.pays-carte{padding:.5rem .85rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--pastel);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}.pays-carte:hover{border-color:var(--accent-soft);background:var(--pastel-accent);box-shadow:0 1px 2px rgba(0,0,0,.04)}.pays-carte--selected{border-color:var(--accent);background:var(--pastel-accent);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(92,111,124,.12)}.btn-rechercher{margin-top:.25rem;padding:.6rem 1.15rem;font-size:1rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);cursor:pointer;font-weight:500;transition:background .2s,color .2s}.btn-rechercher:hover{background:var(--accent);color:var(--bg-card)}.btn-rechercher:disabled{opacity:.6;cursor:not-allowed}.resultats.card{background:var(--pastel);border:1px solid var(--border-focus);border-radius:16px;box-shadow:0 4px 20px rgba(44,50,56,.08)}.resultats .section-title{font-size:1.2rem}.resultats-placeholder{margin:0;font-size:.95rem;color:var(--text-muted)}.resultats-query{margin:0 0 .85rem;font-size:.9rem;color:var(--text-secondary)}.resultats-query strong{color:var(--text)}.liste-plateformes{list-style:none;margin:0;padding:0}.liste-plateformes li{margin-bottom:.65rem}.lien-plateforme{display:inline-block;padding:.35rem 0;font-size:.95rem;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.lien-plateforme:hover{color:var(--accent-soft);border-bottom-color:var(--accent-soft)}.resultats-conseil-dates{margin:1rem 0 0;padding:.6rem .85rem;font-size:.85rem;color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.telechargements.card{background:#f6f2ea;border:1px solid var(--border-focus);border-radius:16px;box-shadow:0 4px 20px rgba(44,50,56,.08);padding:1.75rem}@media (min-width:640px){.telechargements.card{padding:2rem}}@media (min-width:768px){.telechargements.card{padding:2.25rem 2.5rem}}.telechargements .section-title{margin-bottom:.75rem}.telechargements-intro{margin:0 0 1.5rem;font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.telechargements .dropzone{border:2px dashed var(--border-focus);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;background:var(--bg-card);transition:border-color .2s,background .2s,box-shadow .2s;cursor:pointer;margin-bottom:1rem;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.04)}.telechargements .dropzone:before{content:"";display:block;width:44px;height:44px;margin:0 auto .75rem;border:2px dashed var(--border-focus);border-radius:50%;opacity:.75}.telechargements .dropzone:hover{border-color:var(--accent-soft);background:var(--bg-card);box-shadow:var(--shadow)}.telechargements .dropzone.dragover{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px rgba(92,111,124,.15)}.telechargements .dropzone p{margin:0;color:var(--text-secondary);font-size:.95rem;font-weight:500}.telechargements .file-info{margin-bottom:0;padding:.85rem 1.1rem;background:var(--bg-subtle);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;border:1px solid var(--border)}.telechargements .file-info strong{color:var(--text)}.telechargements .btn-supprimer-cv{margin-left:auto;padding:.4rem .75rem;font-size:.8rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);cursor:pointer;font-weight:500;transition:background .2s,color .2s}.telechargements .btn-supprimer-cv:hover{background:var(--accent);color:var(--bg-card)}.telechargements input[type=file]{display:none}.telechargements-grid{display:flex;flex-direction:column;gap:1.75rem}.telechargements-col{min-width:0}.telechargements-sous-titre{margin:0 0 1rem;font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.telechargements-liste-liens{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.telechargements-outil{display:block;padding:.6rem .9rem;font-size:.9rem;color:var(--accent);text-decoration:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:500;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;box-shadow:0 1px 2px rgba(0,0,0,.03)}.telechargements-outil:hover{background:var(--pastel);border-color:var(--accent-soft);color:var(--text);box-shadow:0 2px 4px rgba(0,0,0,.05)}@media (min-width:768px){.telechargements-grid{flex-direction:row;gap:2rem;align-items:stretch}.telechargements-col-cv{flex:1 1;min-width:0}.telechargements-col-liens{flex:1 1;min-width:0;display:flex;flex-direction:column;padding-left:1.75rem;border-left:1px solid var(--pastel-accent)}.telechargements-liste-liens{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;flex:1 1}}.form-lettre{display:flex;flex-direction:column;gap:1rem}.lettre-motivation .btn-rechercher{margin-top:.25rem}.lettre-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.5rem;font-size:.85rem}.lettre-suggestions-label{color:var(--text-muted);margin-right:.25rem}.lettre-suggestion-tag{padding:.3rem .55rem;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s}.lettre-suggestion-tag:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent-soft)}.lettre-suggestion-tag:disabled{opacity:.6;cursor:default}.lettre-motivation.card{background:var(--pastel);border:1px solid var(--border-focus);border-radius:16px;box-shadow:0 4px 20px rgba(44,50,56,.08)}.lettre-motivation .section-title{font-size:1.2rem}.lettre-resultat{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.lettre-resultat .label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:700;color:var(--text-secondary)}.textarea-lettre{width:100%;padding:.85rem 1rem;font-size:.95rem;line-height:1.6;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);resize:vertical;min-height:280px}.textarea-lettre:focus{outline:none;border-color:var(--border-focus)}.btn-copier{margin-top:.75rem;padding:.55rem 1.1rem;font-size:.9rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);cursor:pointer;font-weight:500;transition:background .2s,color .2s}.btn-copier:hover{background:var(--accent);color:var(--bg-card)}.pack-candidature.card{background:#f6f2ea;border:1px solid var(--border-focus);border-radius:16px;box-shadow:0 4px 20px rgba(44,50,56,.08)}.pack-candidature .section-title{font-size:1.2rem}.pack-candidature-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.pack-candidature .btn-rechercher{background:var(--accent);color:var(--bg-card);border-color:var(--accent)}.pack-candidature .btn-rechercher:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-soft);color:var(--bg-card)}.pack-candidature .btn-rechercher:disabled{opacity:.6;cursor:not-allowed;background:var(--pastel-accent);color:var(--text-muted);border-color:var(--border)}.page-accueil{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem;background:var(--bg-page)}.accueil-wrapper{width:100%;max-width:720px}.accueil-hero{background:var(--bg-ivoire-card);border:1px solid var(--border-focus);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem 1.75rem;text-align:center}@media (min-width:640px){.accueil-hero{padding:2rem 2.5rem}}.accueil-hero-title{margin:0 0 .65rem;font-size:2.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.2}@media (min-width:640px){.accueil-hero-title{font-size:2.75rem}}.accueil-hero-subtitle{margin:0 auto 1rem;font-size:1.1rem;line-height:1.55;color:#454d56;max-width:32rem}.accueil-hero-texte{margin:0 auto 1rem;font-size:.95rem;line-height:1.5;color:var(--text-secondary);max-width:32rem}.accueil-cta{display:inline-block;padding:.75rem 1.5rem;font-size:1.05rem;font-weight:600;color:var(--bg-card);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);text-decoration:none;transition:background .2s,border-color .2s,color .2s;min-height:2.75rem;line-height:1.3}.accueil-cta:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--bg-card)}.accueil-section{margin-top:3rem;background:var(--bg-ivoire-card);border:1px solid var(--border-focus);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:2rem 1.75rem}@media (min-width:640px){.accueil-section{padding:2.25rem 2.5rem}}.accueil-section-compact{padding:1.25rem 1.75rem}.accueil-section-compact .accueil-section-title{margin-bottom:.75rem}.accueil-section-compact .accueil-puces{gap:.35rem}@media (min-width:640px){.accueil-section-compact{padding:1.5rem 2.5rem}}.accueil-section-title{margin:0 0 1.25rem;font-size:1.4rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.accueil-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1rem}.accueil-step{display:flex;align-items:flex-start;gap:.75rem;font-size:1rem;line-height:1.5;color:var(--text-secondary)}.accueil-step-num{flex-shrink:0;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg-card);font-weight:700;font-size:.9rem;border-radius:50%}.accueil-puces{margin:0;padding:0 0 0 1.25rem;list-style:none;display:flex;flex-direction:column;gap:.6rem}.accueil-puces li{position:relative;font-size:1rem;line-height:1.5;color:var(--text-secondary)}.accueil-puces li:before{content:"";position:absolute;left:-1.25rem;top:.5rem;width:.35rem;height:.35rem;background:var(--accent);border-radius:50%}.accueil-ressources{display:flex;flex-direction:column;gap:1.5rem}.accueil-ressources-block{margin:0}.accueil-ressources-subtitle{margin:0 0 .6rem;font-size:1.05rem;font-weight:600;color:var(--text)}.accueil-links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.accueil-link,.accueil-link:visited{color:var(--accent);font-weight:700;text-decoration:none;font-size:.95rem;transition:color .15s}.accueil-link:hover{color:var(--accent-soft);text-decoration:underline}.accueil-externe-mention{margin:1rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.5;font-style:italic}.accueil-footer{margin-top:4rem;padding-top:2rem;padding-bottom:1rem;border-top:1px solid var(--border);text-align:center}.accueil-reassurance{margin:0 auto;font-size:.9rem}.accueil-copyright,.accueil-reassurance{color:var(--text-muted);line-height:1.5;text-align:center}.accueil-copyright{margin:.5rem auto 0;font-size:.85rem}.recherche-retour-accueil{display:inline-block;margin-bottom:1rem;padding:.4rem 0;font-size:.95rem;font-weight:600;color:var(--accent);text-decoration:none;transition:color .15s}.recherche-retour-accueil:hover{color:var(--accent-soft);text-decoration:underline}@media (max-width:639px){.page-accueil{padding:max(1.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));align-items:flex-start}.accueil-wrapper{max-width:100%;width:100%}.accueil-hero{padding:1.25rem 1rem}.accueil-hero-title{font-size:1.75rem;line-height:1.25;word-wrap:break-word}.accueil-hero-subtitle{font-size:1rem;line-height:1.5}.accueil-hero-texte{font-size:.9rem}.accueil-cta{display:block;width:100%;max-width:100%;text-align:center;box-sizing:border-box;padding:.85rem 1rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center}.accueil-section{padding:1.25rem 1rem;margin-top:2.25rem}.accueil-section-compact{padding:1rem}.accueil-section-title{font-size:1.2rem;line-height:1.35;word-wrap:break-word;overflow-wrap:break-word}.accueil-puces li,.accueil-step{font-size:.95rem;line-height:1.5}.accueil-puces li{overflow-wrap:break-word}.accueil-ressources-subtitle{font-size:.95rem;word-break:break-word;overflow-wrap:break-word}.accueil-links{gap:.5rem .75rem}.accueil-link{padding:.35rem 0;min-height:2.25rem;display:inline-flex;align-items:center}.accueil-footer{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.accueil-copyright,.accueil-reassurance{font-size:.85rem;padding-left:.5rem;padding-right:.5rem;max-width:100%}.app{padding:1rem max(1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.recherche-retour-accueil{min-height:2.75rem;display:inline-flex;align-items:center}.app-hero{padding:1.25rem 1rem}.app-hero h1{font-size:1.75rem;line-height:1.25}.app-hero .app-header-subtitle{font-size:.95rem;line-height:1.5}.app-main{gap:1.75rem}.formulaire-stage.card,.lettre-motivation.card,.pack-candidature.card,.resultats.card,.telechargements.card{padding:1.25rem 1rem}.section-title{font-size:1.1rem;line-height:1.35}.formulaire-stage .section-title{font-size:1.15rem}.pays-grille{gap:.5rem}.pays-carte{padding:.6rem .85rem;font-size:.875rem;min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center}.form-field input[type=text],.form-field select{min-width:0;width:100%;font-size:16px;min-height:2.75rem}.domaine-field input,.input-domaine{max-width:100%}.btn-rechercher{min-height:2.75rem;padding:.75rem 1.25rem}.telechargements .dropzone{padding:1.5rem 1rem;min-height:7rem}.telechargements .dropzone p{font-size:.9rem}.liste-plateformes .lien-plateforme{word-break:break-word;min-height:2.25rem;display:inline-flex;align-items:center}.textarea-lettre{min-height:12rem;font-size:16px}.pack-candidature .btn-rechercher{min-height:2.75rem}}@media (max-width:479px){.page-accueil{padding:max(1rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.accueil-hero{padding:1rem .75rem}.accueil-hero-title{font-size:1.5rem;line-height:1.3}.accueil-hero-subtitle{font-size:.9rem}.accueil-hero-texte{font-size:.85rem}.accueil-cta{padding:.75rem .85rem;min-height:2.75rem}.accueil-section{padding:1rem .75rem;margin-top:2rem}.accueil-section-compact{padding:.85rem .75rem}.accueil-section-title{font-size:1.1rem;line-height:1.4}.app-hero h1{font-size:1.5rem;line-height:1.3}.app-hero .app-header-subtitle{font-size:.9rem}.app{padding:.75rem max(.75rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.app-hero{padding:1rem .75rem}.pays-carte{padding:.5rem .65rem;font-size:.8125rem;min-height:2.5rem}.formulaire-stage.card,.lettre-motivation.card,.pack-candidature.card,.resultats.card,.telechargements.card{padding:1rem .75rem}.section-title{font-size:1rem;line-height:1.4}}