:root{--navy:#11105a;--purple:#7356ed;--violet:#9b68f5;--yellow:#ffd535;--white:#fff;--muted:#bebbe8}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#12105a;color:var(--white);font-family:Inter,Arial,sans-serif}.app-shell{position:relative;min-height:100vh;max-width:560px;margin:auto;padding:max(25px,env(safe-area-inset-top)) 24px 28px;overflow:hidden;background:radial-gradient(circle at 15% 15%,#3431ad 0,transparent 34%),linear-gradient(145deg,#11105a 0%,#18116d 60%,#3429a9 100%)}.orb{position:absolute;border-radius:50%;filter:blur(9px);opacity:.58;pointer-events:none}.orb-a{width:230px;height:230px;right:-125px;top:31%;background:#965af2}.orb-b{width:190px;height:190px;left:-120px;bottom:-55px;background:#3d88ff}.spark{position:absolute;color:var(--yellow);font-size:28px;font-weight:800;opacity:.9}.s1{right:12%;top:19%}.s2{left:10%;bottom:22%;font-size:42px}.s3{right:8%;bottom:10%;color:#a677fa}.topbar{height:40px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.brand{font-size:18px;font-weight:800}.brand b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#4b6ef2;margin-right:6px}.screen{display:none;position:relative;z-index:1;padding-top:8vh;min-height:calc(100vh - 68px)}.screen.active{display:block}.screen.centered{text-align:center;align-items:center;flex-direction:column}.screen.active.centered{display:flex}.eyebrow{display:inline-block;margin-bottom:15px;border:1px solid #ffffff26;border-radius:999px;padding:8px 13px;background:#ffffff12;color:#ddd9ff;font-size:13px;font-weight:700}h1{font-size:clamp(39px,11vw,58px);line-height:.98;letter-spacing:-1.7px;margin:0 0 17px}.lead{max-width:340px;color:var(--muted);font-size:17px;line-height:1.4;margin:0 0 32px}.grade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;max-width:410px}.grade-button{border:1px solid #ffffff1c;border-radius:19px;padding:18px 4px;background:#ffffff10;color:#fff;font:800 20px/1 Inter,Arial,sans-serif;cursor:pointer;box-shadow:inset 0 1px #ffffff20}.grade-button:active,.grade-button:hover{background:linear-gradient(135deg,#895cf2,#5267ed);transform:translateY(-1px)}.bottom-note{position:absolute;bottom:2vh;left:0;right:0;text-align:center;color:#dedbff;font-size:14px;font-weight:700}.subject-list{display:grid;gap:12px}.subject-button{display:flex;align-items:center;gap:15px;width:100%;border:0;border-radius:22px;padding:17px 18px;background:linear-gradient(115deg,#9861f1,#535ae6);color:#fff;font:800 18px Inter,Arial,sans-serif;text-align:left;box-shadow:0 12px 23px #04023326;cursor:pointer}.subject-button:first-child{background:linear-gradient(100deg,#42bdf7,#ffdf32);color:#fff}.subject-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ffffff1f;font-size:22px}.brain{display:grid;place-items:center;width:116px;height:116px;margin:3vh auto 29px;border-radius:38px;background:radial-gradient(circle at 30% 25%,#fff7a1 0,#ffdb31 31%,#efa91f 100%);box-shadow:0 0 0 7px #fff1a520,0 20px 55px #ffd32e77;color:#fff;font-size:56px}.brain.success{background:linear-gradient(145deg,#8e6cf4,#42a6f6);box-shadow:0 15px 45px #5f64ff88;font-size:47px}.generate-button{width:min(100%,330px);margin:18px 0;border:0;border-radius:30px;padding:25px 20px 17px;background:linear-gradient(140deg,#9d65f5,#4f85f3);box-shadow:0 14px 33px #05033a68;color:#fff;cursor:pointer}.generate-button i{display:block;font-size:33px;font-style:normal;color:#ffed54}.generate-button span{display:block;margin-top:5px;font-size:23px;font-weight:900}.generate-button small{display:block;margin-top:14px;color:#edebff;font-size:12px;font-weight:700}.secondary-button,.icon-button{border:1px solid #ffffff35;background:#ffffff12;color:#fff;cursor:pointer}.secondary-button{width:min(100%,320px);padding:15px;border-radius:16px;font:800 16px Inter,Arial,sans-serif;margin-top:14px}.icon-button{width:36px;height:36px;border-radius:12px;font-size:21px}.hidden{visibility:hidden}@media(max-height:680px){.screen{padding-top:4vh}.bottom-note{position:static;margin-top:28px}.grade-button{padding:13px 4px}}
