.ink-register-page { display: grid; place-items: center; min-height: 64vh; padding: 4rem 1rem; }
.ink-register-card { width: min(100%, 30rem); max-width: 30rem; padding: 2.5rem; border: 1px solid var(--rule); background: var(--paper-raised); box-shadow: 0 18px 45px rgba(35, 30, 24, .08); }
.ink-register-card h1 { margin: .35rem 0 .7rem; }
.ink-register-lead { color: var(--ink-soft); }
.ink-register-form { display: grid; gap: 1rem; margin-top: 1.7rem; }
.ink-register-form label, .ink-register-captcha-field { display: grid; gap: .35rem; color: var(--ink); font: 600 .82rem/1.5 var(--sans); }
.ink-register-form input {
    box-sizing: border-box;
    width: 100%;
    min-height: 45px;
    padding: .65rem .8rem;
    color: var(--ink);
    background: rgba(255, 255, 255, .45);
    border: 1px solid var(--rule);
    outline: 0;
}
.ink-register-form input:focus { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(37, 36, 33, .08); }
.ink-register-captcha-row { display: grid; grid-template-columns: 128px minmax(0, 1fr) 42px; gap: .5rem; align-items: center; }
.ink-register-captcha-row img { width: 128px; height: 44px; object-fit: cover; border: 1px solid var(--rule); cursor: pointer; }
.ink-register-captcha-row input { width: 100%; min-width: 0; text-align: center; text-transform: uppercase; letter-spacing: .18em; }
.ink-register-captcha-row button { width: 42px; height: 44px; border: 1px solid var(--rule); background: transparent; color: var(--ink); font-size: 1.2rem; cursor: pointer; }
.ink-register-captcha-row button:hover { color: var(--paper-raised); background: var(--accent); border-color: var(--accent); }
.ink-register-form .ink-form-message { min-height: 1.4em; margin: 0; }
.ink-register-form .ink-form-message.is-error { color: var(--accent); }
.ink-register-step[hidden], .ink-register-card [hidden] { display: none !important; }
.ink-register-step {
    margin-top: 1.7rem;
    padding: 1.2rem;
    background: rgba(255, 255, 255, .24);
    border: 1px solid var(--rule);
}
.ink-register-step > p:first-child { margin: 0 0 1rem; color: var(--ink-soft); font-size: .86rem; line-height: 1.6; }
.ink-register-step > .ink-button, .ink-register-form > .ink-button { width: 100%; }
.ink-register-step .ink-form-message { margin: 0; }
.ink-register-code { display: grid; grid-template-columns: repeat(6, 1fr); gap: .55rem; margin: 1.2rem 0; }
.ink-register-code-input { min-width: 0; min-height: 48px; padding: .75rem .2rem; color: var(--ink); background: rgba(255, 255, 255, .45); border: 1px solid var(--rule); outline: 0; text-align: center; font-size: 1.25rem; font-weight: 700; }
.ink-register-code-input:focus { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(37, 36, 33, .08); }
.ink-button.is-secondary { margin: .65rem 0 0; background: transparent; color: var(--ink); border-color: var(--rule); }
.ink-link-button { display: block; margin: .9rem auto 0; border: 0; background: transparent; color: var(--ink-soft); cursor: pointer; }
.ink-register-step > .ink-form-message { min-height: 1.4em; }
.ink-register-foot { margin: 1.4rem 0 0; text-align: center; color: var(--ink-soft); font-size: .85rem; }
.ink-register-foot a { color: var(--ink); }
@media (max-width: 680px) { .ink-register-card { padding: 2rem 1.25rem; } .ink-register-captcha-row { grid-template-columns: 112px minmax(0, 1fr) 40px; } .ink-register-captcha-row img { width: 112px; } }
