* { box-sizing: border-box; }
body { margin: 0; padding: 24px 16px; background: #f8f7ff; color: #20233c; font: 18px/1.5 system-ui, sans-serif; }
main { max-width: 680px; margin: 0 auto; padding: 24px; background: #fff; border: 1px solid #d5cafa; border-radius: 16px; }
h1 { font-size: clamp(1.7rem, 6vw, 2.3rem); line-height: 1.18; margin-top: 0; }
.choices, .actions, .stats { display: flex; flex-wrap: wrap; gap: 12px; }
.stats p { flex: 1 1 210px; margin: 0; padding: 12px; background: #f2eeff; border-radius: 10px; }
.choices, .actions { margin: 20px 0; }
button { min-height: 48px; padding: 12px 16px; border: 1px solid #7041d5; border-radius: 10px; color: #fff; background: #7041d5; font: inherit; cursor: pointer; touch-action: manipulation; }
button:hover { background: #5428ad; }
button:disabled { background: #eeebf5; border-color: #c8c2d9; color: #656071; cursor: default; }
button:focus-visible { outline: 3px solid #b86512; outline-offset: 4px; }
.secondary { background: #fff; color: #5428ad; }
.secondary:hover { background: #f2eeff; }
.result { min-height: 2em; }
@media(max-width:420px) { main { padding: 18px; } .choices button { flex: 1 1 100%; } }
