@font-face{font-family:Fredoka;font-weight:500;src:url(../site-src/fonts/fredoka-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Fredoka;font-weight:600;src:url(../site-src/fonts/fredoka-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Karla;font-weight:400;src:url(../site-src/fonts/karla-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Karla;font-weight:700;src:url(../site-src/fonts/karla-latin-700-normal.woff2) format("woff2")}
*{box-sizing:border-box}
:root{--g:#0B6B4B;--g2:#09553b;--lime:#B6E04C;--ink:#14261C;--mut:#51655a;--line:#dbe6d3;--bg:#F7FAF2}
body{margin:0;font-family:Karla,system-ui,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh}
.wrap{display:grid;grid-template-columns:minmax(300px,5fr) 6fr;min-height:100vh}
.left{position:relative;overflow:hidden;background:var(--g) url(../site-src/img/waves.svg) center/cover;color:#fff;padding:44px 48px;display:flex;flex-direction:column;justify-content:space-between}
.left .bub{position:absolute;right:-90px;top:-30px;height:560px;opacity:.9;pointer-events:none}
.brand{position:relative;display:flex;gap:12px;align-items:center;font-family:Fredoka,sans-serif;font-weight:600;font-size:22px}
.brand img{height:40px}
.claim{position:relative;max-width:420px}
.claim h1{font-family:Fredoka,sans-serif;font-weight:600;font-size:46px;line-height:1.05;margin:0}
.claim p{font-size:18px;line-height:1.55;color:#EAF6E6;margin:16px 0 0}
.small{position:relative;font-size:14px;color:#cfe7d6}
.right{display:flex;align-items:center;justify-content:center;padding:32px 20px}
.card{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 50px rgba(11,60,40,.12);padding:32px 34px}
.card h2{font-family:Fredoka,sans-serif;font-weight:600;font-size:30px;margin:6px 0 12px;display:flex;align-items:center;gap:10px}
.ver{background:#E2F1FB;color:#4A80B7;font-weight:700;font-size:13px;border-radius:8px;padding:4px 12px;font-family:Karla,sans-serif}
.st{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);font-weight:700}
.st .line{flex:1;height:2px;background:var(--line);max-width:40px}
.dot{width:24px;height:24px;border-radius:50%;background:var(--line);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.dot.on{background:var(--g)}.dot.done{background:var(--lime);color:var(--ink)}
.lead{font-size:15px;line-height:1.55;color:#2d3d33;margin:0 0 16px}
.f{display:block;font-weight:700;font-size:14px;margin-bottom:14px}
.inp{display:block;width:100%;margin-top:6px;border:2px solid var(--line);border-radius:14px;padding:13px 16px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.inp:focus{outline:3px solid var(--lime);border-color:var(--g)}
.code1{letter-spacing:.35em;font-size:22px;text-align:center;font-variant-numeric:tabular-nums}
.btn{display:inline-flex;width:100%;justify-content:center;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font:inherit;font-weight:700;font-size:16px;background:var(--g);color:#fff;border:0;cursor:pointer}
.btn:hover{background:var(--g2)}
.btn.l{background:#fff;color:var(--g);border:2px solid var(--g);margin-top:10px}
.msg.err{background:#fde8e8;color:#8a1c1c;border-radius:12px;padding:11px 14px;font-size:14px;margin:0 0 14px}
.hint{font-size:13px;color:var(--mut);margin:12px 0}
.note{font-size:13px;line-height:1.5;background:#F1FADC;border-radius:12px;padding:10px 14px;margin:14px 0 4px}
.foot{font-size:12px;color:var(--mut);margin-top:20px;text-align:center}
.qr{display:flex;justify-content:center;margin:6px 0 12px}
.qr svg,.qr img{width:200px;height:200px}
.key{display:block;background:#F1F6EA;border-radius:10px;padding:8px 10px;font-size:15px;letter-spacing:.06em;word-break:break-all;margin-top:4px}
.rec{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rec li{background:#F1F6EA;border-radius:10px;padding:9px 10px;text-align:center}
.rec code{font-size:15px;letter-spacing:.04em}
@media(max-width:800px){.wrap{grid-template-columns:1fr}.left{padding:26px 22px}.claim h1{font-size:32px}.left .bub{opacity:.4}}
