:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#182a37;background:#f5f8fb}*{box-sizing:border-box}body{margin:0}header{background:linear-gradient(115deg,#083a65,#126b8b);color:white;padding:32px 0}h1{margin:6px 0;font-size:clamp(1.5rem,5vw,2.5rem)}h2{font-size:1.4rem}h3{font-size:1.12rem}.wrap{max-width:1000px;margin:auto;padding:0 18px}.brand{display:flex;align-items:center;gap:18px}.logo{flex:none;width:88px;height:auto}.notice{margin:20px 0;padding:12px;border-left:4px solid #c27918;background:#fff7e8}nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}button,input{font:inherit}button{padding:11px 14px;border:1px solid #b9c9d5;background:white;color:#123b56;border-radius:10px;cursor:pointer}button.on,button.primary{background:#07537c;color:white;border-color:#07537c}button:focus-visible,input:focus-visible{outline:3px solid #f6a52c}button:disabled{opacity:.6;cursor:default}input{width:100%;padding:12px;border:1px solid #9eb0bd;border-radius:10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0}.card{background:white;border:1px solid #dce6ed;border-radius:14px;padding:18px;box-shadow:0 2px 9px #0a31520a}.card p{line-height:1.6}.muted{color:#526574;font-size:.9rem}.choice{display:block;text-align:left;width:100%;margin:8px 0}.correct{border-color:#18794e;background:#e8f6ee}.wrong{border-color:#bc3333;background:#fff0f0}.feedback{background:#eff6fb;padding:12px;border-radius:10px;margin:14px 0}a{color:#005d91;overflow-wrap:anywhere}footer{padding:28px 0;margin-top:32px;background:#e6eef4;font-size:.88rem;line-height:1.5}details{margin-top:12px}.qr-box{background:#fff;border:1px solid #dce6ed;border-radius:12px;padding:8px;max-width:260px;margin:auto}.qr-box svg{display:block;width:100%;height:auto}.qr-url{text-align:center}.poster-preview{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 14px #0a315233}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{display:inline-block;background:#e6eef4;color:#123b56;border-radius:999px;padding:2px 10px;font-size:.82rem}.art-img{display:block;width:100%;height:auto;border-radius:10px;margin:8px 0}summary{cursor:pointer;font-weight:650}@media(max-width:600px){header{padding:24px 0}.brand{gap:12px}.logo{width:60px}nav button{flex:1 1 42%}}