/* Growth Gusto — accounts (prefix au-, kitchen drawing auk-): welcome / sign-in overlay « Cuisine vivante », setup, invites, demo bar, offline pill.
   The overlay has its own type system (Bricolage Grotesque display, Instrument Sans text, JetBrains Mono labels) and its own palette:
   warm paper by day, a night kitchen in dark mode. Every value below is scoped to .au so the app's tokens stay untouched. */

/* ───────── tokens ───────── */
.au{
  --c-canvas:#FBF6EC; --c-paper:#FFFDF8; --c-ink:#1B1530; --c-ink2:#4A4560; --c-ink3:#77718A; --c-ph:#ACA393;
  --c-line:#E9DFCD; --c-line2:#DCCFB8; --c-line3:#CDBEA4; --c-edge:#E2D6C2; --c-well:#F1E8D8; --c-hover:#F4ECDF; --c-sep:#F2EADC;
  --c-v:#5B2BFF; --c-v2:#3A10D8; --c-vedge:#2A0BA6; --c-vhov:#6435FF; --c-vtint:#EFE9FF; --c-vtx:#5B2BFF; --c-vring:rgba(91,43,255,.16); --c-focus:#5B2BFF;
  --c-tomato:#EF5A3C; --c-tomato2:#C8432A; --c-err-bg:#FDEEE8; --c-err-line:#F5C3B5;
  --c-saffron:#F6B93B; --c-saffron2:#B97F12; --c-herb:#23935C; --c-herb2:#1A7448; --c-ok-bg:#E2F4EA; --c-ok-line:#9ACDB3;
  --c-demo-bg:#FFF1D6; --c-demo-line:#F1D49A; --c-demo-edge:#EBC77C; --c-demo-tx:#7A5A1A; --c-demo-ink:#1B1530;
  --c-tk-line:#1B1530; --c-tk-sh:rgba(27,21,48,.14);
  --c-shadow:rgba(27,21,48,.45); --c-shadow2:rgba(27,21,48,.2);
  --k-wall:#4C1FEA; --k-grout:#5A30F4; --k-floor:#3A10D8; --k-cab:#4318E0; --k-base:#2C0CB0; --k-white:#FFFDF8; --k-cream:#FFF4D9; --k-paper:#FFFDF8;
  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px;
  --au-spring:cubic-bezier(.34,1.56,.64,1); --au-out:cubic-bezier(.22,1,.36,1);
  --f-d:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-t:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-m:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:light;
}
/* night kitchen: the service is over, the pass light is on, the fridge glows */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .au{
  color-scheme:dark;
  --c-canvas:#110D1F; --c-paper:#1B1630; --c-ink:#F4F0FF; --c-ink2:#C9C3DD; --c-ink3:#9C96B3; --c-ph:#6F6988;
  --c-line:#2A2442; --c-line2:#3A3358; --c-line3:#4D4570; --c-edge:#08060F; --c-well:#1E1934; --c-hover:#262043; --c-sep:#262040;
  --c-v:#6538FF; --c-v2:#7B55FF; --c-vedge:#1F0880; --c-vhov:#7146FF; --c-vtint:rgba(123,85,255,.18); --c-vtx:#B8A5FF; --c-vring:rgba(140,110,255,.28); --c-focus:#A58CFF;
  --c-tomato:#FF7A5C; --c-tomato2:#FF8F75; --c-err-bg:rgba(255,122,92,.1); --c-err-line:rgba(255,122,92,.32);
  --c-saffron:#F6B93B; --c-saffron2:#F2C25E; --c-herb:#3DCB86; --c-herb2:#5EDDA0; --c-ok-bg:rgba(61,203,134,.14); --c-ok-line:rgba(61,203,134,.45);
  --c-demo-bg:#2A2111; --c-demo-line:#55421A; --c-demo-edge:#0B0804; --c-demo-tx:#E9CB8A; --c-demo-ink:#1B1530;
  --c-tk-line:#4D4570; --c-tk-sh:rgba(0,0,0,.35);
  --c-shadow:rgba(0,0,0,.7); --c-shadow2:rgba(0,0,0,.45);
  --k-wall:#26108F; --k-grout:#2F17A3; --k-floor:#1E0A7C; --k-cab:#24108F; --k-base:#160765; --k-white:#ECE5D5; --k-cream:#FBE3AC; --k-paper:#F2EBDC;
}}
:root[data-theme=dark] .au{
  color-scheme:dark;
  --c-canvas:#110D1F; --c-paper:#1B1630; --c-ink:#F4F0FF; --c-ink2:#C9C3DD; --c-ink3:#9C96B3; --c-ph:#6F6988;
  --c-line:#2A2442; --c-line2:#3A3358; --c-line3:#4D4570; --c-edge:#08060F; --c-well:#1E1934; --c-hover:#262043; --c-sep:#262040;
  --c-v:#6538FF; --c-v2:#7B55FF; --c-vedge:#1F0880; --c-vhov:#7146FF; --c-vtint:rgba(123,85,255,.18); --c-vtx:#B8A5FF; --c-vring:rgba(140,110,255,.28); --c-focus:#A58CFF;
  --c-tomato:#FF7A5C; --c-tomato2:#FF8F75; --c-err-bg:rgba(255,122,92,.1); --c-err-line:rgba(255,122,92,.32);
  --c-saffron:#F6B93B; --c-saffron2:#F2C25E; --c-herb:#3DCB86; --c-herb2:#5EDDA0; --c-ok-bg:rgba(61,203,134,.14); --c-ok-line:rgba(61,203,134,.45);
  --c-demo-bg:#2A2111; --c-demo-line:#55421A; --c-demo-edge:#0B0804; --c-demo-tx:#E9CB8A; --c-demo-ink:#1B1530;
  --c-tk-line:#4D4570; --c-tk-sh:rgba(0,0,0,.35);
  --c-shadow:rgba(0,0,0,.7); --c-shadow2:rgba(0,0,0,.45);
  --k-wall:#26108F; --k-grout:#2F17A3; --k-floor:#1E0A7C; --k-cab:#24108F; --k-base:#160765; --k-white:#ECE5D5; --k-cream:#FBE3AC; --k-paper:#F2EBDC;
}

