/* One native password field; six visual positions never expose the code. */
.review-code{position:relative;display:block;width:min(100%,336px);height:52px}
.review-code input#code{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;border:0;background:transparent;box-shadow:none;color:transparent;-webkit-text-fill-color:transparent;caret-color:transparent;font-size:20px;padding:0;letter-spacing:0;border-radius:8px}
.review-code-slots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}
.review-code-slots>span{display:flex;align-items:center;justify-content:center;border:2px solid var(--ink,#232323);border-radius:8px;background:var(--paper,#fffdf5);font-size:25px;font-weight:700;line-height:1;color:var(--ink,#232323)}
.review-code:focus-within{outline:3px solid var(--blue-deep,#1f5fb5);outline-offset:3px;border-radius:8px}
.review-code:focus-within .review-code-slots>span[data-current]{border-color:var(--blue-deep,#1f5fb5);background:#eaf3ff}
.review-code input[aria-invalid=true]+.review-code-slots>span{border-color:var(--red-deep,#c6281c)}
.review-code:has(input:disabled){opacity:.55}
.review-code-error{color:var(--red-deep,#c6281c);font-size:13px;line-height:1.5}
.review-code-error:empty{display:none}
@media(forced-colors:active){.review-code-slots>span{border-color:CanvasText;background:Canvas;color:CanvasText}.review-code:focus-within{outline-color:Highlight}}
