@font-face{font-family:Geist;src:url(/assets/Geist-Variable-BNK-hTUD.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-BoRIzn25.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--paper:#fafafa;--surface:#fff;--ink:#171717;--ink-2:#4d4d4d;--hover:#f2f2f2;--press:#ebebeb;--line:#ebebeb;--hairline:#00000014;--field-line:#8f8f8f;--danger:#a3261d;--danger-hover:#8a1f17;--ok-ring:#297a3a;--ok-ink:#1f5f2c;--dark:#171717;--dark-2:#2e2e2e;--on-dark:#fafafa;--on-dark-2:#b5b5b5;--on-dark-ok:#5fbf73;--focus:#171717;--focus-on-dark:#ffd23f;--radius:6px;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;font-size:1.25rem;line-height:1.35}p,h1,h2{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{min-height:100dvh;padding:1rem max(1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));flex-direction:column;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:3rem;display:flex}.top-brand{align-items:center;gap:.625rem;min-width:0;display:flex}.mark{flex:none}.mark-box{fill:var(--surface);stroke:var(--ink)}.mark-cursor{fill:var(--ink)}.wordmark{letter-spacing:-.02em;font-size:1.125rem;font-weight:500}.seg{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:8px;gap:2px;padding:2px;display:flex}.seg-btn{border-radius:var(--radius);min-width:3.5rem;min-height:3.5rem;color:var(--ink);font-family:var(--mono);letter-spacing:.071em;cursor:pointer;background:0 0;border:0;font-size:.875rem}.seg-btn:hover{background:var(--hover)}.seg-btn[aria-pressed=true]{background:var(--ink);color:#fff}.column{flex-direction:column;flex:auto;gap:1.25rem;width:100%;max-width:30rem;margin:0 auto;padding-top:1.25rem;display:flex}.column-center{justify-content:center;max-width:36rem}@media (width>=48rem){.column{padding-top:3rem}.column-center{padding-top:1.25rem}}.h1{letter-spacing:-.04em;font-size:2.25rem;font-weight:450;line-height:1.05}.h2{letter-spacing:-.035em;font-size:1.75rem;font-weight:450;line-height:1.1}.h-greet{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:1.875rem;font-weight:450;line-height:1.1}.lede{color:var(--ink-2);font-size:1.375rem;line-height:1.35}.body{color:var(--ink);font-size:1.375rem;line-height:1.35}.note{color:var(--ink-2);font-size:1.25rem;line-height:1.4}.label,.mono-label{font-family:var(--mono);letter-spacing:.071em;text-transform:uppercase;color:var(--ink-2);font-size:.875rem;line-height:1.4}.mono-label{align-items:center;gap:.375rem;display:flex}.intro{flex-direction:column;gap:.5rem;display:flex}.opening{color:var(--ink-2);padding-top:1rem;font-size:1.375rem}.danger-ink{color:var(--danger)}.ok-ink{color:var(--ok-ink)}.btn{border-radius:var(--radius);letter-spacing:-.01em;text-align:center;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.75rem;min-height:4rem;padding:.75rem 1.25rem;font-size:1.375rem;font-weight:500;line-height:1.2;transition:background-color .15s;display:flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--dark-2)}.btn-primary:active{background:#000}.btn-secondary{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--field-line)}.btn-secondary:hover{background:var(--hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-small{min-height:3.5rem;padding:.5rem 1rem;font-size:1.25rem}.btn[aria-disabled=true]{cursor:progress;opacity:.85}.icon-btn{border-radius:var(--radius);min-width:3.5rem;min-height:3.5rem;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover)}.card{border-radius:var(--radius);background:var(--surface);box-shadow:0 0 0 1px var(--hairline);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.card-left{gap:1.25rem}@media (width>=48rem){.card-left{padding:2.5rem}.card-left .h1{font-size:2.75rem}}.msg{color:var(--ink);align-items:flex-start;gap:.625rem;font-size:1.25rem;line-height:1.35;display:flex}.msg-danger{color:var(--danger)}.msg-icon{flex:none;margin-top:2px}.code-form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.5rem;display:flex}.code-box{outline-offset:4px;border-radius:8px;position:relative}.code-box-focus{outline:3px solid var(--focus)}.cells{justify-content:space-between;align-items:center;gap:min(1rem,4vw);display:flex}.cell-group{flex:1 1 0;gap:6px;display:flex}.cell{border-radius:var(--radius);background:var(--surface);min-width:0;max-width:3.25rem;height:3.75rem;box-shadow:0 0 0 1px var(--field-line);font-family:var(--mono);color:var(--ink);flex:1 1 0;justify-content:center;align-items:center;font-size:min(1.75rem,7.5vw);line-height:1;display:flex}.cell-group+.cell-group{justify-content:flex-end}.cell-current{box-shadow:0 0 0 2px var(--ink)}.cell-wrong{box-shadow:0 0 0 2px var(--danger)}.cell-off{box-shadow:0 0 0 1px var(--line);color:var(--ink-2)}.code-input{opacity:0;color:#0000;caret-color:#0000;cursor:text;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.code-input:focus-visible{outline:none}.msg-slot{min-height:3.375rem}.keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.key{border-radius:var(--radius);background:var(--surface);min-height:3.75rem;box-shadow:0 0 0 1px var(--hairline);letter-spacing:-.02em;color:var(--ink);cursor:pointer;border:0;font-size:1.875rem;font-weight:450}.key:hover{background:var(--hover)}.key:active{background:var(--press)}.key-del{box-shadow:0 0 0 1px var(--line);background:0 0;justify-content:center;align-items:center;display:flex}.card-stop{gap:.75rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (forced-colors:active){.btn,.key,.cell,.seg-btn,.card{border:1px solid canvastext}.seg-btn[aria-pressed=true],.cell-current,.code-box-focus{outline:3px solid highlight}}
