@font-face{font-family:"Open Sans";src:url(/fonts/OpenSans-Regular.ttf) format("truetype");font-weight:400}
@font-face{font-family:"Open Sans";src:url(/fonts/OpenSans-Bold.ttf) format("truetype");font-weight:700}
@font-face{font-family:"Satisfy";src:url(/fonts/Satisfy-Regular.ttf) format("truetype")}
:root{--bg:#f7f3ea;--surface:#fff;--ink:#1d1d1b;--soft:#6b6457;--line:#e4dccb;--blu:#1d1d1b;--oro:#b08d3c;--err:#a4561b}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "Open Sans",system-ui,sans-serif;display:grid;place-items:center;padding-inline:16px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px 28px;width:100%;max-width:380px;display:grid;gap:16px}
.tiles{height:8px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--blu) 0 10px,transparent 10px 14px,var(--oro) 14px 24px,transparent 24px 28px)}
h1{font-family:"Satisfy",cursive;font-weight:400;color:var(--blu);font-size:42px;margin:0;line-height:1.1}
p{margin:0;color:var(--soft)}
label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
input{font:inherit;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}
button{font:inherit;font-weight:700;padding:11px;border:0;border-radius:6px;background:var(--blu);color:#fff;cursor:pointer}
button:disabled{opacity:.6}
input:focus-visible,button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.err{color:var(--err);font-weight:700;min-height:1.5em}
