.login-page{background-color:var(--bone);background-image:linear-gradient(var(--hair) 1px, transparent 1px), linear-gradient(90deg, var(--hair) 1px, transparent 1px);background-size:32px 32px;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{text-align:center;width:100%;max-width:420px;color:var(--ink);font-family:var(--display);background:var(--card);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);animation:cm-pop .35s var(--ease) both;flex-direction:column;align-items:center;padding:40px 32px 28px;display:flex}@media (max-width:480px){.login-card{box-shadow:6px 6px 0 var(--ink);padding:32px 20px 22px}}.login-logo{box-shadow:0 0 0 2px var(--ink), 4px 4px 0 2px var(--acid);border-radius:14px;display:block}.login-card h1{letter-spacing:-.04em;text-transform:uppercase;margin:22px 0 0;font-size:28px;font-weight:700;line-height:1}.login-sub{color:var(--grey);margin:10px 0 26px;font-size:15px}.login-card code{font-family:var(--mono);background:var(--acid);border:1.5px solid var(--ink);padding:1px 5px;font-size:13px}.login-google{width:100%;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--acid);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;transition:transform .12s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);border-radius:0;justify-content:center;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.login-google:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.login-google:active{box-shadow:0 0 0 var(--ink);transform:translate(5px,5px)}.login-google:focus-visible{outline:3px solid var(--hot);outline-offset:3px}.login-google svg{background:var(--card);border:2px solid var(--ink);box-sizing:content-box;padding:2px}.login-google:disabled{cursor:wait;box-shadow:5px 5px 0 var(--ink);background:repeating-linear-gradient(-45deg, var(--acid) 0 10px, #c2ec2a 10px 20px);transform:none}.login-google.locked,.login-google.locked:hover{cursor:not-allowed;color:var(--grey);background:var(--card);box-shadow:5px 5px 0 var(--grey);border-color:var(--grey);transform:none}.login-age{text-align:left;width:100%;font-family:var(--mono);letter-spacing:.02em;color:var(--ink);background:var(--card);border:2px solid var(--ink);cursor:pointer;transition:background-color .3s var(--ease), box-shadow .3s var(--ease);align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.login-age:has(input:checked){background:var(--acid);box-shadow:3px 3px 0 var(--ink)}.login-age input{width:20px;height:20px;accent-color:var(--ink);cursor:pointer;flex:none;margin:0}.login-age:focus-within{outline:3px solid var(--hot);outline-offset:2px}.login-age a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.login-age span{line-height:1.45}.login-hint{max-height:24px;font-family:var(--mono);color:var(--grey);transition:max-height .3s var(--ease), margin .3s var(--ease), opacity .2s var(--ease);margin:12px 0 0;font-size:11px;overflow:hidden}.login-hint.gone{opacity:0;max-height:0;margin-top:0}.login-error{color:var(--card);background:var(--hot);border:2px solid var(--ink);margin:14px 0 0;padding:6px 10px;font-size:14px}.login-fine{font-family:var(--mono);color:var(--grey);margin:22px 0 0;font-size:11px;line-height:1.5}.login-fine a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.login-dialog{background:0 0;border:none;max-width:calc(100vw - 32px);padding:0;overflow:visible}.login-dialog::backdrop{background:#0d0d0d99}.login-dialog .login-card{position:relative}.login-close{width:36px;height:36px;color:var(--ink);background:var(--card);border:2px solid var(--ink);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;transition:background .12s;display:flex;position:absolute;top:12px;right:12px}.login-close:hover{color:var(--card);background:var(--hot)}.login-close:focus-visible{outline:3px solid var(--hot);outline-offset:2px}
