*{box-sizing:border-box;margin:0}
html,body{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 18px 0;-webkit-font-smoothing:antialiased}
.gate{position:relative;width:100%;max-width:460px;text-align:center}
.check{position:relative;display:flex;gap:14px;align-items:flex-start;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.box{flex:none;display:grid;place-items:center;transition:all .2s ease}
.box:after{content:"";width:40%;height:22%;border:solid currentColor;border-width:0 0 3px 3px;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .2s ease}
.check input:checked+.box:after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.txt{line-height:1.55}
.msg{min-height:1.5em;margin-top:16px;font-size:14px}
.again{margin-top:6px;font-size:14px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0}
.ai-notice{width:100%;max-width:720px;margin-top:auto;padding:56px 8px 22px;font-size:10.5px;line-height:1.5;text-align:center}
.ai-notice p+p{margin-top:6px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Tương phản — vàng chanh, viền đen dày, chữ đậm, bóng lệch */
body{background:#ffe14d;color:#111;font-family:"Be Vietnam Pro",system-ui,sans-serif}
.gate{text-align:left;padding:34px 30px 28px;background:#fff;border:4px solid #111;border-radius:0;box-shadow:12px 12px 0 #111}
.deco{position:absolute;top:-22px;right:22px;padding:6px 12px;background:#ff3b30;border:3px solid #111;transform:rotate(4deg)}
.deco:after{content:"STOP";font-weight:900;color:#fff;letter-spacing:.08em;font-size:14px}
.kicker{display:inline-block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:#111;color:#ffe14d;padding:4px 10px}
h1{font-weight:900;font-size:clamp(30px,7.5vw,42px);line-height:1.02;letter-spacing:-.035em;margin:16px 0 12px;text-transform:uppercase}
.lead{font-size:16px;font-weight:500;line-height:1.55;margin-bottom:24px}
.check{padding:18px;border:3px solid #111;background:#fff;box-shadow:5px 5px 0 #111;transition:transform .12s,box-shadow .12s}
.check:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #111}
.check:active{transform:translate(3px,3px);box-shadow:2px 2px 0 #111}
.check:focus-within{outline:3px solid #2563eb;outline-offset:4px}
.box{width:32px;height:32px;border:3px solid #111;color:#111;background:#fff}
.check input:checked+.box{background:#ffe14d}
.box:after{border-width:0 0 4px 4px}
.txt{font-size:16px;font-weight:600}.txt b{background:#ffe14d;padding:0 3px}
.ok .check{background:#d9ffe0}
.msg{font-weight:700}.msg.good{color:#0a7a2f}.msg.err{color:#c4120a}
.again{font-weight:600}.again a{color:#111;text-decoration-thickness:2px}
.ai-notice{color:#6b5a00}
