*{box-sizing:border-box}body{margin:0;font:17px/1.4 system-ui,sans-serif;background:#f6f4ee;color:#1d2b24}
main{max-width:460px;margin:auto;padding:20px}h1{margin:.2em 0;font-size:1.7em}#num{color:#6a7d72;font-size:.6em}
.rule,.note{color:#4d5f55;font-size:.9em}ol{list-style:none;padding:0}
li{background:#fff;border:2px solid #d9dfd8;border-radius:10px;padding:10px 14px;margin:6px 0;font-size:1.25em;letter-spacing:.12em;font-family:ui-monospace,monospace;text-transform:uppercase}
li.done{border-color:#2e8b57}li.cur{border-color:#1d4ed8;box-shadow:0 0 0 3px #bfd0ff}li.x{border-color:#c0392b}
form,.row{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}label{width:100%;font-size:.9em}
input{flex:1;font-size:1.1em;padding:10px;border:2px solid #9aa;border-radius:8px}
button{font-size:1em;padding:10px 16px;border:0;border-radius:8px;background:#1f6f4a;color:#fff;cursor:pointer}
#hint,#give{background:#e3e8e2;color:#1d2b24}button:focus-visible,input:focus-visible{outline:3px solid #1d4ed8}
#msg{min-height:1.4em;font-weight:600}
.ad{margin:22px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #b9c2b8;border-radius:10px;background:#eef0ea;color:#7b8a80;overflow:hidden;max-width:100%}
.ad span{font-size:.75em;letter-spacing:.15em;text-transform:uppercase}.ad small{font-size:.7em}
.ad-banner{width:320px;height:100px}.ad-rect{width:300px;height:250px}
#rew{background:#fff;color:#1f6f4a;border:1px solid #1f6f4a}
#consent{position:fixed;left:0;right:0;bottom:0;background:#1d2b24;color:#fff;padding:14px 18px;font-size:.9em;box-shadow:0 -4px 16px #0003}
#consent .sec{background:#46574d}
