:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6fafb;--surface:#fff;--surface-alt:#e4f0f3;--text:#12222a;--text-muted:#435861;--primary:#0a6c8c;--on-primary:#fff;--accent:#9a4a00;--on-accent:#fff;--border:#6f8791;--focus:#5b3fd1;--danger:#a31b1b;--idle-bg:#e4f0f3;--idle-fg:#12222a;--capturing-bg:#b3261e;--capturing-fg:#fff;--processing-bg:#1f4fa8;--processing-fg:#fff;--result-bg:#17633a;--result-fg:#fff;--error-bg:#9c1c1c;--error-fg:#fff;--tone-blue:#0a6c8c;--tone-blue-soft:#e4f0f3;--tone-amber:#8f4500;--tone-amber-soft:#fcebd8;--tone-red:#a31b1b;--tone-red-soft:#fbe4e4;--tone-green:#17633a;--tone-green-soft:#ddf1e4;--tone-purple:#5b3fd1;--tone-purple-soft:#ece8fc;--tone-gray:#435861;--tone-gray-soft:#e4f0f3;--on-tone:#fff;--shadow:0 1px 2px #12222a0f, 0 6px 18px #12222a14;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--scale:1;--fs-caption:calc(16px * var(--scale));--fs-body:calc(18px * var(--scale));--fs-label:calc(18px * var(--scale));--fs-h3:calc(20px * var(--scale));--fs-h2:calc(24px * var(--scale));--fs-h1:calc(30px * var(--scale));--fs-display:calc(40px * var(--scale));--font:"Atkinson Hyperlegible", system-ui, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e171b;--surface:#16242a;--surface-alt:#1e3139;--text:#eaf2f5;--text-muted:#b3c4cc;--primary:#7ccbe3;--on-primary:#06222b;--accent:#ffb26b;--on-accent:#2a1500;--border:#7c939d;--focus:#c5b5ff;--danger:#ff9c9c;--idle-bg:#1e3139;--idle-fg:#eaf2f5;--capturing-bg:#ff8a80;--capturing-fg:#2d0805;--processing-bg:#8db4ff;--processing-fg:#0a1b3d;--result-bg:#7fd9a0;--result-fg:#06260f;--error-bg:#ff9c9c;--error-fg:#330909;--tone-blue:#7ccbe3;--tone-blue-soft:#1e3139;--tone-amber:#ffb26b;--tone-amber-soft:#3a2814;--tone-red:#ff9c9c;--tone-red-soft:#3f1d1d;--tone-green:#7fd9a0;--tone-green-soft:#143222;--tone-purple:#c5b5ff;--tone-purple-soft:#2b2548;--tone-gray:#b3c4cc;--tone-gray-soft:#1e3139;--on-tone:#0e171b;--shadow:0 1px 2px #0000004d, 0 6px 18px #00000040}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e171b;--surface:#16242a;--surface-alt:#1e3139;--text:#eaf2f5;--text-muted:#b3c4cc;--primary:#7ccbe3;--on-primary:#06222b;--accent:#ffb26b;--on-accent:#2a1500;--border:#7c939d;--focus:#c5b5ff;--danger:#ff9c9c;--idle-bg:#1e3139;--idle-fg:#eaf2f5;--capturing-bg:#ff8a80;--capturing-fg:#2d0805;--processing-bg:#8db4ff;--processing-fg:#0a1b3d;--result-bg:#7fd9a0;--result-fg:#06260f;--error-bg:#ff9c9c;--error-fg:#330909;--tone-blue:#7ccbe3;--tone-blue-soft:#1e3139;--tone-amber:#ffb26b;--tone-amber-soft:#3a2814;--tone-red:#ff9c9c;--tone-red-soft:#3f1d1d;--tone-green:#7fd9a0;--tone-green-soft:#143222;--tone-purple:#c5b5ff;--tone-purple-soft:#2b2548;--tone-gray:#b3c4cc;--tone-gray-soft:#1e3139;--on-tone:#0e171b;--shadow:0 1px 2px #0000004d, 0 6px 18px #00000040}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);-webkit-text-size-adjust:100%;margin:0;line-height:1.35}#root{min-height:100svh}*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t-display,.t-h1,.t-h2,.t-h3{margin:0;font-weight:700;line-height:1.3}.t-display{font-size:var(--fs-display)}.t-h1{font-size:var(--fs-h1)}.t-h2{font-size:var(--fs-h2)}.t-h3{font-size:var(--fs-h3)}.t-body,.t-label,.t-caption{margin:0}.t-body{font-size:var(--fs-body)}.t-label{font-size:var(--fs-label);font-weight:700}.t-caption{font-size:var(--fs-caption)}.t-muted{color:var(--text-muted)}.t-center{text-align:center}.t-danger{color:var(--danger)}.screen{flex-direction:column;gap:16px;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 24px;display:flex}.screen--tabs{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.stack{flex-direction:column;gap:12px;display:flex}.stack--lg{gap:16px}.center{justify-content:center;display:flex}.topbar{z-index:30;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:56px;padding:4px 8px;display:flex;position:sticky;top:0}.topbar-inner{align-items:center;gap:8px;width:100%;max-width:640px;margin:0 auto;display:flex}.topbar-title{font-size:var(--fs-h3);margin:0;font-weight:700}.icon-btn{width:48px;height:48px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.icon-btn svg{width:26px;height:26px}.btn{border:2px solid var(--btn-border,var(--primary));border-radius:var(--radius-md);background:var(--btn-bg,var(--primary));width:100%;min-height:56px;color:var(--btn-fg,var(--on-primary));font-size:var(--fs-label);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:12px;padding:12px 24px;font-weight:700;line-height:1.25;text-decoration:none;transition:transform .12s,opacity .12s;display:flex}.btn svg{flex-shrink:0;width:26px;height:26px}.btn:active:not(:disabled){opacity:.88;transform:scale(.985)}.btn:disabled{opacity:.6;cursor:default}.btn--secondary{--btn-bg:var(--surface);--btn-fg:var(--text);--btn-border:var(--border)}.btn--accent{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-border:var(--accent)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--primary);--btn-border:transparent}.btn--danger{--btn-bg:var(--error-bg);--btn-fg:var(--error-fg);--btn-border:var(--error-bg)}.btn--sm{min-height:48px}.btn--lg{min-height:72px}.btn--hero{min-height:88px;font-size:var(--fs-h2)}.btn--hero svg{width:34px;height:34px}.btn-hint{font-size:var(--fs-caption);font-weight:400;display:block}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.btn-row>.btn{flex:160px;width:auto}.spinner{border:3px solid;border-right-color:#0000;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite e-spin}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:12px;padding:16px;display:flex}.card--alt{background:var(--surface-alt)}.picto{--size:56px;width:var(--size);height:var(--size);border:2px solid var(--picto-fg,var(--primary));background:var(--surface-alt);color:var(--picto-fg,var(--primary));border-radius:50%;flex-shrink:0;place-items:center;display:grid}.picto svg{width:52%;height:52%}.picto--accent{--picto-fg:var(--accent)}.logo{border-radius:22%;display:block}.home-head{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);align-items:center;gap:16px;padding:16px;display:flex}.home-head>div{flex:1;gap:2px;display:grid}.role-card{border:2px solid var(--role-bg);border-radius:var(--radius-lg);background:var(--role-bg);width:100%;min-height:150px;color:var(--role-fg);text-align:left;cursor:pointer;--role-bg:var(--primary);--role-fg:var(--on-primary);align-items:center;gap:16px;padding:24px;display:flex}.role-card--accent{--role-bg:var(--accent);--role-fg:var(--on-accent)}.role-card[aria-pressed=true]{border-color:var(--text);border-width:4px}.role-card:active{opacity:.9}.role-circle{background:var(--role-fg);width:88px;height:88px;color:var(--role-bg);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.role-circle svg{width:55%;height:55%}.role-texts{flex:1;gap:4px;display:grid}.role-card--compact{min-height:96px;padding:16px 20px}.role-card--compact .role-circle{width:56px;height:56px}.field{gap:8px;display:grid}.field-label{font-size:var(--fs-label);font-weight:700}.input{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:56px;color:var(--text);font-size:var(--fs-body);padding:12px 16px}.input::placeholder{color:var(--text-muted)}.input:focus-visible{outline:4px solid var(--focus);outline-offset:0;border-color:var(--focus)}textarea.input{resize:vertical;min-height:96px}.form-error{color:var(--danger);font-size:var(--fs-body);margin:0;font-weight:700}.notice{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);font-size:var(--fs-caption);align-items:flex-start;gap:12px;padding:12px;display:flex}.notice>svg{width:22px;height:22px;color:var(--primary);flex-shrink:0;margin-top:2px}.notice p{margin:0}.offline{border-radius:var(--radius-md);background:var(--error-bg);color:var(--error-fg);align-items:center;gap:12px;padding:12px;font-weight:700;display:flex}.offline svg{flex-shrink:0;width:24px;height:24px}.setting-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:16px;width:100%;min-height:64px;padding:16px;display:flex}.setting-row:disabled{opacity:.6;cursor:default}.setting-row>svg{width:26px;height:26px;color:var(--primary);flex-shrink:0}.setting-texts{flex:1;gap:2px;display:grid}.toggle{background:var(--border);border-radius:999px;flex-shrink:0;width:52px;height:30px;transition:background .2s;position:relative}.toggle:after{content:"";background:var(--surface);border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}[aria-checked=true]>.toggle{background:var(--primary)}[aria-checked=true]>.toggle:after{transform:translate(22px)}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented-item{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:56px;color:var(--text);font-size:var(--fs-label);text-align:center;cursor:pointer;flex:120px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.segmented-item svg{flex-shrink:0;width:22px;height:22px}.segmented-item[aria-checked=true]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.segmented-item:disabled{opacity:.6;cursor:default}.phrase-card{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:80px;color:var(--text);font-size:var(--fs-body);text-align:left;cursor:pointer;align-items:center;gap:16px;padding:16px;display:flex}.phrase-card:active{opacity:.88}.phrase-card>span:last-child{flex:1}[data-low-reading=true] .phrase-card{min-height:104px;font-weight:700}[data-low-reading=true] .phrase-card>span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.phrase-detail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);flex-direction:column;gap:12px;padding:16px;display:flex}.sign-video{border-radius:var(--radius-lg);object-fit:contain;background:#000;width:min(100%,480px);max-height:55svh;display:block}.learn-video{justify-items:center;display:grid}.learn-video .video-placeholder{width:100%}.show .video-placeholder{width:min(100%,480px)}.video-placeholder{border:2px dashed var(--border);border-radius:var(--radius-md);align-content:center;place-items:center;gap:8px;min-height:140px;padding:16px;display:grid}.state-banner{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--state-bg);min-height:72px;color:var(--state-fg);align-items:center;gap:12px;padding:16px;animation:.28s ease-out e-fade;display:flex}.state-banner[data-status=idle]{--state-bg:var(--idle-bg);--state-fg:var(--idle-fg)}.state-banner[data-status=capturing]{--state-bg:var(--capturing-bg);--state-fg:var(--capturing-fg)}.state-banner[data-status=processing]{--state-bg:var(--processing-bg);--state-fg:var(--processing-fg)}.state-banner[data-status=result]{--state-bg:var(--result-bg);--state-fg:var(--result-fg)}.state-banner[data-status=error]{--state-bg:var(--error-bg);--state-fg:var(--error-fg)}.state-icon{flex-shrink:0;place-items:center;width:32px;display:grid}.state-icon svg{width:28px;height:28px}.state-texts{flex:1;gap:2px;display:grid}.result-card{border:3px solid var(--primary);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.result-card .a-words{justify-content:center}.rating{gap:8px;width:100%;display:grid}.rating-row{gap:8px;display:flex}.rating-face{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:56px;font-size:var(--fs-h1);cursor:pointer;flex:1;place-items:center;display:grid}.dialog-title{font-size:var(--fs-h2);text-align:center;margin:36px 0 0;font-weight:700}.bubble-wrap{animation:.26s ease-out e-fade-up;display:flex}.bubble-wrap--sign{justify-content:flex-end}.bubble{border-radius:var(--radius-lg);background:var(--bubble-bg);max-width:92%;color:var(--bubble-fg);flex-direction:column;gap:8px;padding:16px;display:flex}.bubble--sign{--bubble-bg:var(--primary);--bubble-fg:var(--on-primary);border-bottom-right-radius:4px}.bubble--voice{--bubble-bg:var(--accent);--bubble-fg:var(--on-accent);border-bottom-left-radius:4px}.bubble-meta{font-size:var(--fs-caption);align-items:center;gap:4px;display:flex}.bubble-meta svg{width:18px;height:18px}.bubble-text{font-size:var(--fs-h3);margin:0;font-weight:700}.bubble-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.bubble-action{min-height:48px;color:inherit;font-size:var(--fs-caption);cursor:pointer;background:0 0;border:2px solid;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-weight:700;display:inline-flex}.bubble-action svg{width:20px;height:20px}.bubble .a-words{gap:6px}.bubble .a-word-chip{background:var(--surface);color:var(--text);font-size:var(--fs-h3);border-radius:10px;padding:4px 10px;font-weight:700}.bubble .a-words--marked>.a-word-chip{margin-bottom:9px}.mic-stage{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-alt);min-height:200px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:24px;display:grid}.mic-stage svg{width:56px;height:56px}.mic-stage.is-listening{border-color:var(--capturing-bg);background:var(--capturing-bg);color:var(--capturing-fg);animation:1.8s ease-in-out infinite e-pulse}.live-text{font-size:var(--fs-h2);margin:0;font-weight:700;line-height:1.3}.history-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:flex-start;gap:12px;padding:16px;display:flex}.history-row>div{flex:1;gap:8px;min-width:0;display:grid}.empty{text-align:center;justify-items:center;gap:12px;padding:24px;display:grid}.stat-list{gap:4px;display:grid}.show{z-index:60;background:var(--surface);flex-direction:column;animation:.2s ease-out e-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.show-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:24px;display:flex}.show-text{font-size:calc(44px * var(--scale));text-align:center;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.3}.show .a-words{justify-content:center}.show .a-word-chip{font-size:calc(40px * var(--scale))}.show-footer{gap:12px;width:100%;max-width:640px;margin:0 auto;padding:16px;display:grid}.tabbar{z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.tabbar-inner{grid-template-columns:repeat(5,1fr);max-width:640px;height:76px;margin:0 auto;padding:6px 4px 8px;display:grid}.tab{border-radius:var(--radius-md);min-width:0;color:var(--text-muted);align-content:center;justify-items:center;gap:2px;font-size:14px;font-weight:700;text-decoration:none;display:grid}.tab svg{width:28px;height:28px}.tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab.active{color:var(--primary)}.tab.active svg{stroke-width:2.6px}.learn-card{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:88px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:16px;padding:16px;display:flex}.learn-card>span:nth-child(2){flex:1;gap:2px;display:grid}.learn-card .chev{width:24px;height:24px;color:var(--text-muted)}[data-low-reading=true] .phrase-card .picto{--size:72px!important}@keyframes e-spin{to{transform:rotate(360deg)}}@keyframes e-fade{0%{opacity:.5}to{opacity:1}}@keyframes e-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes e-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.fade-in{animation:.26s ease-out both e-fade-up}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.a-c-blue{--c:var(--tone-blue);--c-soft:var(--tone-blue-soft)}.a-c-green{--c:var(--tone-green);--c-soft:var(--tone-green-soft)}.a-c-purple{--c:var(--tone-purple);--c-soft:var(--tone-purple-soft)}.a-c-amber{--c:var(--tone-amber);--c-soft:var(--tone-amber-soft)}.a-c-red{--c:var(--tone-red);--c-soft:var(--tone-red-soft)}.a-c-gray{--c:var(--tone-gray);--c-soft:var(--tone-gray-soft)}.hand-camera{background:#111827;width:100%;height:100%;position:relative;overflow:hidden}.camera-video,.camera-canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.camera-canvas{z-index:2}.camera-status{z-index:3;color:#fff;background:#000000a6;border-radius:999px;padding:6px 10px;font-size:12px;position:absolute;bottom:10px;left:10px}.camera-device-select{z-index:4;color:#fff;background:#0000009e;border:1px solid #ffffff38;border-radius:12px;max-width:160px;padding:8px 10px;font-size:12px;font-weight:700;position:absolute;top:10px;right:10px}.a-camera{border:5px solid var(--border);border-radius:var(--radius-lg);background:#0f172a;height:min(50svh,420px);min-height:280px;transition:border-color .2s;position:relative;overflow:hidden}.a-camera[hidden]{display:none}.a-camera[data-phase=recording]{border-color:var(--capturing-bg);animation:1.2s ease-in-out infinite a-rec-border}.a-camera[data-phase=analyzing]{border-color:var(--processing-bg)}.a-camera[data-phase=hand]{border-color:var(--result-bg)}.a-camera[data-phase=confirming]{border-color:var(--processing-bg)}.a-camera[data-phase=error]{border-color:var(--error-bg)}.a-camera[data-phase=success]{border-color:var(--result-bg)}.a-camera-badge{z-index:6;color:#fff;background:#0f172a9e;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:absolute;top:12px;left:12px}.a-camera-badge svg{width:32px;height:32px}.a-camera-badge[data-tone=green]{background:#17633a}.a-camera-badges{z-index:8;gap:8px;display:flex;position:absolute;top:12px;left:12px}.a-camera-badges .a-camera-badge{position:static}.a-rec-badge{z-index:6;color:#fff;font-variant-numeric:tabular-nums;background:#b3261e;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:26px;font-weight:700;display:flex;position:absolute;top:12px;left:12px}.a-rec-badge svg{width:18px;height:18px;animation:1s ease-in-out infinite a-blink}.a-analyzing{z-index:7;color:#fff;background:#0f172a99;place-items:center;display:grid;position:absolute;inset:0}.a-analyzing .a-dots span{width:22px;height:22px}.a-dots{gap:6px;display:inline-flex}.a-dots span{background:currentColor;border-radius:50%;width:12px;height:12px;animation:1.2s infinite a-dots}.a-dots span:nth-child(2){animation-delay:.2s}.a-dots span:nth-child(3){animation-delay:.4s}.camera-guide{z-index:5;pointer-events:none;position:absolute;inset:0}.camera-guide-head{border:3px dashed #ffffffe6;border-radius:52px;width:84px;height:104px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.camera-guide-hands{border:3px dashed #ffffffe6;border-radius:44px;height:110px;position:absolute;bottom:58px;left:9%;right:9%}.camera-guide-chip{justify-content:center;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.camera-guide-chip span{color:#fff;font-size:var(--fs-caption);text-align:center;background:#000000b8;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.camera-guide-chip svg{flex-shrink:0;width:18px;height:18px}.a-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:14px;padding:16px;display:grid}.a-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:6px 4px 0;font-size:14px;font-weight:700}.a-hint{font-size:var(--fs-caption);color:var(--text-muted);margin:0;line-height:1.4}.a-chips{flex-wrap:wrap;gap:8px;display:flex}.a-chip--new{animation:.45s both a-pop}.a-words{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.a-word-chip{background:var(--c-soft);color:var(--c);letter-spacing:-.01em;border-radius:18px;padding:10px 18px;font-size:28px;font-weight:700;line-height:1.1}.a-expr-group{--e:var(--tone-amber);--e-soft:var(--tone-amber-soft);border:3px solid var(--e);background:var(--e-soft);border-radius:24px;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 10px 10px;display:inline-flex}.a-expr-group[data-tone=red]{--e:var(--tone-red);--e-soft:var(--tone-red-soft)}.a-expr-group[data-tone=green]{--e:var(--tone-green);--e-soft:var(--tone-green-soft)}.a-expr-group[data-tone=purple]{--e:var(--tone-purple);--e-soft:var(--tone-purple-soft)}.a-expr-group[data-tone=blue]{--e:var(--tone-blue);--e-soft:var(--tone-blue-soft)}.a-expr-group[data-tone=gray]{--e:var(--tone-gray);--e-soft:var(--tone-gray-soft)}.a-expr-tag{background:var(--e);color:var(--on-tone);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-size:16px;font-weight:700;line-height:1.2;display:inline-flex}.a-expr-tag:not(:has(>:nth-child(2))){padding:4px 8px}.a-expr-emoji{font-size:22px;line-height:1}.a-expr-words{flex-wrap:wrap;gap:8px;display:flex}.a-expr-words .a-word-chip{background:var(--surface)}.a-expr-group--alone{padding:6px}.a-expr-group--alone .a-expr-tag{padding:8px 18px 8px 12px;font-size:22px}.a-expr-group--alone .a-expr-emoji{font-size:36px}.a-expr-group--alone .a-expr-tag:not(:has(>:nth-child(2))){padding:8px 12px}.a-words--marked>.a-word-chip{margin-bottom:13px}.a-words--history{gap:8px}.a-words--history .a-word-chip{border-radius:999px;padding:6px 12px;font-size:18px}.a-words--history .a-expr-group--alone .a-expr-tag{font-size:16px}.a-words--history .a-expr-group--alone .a-expr-emoji{font-size:26px}.a-tip{border-radius:var(--radius-md);background:var(--tone-amber-soft);color:var(--tone-amber);font-size:var(--fs-caption);margin:0;padding:12px 14px;font-weight:700;line-height:1.4}.a-modal-backdrop{z-index:50;background:#0e171bb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.a-modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-items:center;gap:18px;width:min(480px,100%);padding:24px 18px 22px;animation:.3s a-pop;display:grid;position:relative}.a-modal-close{position:absolute;top:8px;right:8px}.a-icon-btn{cursor:pointer;background:var(--surface-alt);width:52px;height:52px;color:var(--text);border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.a-icon-btn svg{width:26px;height:26px}.a-countdown{z-index:7;color:#fff;background:#0f172a73;align-content:center;place-items:center;gap:4px;font-weight:700;display:grid;position:absolute;inset:0}.a-countdown strong{font-size:88px;line-height:1}.a-progress{z-index:6;background:#ffffff59;border-radius:999px;height:10px;position:absolute;bottom:14px;left:14px;right:14px;overflow:hidden}.a-progress span{border-radius:inherit;background:#ff8a80;height:100%;display:block}.a-sample-chip{border:2px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);font-size:var(--fs-caption);cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:700}.a-sample-chip.is-done{border-color:var(--tone-green);background:var(--tone-green-soft);color:var(--tone-green)}.a-sample-chip.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}.a-sample-chip:disabled{opacity:.6;cursor:default}.a-code{color:#e2e8f0;white-space:nowrap;background:#0f172a;border-radius:12px;padding:10px 12px;font-size:14px;display:block;overflow-x:auto}.a-message{color:var(--text-muted);text-align:center;font-size:var(--fs-caption);margin:0;font-weight:700}.a-facecheck-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.a-facecheck-toggle{background:var(--surface-alt);min-height:48px;color:var(--primary);white-space:nowrap;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:6px 4px 6px 12px;font-size:15px;font-weight:700;display:inline-flex}.a-switch{background:var(--border);border-radius:999px;flex-shrink:0;width:52px;height:30px;transition:background .2s;position:relative;transform:scale(.8)}.a-switch:after{content:"";background:var(--surface);border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.a-facecheck-toggle[aria-checked=true] .a-switch{background:var(--primary)}.a-facecheck-toggle[aria-checked=true] .a-switch:after{transform:translate(22px)}.a-facecheck-ok{color:var(--tone-green);font-size:var(--fs-caption);margin:0;font-weight:700}.face-spot{gap:8px;display:grid}.face-zones{flex-wrap:wrap;gap:6px;display:flex}.face-zone{border:2px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:15px;font-weight:700;transition:background .12s,color .12s}.face-zone.is-on{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.a-facecheck-stats{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:700}@keyframes a-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes a-rec-border{0%,to{box-shadow:0 0 #b3261e80}50%{box-shadow:0 0 0 12px #b3261e00}}@keyframes a-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes a-dots{0%,80%,to{opacity:.2}40%{opacity:1}}
