*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:linear-gradient(160deg,#f3edff,#fff5ef 55%,#eafff8);color:#201a2b;min-height:100vh}.shell{max-width:680px;margin:auto;padding:calc(28px + env(safe-area-inset-top)) 20px 40px}header{padding:20px 4px 28px}h1{font-size:48px;margin:8px 0}.eyebrow{font-weight:800;font-size:12px;letter-spacing:.12em;color:#7654d8}header p{font-size:18px;color:#665d70}.modes{display:grid;gap:16px}.mode{border:0;border-radius:26px;padding:24px;text-align:left;box-shadow:0 10px 30px #4c3a6a18;cursor:pointer}.mode b{display:block;font-size:27px}.mode span{display:block;margin-top:6px;font-size:16px}.violet{background:#8066ff;color:white}.coral{background:#ff806e;color:#301612}.mint{background:#62ddb3;color:#103329}.hidden{display:none!important}.lesson{padding-top:18px}.progress{height:10px;background:#ded8e8;border-radius:20px;overflow:hidden;margin-bottom:28px}.progress i{display:block;width:0;height:100%;background:#8066ff;transition:.3s}.card{background:#fff;border-radius:30px;padding:30px 24px;text-align:center;box-shadow:0 14px 45px #4c3a6a18}.card>span{font-size:12px;font-weight:800;letter-spacing:.1em;color:#8066ff}.card h2{font-size:54px;margin:42px 0}.card h3{font-size:30px;margin:25px 0 4px}.card p{color:#756d7d}.primary,.answers button{border:0;border-radius:18px;padding:16px 20px;font-size:16px;font-weight:800;cursor:pointer}.primary{background:#201a2b;color:white;width:100%}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.answers button:first-child{background:#ffe2dc}.answers button:last-child{background:#d8f8ea}@media(min-width:700px){.modes{grid-template-columns:1fr 1fr}.mint{grid-column:1/-1}}
.userbar{display:flex;justify-content:space-between;align-items:center;font-weight:700}.userbar button{border:0;background:#ffffff99;border-radius:12px;padding:9px 12px;cursor:pointer}.auth-shell{max-width:520px}.auth-card{text-align:left;margin-top:8vh}.auth-card h1{font-size:38px}.auth-card form{display:grid;gap:16px;margin-top:25px}.auth-card label{font-weight:800;display:grid;gap:7px}.auth-card input{font:inherit;border:2px solid #e5dfec;border-radius:15px;padding:14px;background:#fff}.auth-card .primary{margin-top:8px}.error{background:#ffe2dc;border-radius:14px;padding:12px;margin:15px 0;color:#6a2018}