/* Zoolinko v2 · connexion / inscription */
html{height:100%}
body.authv{min-height:100dvh;background:var(--sage);font-family:var(--f-ui);color:var(--ink);font-size:16px}
.au{min-height:100dvh;display:grid;grid-template-columns:1fr minmax(420px,.95fr)}
.au-side{position:relative;display:flex;flex-direction:column;padding:32px clamp(24px,4vw,56px) 0;overflow:hidden}
.au-side::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 45% at 50% 72%,rgba(255,253,248,.55),transparent 70%)}
.au-logo{position:relative;display:inline-flex;align-self:flex-start}
.au-pitch{position:relative;margin-top:clamp(28px,6vh,72px)}
.au-pitch h2{font:600 clamp(34px,4.2vw,56px)/1.02 var(--f-display);letter-spacing:-.02em;margin:0 0 14px;max-width:14ch}
.au-pitch h2 em{font-style:normal;color:var(--forest)}
.au-pitch p{font-size:18px;max-width:40ch;margin:0}
.au-stage{position:relative;margin-top:auto;width:min(560px,100%);align-self:center}
.au-duo{margin-bottom:-6px}
.au-say{position:absolute;left:50%;top:-6px;transform:translate(-50%,-100%) scale(.6);margin:0;padding:10px 18px;border-radius:20px;background:var(--paper);
  font:600 18px var(--f-display);white-space:nowrap;box-shadow:var(--sh-1);opacity:0;transition:transform .35s var(--ease-spring),opacity .2s}
.au-say::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:inherit;transform:rotate(45deg);border-radius:3px}
.au-say.on{opacity:1;transform:translate(-50%,-100%)}
.au-main{background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px clamp(20px,4vw,56px);border-radius:var(--r-xl) 0 0 var(--r-xl);box-shadow:-20px 0 60px rgba(var(--shade),.12)}
.au-card{width:100%;max-width:420px}
.au-card h1{font:600 clamp(32px,3.4vw,40px)/1.05 var(--f-display);margin:0 0 6px}
.au-card .lead{color:var(--ink-2);font-size:16px;margin:0 0 26px}
.au-card .f-label{font-size:14.5px;font-weight:800;color:var(--ink)}
.au-card .input,.au-card .select{min-height:52px;border:2px solid var(--line);border-radius:16px;font-size:16px;background:var(--field);color:var(--ink);padding:13px 16px}
.au-card .input-icon .input{padding-left:46px}
.au-card .input-icon>i{left:17px;color:var(--ink-3)}
.au-card .input:focus,.au-card .select:focus{border-color:var(--forest);box-shadow:0 0 0 5px rgba(122,92,76,.18)}
.au-card .f-group.has-error .input{border-color:var(--coral);animation:fieldNo .4s}
@keyframes fieldNo{25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.au-card .f-error{color:var(--coral)}
.au-card .check input{accent-color:var(--forest)}
.au-card a{color:var(--forest);font-weight:800}
.au-card .btn{border-radius:99px;font:800 16px var(--f-ui);min-height:54px;transition:transform .25s var(--ease-spring),box-shadow .25s}
.au-card .btn-primary{background:var(--forest);color:var(--on-forest);box-shadow:0 2px 0 rgba(0,0,0,.08),0 10px 22px rgba(var(--shade),.2)}
.au-card .btn-primary:hover{transform:translateY(-2px)}
.au-card .btn:active{transform:scale(.97)}
.a-or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:13px;font-weight:800;margin:20px 0}
.a-or::before,.a-or::after{content:"";flex:1;height:2px;border-radius:2px;background:var(--line)}
.a-social{display:grid;grid-template-columns:1fr;gap:10px}
.a-social .btn{border:2px solid var(--line);background:var(--field);color:var(--ink);font-weight:800;min-height:52px}
.a-social .btn:hover{background:var(--sage-50);border-color:var(--sage)}
.a-foot{margin-top:24px;font-size:15px;color:var(--ink-2);text-align:center}
.a-status{background:var(--sage-50);color:var(--forest);font-weight:800;border-radius:16px;padding:12px 16px;margin-bottom:16px}
.au-back{margin:28px 0 0;font-size:14px}
.au-back a{color:var(--ink-2);font-weight:700}
.au-duo.is-shy .oreo .cover{opacity:1;transform:none}

@media (max-width:900px){
  .au{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .au-side{padding:96px 20px 0;min-height:0}
  .au-pitch{display:none}
  .au-side{flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:8px}
  .au-logo{position:absolute;left:20px;top:18px}
  .au-stage{width:min(210px,52%);margin:0 0 0 auto}
  .au-say{font-size:15px;left:auto;right:0;transform:translate(0,-100%) scale(.6);transform-origin:80% 100%}
  .au-say.on{transform:translate(0,-100%)}
  .au-say::after{left:auto;right:30%}
  .au-main{border-radius:32px 32px 0 0;justify-content:flex-start;padding:30px 20px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px rgba(var(--shade),.12);margin-top:-2px}
}
@media (prefers-reduced-motion:reduce){ .au-card .f-group.has-error .input{animation:none} .au-say{transition:opacity .2s} }
.au-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:12px;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--ink-3)}
.au-eye:hover{background:var(--sage-50)}
.au-eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.au-eye.on{color:var(--forest)}
.au-card .input[type=password],.au-card .input[name=password]{padding-right:52px}