/* ───────── overlay shell ───────── */
.au{position:absolute;inset:0;z-index:60;overflow:hidden;background:var(--c-canvas);color:var(--c-ink);font:400 16px/1.5 var(--f-t);font-feature-settings:normal;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;transition:opacity .45s var(--au-out)}
.au.on{opacity:1}
.au.off{opacity:0;pointer-events:none;transition:opacity .4s var(--au-out)}
.au.off .au-pane{transform:translateY(10px);transition:transform .4s var(--au-out)}
html.au-open #app,html.au-open #tabbar{visibility:hidden}
.au *,.au *::before,.au *::after{box-sizing:border-box}
:where(.au) button,:where(.au) input{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.au :focus{outline:none}
.au :focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}
.au-scroll{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.au-app{position:relative;min-height:100%;display:flex;flex-direction:column}

/* auth column (phone: below the kitchen) */
.au-auth{position:relative;flex:1;display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;padding:20px max(20px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 20px) max(20px,env(safe-area-inset-left,0px))}
.au-brand{display:none;align-items:center;gap:10px}
.au-mark{width:32px;height:32px;flex:none;display:block}
.au-wm{font:700 19px/1 var(--f-d);font-variation-settings:"opsz" 24,"wdth" 92;letter-spacing:-.025em}
.au-deck{position:relative;flex:1;display:flex;flex-direction:column}
.au-pane{display:flex;flex-direction:column;width:100%}
.au-fine{margin:0;font-size:12.5px;line-height:1.5;color:var(--c-ink3);text-align:center}
.au-fine-d{display:none}
.au-fine-m{margin-top:6px}

/* step entrance: lines rise in one after another; the previous step lifts away */
.au-pane .st{animation:auIn .52s var(--au-spring) both;animation-delay:calc(var(--i,0) * 40ms + 60ms)}
.au-pane.au-later .st{animation-delay:calc(var(--i,0) * 40ms + 140ms)}
.au-pane.au-swap .st{animation:none}
.au-pane.au-swap{animation:auFade .24s var(--au-out) both}
@keyframes auIn{0%{opacity:0;transform:translateY(14px)}40%{opacity:1}100%{opacity:1;transform:none}}
@keyframes auFade{from{opacity:.4}}
.au-leave{position:absolute;pointer-events:none;animation:auOut .2s ease both;margin:0!important}
.au-leave .st{animation:none}
@keyframes auOut{to{opacity:0;transform:translateY(-10px)}}

/* ───────── type ───────── */
.au-eyebrow{display:none;align-items:center;gap:8px;margin:0;font:500 11px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink3)}
.au-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--c-herb);box-shadow:0 0 0 3px rgba(35,147,92,.16)}
.au-h1{margin:0 0 8px;font:700 34px/1.02 var(--f-d);font-variation-settings:"opsz" 96,"wdth" 96;letter-spacing:-.028em;text-wrap:balance;color:var(--c-ink)}
.au-h1 em,.au-h2 em{font-style:normal;color:var(--c-vtx)}
.au-h2{margin:0;font:700 28px/1.06 var(--f-d);font-variation-settings:"opsz" 72,"wdth" 96;letter-spacing:-.024em;text-wrap:balance;color:var(--c-ink)}
.au-lede{margin:0;max-width:36ch;font-size:15.5px;line-height:1.5;color:var(--c-ink2);text-wrap:pretty}
.au-sub{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--c-ink2);text-wrap:pretty}
.au-sub b{font-weight:600;color:var(--c-ink);word-break:break-word}
.au-mono{font-family:var(--f-m);font-weight:700;letter-spacing:.02em}

/* ───────── tactile buttons: a pressed key, not a flat pill ───────── */
.au-stack{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.au-tac{all:unset;box-sizing:border-box;--d:4px;--edge:var(--c-edge);position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border-radius:var(--r);
  background:var(--c-paper);color:var(--c-ink);border:1.5px solid var(--c-line2);font:600 16px/1.2 var(--f-t);letter-spacing:-.005em;text-align:center;cursor:pointer;
  box-shadow:0 var(--d) 0 var(--edge),0 10px 20px -14px var(--c-shadow);transform:translateY(0);
  transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring),background-color .16s,opacity .16s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
@media (hover:hover){.au-tac:hover{transform:translateY(-1px);--d:5px}}
.au-tac:active{transform:translateY(4px);--d:0px;transition-duration:70ms}
.au-tac:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}
.au-tac[disabled]{opacity:.45;pointer-events:none}
.au-tac.au-busy{opacity:1;pointer-events:none}
.au-tac svg{flex:none}
.au-bl{display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:opacity .15s,transform .25s var(--au-spring)}
.au-g{width:20px;height:20px;flex:none}
.au-primary{background:var(--c-v);border-color:var(--c-v2);color:#fff;--edge:var(--c-vedge)}
@media (hover:hover){.au-primary:hover{background:var(--c-vhov)}}
.au-tall{min-height:58px;padding:10px 18px;line-height:1.25}
.au-submit{margin-top:6px}
/* busy: three hopping dots replace the label */
.au-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;opacity:0;pointer-events:none;transition:opacity .15s}
.au-dots i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:auHop .9s var(--au-out) infinite}
.au-dots i:nth-child(2){animation-delay:.12s}.au-dots i:nth-child(3){animation-delay:.24s}
@keyframes auHop{0%,100%{transform:translateY(0);opacity:.5}35%{transform:translateY(-6px);opacity:1}}
.au-busy>.au-dots{opacity:1}
.au-busy>.au-bl{opacity:0;transform:translateY(6px)}
.au-busy>.au-last{opacity:0}
.au-dots.in{position:static;opacity:1;color:var(--c-v)}
.au-dots.in i{width:6px;height:6px}
/* « Dernière fois »: a little kitchen ticket clipped on the button */
.au-last{position:absolute;top:-9px;right:14px;padding:4px 7px 3px;border-radius:6px;background:var(--c-paper);border:1.5px solid var(--c-ink);color:var(--c-ink);font:700 9px/1 var(--f-m);font-style:normal;letter-spacing:.08em;text-transform:uppercase;transform:rotate(2deg);box-shadow:2px 2px 0 var(--c-tk-sh);transition:opacity .15s}
.au-mailb .au-last{border-color:var(--c-vedge)}

/* demo card */
.au-demo{all:unset;box-sizing:border-box;--d:4px;display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:12px 14px;border-radius:var(--r-lg);cursor:pointer;text-align:left;background:var(--c-demo-bg);border:1.5px solid var(--c-demo-line);box-shadow:0 var(--d) 0 var(--c-demo-edge);transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring);-webkit-tap-highlight-color:transparent}
@media (hover:hover){.au-demo:hover{transform:translateY(-1px);--d:5px}.au-demo:hover .au-arr{transform:translateX(4px)}}
.au-demo:active{transform:translateY(4px);--d:0px;transition-duration:70ms}
.au-demo:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}
.au-demo-ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--c-saffron);border:1.5px solid var(--c-demo-ink)}
.au-demo-l{flex:1;min-width:0}
.au-demo-l b{display:block;font-weight:650;font-size:15px;line-height:1.3;color:var(--c-ink)}
.au-demo-l span{display:block;margin-top:1px;font-size:13px;line-height:1.35;color:var(--c-demo-tx)}
.au-arr{display:grid;place-items:center;flex:none;color:var(--c-ink);transition:transform .3s var(--au-spring)}
.au-ghost{all:unset;box-sizing:border-box;align-self:center;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:550;color:var(--c-ink2);cursor:pointer;text-align:center}
.au-ghost svg{transition:transform .3s var(--au-spring)}
@media (hover:hover){.au-ghost:hover{color:var(--c-vtx)}.au-ghost:hover svg{transform:translateX(3px)}}
.au-ghost:focus-visible{outline:3px solid var(--c-focus);outline-offset:0}

