.tt{min-height:100dvh;padding:calc(var(--tap-min) + var(--gap-min)) var(--page-pad) 0;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;gap:32px;max-width:1080px;margin:0 auto;display:flex}.tt-head{text-align:center}.tt-step{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0 0 8px}.tt-section{flex-direction:column;flex:1;gap:24px;display:flex}.tt-lead{margin:0}.tt-warning{border-left:6px solid var(--color-fg);background:#f2f2f2;margin:0;padding:16px 24px}.tt-hint{color:var(--color-muted);margin:0}.tt-measure{border:2px dashed var(--color-line);border-radius:var(--radius);margin:0;padding:16px 24px}.tt-fields{gap:var(--gap-min);display:grid}.tt-field{-webkit-user-select:text;user-select:text;flex-direction:column;gap:8px;display:flex}.tt-field input,.tt-field textarea{font:inherit;min-height:var(--tap-min);border:2px solid var(--color-fg);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg);resize:none;padding:16px 20px}.tt-field input:focus-visible,.tt-field textarea:focus-visible{outline:4px solid var(--color-accent);outline-offset:2px}.tt-button{min-height:var(--tap-min);border:2px solid var(--color-fg);border-radius:var(--radius);background:var(--color-bg);transition:transform var(--anim-fast);padding:0 32px}.tt-button:active{background:var(--color-fg);color:var(--color-bg);transform:scale(.97)}.tt-button:disabled{opacity:.3}.tt-button--primary{background:var(--color-fg);color:var(--color-bg)}.tt-button--ghost{border-color:#0000;text-decoration:underline}.tt-button--small{text-align:left;padding:0 20px}.tt-choices{gap:var(--gap-min);grid-template-columns:repeat(3,1fr);display:grid}.tt-choice{min-height:calc(var(--tap-min) * 1.25);border:3px solid var(--color-fg);border-radius:var(--radius);background:var(--color-bg);font-size:var(--size-text);transition:transform var(--anim-fast);font-weight:600}.tt-choice:active{transform:scale(.97)}.tt-choice.is-selected{background:var(--color-fg);color:var(--color-bg)}.tt-choice--ok.is-selected{background:#0a6b2e;border-color:#0a6b2e}.tt-choice--ko.is-selected{background:#a1121a;border-color:#a1121a}.tt-zone{flex-direction:column;flex:1;gap:24px;min-height:0;display:flex}.tt-zone--center{text-align:center;justify-content:center;align-items:center}.tt-big{margin:0;font-size:32px;font-weight:600}.tt-sample{margin:0}.tt-shapes{gap:64px;display:flex}.tt-square,.tt-circle{border:6px solid var(--color-fg);width:240px;height:240px}.tt-circle{border-radius:50%}.tt-grid{gap:var(--gap-min);display:grid}.tt-pad{border:4px solid var(--color-fg);border-radius:calc(var(--radius) * 2);background:var(--color-bg);touch-action:none;width:min(100%,640px);min-height:320px;transition:transform var(--anim-fast), background var(--anim-fast);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:32px;font-weight:600;display:flex}.tt-pad span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:400}.tt-pad:active,.tt-pad.is-holding{background:var(--color-fg);color:var(--color-bg);transform:scale(.98)}.tt-pad.is-done,.tt-button.is-done{color:#fff;background:#0a6b2e;border-color:#0a6b2e}.tt-pad--multi{min-height:420px}.tt-bands{gap:8px}.tt-band{min-height:var(--tap-min);border:2px solid var(--color-fg);border-radius:var(--radius);background:var(--color-bg);flex:1}.tt-band:active,.tt-band.is-hit{background:var(--color-fg);color:var(--color-bg)}.tt-readable{justify-content:center;gap:var(--gap-min)}.tt-line{min-height:var(--tap-min);border:2px solid var(--color-line);border-radius:var(--radius);background:var(--color-bg);text-align:left;padding:8px 24px}.tt-line.is-hit{border-color:var(--color-fg);background:var(--color-fg);color:var(--color-bg)}.tt-target{width:var(--tap-min);height:var(--tap-min);border:2px solid var(--color-fg);border-radius:var(--radius);background:var(--color-bg);font-size:var(--size-text);font-variant-numeric:tabular-nums;transition:transform var(--anim-fast);padding:0}.tt-target:active{transform:scale(.92)}.tt-target.is-hit{background:var(--color-fg);color:var(--color-bg)}.tt-corner{z-index:1;position:fixed}.tt-corner--haut-gauche{top:0;left:0}.tt-corner--haut-droite{top:0;right:0}.tt-corner--bas-gauche{bottom:0;left:0}.tt-corner--bas-droite{bottom:0;right:0}.tt-summary{gap:var(--gap-min);text-align:center;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.tt-summary li{border:2px solid var(--color-line);border-radius:var(--radius);padding:16px 8px}.tt-summary strong{font-size:var(--size-title);display:block}.tt-summary--ok strong{color:#0a6b2e}.tt-summary--ko strong{color:#a1121a}.tt-pending p{margin:0 0 12px}.tt-pending-list,.tt-actions{gap:var(--gap-min);flex-wrap:wrap;display:flex}.tt-preview{border:1px solid var(--color-line);border-radius:var(--radius);max-height:40dvh;font-family:var(--font-mono);font-size:var(--size-small);white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin:0;padding:20px;overflow:auto}.tt-nav{justify-content:space-between;gap:var(--gap-min);padding:var(--gap-min) 0 calc(var(--tap-min) + var(--gap-min));background:var(--color-bg);border-top:1px solid var(--color-line);display:flex;position:sticky;bottom:0}:root{--color-bg:#fff;--color-fg:#000;--color-muted:#595959;--color-line:#d9d9d9;--color-accent:#000;--color-on-accent:#fff;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--size-text:24px;--size-small:20px;--size-title:40px;--line-height:1.3;--tap-min:80px;--gap-min:16px;--radius:16px;--reach-top:40dvh;--page-pad:48px;--anim-fast:.2s;--anim-slow:.3s}@media (orientation:landscape){:root{--reach-top:0dvh}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--size-text);line-height:var(--line-height);-webkit-font-smoothing:antialiased}h1,h2{font-size:var(--size-title);margin:0;line-height:1.15}button{font:inherit;color:inherit}html.kiosk,html.kiosk body,html.kiosk #root{overscroll-behavior:none;height:100dvh;overflow:hidden}html.kiosk,html.kiosk *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:none!important}
