@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #f4f7fb;--surface: #ffffff;--ink: #10243e;--ink-soft: #4a5b73;--primary: #0091ff;--primary-dark: #0072cc;--accent: #f76b15;--ok: #2b8a3e;--ok-bg: #e6f6ec;--warn: #b7791f;--warn-bg: #fff4e0;--danger: #c92a2a;--danger-bg: #fdecec;--focus: #ffb02e;--radius: 20px;--tap-min: 44px;--font: "Baloo 2", "Segoe UI", "Trebuchet MS", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at 15% 15%,#dbeafe 0,transparent 40%),radial-gradient(circle at 85% 85%,#fde7c8 0,transparent 40%),var(--bg);min-height:100vh;min-height:100dvh;line-height:1.4;-webkit-text-size-adjust:100%}body.dyslexic,body.dyslexic .btn,body.dyslexic input{font-family:OpenDyslexic,Comic Sans MS,Segoe UI,sans-serif;letter-spacing:.04em;word-spacing:.12em}#app{display:flex;justify-content:center;align-items:flex-start;padding:clamp(.75rem,3vw,2rem);min-height:100vh;min-height:100dvh}.screen{width:100%;max-width:720px;background:var(--surface);border-radius:var(--radius);padding:clamp(1rem,4vw,2.5rem);box-shadow:0 12px 40px #10243e1f;display:flex;flex-direction:column;gap:clamp(1rem,3vw,1.75rem)}.screen__title{font-size:clamp(1.6rem,5vw,2.4rem);margin:0;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.screen__title-icon{font-size:1.2em}.btn{font-family:inherit;font-weight:700;font-size:clamp(1rem,2.5vw,1.25rem);min-height:var(--tap-min);min-width:var(--tap-min);padding:.7em 1.3em;border:none;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5em;transition:transform .08s ease,box-shadow .15s ease,background .15s ease;touch-action:manipulation}.btn:active{transform:translateY(2px) scale(.98)}.btn__icon{font-size:1.2em;line-height:1}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 6px 0 var(--primary-dark)}.btn--primary:hover{background:var(--primary-dark)}.btn--primary:disabled{background:#9db6cc;box-shadow:none;cursor:progress}.btn--ghost{background:#eef3f9;color:var(--ink)}.btn--ghost:hover{background:#e0e9f3}.btn--big{font-size:clamp(1.15rem,3.5vw,1.6rem);padding:.9em 1.8em}.btn--small{font-size:.9rem;padding:.5em 1em}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.profiles-zone{display:flex;flex-direction:column;gap:1.25rem}.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:clamp(.75rem,2.5vw,1.25rem)}.profile-card{font-family:inherit;background:#f6f9fd;border:3px solid transparent;border-radius:var(--radius);padding:1rem .5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.6rem;min-height:150px;transition:transform .1s ease,border-color .15s ease,box-shadow .15s ease}.profile-card:hover{border-color:var(--primary);box-shadow:0 8px 20px #10243e1f}.profile-card:active{transform:scale(.97)}.profile-card__avatar{width:clamp(64px,16vw,88px);height:clamp(64px,16vw,88px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,8vw,2.8rem);box-shadow:inset 0 -6px #0000001f}.profile-card__avatar--new{background:#dfe8f2;color:var(--primary-dark);font-weight:800}.profile-card--new{border-style:dashed;border-color:#b9c9dc;background:#fbfdff}.profile-card__name{font-weight:700;font-size:clamp(1rem,3vw,1.2rem);text-align:center;overflow-wrap:anywhere}.avatar-preview{align-self:center;width:clamp(120px,34vw,170px);height:clamp(120px,34vw,170px);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -10px #0000001f,0 10px 24px #10243e2e;transition:background-color .2s ease}.avatar-preview__face{font-size:clamp(3rem,12vw,4.5rem)}.field{display:flex;flex-direction:column;gap:.4rem}.field__label{font-weight:700;font-size:1.05rem}.field__input{font-family:inherit;font-size:1.25rem;padding:.6em .8em;min-height:var(--tap-min);border:3px solid #cdd9e6;border-radius:14px;background:#fff;color:var(--ink)}.field__input:focus{border-color:var(--primary);outline:none}.chooser{display:flex;flex-direction:column;gap:.6rem}.chooser__legend{margin:0;font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.4rem}.chooser__options{display:flex;flex-wrap:wrap;gap:.7rem}.swatch{width:clamp(48px,12vw,60px);height:clamp(48px,12vw,60px);border-radius:50%;border:4px solid transparent;cursor:pointer;box-shadow:inset 0 -5px #0000001f;transition:transform .1s ease,border-color .15s ease}.swatch:hover{transform:scale(1.08)}.swatch.is-selected{border-color:var(--ink);transform:scale(1.12)}.hat-option{font-family:inherit;width:clamp(52px,13vw,64px);height:clamp(52px,13vw,64px);border-radius:16px;border:4px solid #cdd9e6;background:#f6f9fd;font-size:clamp(1.6rem,6vw,2rem);cursor:pointer;transition:transform .1s ease,border-color .15s ease}.hat-option:hover{transform:scale(1.06)}.hat-option.is-selected{border-color:var(--primary);background:#e7f2ff;transform:scale(1.08)}.accueil-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.accueil-header__avatar{width:clamp(52px,13vw,68px);height:clamp(52px,13vw,68px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(1.6rem,6vw,2.2rem);box-shadow:inset 0 -5px #0000001f;flex:0 0 auto}.accueil-header .screen__title{flex:1 1 auto;text-align:left;justify-content:flex-start}.instruction{margin:0;font-size:clamp(1.05rem,3vw,1.3rem);font-weight:600;color:var(--ink-soft);display:flex;align-items:center;gap:.5rem;justify-content:center;text-align:center}.measure-zone{display:flex;flex-direction:column;align-items:center;gap:1rem}.tap-target{width:clamp(180px,55vw,260px);height:clamp(180px,55vw,260px);border-radius:50%;border:none;background:radial-gradient(circle at 50% 40%,#ffd36b 0,var(--accent) 75%);box-shadow:0 10px #c85306,0 16px 30px #10243e33;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:transform .06s ease,box-shadow .06s ease}.tap-target__icon{font-size:clamp(4rem,18vw,6rem);pointer-events:none}.tap-target:active{transform:translateY(6px);box-shadow:0 4px #c85306,0 8px 16px #10243e33}.tap-target.is-pulsing{transform:scale(1.06);box-shadow:0 10px #c85306,0 0 0 12px #f76b1540}.progress-text{margin:0;font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:800;color:var(--accent);min-height:1.6em}.status{text-align:center;color:var(--ink-soft);font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.status--muted{font-size:.95rem;opacity:.85}.spinner{width:1.2em;height:1.2em;border:3px solid #cdd9e6;border-top-color:var(--primary);border-radius:50%;animation:phonia-spin .8s linear infinite}@keyframes phonia-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}.btn,.tap-target,.profile-card,.swatch,.hat-option{transition:none}}.error-box{margin:0;color:var(--danger);font-weight:700;text-align:center}.error-box--block{background:var(--danger-bg);padding:1rem;border-radius:14px}.result-box{margin:0;padding:1rem 1.25rem;border-radius:16px;font-size:clamp(1.05rem,3vw,1.25rem);font-weight:700;text-align:center}.result-box--ok{background:var(--ok-bg);color:var(--ok)}.result-box--warn{background:var(--warn-bg);color:var(--warn)}.a11y-toggle{position:fixed;top:.75rem;right:.75rem;z-index:100;font-family:var(--font);font-size:.9rem;font-weight:700;min-height:var(--tap-min);padding:.5em 1em;border:2px solid #cdd9e6;border-radius:999px;background:#ffffffeb;color:var(--ink);cursor:pointer;box-shadow:0 4px 12px #10243e1f}.a11y-toggle:hover{background:#fff}@media (max-width: 480px){.screen{margin-top:3rem}}
