@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800&display=swap');
:root{--ink:#302047;--purple:#6534ad;--orange:#ff8b29;--mint:#ddf7ee;--pink:#fff0f5;--line:#e8e0f0}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:'Nunito',Arial,sans-serif;font-size:18px;line-height:1.55}button,input,a{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #14927c;outline-offset:5px}header{max-width:1260px;margin:auto;padding:24px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{color:var(--purple);font-weight:900;text-decoration:none;font-size:18px;letter-spacing:1px}.brand span{color:var(--ink);font-size:14px;display:block;letter-spacing:2px}.quiet{border:1px solid var(--line);background:#fff;padding:11px 20px;border-radius:14px;font-weight:800;color:var(--purple)}main{max-width:1188px;margin:32px auto;padding:0 28px;min-height:640px}.start{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:40px}.eyebrow{font-size:14px;letter-spacing:2px;font-weight:900;color:var(--purple)}h1,h2,h3{font-family:'Baloo 2','Arial Rounded MT Bold',sans-serif;line-height:1.06;margin:14px 0 22px;font-weight:800}h1{font-size:clamp(46px,5.5vw,76px);letter-spacing:-1px}h1 span{color:#d25a00}h2{font-size:42px}h3{font-size:30px}.intro{font-size:21px;max-width:480px}.art{width:100%;display:block;aspect-ratio:1;object-fit:contain;border-radius:34px}.hero-art{position:relative}.stamp{background:var(--mint);border:2px dashed #26a48a;border-radius:18px;padding:12px 20px;position:absolute;bottom:2%;right:2%;font-weight:900;transform:rotate(-4deg)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.chips span{padding:6px 14px;border-radius:30px;background:#f3ecfc;font-size:15px;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;background:var(--purple);color:white;padding:17px 27px;text-decoration:none;font-weight:900;box-shadow:0 5px 0 #482278}.button:hover{background:#54228f}.button:active{transform:translateY(2px);box-shadow:0 3px 0 #482278}.small{font-size:14px;color:#665874}.setup-check{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:16px}.setup-check input{margin-top:5px;width:20px;height:20px;accent-color:var(--purple)}.status{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.status p{margin:0;font-weight:800}.progress{display:flex;gap:7px;flex-wrap:wrap}.dot{width:32px;height:32px;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:900}.dot.done{background:var(--purple);color:white;border-color:var(--purple)}.dot.active{background:#ffe1b7;border-color:var(--orange)}.play-layout{display:grid;grid-template-columns:1fr 285px;gap:25px;align-items:start}.card{border:2px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 9px 0 #f4eff9;background:white}.card .eyebrow{margin:0}.visual{background:#fff5e7;border-radius:22px;padding:22px 15px;text-align:center;font-size:clamp(30px,5vw,52px);letter-spacing:5px;margin:24px 0;line-height:1.6;overflow-wrap:anywhere}.question{font-weight:900;font-size:25px}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.option{background:white;border:2px solid #c7b5df;border-radius:16px;padding:19px 10px;font-size:23px;font-weight:900;color:var(--ink)}.option:hover{background:#f4effc;border-color:var(--purple)}.feedback{min-height:32px;font-weight:800;color:#985000;margin:14px 0}.hint{margin-top:20px;font-size:16px}.hint summary{cursor:pointer;color:var(--purple);font-weight:800}.side{background:var(--mint);border-radius:26px;padding:22px}.side img{width:100%;border-radius:20px}.side h3{margin:18px 0 8px}.side p{font-size:16px}.riddle{font-size:25px;line-height:1.6;padding:22px;background:#fff5e7;border-radius:18px}.code-form label{display:block;font-weight:900;margin-bottom:8px}.code-row{display:flex;gap:12px;flex-wrap:wrap}.code-row input{width:170px;max-width:100%;padding:13px;border:2px solid #b8a3d3;border-radius:14px;font-size:28px;font-weight:800;letter-spacing:8px;text-align:center}.celebrate{text-align:center;max-width:730px;margin:auto}.celebrate .art{max-width:300px;margin:auto}.celebrate h1{font-size:54px}.celebrate .button{margin:12px 8px}.notice{background:#fff4df;padding:18px;border-radius:16px;font-size:16px}dialog{width:min(760px,94vw);max-height:90vh;border:0;border-radius:25px;padding:32px;color:var(--ink);box-shadow:0 20px 100px #23153766}dialog::backdrop{background:#23153788}.close{float:right}dialog h2{clear:both;padding-top:10px}dialog li{margin:12px 0}details{margin:22px 0}summary{cursor:pointer;font-weight:800}table{border-collapse:collapse;width:100%;font-size:15px}th,td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:left}footer{text-align:center;padding:25px;font-size:14px;color:#665874;border-top:1px solid var(--line)}.congrats{background:var(--mint);padding:18px;border-radius:18px;font-size:22px;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){header{padding:18px}.brand{font-size:15px}.brand span{font-size:11px}main{padding:0 18px;margin-top:20px}.start{grid-template-columns:1fr;gap:15px}.hero-art{order:-1;max-width:275px;margin:auto}.stamp{font-size:14px;padding:8px 12px}h1{font-size:45px}.intro{font-size:19px}.play-layout{grid-template-columns:1fr}.side{display:none}.card{padding:23px 18px}.status{align-items:flex-start;flex-direction:column}.option{font-size:19px;padding:15px 5px}.question{font-size:23px}h2{font-size:34px}.visual{letter-spacing:2px}.riddle{font-size:22px}.code-row .button{padding:14px 18px}dialog{padding:24px 18px}.celebrate h1{font-size:42px}}@media(prefers-reduced-motion:no-preference){.card,.start,.celebrate{animation:appear .28s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
