/* Kaburi·C1 — pagina d'ingresso (02/10/2026): solo gli stili della schermata d'accesso, presi dagli stili dell'app.
   Pubblica: il codice dell'app si consegna solo dopo l'accesso. Il cambio di layout per il telefono lo fa accesso.js. */
@font-face{font-family:'Unbounded';src:url('fonts/Unbounded.ttf');font-weight:200 900;font-display:swap;}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-Regular.ttf');font-weight:400;font-display:swap;}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-Medium.ttf');font-weight:500;font-display:swap;}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-SemiBold.ttf');font-weight:600;font-display:swap;}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-Bold.ttf');font-weight:700;font-display:swap;}
@font-face{font-family:'DM Mono';src:url('fonts/DMMono-Regular.ttf');font-weight:400;font-display:swap;}
@font-face{font-family:'DM Mono';src:url('fonts/DMMono-Medium.ttf');font-weight:500;font-display:swap;}
:root{
 --font-display:'Unbounded',Arial Black,sans-serif;
 --font-body:'Barlow',system-ui,sans-serif;
 --font-mono:'DM Mono',ui-monospace,monospace;
 --ease-out:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
button{font-family:inherit}
html,body{margin:0;height:100%;background:var(--color-bone-soft,#F8F2DD);}
body{font-family:var(--font-body);color:var(--color-ink-950,#0E1B2E);font-size:15px;line-height:1.45;}
.kc-splash{height:100vh;display:grid;place-items:center;background:var(--color-ink-950,#0E1B2E);color:var(--color-bone-soft,#F8F2DD);font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;}
.kc-logo-mark{width:30px;height:30px;background:var(--color-lime-500);border-radius:5px;display:grid;place-items:center}
.kc-logo-name{font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:-.01em;line-height:1.05}
.kc-logo-name span{color:var(--color-lime-400)}
.kc-logo-sub{font-family:var(--font-mono);font-size:8px;letter-spacing:.18em;color:rgba(242,235,211,.66);text-transform:uppercase;margin-top:2px}
.kc-link{cursor:pointer;color:var(--color-ink-950);border-bottom:1px solid rgba(111,146,20,.4)}
.kc-link:hover{color:var(--color-lime-800)}
@keyframes kcfade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.kc-login{min-height:100vh;display:grid;place-items:center;background:var(--color-ink-950);padding:24px;
  background-image:radial-gradient(ellipse at 80% 10%,rgba(178,210,54,.10) 0%,transparent 55%);}
.kc-login-card{width:100%;max-width:392px;background:var(--color-ink-900);border:1px solid var(--color-ink-700);border-radius:12px;padding:30px 30px 22px;box-shadow:0 30px 70px rgba(0,0,0,.5);color:var(--color-bone-soft);animation:kcfade .2s var(--ease-out)}
.kc-login-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.kc-login-h1{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.025em;margin:0}
.kc-login-sub{font-size:13px;color:var(--color-ink-300);line-height:1.5;margin:8px 0 20px}
.kc-login-sub b{color:var(--color-bone-soft)}
.kc-login-lbl{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-300);margin-bottom:7px}
.kc-login-in{width:100%;background:var(--color-ink-950);border:1px solid var(--color-ink-700);border-radius:7px;padding:12px 14px;color:var(--color-bone-soft);font-family:var(--font-body);font-size:15px;outline:none}
.kc-login-in:focus{border-color:var(--color-lime-600)}
.kc-login-code{font-family:var(--font-mono);font-size:24px;letter-spacing:.34em;text-align:center}
.kc-login-btn{width:100%;margin-top:16px;background:var(--color-lime-500);color:var(--color-ink-950);font-weight:700;font-size:14px;border:0;border-radius:7px;padding:13px;cursor:pointer}
.kc-login-btn:hover{background:var(--color-lime-400)}
.kc-login-btn:disabled{opacity:.5;cursor:not-allowed}
.kc-login-msg{margin-top:12px;font-size:12.5px;color:var(--color-lime-300);background:rgba(178,210,54,.08);border:1px solid var(--color-ink-700);border-radius:6px;padding:9px 11px;line-height:1.5}
.kc-login-err{margin-top:12px;font-size:12.5px;color:#F9A28F;background:rgba(210,59,59,.08);border:1px solid rgba(210,59,59,.3);border-radius:6px;padding:9px 11px}
.kc-login-alt{margin-top:14px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--color-ink-300)}
.kc-login-alt .kc-link{color:var(--color-lime-400);border-bottom-color:rgba(178,210,54,.4)}
.kc-login-foot{margin-top:22px;text-align:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-400)}
.m-login{display:flex;flex-direction:column;place-items:stretch;padding:28px 22px calc(20px + env(safe-area-inset-bottom));min-height:100dvh;background-image:radial-gradient(ellipse at 85% 8%,rgba(178,210,54,.12) 0%,transparent 55%);}
.m-login-body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding-top:7vh;max-width:420px;width:100%;margin:0 auto;}
.m-login-mark{margin-bottom:22px;}
.m-login-h1{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.03em;color:var(--color-bone-soft,#F8F2DD);margin:0 0 14px;}
.m-login-claim{font-size:16px;line-height:1.55;color:rgba(242,235,211,.8);margin:0 0 28px;}
.m-login-claim b{color:var(--color-bone-soft,#F8F2DD);}
.m-login-field{display:flex;align-items:center;gap:12px;background:rgba(248,242,221,.04);border:1px solid var(--color-ink-700,#33415e);border-radius:12px;padding:0 16px;}
.m-login-field:focus-within{border-color:var(--color-lime-600,#A8C72E);}
.m-login-lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,235,211,.55);flex-shrink:0;}
.m-login-field .m-login-in{flex:1;min-width:0;border:0;background:transparent;padding:16px 0;font-family:var(--font-mono);font-size:16px;min-height:54px;border-radius:0;}
.m-login-btn{margin-top:16px;min-height:54px;border-radius:12px;font-family:var(--font-mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
.m-login-note{margin-top:20px;text-align:center;font-family:var(--font-mono);font-size:11.5px;line-height:1.7;color:rgba(242,235,211,.55);}
.m-login-foot{border-top:1px solid var(--color-ink-800,#22314e);padding-top:16px;margin-top:26px;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,235,211,.45);max-width:420px;width:100%;margin-left:auto;margin-right:auto;}
.m-otp{position:relative;display:flex;gap:8px;justify-content:space-between;}
.m-otp-box{flex:1;min-height:56px;max-width:56px;display:grid;place-items:center;background:rgba(248,242,221,.04);border:1px solid var(--color-ink-700,#33415e);border-radius:10px;font-family:var(--font-mono);font-size:24px;color:var(--color-bone-soft,#F8F2DD);}
.m-otp-box.cur{border-color:var(--color-lime-500,#C5E445);}
.m-otp-in{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;background:transparent;caret-color:transparent;font-size:16px;}
