@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Nunito:wght@500;700;800;900&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');
:root{--ink:#202b46;--muted:#71809b;--blue:#566af1;--violet:#7e5ae6;--cream:#fffaf2;--line:#e9edf6;--shadow:0 22px 52px rgba(40,49,91,.12)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 6%,#e7e5ff 0,transparent 26rem),radial-gradient(circle at 92% 20%,#d6f5f0 0,transparent 25rem),#f7f8fc;color:var(--ink);font-family:Nunito,'Noto Sans SC',sans-serif}.shell{width:min(100% - 32px,850px);margin:auto;padding:32px 0 54px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(140deg,var(--blue),var(--violet));box-shadow:0 8px 16px #737be555;color:white;font:900 27px 'DM Mono',monospace;transform:rotate(-5deg)}small,.eyebrow{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.11em}.brand small{display:block;margin-bottom:1px}.brand h1{font-size:22px;line-height:1;margin:0}.panel{background:#ffffffdf;border:1px solid #fff;border-radius:27px;box-shadow:var(--shadow)}button{font:inherit;cursor:pointer}.account-button,.secondary,.icon-button{border:0;background:#edf0ff;color:#5061b3;font-weight:800;border-radius:12px;padding:10px 14px}.auth-panel{margin:-6px 0 18px;padding:25px 28px}.section-head{display:flex;justify-content:space-between;align-items:start}.section-head h2,.how h2{margin:4px 0 14px;font-size:22px}.icon-button{font-size:25px;line-height:1;padding:2px 9px}.hint,.message{font-size:13px;line-height:1.55;color:var(--muted)}.hint a{color:var(--blue)}form{display:grid;grid-template-columns:1fr 1fr;gap:11px}label{font-size:12px;font-weight:800;color:#596982}input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);font:inherit;outline:0}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #576bf01b}.auth-actions{display:flex;gap:9px;grid-column:1/-1}.auth-actions button{flex:1}.primary{border:0;border-radius:13px;padding:12px 17px;background:linear-gradient(125deg,var(--blue),var(--violet));color:white;font-weight:900;box-shadow:0 6px 0 #5a52c1;transition:.18s}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 0 #5a52c1}.message{margin:13px 0 0}.message.error,.wrong{color:#e16672}.message.success,.right{color:#31a378}.welcome{font-size:18px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;overflow:hidden;padding:44px 48px;margin-bottom:16px;background:linear-gradient(140deg,#fff,#f5f4ff)}.hero h2{font-size:37px;line-height:1.18;margin:6px 0 12px}.hero-copy{max-width:355px;color:var(--muted);line-height:1.7;font-size:14px}.large{margin-top:15px;font-size:15px}.large span{font-size:20px;margin-left:8px}.orbit{position:relative;min-height:220px}.planet{position:absolute;right:18px;top:24px;display:grid;place-content:center;width:163px;height:163px;border-radius:50%;background:radial-gradient(circle at 28% 25%,#8cf5dd,#426ee4 69%);box-shadow:inset -18px -17px 20px #213ea66b,0 22px 38px #627bd352;color:white;text-align:center;font:25px 'DM Mono',monospace;transform:rotate(-10deg)}.planet b{font-size:18px}.star{position:absolute;font-style:normal;color:#f2ae40;font-size:26px}.s1{top:16px;left:21px}.s2{bottom:14px;left:62px;color:#8096fb}.s3{top:112px;right:0}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat{padding:18px 21px}.stat span,.stat small{display:block;color:var(--muted);font-size:12px;font-weight:800}.stat strong{font:900 31px 'DM Mono',monospace;margin:4px 0 2px;display:inline-block}.how{padding:29px 32px}.how h2{font-size:23px}.how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.how article{display:flex;gap:10px;align-items:start}.how article b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:9px;background:#e9ecff;color:#5565d7}.how article p{font-size:12px;line-height:1.6;color:var(--muted);margin:2px 0}.study{padding:25px;min-height:520px}.study-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800}.back{border:0;background:none;color:#5263c5;font:inherit;font-weight:900}.card{max-width:610px;margin:35px auto;text-align:center}.card h2{font:900 clamp(42px,8vw,70px) 'DM Mono',monospace;margin:9px 0}.card>#promptText{color:var(--muted);margin:0 0 25px}.card form{max-width:430px;margin:auto;grid-template-columns:1fr auto}.card input{margin:0;font:20px 'DM Mono',monospace;text-align:center}.answer-reveal{margin-top:25px}.forms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 22px}.forms div{padding:13px 8px;border-radius:15px;background:#f7f8fd}.forms span,.forms b{display:block}.forms span{font-size:10px;color:var(--muted);font-weight:800}.forms b{font:700 15px 'DM Mono',monospace;margin-top:5px;overflow-wrap:anywhere}.rating-title{font-size:13px;font-weight:800}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ratings button{border:0;border-radius:13px;padding:11px 4px;font-weight:900;color:#3d4862}.ratings small{display:block;margin-top:2px;font-size:9px;letter-spacing:0;color:inherit;opacity:.75}.again{background:#ffe3e6}.hard{background:#fff0d3}.good{background:#dff5ea}.easy{background:#dde8ff}.complete{text-align:center;padding-top:110px}.complete span{font-size:45px;color:#e2a440}.complete h2{margin:6px 0}.complete p{color:var(--muted);margin-bottom:22px}.hidden{display:none!important}@media(max-width:600px){.shell{width:min(100% - 22px,850px);padding-top:20px}.hero{grid-template-columns:1fr;padding:31px 25px}.hero h2{font-size:31px}.orbit{min-height:150px}.planet{width:130px;height:130px;top:0;right:7px}.dashboard{gap:7px}.stat{padding:14px 11px}.stat strong{font-size:24px}.how{padding:25px 20px}.how>div{grid-template-columns:1fr;gap:9px}.auth-panel{padding:22px 18px}form{grid-template-columns:1fr}.auth-actions{grid-column:auto}.study{padding:20px 12px}.card{margin-top:28px}.card form{grid-template-columns:1fr}.card form .primary{margin-top:3px}.forms{gap:4px}.forms b{font-size:12px}.ratings{grid-template-columns:repeat(2,1fr)}}
