:root{--ink:#31284b;--muted:#746c89;--purple:#7256c7;--purple-dark:#402979;--lilac:#eee8ff;--yellow:#ffd34e;--cream:#fffefe;--green:#16845b;--red:#ce3f50;--line:#ded4f5;--shadow:0 18px 50px rgba(64,41,121,.15)}*{box-sizing:border-box}html{min-height:100%;background:var(--lilac);overflow-y:auto}body{min-height:100vh;margin:0;color:var(--ink);font-family:ui-rounded,"SF Pro Rounded","Nunito",system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.95) 0 5px,transparent 6px),radial-gradient(circle at 90% 20%,rgba(255,211,78,.8) 0 4px,transparent 5px),linear-gradient(155deg,#fbf9ff 0%,#e8dfff 52%,#dff5ff 145%);background-size:115px 115px,150px 150px,auto;overflow-y:auto}button{font:inherit}.app{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 18px max(34px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:15px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{color:var(--purple);font-size:.84rem;font-weight:900;text-decoration:none}.score{padding:8px 12px;border:2px solid #fff;border-radius:99px;background:rgba(255,255,255,.84);font-weight:950;box-shadow:0 8px 24px rgba(64,41,121,.09)}.score span{color:#d49100}.heading h1{margin:0;color:var(--purple-dark);font-size:clamp(1.75rem,6vw,2.55rem);letter-spacing:-.045em}.heading p{margin:5px 0 0;color:var(--muted);font-weight:750}.progress-row{display:flex;align-items:center;gap:11px}.progress-track{flex:1;height:12px;border:2px solid #fff;border-radius:99px;background:rgba(255,255,255,.65);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#aa91ef,var(--purple));transition:width .3s ease}.progress-text{color:var(--muted);font-size:.82rem;font-weight:950}.card{position:relative;flex:1;min-height:520px;padding:clamp(23px,5vw,39px);border:3px solid #fff;border-radius:30px;background:var(--cream);box-shadow:var(--shadow);display:flex;flex-direction:column}.category{width:fit-content;margin:0;padding:7px 12px;border-radius:99px;color:var(--purple);background:var(--lilac);font-size:.74rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase}.question-icon{margin:auto auto 15px;width:78px;height:78px;display:grid;place-items:center;border-radius:24px;background:#fff0b6;font-size:2.4rem;box-shadow:0 7px 0 rgba(186,127,0,.14)}.question{margin:0 auto 25px;max-width:630px;text-align:center;font-size:clamp(1.42rem,5vw,2rem);line-height:1.32;letter-spacing:-.025em}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{min-height:61px;padding:10px 13px;border:3px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);cursor:pointer;font-weight:900;line-height:1.3}.choice:hover,.choice.selected{border-color:var(--purple);background:var(--lilac)}.choice.correct{border-color:var(--green);color:var(--green);background:#e8faf2}.choice.wrong{border-color:var(--red);color:var(--red);background:#fff0f2}.feedback{min-height:63px;margin:20px 0 14px;padding:12px 14px;border-radius:14px;background:#f3f0f8;color:var(--muted);font-weight:800;line-height:1.4}.feedback.ok{color:var(--green);background:#e8faf2}.feedback.no{color:var(--red);background:#fff0f2}.actions{display:flex;justify-content:center}.btn{min-height:52px;padding:0 24px;border:0;border-radius:16px;cursor:pointer;font-weight:950}.btn-primary{color:#fff;background:var(--purple);box-shadow:0 6px 0 var(--purple-dark)}.btn-secondary{display:grid;place-items:center;color:var(--purple-dark);background:#fff;border:2px solid var(--line);text-decoration:none}.result{padding:clamp(24px,5vw,40px);border:3px solid #fff;border-radius:30px;background:var(--cream);box-shadow:var(--shadow);text-align:center}.stars{font-size:2.8rem}.result h1{margin:10px 0 7px;color:var(--purple-dark);font-size:clamp(2rem,7vw,3rem)}.result>p{max-width:520px;margin:0 auto 22px;color:var(--muted);font-weight:750}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:520px;margin:0 auto 24px}.summary-box{padding:14px 7px;border:2px solid var(--line);border-radius:16px;background:#fff}.summary-value{display:block;color:var(--purple-dark);font-size:1.5rem;font-weight:950}.summary-label{display:block;margin-top:4px;color:var(--muted);font-size:.69rem;font-weight:850}.skills,.recap{max-width:590px;margin:0 auto 22px;text-align:left}.skills h2,.recap h2{font-size:1rem}.skill-row{display:grid;grid-template-columns:155px 1fr 42px;align-items:center;gap:9px;margin:9px 0;font-size:.78rem;font-weight:900}.bar{height:10px;border-radius:99px;background:#e9e3f4;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:var(--purple)}.tip{max-width:590px;margin:0 auto 22px;padding:13px 15px;border-left:5px solid var(--yellow);border-radius:12px;background:#fff4c9;color:#785700;text-align:left;font-weight:850}.recap-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:9px 3px;border-top:1px solid #e8e1f1;font-size:.8rem}.num{width:29px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--lilac);font-weight:950}.badge{color:var(--green);font-weight:900}.badge.retry{color:#946400}.result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;padding-bottom:6px}@media(max-width:520px){.app{padding-left:12px;padding-right:12px}.card{min-height:510px;padding:22px 14px}.choices{grid-template-columns:1fr}.skill-row{grid-template-columns:122px 1fr 38px}.recap-row{grid-template-columns:30px 1fr}.badge{grid-column:2}.summary-label{font-size:.62rem}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
