/* Eigenstaendiges Stylesheet nur fuer /pin.html.
   Muss getrennt von styles.css bleiben: nginx gibt ausschliesslich
   /assets/pin.css ohne Cookie frei (siehe stempa.conf). */
:root{
  --ink:#101B2E; --green:#2FB894; --bone:#F6F5F1; --paper:#fff;
  --slate:#5C6470; --line:#E4E2DB;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bone);color:var(--ink);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}

.pinbox{width:min(400px,100%);background:var(--paper);border:1px solid var(--line);
  border-radius:20px;padding:40px 34px 34px;box-shadow:0 24px 64px -28px rgba(16,27,46,.28);
  text-align:center}
.pinbox .logo{display:inline-flex;align-items:center;gap:11px;font-family:'Archivo',sans-serif;
  font-weight:800;font-size:23px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.pinbox .logo svg{width:26px;height:32px}
.pinbox h1{font-family:'Archivo',sans-serif;font-weight:800;font-size:26px;
  letter-spacing:-.02em;line-height:1.15;margin:26px 0 8px}
.pinbox p.sub{color:var(--slate);font-size:15px;margin-bottom:26px}

.pinform{display:flex;flex-direction:column;gap:12px}
#pin{width:100%;border:1.5px solid var(--line);border-radius:12px;background:var(--bone);
  padding:15px 16px;font:inherit;font-size:24px;font-weight:700;letter-spacing:.42em;
  text-align:center;color:var(--ink)}
#pin::placeholder{letter-spacing:.3em;font-weight:500;color:#B4B0A6}
#pin:focus{outline:2px solid var(--green);outline-offset:0;border-color:transparent}
.pinbtn{display:inline-flex;align-items:center;justify-content:center;font:inherit;
  font-weight:600;font-size:16px;border:0;border-radius:999px;padding:15px 28px;
  background:var(--ink);color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pinbtn:hover{box-shadow:0 6px 24px rgba(16,27,46,.25)}
.pinbtn:active{transform:scale(.985)}

.pinerr{min-height:20px;font-size:14px;font-weight:600;color:#C0392B;opacity:0;
  transition:opacity .2s}
.pinerr.show{opacity:1}
.pinnote{margin-top:22px;font-size:12.5px;color:var(--slate)}

.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97)}
@keyframes shake{
  10%,90%{transform:translateX(-2px)}
  20%,80%{transform:translateX(4px)}
  30%,50%,70%{transform:translateX(-7px)}
  40%,60%{transform:translateX(7px)}
}
@media(prefers-reduced-motion:reduce){.shake{animation:none}}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
