:root{--tq:#b8f5ef;--nv:#091636;--wh:#fff;--gr:#5b6580;--line:#dff6f3}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--nv);background:var(--wh);line-height:1.5}
header{text-align:center;padding:56px 20px 18px}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:1.9rem;font-weight:800;color:var(--nv);text-decoration:none;letter-spacing:-.02em}
.logo span{width:14px;height:14px;background:var(--tq);border:3px solid var(--nv);border-radius:50%}
header p{color:var(--gr);margin:6px 0 0}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:18px 16px;max-width:900px;margin:0 auto}
nav a{padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);color:var(--nv);text-decoration:none;font-size:.92rem;font-weight:600;transition:.15s}
nav a:hover{border-color:var(--tq);background:var(--tq)}
nav a.on{background:var(--nv);border-color:var(--nv);color:var(--wh)}
main{max-width:720px;margin:10px auto 60px;padding:0 20px}
section{display:none;padding:28px;border:1.5px solid var(--line);border-top:6px solid var(--tq);border-radius:14px}
section.on{display:block}
h2{margin:0 0 4px;font-size:1.4rem}
.hint{color:var(--gr);margin:0 0 16px;font-size:.93rem}
input,textarea,select{width:100%;font:inherit;color:var(--nv);background:var(--wh);border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 12px;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--nv)}
input[type=range]{padding:0;border:0;accent-color:var(--nv)}
input[type=checkbox]{width:auto;margin:0 6px 0 0}
label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.chk{display:flex;align-items:center;margin:0}
.row{display:flex;gap:16px;flex-wrap:wrap}.row>*{flex:1;min-width:150px}.row.top{align-items:flex-start}
.btn{display:inline-block;background:var(--tq);color:var(--nv);border:1.5px solid var(--nv);border-radius:10px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:.15s}
.btn:hover{background:var(--nv);color:var(--wh)}
.btn.ghost{background:var(--wh);flex:0 0 auto;margin-bottom:12px}
.out{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.out input{margin:0 0 12px}
.out[hidden]{display:none}
#im-out{flex-direction:column}
.center{flex-direction:column;align-items:center;text-align:center}
#qr-cv{max-width:100%;border:1.5px solid var(--line);border-radius:10px}
#im-prev{max-width:100%;max-height:300px;border-radius:10px;border:1.5px solid var(--line)}
.err{color:#b3261e;margin:8px 0 0;min-height:1em}
.win{font-size:1.4rem;font-weight:800;min-height:2em;margin:10px 0 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.stats div{background:var(--tq);border-radius:10px;padding:12px;text-align:center;font-size:.85rem}
.stats b{display:block;font-size:1.6rem}
footer{text-align:center;color:var(--gr);font-size:.85rem;padding:20px}
footer a{color:var(--nv)}
@media(max-width:560px){section{padding:20px}.row.top textarea{min-height:140px}}
