/* app/perf-express.css — le test de performance de 15 s (app/perf-express.js) : la couche du test et son
   bandeau, l'écran de départ et celui du résultat, au néon des menus, sans défilement debout comme couché. */
.px-couche{position:fixed;inset:0;z-index:99990;touch-action:none;-webkit-user-select:none;user-select:none;}
.px-bandeau{position:absolute;left:50%;top:calc(6px + env(safe-area-inset-top,0px));transform:translateX(-50%);width:min(440px,calc(100% - 24px));
 box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:2px 10px;padding:7px 8px 8px 12px;border-radius:12px;
 background:rgba(4,6,16,.82);border:1px solid rgba(0,224,255,.45);box-shadow:0 0 14px rgba(0,224,255,.18);color:#e7e9ee;font:13px/1.2 system-ui,sans-serif;}
.px-titre{font-weight:700;color:#7ff3ff;white-space:nowrap;}
.px-etape{color:#ffd23d;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.px-reste{font-variant-numeric:tabular-nums;color:#cfd3dc;}
.px-arret{font:inherit;font-size:12px;color:#e7e9ee;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:4px 9px;cursor:pointer;}
.px-barre{grid-column:1 / -1;display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden;}
.px-barre b{display:block;height:100%;width:0;background:linear-gradient(90deg,#00e0ff,#9a5cff 52%,#ff2fd0);transition:width .25s linear;}
.px-aide{grid-column:1 / -1;font-size:11.5px;color:#8d93a6;min-height:1.2em;}
/* Le rond sous le doigt : ce que l'image doit montrer (le délai est mesuré jusqu'à elle). */
.px-rond{position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;border:3px solid #7ff3ff;box-sizing:border-box;
 pointer-events:none;animation:px-rond .42s ease-out forwards;}
@keyframes px-rond{from{transform:scale(.5);opacity:1;}to{transform:scale(1.4);opacity:0;}}

/* Les écrans de départ et de résultat. */
.px-ecran{position:fixed;inset:0;z-index:99995;display:flex;align-items:center;justify-content:center;box-sizing:border-box;
 padding:calc(10px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));
 background:rgba(3,2,10,.72);color:#e7e9ee;font:14px/1.3 system-ui,sans-serif;}
.px-carte{box-sizing:border-box;width:min(480px,100%);max-height:100%;overflow:hidden;padding:16px;border-radius:14px;
 background:linear-gradient(180deg,rgba(14,18,36,.97),rgba(6,8,20,.97));border:1px solid rgba(0,224,255,.4);box-shadow:0 0 24px rgba(0,224,255,.15);}
.px-h{margin:0;font:900 20px/1.1 'Arial Black',Impact,system-ui,sans-serif;text-transform:uppercase;color:#7ff3ff;letter-spacing:.01em;}
.px-depart p{margin:10px 0 0;color:#cfd3dc;}
.px-boutons{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px;}
.px-btn.px-menus{flex:1 0 100%;min-height:38px;font-size:13.5px;color:#7ff3ff;border-color:rgba(0,224,255,.45);}
.px-btn{font:700 15px system-ui,sans-serif;min-height:44px;padding:0 18px;border-radius:10px;cursor:pointer;color:#e7e9ee;
 background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.28);}
.px-btn.px-go{color:#03131a;background:#00e0ff;border-color:#00e0ff;box-shadow:0 0 12px rgba(0,224,255,.45);}
.px-btn[disabled]{opacity:.55;box-shadow:none;cursor:default;}

/* Le résultat : la note et son verdict, quatre chiffres, une ligne par partie, l'appareil. */
.px-fin .px-carte{display:grid;grid-template-columns:1fr;gap:12px;}
.px-tete{display:flex;align-items:center;gap:14px;}
.px-note{flex:none;width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
 border:4px solid currentColor;box-shadow:0 0 16px currentColor inset,0 0 12px currentColor;}
.px-note b{font:900 38px/1 'Arial Black',Impact,system-ui,sans-serif;color:#fff;}
.px-note small{font-size:12px;color:#cfd3dc;}
.px-verdict p{margin:4px 0 0;color:#cfd3dc;font-size:13.5px;}
.px-verdict .px-obj{font-weight:700;font-size:13px;}
.px-tuiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.px-tuile{display:flex;flex-direction:column;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-left:3px solid currentColor;}
.px-tuile .px-t{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#8d93a6;}
.px-tuile b{font:800 24px/1.15 system-ui,sans-serif;color:#fff;font-variant-numeric:tabular-nums;}
.px-tuile b small{font-size:13px;font-weight:600;color:#cfd3dc;}
.px-tuile .px-s{font-size:11.5px;color:#a9afc0;}
.px-lignes{display:grid;gap:5px;}
.px-ligne{display:grid;grid-template-columns:4.2em 1fr 7.6em;align-items:center;gap:8px;font-size:13px;}
.px-ligne em{font-style:normal;color:#8d93a6;font-size:11.5px;}
.px-jauge{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;}
.px-jauge b{display:block;height:100%;border-radius:4px;background:currentColor;}
.px-app{margin:0;font-size:11px;line-height:1.35;color:#8d93a6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.px-fin .px-boutons{margin-top:0;}
.px-top{color:#3cf08a;}
.px-bien{color:#7ff3ff;}
.px-moyen{color:#ffd23d;}
.px-faible{color:#ff9a3d;}
.px-mauvais{color:#ff4d6a;}
.px-tuile.px-top,.px-tuile.px-moyen,.px-tuile.px-mauvais{color:inherit;}
.px-tuile.px-top{border-left-color:#3cf08a;}
.px-tuile.px-moyen{border-left-color:#ffd23d;}
.px-tuile.px-mauvais{border-left-color:#ff4d6a;}

/* Petit écran debout : un peu plus serré. */
@media (max-height:700px) and (orientation:portrait){
 .px-carte{padding:12px;}
 .px-fin .px-carte{gap:9px;}
 .px-note{width:76px;height:76px;}
 .px-note b{font-size:30px;}
 .px-tuile{padding:6px 9px;}
 .px-tuile b{font-size:20px;}
}
/* Couché : la note, le verdict et les boutons à gauche ; les chiffres à droite. */
@media (orientation:landscape) and (max-height:560px){
 .px-fin .px-carte{width:min(820px,100%);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto 1fr auto;
  gap:8px 16px;padding:12px 14px;}
 .px-fin .px-tete{grid-column:1;grid-row:1 / 3;flex-direction:column;align-items:flex-start;gap:8px;}
 .px-fin .px-tuiles{grid-column:2;grid-row:1;}
 .px-fin .px-lignes{grid-column:2;grid-row:2 / 4;align-content:start;}
 .px-fin .px-app{grid-column:1;grid-row:3;align-self:end;}
 .px-fin .px-boutons{grid-column:1 / -1;grid-row:4;}
 .px-note{width:72px;height:72px;}
 .px-note b{font-size:28px;}
 .px-tuile{padding:5px 9px;}
 .px-tuile b{font-size:19px;}
 .px-btn{min-height:40px;}
}

/* Le détail des menus (« ?express&menus », balayer) : chaque variante ôte une chose du dessin des menus, le temps de
   la mesure seulement. */
html.px-v-fondu .arena-fondu{display:none!important;}
html.px-v-filtre .arena-panel-wrap *,html.px-v-filtre .arena-panel-wrap *::before,html.px-v-filtre .arena-panel-wrap *::after{filter:none!important;}
html.px-v-ombre .arena-panel-wrap *,html.px-v-ombre .arena-panel-wrap *::before,html.px-v-ombre .arena-panel-wrap *::after{box-shadow:none!important;text-shadow:none!important;}
html.px-v-decor .terrain,html.px-v-decor .terrain-lumieres{visibility:hidden!important;}
html.px-v-entree .arena-root .arena-panel{animation:none!important;}
.px-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12.5px;font-variant-numeric:tabular-nums;}
.px-table th,.px-table td{padding:4px 4px;border-bottom:1px solid rgba(255,255,255,.08);text-align:right;white-space:nowrap;}
.px-table th:first-child,.px-table td:first-child{text-align:left;white-space:normal;color:#cfd3dc;}
.px-table th{color:#7ff3ff;font-weight:600;}