/* invite banner: an order ticket pinned above the title */
.au-invite{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:var(--c-paper);border:1.5px solid var(--c-tk-line);box-shadow:4px 4px 0 var(--c-tk-sh);transform:rotate(-.6deg)}
.au-invic{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--c-herb);color:#fff;border:1.5px solid var(--c-demo-ink)}
.au-invic .ico{width:20px;height:20px}
/* the pack chosen on the site (?plan=): a small violet ticket above the account and restaurant forms */
.au-pack{display:flex;align-items:center;gap:12px;margin:14px 0 2px;padding:11px 13px;border-radius:12px;background:var(--c-vtint);border:1.5px solid var(--c-vring)}
.au-pack-ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--c-v);color:#fff;box-shadow:0 6px 14px -8px var(--c-vedge)}
.au-pack-ic .ico{width:18px;height:18px}
.au-pack b{display:block;font:700 14.5px/1.25 var(--f-d);letter-spacing:-.01em;color:var(--c-ink)}
.au-pack>div>span{display:block;margin-top:2px;font-size:12.5px;color:var(--c-ink2);line-height:1.35}
.au-invite b{display:block;font:700 15px/1.25 var(--f-d);letter-spacing:-.01em}
.au-invite>div>span{display:block;margin-top:2px;font-size:13px;color:var(--c-ink2);line-height:1.35}

