/* Tunnel d'audit — parcours mobile réel (pas de cadre device). */
body{background:var(--canvas);}
.audit-wrap{max-width:480px; margin:0 auto; min-height:100vh; display:flex; flex-direction:column; padding:0 20px 24px;}
.audit-top{display:flex; align-items:center; justify-content:space-between; padding:18px 2px 6px;}
.audit-top .wm{font-size:22px; color:var(--charcoal);}
.audit-top .url{font-family:var(--mono); font-size:11px; color:var(--steel-4);}

/* progress */
.prog{padding:10px 0 4px;}
.prog-bar{height:6px; background:var(--steel-2); border-radius:100px; overflow:hidden;}
.prog-bar i{display:block; height:100%; background:var(--sodium); border-radius:100px; transition:width .3s;}
.prog-meta{display:flex; justify-content:space-between; align-items:center; margin-top:9px; font-family:var(--mono); font-size:11px; color:var(--steel-6); letter-spacing:.04em;}
.prog-meta a{display:flex; align-items:center; gap:5px; color:var(--charcoal); text-decoration:none;}

/* question */
.qbody{flex:1; padding:26px 0 0; display:flex; flex-direction:column;}
.q-kick{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--sodium-700); margin-bottom:12px;}
.q-title{font-family:var(--serif); font-weight:400; font-size:27px; line-height:1.12; margin-bottom:8px;}
.q-help{font-size:14.5px; color:var(--steel-6); margin-bottom:24px; line-height:1.5;}
.opts{display:flex; flex-direction:column; gap:11px;}
.opt{display:flex; align-items:center; gap:13px; padding:17px 16px; border:1.5px solid var(--steel-2); border-radius:12px; background:var(--raised); font-size:16px; font-weight:500; cursor:pointer; user-select:none;}
.opt:hover{border-color:var(--steel-4);}
.opt .ind{width:24px; height:24px; border-radius:50%; border:2px solid var(--steel-3); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--charcoal);}
.opt.chk .ind{border-radius:7px;}
.opt input{position:absolute; opacity:0; pointer-events:none;}
.opt .ind svg{opacity:0;}
.opt.sel{border-color:var(--sodium); background:var(--sodium-50);}
.opt.sel .ind{border-color:var(--sodium); background:var(--sodium);}
.opt.sel .ind svg{opacity:1;}
.opt .oemo{margin-left:auto; opacity:.6;}
.yn{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.yn .opt{flex-direction:column; gap:10px; padding:26px 12px; text-align:center; justify-content:center;}

/* number stepper */
.stepper{display:flex; align-items:center; justify-content:center; gap:26px; margin:30px 0 8px;}
.step-btn{width:64px; height:64px; border-radius:50%; border:1.5px solid var(--charcoal); background:var(--raised); font-size:32px; color:var(--charcoal); display:flex; align-items:center; justify-content:center; line-height:1; cursor:pointer;}
.step-val{font-family:var(--serif); font-size:76px; line-height:1; min-width:96px; text-align:center;}
.step-cap{text-align:center; font-family:var(--mono); font-size:12px; color:var(--steel-6); margin-top:6px;}

/* bottom bar */
.bbar{padding:18px 0 6px; display:flex; flex-direction:column; gap:12px;}
.bbar .save{align-self:center; font-size:13.5px; color:var(--steel-6); text-decoration:none; display:inline-flex; gap:7px; align-items:center;}

/* audit landing */
.al-kick{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--sodium-700); margin:20px 0 12px;}
.al h1{font-family:var(--serif); font-weight:400; font-size:clamp(28px,7vw,38px); line-height:1.08; margin:0;}
.al .alp{font-size:15.5px; color:var(--charcoal-2); margin:16px 0 20px; line-height:1.55;}
.assure{display:flex; gap:8px; margin-bottom:24px;}
.assure div{flex:1; background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:13px 8px; text-align:center;}
.assure b{font-family:var(--serif); font-size:20px; display:block;}
.assure span{font-size:10.5px; color:var(--steel-6); display:block; margin-top:3px; line-height:1.3;}
.id-form{display:flex; flex-direction:column; gap:14px;}

/* result */
.res{flex:1; padding:18px 0 0;}
.gauge{display:flex; justify-content:center; margin-bottom:8px;}
.ring{width:160px; height:160px; position:relative;}
.ring svg{transform:rotate(-90deg);}
.ring .rc{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.ring .rc b{font-family:var(--serif); font-size:50px; line-height:1;}
.ring .rc span{font-family:var(--mono); font-size:10px; color:var(--steel-6); letter-spacing:.06em;}
.verdict{text-align:center; font-family:var(--serif); font-size:22px; margin:10px 0 2px;}
.vsub{text-align:center; font-size:13.5px; color:var(--steel-6); margin-bottom:24px;}
.blk-lbl{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--steel-6); margin:0 0 12px;}
.risk{display:flex; gap:11px; align-items:flex-start; margin-bottom:13px; font-size:14.5px;}
.risk .rd{width:9px; height:9px; border-radius:50%; margin-top:6px; flex-shrink:0;}
.risk b{font-weight:600;} .risk p{margin:2px 0 0; color:var(--steel-6); font-size:12.5px; line-height:1.45;}
.plan{display:flex; flex-direction:column; gap:11px; margin-top:4px;}
.plan .pi{display:flex; gap:12px; align-items:flex-start; font-size:14.5px;}
.plan .pi .pn{width:25px; height:25px; border-radius:50%; background:var(--sodium); color:var(--charcoal); font-family:var(--mono); font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.res-disc{font-size:11px; color:var(--steel-4); font-style:italic; margin:20px 0 0; line-height:1.5;}
