:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#f6f7fb}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100% - 980px)/2));background:white;border-bottom:1px solid #e4e7ef}header div{display:flex;gap:12px;align-items:center}header span,.muted,.status{font-size:14px;color:#687086}button{font:inherit;cursor:pointer;border:1px solid #d8ddea;background:white;border-radius:12px;padding:10px 14px}main{max-width:980px;margin:auto;padding:28px 20px 60px}h1{font-size:34px;margin:5px 0 8px}h2{line-height:1.35}small{font-weight:800;letter-spacing:.08em;color:#6d57d8}.hero,.row{display:flex;justify-content:space-between;gap:16px;align-items:center}.mascot{font-size:64px}.panel,.gamecard,.qedit,.map>div{background:white;border:1px solid #e0e4ee;border-radius:18px;padding:20px;margin:12px 0}.primary{width:100%;background:#6754d9;color:white;border:0;font-weight:800;min-height:50px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.gamecard .icon{font-size:36px}label{display:block;font-weight:700;margin:14px 0}input[type=text],select{width:100%;margin-top:7px;padding:12px;border:1px solid #ccd2e0;border-radius:10px;font:inherit;background:white}.previews{display:flex;gap:10px;flex-wrap:wrap}.previews img{width:105px;height:135px;object-fit:cover;border-radius:10px;border:1px solid #ddd}.map{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.map>div{margin:0}.map ul{padding-left:20px}.answerEdit{display:flex;align-items:center;gap:8px}.answerEdit input[type=text]{flex:1}.source{display:inline-block;padding:6px 10px;border-radius:999px;background:#f0f2f8;color:#586078;font-size:12px;font-weight:750}.center{text-align:center}.pill{background:#eef0f8;padding:6px 10px;border-radius:999px;font-weight:800;font-size:13px}.progress{height:9px;background:#e7e9f1;border-radius:99px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:#6754d9}.choice{display:flex;width:100%;text-align:left;margin:10px 0;min-height:54px;align-items:center;font-weight:650}.choice.good{border-color:#2b8a5b;background:#eaf8f0}.choice.bad{opacity:.5}.explanation{margin:14px 0;padding:14px;border-radius:12px;background:#f0f7ff;border:1px solid #cfe3fa;line-height:1.45}@media(max-width:650px){header span{display:none}.map{grid-template-columns:1fr}h1{font-size:28px}}
.celebration{position:relative;overflow:hidden;text-align:center;margin:16px 0;padding:18px;border-radius:18px;background:linear-gradient(180deg,#effff3,#fff);border:2px solid #55b879;animation:popIn .35s ease-out}.celebration .star{font-size:58px;animation:starPop .7s ease-out}.celebration h2{margin:2px 0 10px;color:#187544}.celebration .confetti{position:absolute;inset:5px 0 auto;font-size:22px;letter-spacing:16px;animation:confetti 1s ease-out}.celebration .explanation{text-align:left;margin:12px 0;background:#f0f7ff;border-color:#cfe3fa}.celebration #speakExplanation{font-weight:750}.choice.good{transform:scale(1.01);box-shadow:0 0 0 3px rgba(43,138,91,.12)}@keyframes popIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes starPop{0%{transform:scale(.4) rotate(-20deg)}65%{transform:scale(1.18) rotate(8deg)}100%{transform:scale(1)}}@keyframes confetti{0%{opacity:0;transform:translateY(-18px)}35%{opacity:1}100%{opacity:.35;transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){.celebration,.celebration .star,.celebration .confetti{animation:none}}

.profileBar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#edeaff;border-radius:14px;padding:12px 16px;margin-bottom:18px}
.avatar{font-size:36px;vertical-align:middle}.accessory-icons{font-size:20px;vertical-align:middle}.profileCard{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.profileCard button{margin-left:auto}
.figure-grid{display:flex;gap:10px;flex-wrap:wrap}.figureChoice{margin:0;cursor:pointer}.figureChoice input{position:absolute;opacity:0}.figureChoice span{display:block;font-size:36px;padding:8px;border:2px solid #ddd;border-radius:12px}.figureChoice input:checked+span{border-color:#6754d9;background:#edeaff}
.accessory-grid{display:flex;gap:10px;flex-wrap:wrap}.accessory-grid .selected{background:#e1f7e9;border-color:#329761}.accessory-grid button:disabled{opacity:.45;cursor:not-allowed}
.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white}th,td{padding:12px;text-align:left;border-bottom:1px solid #e0e4ee}th{background:#edeaff}