/* ───────── sub-step header ───────── */
.au-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:44px}
.au-back{all:unset;box-sizing:border-box;--d:3px;width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--c-ink);background:var(--c-paper);border:1.5px solid var(--c-line2);box-shadow:0 var(--d) 0 var(--c-edge);transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring)}
@media (hover:hover){.au-back:hover{transform:translateX(-2px)}}
.au-back:active{transform:translateY(3px);--d:0px;transition-duration:70ms}
.au-back:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}
/* close over the running app (welcome): pinned on the kitchen's corner */
.au-xf{all:unset;box-sizing:border-box;display:none;position:absolute;z-index:6;top:calc(env(safe-area-inset-top,0px) + 20px);right:max(20px,calc(env(safe-area-inset-right,0px) + 10px));width:44px;height:44px;border-radius:12px;place-items:center;cursor:pointer;color:#1B1530;background:#FFFDF8;border:1.5px solid #1B1530;box-shadow:0 3px 0 #1B1530;transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring)}
.au-xf:active{transform:translateY(3px);box-shadow:0 0 0 #1B1530;transition-duration:70ms}
.au-xf:focus-visible{outline:3px solid #fff;outline-offset:2px}
.au.au-inapp[data-screen=welcome] .au-xf{display:grid}

/* segmented control */
.au-seg{position:relative;display:grid;grid-template-columns:1fr 1fr;width:272px;max-width:calc(100% - 56px);padding:4px;border-radius:12px;background:var(--c-well)}
.au-seg button{all:unset;box-sizing:border-box;position:relative;z-index:1;height:36px;padding:0 6px;border-radius:9px;text-align:center;font-size:14px;font-weight:600;color:var(--c-ink2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.au-seg button.on{color:var(--c-ink)}
.au-seg button:focus-visible{outline:3px solid var(--c-focus);outline-offset:0}
.au-segi{position:absolute;top:4px;left:4px;height:36px;width:calc(50% - 4px);border-radius:9px;background:var(--c-paper);box-shadow:0 1px 0 var(--c-edge),0 4px 10px -4px var(--c-shadow2);transition:transform .42s var(--au-spring)}
.au-seg[data-mode=up] .au-segi{transform:translateX(100%)}

/* ───────── fields ───────── */
.au-form{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.au-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.au-lbl{font-size:13px;font-weight:600;color:var(--c-ink2)}
.au-lrow{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}
.au-forgot{all:unset;cursor:pointer;margin:-10px -6px;padding:10px 6px;border-radius:8px;font-size:13px;font-weight:550;color:var(--c-vtx)}
.au-forgot:hover{text-decoration:underline;text-underline-offset:2px}
.au-forgot:focus-visible{outline:3px solid var(--c-focus);outline-offset:-4px}
.au-in{position:relative}
.au-input{all:unset;box-sizing:border-box;display:block;width:100%;height:52px;padding:0 48px 0 16px;border-radius:var(--r);background:var(--c-paper);border:1.5px solid var(--c-line2);font:400 16px/1.2 var(--f-t);color:var(--c-ink);caret-color:var(--c-v);transition:border-color .16s,box-shadow .2s}
.au-in:has(.au-eye) .au-input{padding-right:84px}
.au-input::placeholder{color:var(--c-ph);opacity:1}
@media (hover:hover){.au-input:hover{border-color:var(--c-line3)}}
.au-input:focus,.au-input:focus-visible{outline:none;border-color:var(--c-v);box-shadow:0 0 0 4px var(--c-vring)}
.au-input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--c-paper) inset;-webkit-text-fill-color:var(--c-ink)}
.au-in.ok .au-input{border-color:var(--c-ok-line)}
.au-in.ok .au-input:focus{border-color:var(--c-v)}
.au-f.bad .au-input{border-color:var(--c-tomato);box-shadow:0 0 0 4px rgba(239,90,60,.13)}
.au-ok{position:absolute;right:14px;top:15px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--c-herb);color:#fff;transform:scale(0);transition:transform .38s var(--au-spring);pointer-events:none}
.au-ok path{stroke-dasharray:14;stroke-dashoffset:14;transition:stroke-dashoffset .3s .12s ease}
.au-in.ok .au-ok{transform:scale(1)}
.au-in.ok .au-ok path{stroke-dashoffset:0}
.au-in:has(.au-eye) .au-ok{right:52px}
.au-eye{all:unset;box-sizing:border-box;position:absolute;right:6px;top:6px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--c-ink3)}
@media (hover:hover){.au-eye:hover{color:var(--c-ink);background:var(--c-hover)}}
.au-eye:focus-visible{outline:3px solid var(--c-focus);outline-offset:0}
.au-hint{font-style:normal;font-size:13px;line-height:1.35;color:var(--c-ink3)}
.au-hint:empty{display:none}
.au-f.bad .au-hint{color:var(--c-tomato2)}
.au-meter{display:flex;gap:6px;margin-top:4px}
.au-meter i{flex:1;height:6px;border-radius:3px;background:var(--c-well);position:relative;overflow:hidden}
.au-meter i::after{content:"";position:absolute;inset:0;background:var(--mc,var(--c-tomato));transform:scaleX(0);transform-origin:left;transition:transform .38s var(--au-spring),background-color .2s}
.au-meter[data-s=x]{--mc:var(--c-tomato)}.au-meter[data-s="1"]{--mc:var(--c-saffron)}.au-meter[data-s="2"]{--mc:var(--c-saffron)}.au-meter[data-s="3"]{--mc:var(--c-herb)}.au-meter[data-s="4"]{--mc:var(--c-herb2)}
.au-meter[data-s=x] i:nth-child(-n+1)::after,.au-meter[data-s="1"] i:nth-child(-n+1)::after,.au-meter[data-s="2"] i:nth-child(-n+2)::after,.au-meter[data-s="3"] i:nth-child(-n+3)::after,.au-meter[data-s="4"] i::after{transform:scaleX(1)}
.au-mrow{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--c-ink3)}
.au-mrow .au-hint{font-size:12.5px;font-weight:600}
.au-meter[data-s]:not([data-s="0"])+.au-mrow .au-hint{color:var(--mc)}
.au-f:has(.au-meter[data-s=x]) .au-mrow .au-hint{color:var(--c-tomato2)}
.au-f:has(.au-meter[data-s="1"]) .au-mrow .au-hint,.au-f:has(.au-meter[data-s="2"]) .au-mrow .au-hint{color:var(--c-saffron2)}
.au-f:has(.au-meter[data-s="3"]) .au-mrow .au-hint,.au-f:has(.au-meter[data-s="4"]) .au-mrow .au-hint{color:var(--c-herb2)}
.au-legal{margin:0;font-size:12.5px;line-height:1.5;color:var(--c-ink3);text-align:center;text-wrap:pretty}
.au-grow{animation:auGrow .42s var(--au-spring) both;overflow:hidden}
@keyframes auGrow{from{opacity:0;max-height:0;margin-bottom:-16px}to{opacity:1;max-height:110px}}

/* errors */
.au-err{display:flex;align-items:flex-start;gap:9px;margin:16px 0 0;padding:11px 13px;border-radius:12px;background:var(--c-err-bg);border:1.5px solid var(--c-err-line);color:var(--c-tomato2);font-size:14px;font-weight:550;line-height:1.4;transition:opacity .25s,transform .25s}
.au-err .ico{width:18px;height:18px;flex:none;margin-top:1px}
.au-err.bye{opacity:0;transform:translateY(-4px)}
.au-jstate .au-err{margin:0}
.au-shake{animation:auShake .42s var(--au-out)}
@keyframes auShake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}

/* soon */
.au-note{margin-top:20px;padding:16px;border-radius:var(--r-lg);background:var(--c-paper);border:1.5px solid var(--c-line)}
.au-note p{margin:0;font-size:15px;line-height:1.5;color:var(--c-ink)}
.au-note .au-note-s{margin-top:8px;font-size:14px;color:var(--c-ink2)}

/* ───────── signed-in strip + setup choices ───────── */
.au-who{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:8px 8px 8px 10px;border-radius:16px;background:var(--c-paper);border:1.5px solid var(--c-line)}
.au-who img,.au-wi,.au-acc img{width:38px;height:38px;border-radius:50%;flex:none;object-fit:cover}
.au-wi{display:grid;place-items:center;background:linear-gradient(140deg,#7A4DFF,#4A1FE6);color:#fff;font-size:13px;font-weight:800}
.au-wi .ico{width:18px;height:18px}
.au-who>div{flex:1;min-width:0}
.au-who b{display:block;font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-who>div>span{display:block;font-size:12.5px;color:var(--c-ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-chg{all:unset;cursor:pointer;min-height:40px;padding:0 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--c-vtx)}
@media (hover:hover){.au-chg:hover{background:var(--c-vtint)}}
.au-chg:focus-visible{outline:3px solid var(--c-focus);outline-offset:0}
.au-choices{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.au-choice{all:unset;box-sizing:border-box;--d:4px;display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-lg);cursor:pointer;background:var(--c-paper);border:1.5px solid var(--c-line2);box-shadow:0 var(--d) 0 var(--c-edge),0 12px 22px -16px var(--c-shadow);transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring),border-color .16s}
@media (hover:hover){.au-choice:hover{transform:translateY(-1px);--d:5px;border-color:var(--c-line3)}.au-choice:hover .au-arr{transform:translateX(4px)}}
.au-choice:active{transform:translateY(4px);--d:0px;transition-duration:70ms}
.au-choice:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}
.au-cic{width:48px;height:48px;flex:none;border-radius:13px;display:grid;place-items:center;color:#fff;background:#5B2BFF;border:1.5px solid #1B1530}
.au-cic.alt{background:var(--c-herb)}
.au-cic .ico{width:24px;height:24px}
.au-ctx{flex:1;min-width:0}
.au-ctx b{display:block;font:700 17px/1.2 var(--f-d);font-variation-settings:"opsz" 32,"wdth" 94;letter-spacing:-.015em}
.au-ctx span{display:block;margin-top:2px;font-size:13.5px;color:var(--c-ink3)}

/* ───────── create ───────── */
.au-chips{display:flex;flex-wrap:wrap;gap:8px}
.au-chip{all:unset;box-sizing:border-box;--d:3px;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:12px;cursor:pointer;background:var(--c-paper);border:1.5px solid var(--c-line2);box-shadow:0 var(--d) 0 var(--c-edge);font-size:14px;font-weight:600;color:var(--c-ink2);transition:transform .26s var(--au-spring),box-shadow .26s var(--au-spring),background-color .16s,color .16s,border-color .16s;-webkit-tap-highlight-color:transparent}
.au-chip:active{transform:translateY(3px);--d:0px;transition-duration:70ms}
.au-chip:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}
.au-chip.on{background:var(--c-vtint);border-color:var(--c-v);color:var(--c-vtx);box-shadow:0 var(--d) 0 var(--c-vring)}
@media (hover:hover){.au-chip:not(.on):hover{color:var(--c-ink);border-color:var(--c-line3)}}
.au-chip em{font:500 11px/1 var(--f-m);font-style:normal;letter-spacing:.02em;opacity:.7}
.au-frk{width:18px;height:18px;flex:none;border-radius:5px;display:grid;place-items:center;border:1.5px solid var(--c-line3);color:#fff;transition:background-color .16s,border-color .16s}
.au-chip.on .au-frk{background:var(--c-v);border-color:var(--c-v)}
.au-frk svg{width:11px;height:11px}
/* live preview of the restaurant card */
.au-prev{border-radius:var(--r-lg);background:var(--c-paper);border:1.5px solid var(--c-line);box-shadow:0 1px 0 var(--c-line),0 18px 30px -24px var(--c-shadow);overflow:hidden}
.au-pvh{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1.5px dashed var(--c-line)}
.au-pm{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;color:#fff;background:#5B2BFF;border:1.5px solid #1B1530;font:700 17px/1 var(--f-d);letter-spacing:-.02em}
.au-pop{animation:auPop2 .38s var(--au-spring)}
@keyframes auPop2{from{transform:scale(.86)}}
.au-pvn{flex:1;min-width:0}
.au-pvn b{display:block;font:700 19px/1.15 var(--f-d);font-variation-settings:"opsz" 32,"wdth" 92;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au-pvn b.empty{color:var(--c-ph)}
.au-pvn em{display:block;font-style:normal;font-size:13px;color:var(--c-ink3)}
.au-pvtag{flex:none;padding:5px 6px;border-radius:6px;border:1px solid var(--c-line2);font:500 10px/1 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink3)}
.au-pvl{padding:4px 16px 8px}
.au-pvr{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;min-width:0}
.au-pvr+.au-pvr{border-top:1px solid var(--c-sep)}
.au-pvr .t{width:40px;flex:none;font:500 12px/1 var(--f-m);color:var(--c-ink3)}
.au-pvr .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-pvr .s{flex:none;padding:3px 8px;border-radius:999px;background:var(--c-ok-bg);color:var(--c-herb2);font:600 12px/1.3 var(--f-t)}
.au-pvr.more{font-size:13px;color:var(--c-ink3)}

/* ───────── join: 8 code cells over a real input ───────── */
.au-codebox{position:relative;display:block;cursor:text}
.au-codein{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;border:0;padding:0;background:transparent;color:transparent;caret-color:transparent}
.au-cells{display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:none}
.au-cells i{flex:1 1 0;min-width:0;max-width:46px;height:56px;border-radius:12px;display:grid;place-items:center;background:var(--c-paper);border:1.5px solid var(--c-line2);box-shadow:0 3px 0 var(--c-edge);font:700 22px/1 var(--f-m);font-style:normal;color:var(--c-ink);transition:border-color .2s,box-shadow .2s,transform .25s var(--au-spring)}
.au-cells i.f{border-color:var(--c-line3);animation:auPop2 .3s var(--au-spring)}
.au-cells i.cur{border-color:var(--c-v);box-shadow:0 3px 0 var(--c-vedge),0 0 0 4px var(--c-vring)}
.au-cells i.cur::after{content:"";width:2px;height:24px;background:var(--c-v);border-radius:2px;animation:auBlink 1s steps(1) infinite}
.au-cells b{flex:none;color:var(--c-ink3);font-weight:700}
@keyframes auBlink{50%{opacity:0}}
.au-jstate{min-height:52px;display:flex;flex-direction:column;justify-content:center}
.au-jload{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;color:var(--c-ink2);font-size:14px;font-weight:550}
.au-jcard{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--c-paper);border:1.5px solid var(--c-tk-line);box-shadow:4px 4px 0 var(--c-tk-sh);animation:auTicket .5s var(--au-spring) both}
@keyframes auTicket{from{opacity:0;transform:translateY(-10px) rotate(-2deg)}}
.au-jcard>div{flex:1;min-width:0}
.au-jcard b{display:block;font:700 17px/1.2 var(--f-d);letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-jcard em{display:block;font-style:normal;font-size:13px;color:var(--c-ink3)}
.au-jexp{flex:none;padding:4px 9px;border-radius:999px;background:var(--c-ok-bg);color:var(--c-herb2);font-size:12px;font-weight:600}

/* ───────── import ───────── */
.au-imp{margin-top:22px;padding:14px;border-radius:var(--r-lg);background:var(--c-paper);border:1.5px solid var(--c-line)}
.au-imph{display:flex;align-items:center;gap:12px}
.au-imph>div{min-width:0}
.au-imph b{display:block;font:700 17px/1.2 var(--f-d);letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-imph em{display:block;font-style:normal;font-size:13px;color:var(--c-ink3)}
.au-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border:1.5px solid var(--c-line);border-radius:14px;overflow:hidden}
.au-kpis div{padding:10px 8px 9px;min-width:0}
.au-kpis div+div{border-left:1.5px solid var(--c-line)}
.au-kpis b{display:block;font:700 20px/1 var(--f-d);font-variation-settings:"opsz" 48;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.au-kpis span{font-size:12px;color:var(--c-ink3)}
.au-prog{height:6px;border-radius:3px;background:var(--c-well);overflow:hidden;margin:14px 0 6px}
.au-prog i{display:block;height:100%;border-radius:3px;background:var(--c-v);transition:width .4s var(--au-out)}

/* ───────── success: seal, opening bar, busy ───────── */
.au-seal{width:64px;height:64px;margin-bottom:18px}
.au-sealsvg{width:100%;height:100%;display:block;overflow:visible}
.au-sealsvg .disc{fill:var(--c-ok-bg);transform-origin:36px 36px;transform:scale(.4);opacity:0;animation:auDisc .5s .45s var(--au-spring) forwards}
.au-sealsvg .ring{stroke:var(--c-herb);stroke-dasharray:214;stroke-dashoffset:214;animation:auDash .6s .15s var(--au-out) forwards}
.au-sealsvg path{stroke:var(--c-herb);stroke-dasharray:40;stroke-dashoffset:40;animation:auDash .36s .65s var(--au-out) forwards}
@keyframes auDisc{to{transform:scale(1);opacity:1}}
@keyframes auDash{to{stroke-dashoffset:0}}
.au-opening{display:flex;flex-direction:column;gap:8px;margin-top:24px;font:500 11px/1 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink3)}
.au-opening i{display:block;height:6px;border-radius:3px;background:var(--c-well);overflow:hidden}
.au-opening b{display:block;height:100%;width:100%;border-radius:3px;background:var(--c-v);transform-origin:left;animation:auFill 1.9s .2s var(--au-out) both}
@keyframes auFill{from{transform:scaleX(0)}}
.au-busyp{display:flex;flex-direction:column;align-items:flex-start;padding:12px 0}
.au-busym .au-mark{width:56px;height:56px;animation:auBob 1.6s ease-in-out infinite}
@keyframes auBob{50%{transform:translateY(-4px) rotate(-3deg)}}
.au-busyp .au-h2{margin-top:18px;font-size:24px}
.au-bdots{display:flex;gap:6px;margin-top:14px;color:var(--c-v)}
.au-bdots i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:auHop .9s var(--au-out) infinite}
.au-bdots i:nth-child(2){animation-delay:.12s}.au-bdots i:nth-child(3){animation-delay:.24s}

/* ───────── the kitchen stage ───────── */
.au-stage{order:-1;position:relative;flex:none;margin:calc(env(safe-area-inset-top,0px) + 10px) max(10px,env(safe-area-inset-right,0px)) 0 max(10px,env(safe-area-inset-left,0px));height:var(--sh,280px);border-radius:24px;overflow:hidden;background:var(--k-wall);isolation:isolate;transition:height .6s var(--au-spring)}
.au-sbrand{position:absolute;z-index:5;left:12px;top:12px;display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:14px;background:#2C0CB0;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.12);transition:opacity .2s}
.au-sbrand .au-mark{width:28px;height:28px}
.au-sbrand .au-wm{font-size:17px}
.au:not([data-screen=welcome]) .au-sbrand{opacity:0}
.auk{position:absolute;left:0;top:0;width:800px;height:840px;transform-origin:0 0;transition:transform .9s var(--au-out);will-change:transform;font-family:var(--f-t);color:#1B1530}
.auk>svg{position:absolute;inset:0;width:800px;height:840px;overflow:visible}
.auk-ink{stroke:#1B1530;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
/* palette hooks (the night kitchen re-tints these) */
.auk [fill="#4C1FEA"]{fill:var(--k-wall)}
.auk [stroke="#5A30F4"]{stroke:var(--k-grout)}
.auk [fill="#3A10D8"]{fill:var(--k-floor)}
.auk [fill="#4318E0"]{fill:var(--k-cab)}
.auk [fill="#2C0CB0"]{fill:var(--k-base)}
.auk [fill="#FFFDF8"]{fill:var(--k-white)}
.auk [fill="#FFF4D9"]{fill:var(--k-cream)}
#aukFridge{cursor:pointer}
#aukDoor{transform-box:view-box;transform-origin:78px 276px;transition:transform .62s var(--au-spring)}
#aukDoorF{transition:opacity 80ms .15s}
#aukDoorB{opacity:0;transition:opacity 80ms .15s}
@media (hover:hover){#aukFridge:hover #aukDoor{transform:scaleX(-.3) skewY(9deg)}#aukFridge:hover #aukDoorF{opacity:0;transition-delay:.11s}#aukFridge:hover #aukDoorB{opacity:1;transition-delay:.11s}#aukFridge:hover #aukLight{opacity:1}}
#aukFridge.open #aukDoor{transform:scaleX(-.3) skewY(9deg)}
#aukFridge.open #aukDoorF{opacity:0;transition-delay:.11s}
#aukFridge.open #aukDoorB{opacity:1;transition-delay:.11s}
#aukLight{opacity:0;transition:opacity .3s .12s}
#aukFridge.open #aukLight{opacity:1}
#aukMerc{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.42);transition:transform 1.2s var(--au-out)}
#aukLcd{transition:fill .4s}
.auk-steam path{fill:none;stroke:#FFF6E6;stroke-width:5;stroke-linecap:round;opacity:0;animation:aukSteam 3.2s ease-in-out infinite}
.auk-steam path:nth-child(2){animation-delay:1.05s}.auk-steam path:nth-child(3){animation-delay:2.1s}
@keyframes aukSteam{0%{opacity:0;transform:translateY(10px)}30%{opacity:.75}100%{opacity:0;transform:translateY(-34px)}}
#aukLid{transform-box:fill-box;transform-origin:50% 100%;animation:aukLid 3.2s ease-in-out infinite}
@keyframes aukLid{0%,82%,100%{transform:none}86%{transform:translateY(-3px) rotate(-2deg)}90%{transform:none}93%{transform:translateY(-2px) rotate(1.5deg)}}
#aukKnife{transform-box:view-box;transform-origin:760px 466px;transition:transform .42s var(--au-spring)}
#aukOyster .auk-top{transform-box:fill-box;transform-origin:100% 100%;transition:transform .48s var(--au-spring)}
@media (hover:hover){#aukBoard:hover #aukKnife{transform:translate(-8px,-6px) rotate(-6deg)}#aukBoard:hover #aukOyster .auk-top{transform:rotate(-14deg)}#aukPrinter:hover .auk-btnp{transform:translateY(2px)}}
#aukPrinter{cursor:pointer}
#aukPrinter .auk-btnp{transform-box:fill-box;transform-origin:50% 50%;transition:transform .2s var(--au-spring)}
/* ticket rail */
.auk-rail{position:absolute;left:330px;top:84px;width:450px;height:10px;border-radius:5px;background:#E7E3F1;border:3px solid #1B1530}
.auk-ticket{position:absolute;top:90px;width:132px;padding:16px 12px 12px;background:var(--k-paper);border:3px solid #1B1530;border-radius:6px 6px 10px 10px;transform-origin:50% 0;animation:aukSway 6s ease-in-out infinite;transition:transform .5s var(--au-spring);box-shadow:6px 6px 0 rgba(27,21,48,.22);color:#1B1530}
.auk-ticket::before{content:"";position:absolute;left:50%;top:-12px;width:20px;height:16px;margin-left:-10px;border-radius:4px;background:#C9C3DA;border:3px solid #1B1530}
.auk-ticket:nth-of-type(2){animation-delay:-2s}.auk-ticket:nth-of-type(3){animation-delay:-4s}
@keyframes aukSway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
.auk-tk{font:700 9px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#8A8499}
.auk-tt{margin-top:8px;font:700 15px/1.1 var(--f-d);font-variation-settings:"opsz" 24,"wdth" 90;letter-spacing:-.02em}
.auk-tv{margin-top:6px;font:700 28px/1 var(--f-d);font-variation-settings:"opsz" 72,"wdth" 85;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.auk-tv.s{font-size:24px}
.auk-tv small{font-size:15px;letter-spacing:0}
.auk-tl{margin-top:6px;font-size:12px;line-height:1.35;color:#4A4560}
.auk-ts{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:8px;border-top:2px dashed #E6DCCB;font-size:11px;font-weight:600;color:#4A4560}
.auk-ts i{width:8px;height:8px;border-radius:50%;background:#23935C}
.auk-ts i.w{background:#F6B93B}
.auk-tp{height:6px;margin-top:10px;border-radius:3px;background:#EEE4D3;overflow:hidden}
.auk-tp b{display:block;height:100%;width:100%;border-radius:3px;background:#5B2BFF}
/* the DLC label printing out of the printer */
.auk-slot{position:absolute;left:360px;top:236px;width:84px;height:184px;overflow:hidden;pointer-events:none}
.auk-dlc{position:absolute;left:0;bottom:0;width:84px;height:150px;padding:8px 7px;background:#fff;border:2.5px solid #1B1530;border-bottom:0;border-radius:6px 6px 0 0;transform:translateY(100%);color:#1B1530}
.auk-dlc.printed{transform:translateY(0)}
.auk-dlc.printing{animation:aukPrint 1.1s steps(1,end) forwards}
@keyframes aukPrint{0%{transform:translateY(100%)}12%{transform:translateY(86%)}24%{transform:translateY(72%)}36%{transform:translateY(58%)}48%{transform:translateY(44%)}60%{transform:translateY(30%)}72%{transform:translateY(16%)}84%{transform:translateY(4%)}100%{transform:translateY(0)}}
.auk-dh{display:flex;justify-content:space-between;align-items:center;font:700 7px/1 var(--f-m);letter-spacing:.06em;color:#8A8499}
.auk-dh i{width:8px;height:8px;border-radius:2px;background:#5B2BFF}
.auk-dp{height:24px;margin-top:6px;overflow:hidden;font:700 10px/1.15 var(--f-d);font-variation-settings:"wdth" 88;letter-spacing:-.01em;overflow-wrap:anywhere}
.auk-dk{margin-top:5px;font:700 7px/1 var(--f-m);letter-spacing:.08em;color:#C8432A}
.auk-dd{margin-top:2px;font:700 21px/1 var(--f-d);font-variation-settings:"opsz" 72,"wdth" 80;letter-spacing:-.03em}
.auk-dm{margin-top:5px;font:500 7px/1.35 var(--f-m);color:#4A4560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auk-bc{height:14px;margin-top:6px;background:repeating-linear-gradient(90deg,#1B1530 0 1.5px,transparent 1.5px 3px,#1B1530 3px 3.8px,transparent 3.8px 6px,#1B1530 6px 8.5px,transparent 8.5px 9.5px)}
/* « Prêt pour le contrôle » */
.auk-stamp{position:absolute;left:100px;top:420px;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;text-align:center;border:4px solid #23935C;color:#23935C;background:rgba(255,253,248,.92);transform:rotate(-14deg) scale(1.8);opacity:0;pointer-events:none}
.auk-stamp::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px dashed #23935C}
.auk-stamp b{display:block;font:800 22px/1 var(--f-d);font-variation-settings:"wdth" 80;letter-spacing:-.01em;text-transform:uppercase}
.auk-stamp span{display:block;margin-top:6px;font:700 9px/1.3 var(--f-m);letter-spacing:.1em;text-transform:uppercase}
.auk-stamp.on{opacity:1;transform:rotate(-14deg) scale(1);transition:transform .52s var(--au-spring),opacity .12s}
.auk-cap{display:none;position:absolute;left:70px;top:60px;font:500 11px/1.4 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.auk-cap b{color:#fff;font-weight:700}
.auk-night{display:none;position:absolute;inset:0;pointer-events:none;z-index:2}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auk-night{display:block;background:radial-gradient(46% 34% at 58% 50%,rgba(255,190,110,.13),rgba(255,190,110,0) 70%),radial-gradient(130% 100% at 50% 35%,rgba(8,4,30,0) 50%,rgba(8,4,30,.5))}:root:not([data-theme=light]) .auk-ticket{box-shadow:6px 6px 0 rgba(0,0,0,.35)}}
:root[data-theme=dark] .auk-night{display:block;background:radial-gradient(46% 34% at 58% 50%,rgba(255,190,110,.13),rgba(255,190,110,0) 70%),radial-gradient(130% 100% at 50% 35%,rgba(8,4,30,0) 50%,rgba(8,4,30,.5))}

/* ───────── desktop: split with the illustrated kitchen ───────── */
@media (min-width:960px){
  .au-scroll{overflow:hidden}
  .au-app{height:100%;min-height:0;display:grid;grid-template-columns:minmax(440px,560px) 1fr;gap:16px;padding:16px}
  .au-auth{max-width:none;min-height:0;margin:0;padding:24px 40px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-line2) transparent}
  .au-brand{display:flex}
  .au-deck{width:100%;max-width:400px;margin:0 auto}
  .au-pane{margin-block:auto;padding:28px 0}
  .au-fine-d{display:block;max-width:400px;margin:0 auto;flex:none}
  .au-fine-m{display:none}
  .au-eyebrow{display:flex;margin-bottom:16px}
  .au-h1{font-size:46px;margin-bottom:12px}
  .au-lede{font-size:17px}
  .au-h2{font-size:32px}
  .au-stack{margin-top:24px}
  .au-stage{order:0;margin:0;height:auto;border-radius:var(--r-xl)}
  .au-sbrand{display:none}
  .au-xf{top:32px;right:32px}
  .au-seal{width:72px;height:72px}
}
@media (min-width:1200px){.auk-cap{display:block}}
@media (min-width:960px) and (max-height:800px){.au-h1{font-size:40px}.au-stack{gap:8px;margin-top:20px}.au-pane{padding:16px 0}}
/* small phones: tighter rhythm, the buttons stay above the fold */
@media (max-width:959px) and (max-height:700px){.au-h1{font-size:30px}.au-lede{font-size:15px}.au-stack{margin-top:14px;gap:8px}.au-tac{min-height:48px}.au-demo{margin-top:12px;padding:10px 12px}}
@media (max-width:374px){.au-h1{font-size:30px}.au-h2{font-size:25px}.au-auth{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.au-seg{width:auto;flex:1}.au-seg button{font-size:13.5px}.au-cells{gap:4px}.au-cells i{height:50px;font-size:19px}}

/* reduced motion: everything lands in place, the kitchen holds still */
@media (prefers-reduced-motion:reduce){
  .au,.au *,.au *::before,.au *::after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:1ms!important;transition-delay:0ms!important}
  .auk-steam path{opacity:.5}
  .au-cells i.cur::after{opacity:1}
}

/* ───────── sheets: invites, sign-out (in the app, app tokens) ───────── */
.au-spin{display:none;width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:auRot .7s linear infinite;flex:none}
@keyframes auRot{to{transform:rotate(1turn)}}
.au-busy{pointer-events:none}
.au-busy>.au-spin{display:block;position:absolute;left:50%;top:50%;margin:-10px 0 0 -10px}
.au-sh .au-busy>*:not(.au-spin){opacity:0}
.au-sh .au-submit{position:relative;margin-top:4px;height:56px}
.au-sh .au-submit>span:not(.au-spin){display:inline-flex;align-items:center;gap:9px}
.au-sh .au-jload,.au-pend+.au-jload{color:var(--muted);font-size:13px;font-weight:700}
.au-jload .au-spin{display:block;width:16px;height:16px;border-width:2px}
@keyframes auUp{from{opacity:0;transform:translateY(14px)}}
@keyframes auPop{from{transform:scale(.8)}}

.au-sh{display:flex;flex-direction:column;gap:12px}
.au-sh>.h2,.au-sh>.sub{text-align:center}
.au-sh>.sub{margin:-4px 8px 4px;line-height:1.45}
.au-shic{width:56px;height:56px;margin:0 auto;border-radius:20px;display:grid;place-items:center;background:linear-gradient(150deg,rgba(122,77,255,.16),rgba(74,31,230,.07));color:var(--accent)}
.au-shic .ico{width:26px;height:26px}
.au-shh{display:flex;align-items:center;gap:12px}
.au-shh .au-shic{margin:0;flex:none;width:48px;height:48px;border-radius:17px}
.au-shh .sub{margin:2px 0 0}
.au-roles{display:flex;flex-direction:column;gap:8px}
.au-role{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px var(--line) inset;transition:box-shadow .25s,background .25s,transform .18s var(--spring)}
.au-role:active{transform:scale(.98)}
.au-role.on{background:#fff;box-shadow:0 0 0 2px var(--accent) inset,0 12px 24px -16px rgba(74,31,230,.7)}
.au-role .tx{flex:1;min-width:0}
.au-role b{display:block;font-weight:800;font-size:15px}
.au-role em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);font-weight:600}
.au-rdot{width:20px;height:20px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(14,19,48,.18) inset;transition:box-shadow .25s var(--spring)}
.au-role.on .au-rdot{box-shadow:0 0 0 6px var(--accent) inset}
.au-invres{display:flex;align-items:center;gap:16px;padding:14px;border-radius:22px;background:linear-gradient(130deg,rgba(122,77,255,.1),rgba(158,215,255,.18));animation:auPop .45s var(--spring)}
.au-qr{width:118px;height:118px;flex:none;padding:6px;border-radius:16px;background:#fff;box-shadow:0 10px 22px -14px rgba(40,30,120,.6)}
.au-qr svg{width:100%;height:100%;display:block}
.au-invc{min-width:0;display:flex;flex-direction:column;gap:4px}
.au-bigcode{font-size:24px;letter-spacing:.04em;white-space:nowrap}
.au-bigcode span{display:inline-block;animation:auUp .4s var(--spring) both;animation-delay:calc(var(--i) * 40ms + 120ms)}
.au-invc em{font-style:normal;font-size:12px;color:var(--muted);font-weight:600;line-height:1.35}
.au-g2{gap:8px}
.au-g2 .btn{white-space:nowrap;padding:0 12px;font-size:14px}
.au-pendl{margin-top:6px}
.au-pend .iconbtn.sm{width:40px;height:40px}
.au-pend .iconbtn .ico{width:18px;height:18px;color:var(--bad)}
.au-swx{display:flex;flex-direction:column;gap:6px;margin-top:4px}

/* Réglages « Compte » card */
.au-acct-wrap{margin-top:4px}
.au-acc{display:flex;align-items:center;gap:12px;padding:6px 0 12px;border-bottom:1px solid var(--line)}
.au-acc>div{flex:1;min-width:0}
.au-acc b{display:block;font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-acc span:not(.pill){display:block;font-size:12.5px;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-wi.demo{background:linear-gradient(140deg,#8F63FF,#2F1BC4)}
.au-acct .ic.bad{background:rgba(212,42,72,.1);color:var(--bad)}

/* ───────── demo bar ───────── */
.au-dbar{position:absolute;z-index:45;left:50%;top:calc(env(safe-area-inset-top,0px) + 8px);display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:999px;background:rgba(14,19,48,.88);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);color:#fff;font-size:12.5px;font-weight:700;box-shadow:0 14px 30px -14px rgba(14,19,48,.7);transform:translate(-50%,-160%);transition:transform .7s var(--spring);white-space:nowrap;max-width:calc(100vw - 24px)}
.au-dbar.on{transform:translate(-50%,0)}
.au-demo-dot{width:8px;height:8px;border-radius:50%;background:#B9A2FF;box-shadow:0 0 0 0 rgba(185,162,255,.7);animation:auDot 2s infinite;flex:none}
@keyframes auDot{70%{box-shadow:0 0 0 7px rgba(185,162,255,0)}100%{box-shadow:0 0 0 0 rgba(185,162,255,0)}}
.au-demo-tx{overflow:hidden;text-overflow:ellipsis;line-height:1.15}
.au-demo-tx span{opacity:.72;font-weight:600}
@media (max-width:520px){.au-demo-tx b,.au-demo-tx span{display:block}.au-demo-tx span{font-size:11px}.au-sep{display:none}}
.au-sep{font-style:normal}
.au-demo-cta{all:unset;cursor:pointer;padding:0 12px;height:32px;line-height:32px;border-radius:999px;background:linear-gradient(140deg,#8F63FF,#4A1FE6);font-weight:800;font-size:12px;flex:none;transition:transform .18s var(--spring)}
.au-demo-cta:active{transform:scale(.94)}
.au-demo-x{all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);flex:none}
.au-demo-x .ico{width:15px;height:15px}
html.au-demomode .view{padding-top:calc(env(safe-area-inset-top,0px) + 58px)}

@media (min-width:960px){
  .au-dbar{left:auto;right:24px;transform:translateY(-160%);top:16px}
  .au-dbar.on{transform:none}
  html.au-demomode .view{padding-top:calc(env(safe-area-inset-top,0px) + 64px)}
}
html.au-leaving body{opacity:0;transition:opacity .25s}

/* ───────── offline pill (accounts) ───────── */
.au-net{position:absolute;z-index:44;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(184,108,0,.95);color:#fff;font-size:12.5px;font-weight:750;box-shadow:0 12px 26px -12px rgba(120,70,0,.7);transform:translate(-50%,40px);opacity:0;pointer-events:none;transition:transform .5s var(--spring),opacity .3s;white-space:nowrap;max-width:calc(100vw - 24px)}
.au-net .ico{width:16px;height:16px;flex:none}
.au-net span{overflow:hidden;text-overflow:ellipsis}
.au-net.on{transform:translate(-50%,0);opacity:1}
@media (min-width:960px){.au-net{bottom:24px}}

@media (prefers-reduced-motion:reduce){.au-demo-dot,.au-spin{animation:none!important}}
/* accounts: destructive sheets (vider, supprimer, quitter) */
.au-shic.bad{background:rgba(212,42,72,.1);color:var(--bad)}
.au-conf .field{margin-top:4px}
.au-sh form{display:flex;flex-direction:column;gap:12px}
.au-sh .au-err{margin:0}
.au-primary.au-danger{background:var(--c-tomato2,#C8432A);border-color:#8F2A17;--edge:#6E1F10}
.au-delacc{margin-top:14px;color:var(--c-ink2);opacity:.8}
.au-form .au-ghost{align-self:center}
