:root{font-family:'DM Sans',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#142d52;background:#f8fbff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy:#102b59;--navy2:#1c427d;--blue:#346ef1;--sky:#73b3ff;--ink:#172d4e;--muted:#6b7f9e;--border:#e4ecf7;--surface:#fff;--light:#eef5ff;--green:#1aa477;--shadow:0 16px 50px rgba(41,80,145,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #7db7ff;outline-offset:2px}::selection{background:#c9dfff}
#app{min-height:100vh}.initial-loader{height:100vh;display:flex;gap:12px;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:var(--navy)}.loader-orb{height:21px;width:21px;border:5px solid #b7d4ff;border-top-color:#236dec;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.9px;font-size:24px;color:#143b80;white-space:nowrap}.brand img{width:39px;height:39px}.brand.small{font-size:21px}.brand.small img{width:33px;height:33px}.brand .dot{color:#4987f6}
.btn{border:1px solid transparent;border-radius:14px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;letter-spacing:-.2px;font-size:14px;line-height:1.3;transition:transform .16s ease-out,background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:#286bed;color:#fff;box-shadow:0 8px 20px rgba(48,111,238,.19)}.btn.primary:hover{background:#1559df;box-shadow:0 11px 25px rgba(48,111,238,.26)}.btn.soft{background:#eaf2ff;color:#2361c4;border-color:#dceafd}.btn.outline{background:#fff;color:#244a84;border-color:#dfebfa}.btn.white{background:white;color:#205edb}.btn.danger{background:#fff1f2;color:#b42b43;border-color:#ffdbe1}.btn.sm{padding:9px 13px;font-size:12px;border-radius:11px}.btn.full{width:100%}.text-link{color:#286be8;font-weight:800;cursor:pointer}.text-link:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#3274e6}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #d5e5ff;border-radius:999px;background:#eff6ff;color:#285eb0;font-size:12px;font-weight:800;padding:7px 12px}.pill.green{background:#e8f9f2;color:#167c5e;border-color:#d0f1e4}.pill.grey{background:#f2f5fa;color:#647994;border-color:#e6ecf4}.tag{display:inline-flex;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:800;background:#edf4ff;color:#4772b2}
.wrap{width:min(1170px,calc(100% - 52px));margin-inline:auto}.landing{overflow:hidden}.top-nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-links{display:flex;align-items:center;gap:34px;color:#617796;font-size:14px;font-weight:700}.nav-links a:hover{color:#225ee2}.top-actions{display:flex;gap:10px;align-items:center}.menu-btn{display:none;border:0;background:#eef5ff;padding:10px;border-radius:11px;color:#17366e}
.hero{position:relative;padding:68px 0 102px;background:radial-gradient(ellipse 65% 50% at 87% 30%,#ddecff 0%,transparent 80%),radial-gradient(ellipse 70% 70% at 6% 55%,#f0f7ff 0%,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1fr 1.09fr;gap:35px;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(43px,5.3vw,70px);line-height:1.14;letter-spacing:-3.7px;font-weight:800;margin:26px 0 18px;color:#102d5b}.hero h1 .blue{color:#3075f2}.hero-p{max-width:480px;line-height:1.8;color:#6b7d9c;font-size:16px}.cta-row{display:flex;gap:11px;margin-top:30px;flex-wrap:wrap}.trust-row{display:flex;gap:12px;align-items:center;margin-top:31px;color:#8a9ab1;font-size:12px;font-weight:700}.avatar-stack{display:flex;padding-left:8px}.avatar-stack b{display:grid;place-items:center;font-size:10px;height:29px;width:29px;margin-left:-8px;background:#bcd9ff;color:#2859a7;border:2px solid white;border-radius:50%}.avatar-stack b:nth-child(2){background:#d9ecff}.avatar-stack b:nth-child(3){background:#b4e6ea}.avatar-stack b:nth-child(4){background:#e2dcff}
.hero-art{position:relative;min-height:490px;display:grid;place-items:center;animation:floatin .65s ease-out both}.orb{position:absolute;border-radius:50%;background:linear-gradient(130deg,#c4dfff,#dcecff)}.orb.one{width:410px;height:410px;right:15px;top:0;opacity:.75}.orb.two{width:170px;height:170px;left:20px;bottom:12px;opacity:.8}@keyframes floatin{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}.preview-window{position:relative;width:min(510px,100%);z-index:1;background:#fff;border:1px solid #dce8fa;box-shadow:0 28px 75px rgba(41,85,151,.15);border-radius:24px;overflow:hidden;transform:rotate(-2.1deg);transition:transform .3s}.preview-window:hover{transform:rotate(0)}.preview-top{height:55px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 20px}.preview-dots{display:flex;gap:6px}.preview-dots span{height:7px;width:7px;border-radius:50%;background:#d4e1f1}.preview-body{padding:24px;background:linear-gradient(180deg,#fff,#fafdff)}.preview-greet{font-weight:800;color:#1a355f;font-size:21px}.preview-sub{font-size:11px;color:#8296b1;margin:5px 0 20px}.preview-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.mini-stat{background:#f3f7ff;padding:14px;border:1px solid #e9f0fc;border-radius:13px}.mini-stat strong{display:block;font-size:23px;color:#1e4c9a}.mini-stat span{font-size:10px;color:#8295b1}.preview-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:11px;margin-top:12px}.mini-card{background:white;border:1px solid #e7edf7;border-radius:14px;padding:15px}.mini-card h4{margin:0 0 15px;font-size:11px;color:#365475}.progress-bar{background:#e8f0fc;height:8px;border-radius:30px;overflow:hidden;margin:6px 0 10px}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#2d71ed,#78b7ff);border-radius:30px}.taskline{height:7px;width:100%;border-radius:15px;background:#e6eff9;margin:13px 0}.taskline.short{width:65%}.float-bubble{position:absolute;background:#fff;box-shadow:0 15px 40px rgba(19,66,129,.13);border:1px solid #e2ebfa;border-radius:13px;padding:12px 15px;z-index:3;font-size:12px;font-weight:800;color:#285da8;display:flex;align-items:center;gap:8px}.float-bubble.one{right:-8px;top:70px;animation:bob 5s infinite alternate}.float-bubble.two{left:-13px;bottom:42px;animation:bob 4.5s 1s infinite alternate}@keyframes bob{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-8px,0)}}
.section{padding:85px 0}.center{text-align:center}.section h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(30px,3.2vw,42px);line-height:1.22;letter-spacing:-1.8px;color:#142f5d;margin:14px 0}.section-lead{color:#7788a1;max-width:550px;margin:15px auto 0;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.feature-card{background:#fff;border:1px solid #e7eef9;border-radius:20px;padding:27px;transition:transform .18s ease-out}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-card .icon-tile{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eaf2ff;color:#2e71ec;margin-bottom:20px}.feature-card h3{font-size:18px;letter-spacing:-.4px;margin:0 0 11px}.feature-card p{line-height:1.7;color:#7a8da7;font-size:13px;margin:0}.steps{background:#f0f6ff}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.step{padding:8px}.step .number{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#dfeaff;color:#286ce2;font-weight:800;margin-bottom:15px}.step h3{font-size:18px;margin:0 0 8px}.step p{color:#7c8da6;line-height:1.7;font-size:13px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:770px;margin:38px auto 0}.price-card{background:white;border:1px solid #e1eaf6;border-radius:23px;padding:32px;box-shadow:0 8px 40px rgba(15,50,100,.035)}.price-card.premium{border:2px solid #2773ed;box-shadow:0 16px 50px rgba(40,104,221,.11)}.price-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.price-amount{font-size:40px;letter-spacing:-2px;font-weight:800;margin:14px 0;color:#163765}.price-amount small{font-size:13px;font-weight:600;color:#90a0b5;letter-spacing:0}.price-card p{font-size:13px;line-height:1.6;color:#7e8fa6}.check-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#526c8e;margin:15px 0}.check-item svg{color:#2782de;flex:none}.price-card .btn{margin-top:16px;width:100%}.banner{margin:20px auto 80px;border-radius:26px;background:linear-gradient(110deg,#143c82,#286cea);color:white;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:22px}.banner h2{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin:0 0 10px;font-size:32px}.banner p{color:#cbdfff;margin:0;max-width:440px;line-height:1.6}.footer{border-top:1px solid #e7eef7;padding:32px 0 28px;background:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-links{display:flex;gap:22px;font-size:12px;color:#7388a3}.fineprint{font-size:11px;color:#a0aec0;line-height:1.6;margin-top:16px}
/* App shell */
.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh;background:#f8fbff}.sidebar{background:#fff;border-right:1px solid #e7edf6;padding:25px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{padding:5px 12px 30px}.side-label{padding:20px 15px 9px;font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:800;color:#a5b4c9}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:none;text-align:left;width:100%;display:flex;align-items:center;gap:13px;color:#8191ab;border-radius:12px;padding:13px 14px;font-size:13px;font-weight:800;transition:background-color .16s,color .16s,border-color .16s}.nav-item:hover{background:#f3f7ff;color:#3068d4}.nav-item.active{background:#e9f2ff;color:#2a6ced}.nav-item svg{flex-shrink:0}.side-bottom{margin-top:auto;border-radius:17px;background:linear-gradient(155deg,#eaf3ff,#f6faff);padding:20px;border:1px solid #e2edfd}.side-bottom h4{margin:10px 0 5px;color:#2457a2}.side-bottom p{font-size:11px;color:#7f94b3;line-height:1.55}.side-bottom .btn{width:100%;font-size:12px}.user-mini{display:flex;align-items:center;gap:10px;margin-top:17px;padding:13px 7px 0;border-top:1px solid #ecf1f9;min-width:0}.initials{height:37px;width:37px;border-radius:12px;background:#ddeafe;color:#2b63bd;font-weight:800;display:grid;place-items:center;flex:none}.user-mini strong{display:block;font-size:12px;color:#2c4264}.user-mini small{display:block;font-size:10px;color:#8296b1}.workspace{min-width:0}.app-top{height:86px;background:#f8fbff;border-bottom:1px solid #edf2fa;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,3vw,52px);gap:12px}.breadcrumbs{font-size:13px;color:#8d9eb5;font-weight:700}.breadcrumbs strong{color:#30528b}.top-right{display:flex;align-items:center;gap:12px}.top-right .pill{background:#e9f4ff}.round-btn{width:37px;height:37px;border:1px solid #e6eefa;background:white;border-radius:12px;display:grid;place-items:center;color:#56769d}.app-content{max-width:1330px;margin:0 auto;padding:37px clamp(22px,3vw,52px) 75px}.app-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:31px;letter-spacing:-1.1px;color:#163766;margin:0 0 7px}.app-sub{font-size:13px;color:#7c8fa9;line-height:1.65;margin:0 0 25px}.app-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.app-head .app-sub{margin-bottom:0}.tile{background:white;border:1px solid #e6edf8;border-radius:19px;padding:22px;box-shadow:0 5px 16px rgba(27,62,112,.025)}.tile h3{font-size:15px;letter-spacing:-.2px;margin:0;color:#294a7a}.tile .tile-sub{font-size:11px;color:#94a4ba;margin-top:5px}.dash-hero{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(110deg,#173f83,#387eea);color:white;padding:31px 33px;min-height:190px;display:flex;justify-content:space-between;align-items:center;gap:18px}.dash-hero:before{content:"";position:absolute;right:-80px;top:-110px;height:330px;width:330px;border-radius:50%;border:55px solid #ffffff18}.dash-hero:after{content:"";position:absolute;right:215px;bottom:-110px;height:260px;width:260px;border-radius:50%;background:#ffffff0b}.dash-hero>*{position:relative;z-index:1}.dash-hero h2{font-size:28px;font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin:9px 0}.dash-hero p{font-size:13px;color:#d4e7ff;margin:0;line-height:1.7}.dash-hero .btn{flex:none}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.stat-card{display:flex;justify-content:space-between;align-items:center}.stat-card strong{display:block;font-size:27px;color:#204a90;margin:9px 0 2px;letter-spacing:-1px}.stat-card small{font-size:11px;color:#8ba0bd}.round-icon{width:43px;height:43px;border-radius:14px;background:#eaf3ff;color:#3478ea;display:grid;place-items:center}.main-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.subject-card{border:1px solid #e6eef9;border-radius:13px;padding:15px;background:#fcfdff;display:flex;align-items:center;gap:12px;text-align:left;transition:background-color .16s,border-color .16s,transform .16s}.subject-card:hover{border-color:#bad7ff;background:#f3f8ff;transform:translateY(-2px)}.subject-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:12px;background:#edf3ff;color:#3974d7;flex:none}.subject-card strong{font-size:12px;color:#38547a;display:block}.subject-card small{display:block;margin-top:3px;color:#9bacbf;font-size:10px}.empty-state{padding:28px;text-align:center;color:#8599b2;font-size:13px;line-height:1.7}.list-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f0f3f9;gap:12px;font-size:12px}.list-row:last-child{border-bottom:0}.list-row strong{color:#3c5579}.score-circle{width:38px;height:38px;border-radius:11px;background:#edf4ff;color:#3771d1;display:grid;place-items:center;font-weight:800;font-size:11px;flex:none}
/* Practice */
.subject-select{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.chip{background:#fff;border:1px solid #e2eaf6;padding:11px 14px;font-size:12px;color:#6f83a3;border-radius:12px;font-weight:800;transition:background-color .16s,border-color .16s,transform .16s}.chip:hover{border-color:#a7cdfb}.chip.active{background:#2569e8;color:white;border-color:#2569e8}.question-area{max-width:820px}.quiz-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.quiz-number{font-size:12px;color:#7490b6;font-weight:800}.quiz-progress{height:7px;background:#e7eef9;border-radius:20px;overflow:hidden;margin:14px 0 25px}.quiz-progress i{display:block;height:100%;background:#397af0;transition:width .3s}.quiz-prompt{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;line-height:1.4;letter-spacing:-.55px;color:#234271;margin:18px 0 25px}.answers{display:grid;gap:11px}.answer{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid #e1e9f6;border-radius:13px;background:#fff;padding:15px 16px;color:#3d587d;font-size:14px;font-weight:700;min-height:57px;transition:background-color .16s,color .16s,border-color .16s}.answer:hover:not(:disabled){border-color:#8ab4f7;background:#f4f8ff}.answer.selected{border-color:#3074ed;background:#eaf3ff;color:#1d59bb}.answer.correct{background:#eafbf3;border-color:#77cfab}.answer.incorrect{background:#fff0f2;border-color:#f2acba}.answer-marker{height:26px;width:26px;border-radius:8px;display:grid;place-items:center;font-size:11px;background:#eef3fa;color:#7e93b0;flex:none}.answer.selected .answer-marker{background:#3074ed;color:#fff}.quiz-actions{display:flex;justify-content:space-between;gap:10px;margin-top:23px}.feedback-panel{background:#f0f7ff;border:1px solid #d5e7ff;border-radius:15px;padding:18px;margin-top:17px;color:#476589;font-size:13px;line-height:1.7}.feedback-panel strong{color:#1e4c8b}.results-hero{text-align:center;padding:30px 10px}.results-hero .result-number{font-size:64px;font-weight:800;letter-spacing:-3px;color:#306fe7}.results-hero h2{color:#244c86;margin:0}.results-hero p{color:#8ba0bd}.result-review{padding:17px;border-bottom:1px solid #edf1f8}.result-review:last-child{border-bottom:0}.result-review strong{display:block;color:#335982;font-size:13px}.result-review p{font-size:12px;line-height:1.7;color:#778da9}
/* TOK and Planner */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12px;color:#435f84;font-weight:800}.field .hint{font-size:11px;color:#9dabc1}.control{width:100%;background:#fff;border:1px solid #dae5f4;border-radius:12px;padding:12px 14px;font-size:13px;color:#24466e;outline:0;transition:background-color .16s,color .16s,border-color .16s}.control:focus{border-color:#659cf2;box-shadow:0 0 0 3px #e7f1ff}.control::placeholder{color:#adbbce}textarea.control{resize:vertical;min-height:109px;line-height:1.6}.field.wide{grid-column:1/-1}.tok-info{margin-bottom:18px;background:#edf6ff;border-radius:15px;padding:17px 19px;border:1px solid #d9ebff;color:#496e9a;font-size:12px;line-height:1.7}.tok-forms{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.tok-sidebar .tile{margin-bottom:15px}.tips{padding-left:16px;font-size:12px;color:#7e91ac;line-height:1.9}.task-form{display:flex;align-items:end;gap:10px;margin:19px 0 20px}.task-form .field{flex:1}.task-form .date-field{max-width:170px}.task-label{display:flex;align-items:center;gap:13px;flex:1;min-width:0}.task-label input{accent-color:#3975e8;width:18px;height:18px}.task-label.done span{text-decoration:line-through;color:#a5b1c1}.task-actions{display:flex;gap:10px;align-items:center}.delete-mini{border:0;background:#fff4f4;color:#dc7483;border-radius:8px;padding:6px}.task-date{font-size:11px;color:#97a9be}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.bar-graph{height:130px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #e4eaf5;padding-bottom:5px}.bar{flex:1;min-height:3px;border-radius:7px 7px 0 0;background:linear-gradient(0deg,#2b6cef,#9cceff)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.settings-grid .wide{grid-column:1/-1}.danger-zone{border-color:#f4dfe5}.message{background:#e8f7ee;color:#23825f;padding:11px 13px;font-size:12px;border-radius:11px}.message.error{background:#fff0f3;color:#b54256}.notice{font-size:12px;color:#889bb4;line-height:1.7}
/* Auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-aside{background:linear-gradient(150deg,#123777,#3076e8);color:#fff;padding:45px clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-aside:before,.auth-aside:after{content:"";position:absolute;border-radius:50%;border:75px solid #ffffff0b;width:420px;height:420px;right:-180px;top:5%}.auth-aside:after{width:300px;height:300px;top:auto;bottom:-200px;right:25%}.auth-aside .brand{color:#fff;position:relative;z-index:1}.auth-aside .brand .dot{color:#b8d7ff}.auth-aside .brand img{background:#fff;border-radius:12px;padding:3px}.auth-quote{position:relative;z-index:1;max-width:460px}.auth-quote h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,4vw,52px);letter-spacing:-2.2px;line-height:1.2;margin:0 0 18px}.auth-quote p{color:#d0e3ff;line-height:1.8}.auth-caption{position:relative;z-index:1;color:#bdd4fa;font-size:11px}.auth-main{display:flex;align-items:center;justify-content:center;padding:45px 28px}.auth-card{width:min(430px,100%)}.auth-card h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:31px;letter-spacing:-1.2px;color:#163963;margin-bottom:8px}.auth-card>p{font-size:13px;color:#8a9aaf;line-height:1.6}.auth-fields{display:grid;gap:16px;margin-top:30px}.auth-foot{font-size:12px;color:#899bb2;text-align:center;margin-top:20px}.checkline{font-size:11px;color:#8798b2;display:flex;gap:9px;line-height:1.6}.checkline input{margin-top:2px;accent-color:#2e6fea}.auth-back{position:absolute;right:24px;top:25px;display:flex;gap:7px;align-items:center;color:#8498b4;font-size:12px;font-weight:800}.auth-main{position:relative}
.legal-main{max-width:750px;margin:60px auto 100px;padding:0 22px;color:#527095;line-height:1.9}.legal-main h1,.legal-main h2{color:#173b6e}.legal-main h1{font-size:39px;letter-spacing:-1px}.legal-main p{font-size:14px}.legal-main li{margin:8px 0}
.toast{position:fixed;bottom:25px;right:25px;z-index:99;background:#163e79;color:#fff;padding:13px 17px;border-radius:13px;font-size:13px;box-shadow:0 12px 30px #1c4c9333;animation:floatin .3s}.toast.error{background:#a73250}.hamburger{display:none}
@media(max-width:1040px){.hero-grid{grid-template-columns:1fr 1fr;gap:15px}.float-bubble.one{right:3px}.float-bubble.two{left:1px}.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:20px 10px}.tok-forms{grid-template-columns:1fr}.tok-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tok-sidebar .tile{margin:0}}
@media(max-width:800px){.nav-links{display:none}.menu-btn{display:grid;place-items:center}.hero{padding:45px 0 55px}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-p{margin-inline:auto}.cta-row,.trust-row{justify-content:center}.hero-art{min-height:435px}.hero h1{letter-spacing:-2px}.feature-grid{grid-template-columns:repeat(2,1fr)}.shell{display:block}.sidebar{height:auto;width:100%;display:flex;flex-direction:row;align-items:center;position:sticky;top:0;z-index:20;border-right:0;border-bottom:1px solid #e4edfa;padding:9px 16px}.sidebar .brand{padding:0;margin-right:auto}.side-label,.side-bottom,.user-mini{display:none}.side-nav{display:flex;flex-direction:row;overflow:auto;gap:4px}.nav-item{width:auto;white-space:nowrap;padding:11px;font-size:0}.nav-item svg{width:19px;height:19px}.app-top{height:65px}.app-content{padding-top:25px}.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{min-height:100vh}}
@media(max-width:580px){.wrap{width:calc(100% - 34px)}.top-nav{height:73px}.top-actions .btn.outline{display:none}.hero h1{font-size:44px}.hero-p{font-size:14px}.hero-art{min-height:340px}.orb.one{height:270px;width:270px}.preview-window{width:96%;transform:rotate(-1deg)}.preview-body{padding:17px}.float-bubble{padding:8px 10px;font-size:10px}.float-bubble.one{top:25px}.float-bubble.two{bottom:10px}.section{padding:60px 0}.feature-grid,.steps-grid,.pricing-grid{grid-template-columns:1fr}.feature-card{padding:22px}.banner{padding:29px;display:block;margin-bottom:40px}.banner h2{font-size:26px}.banner .btn{margin-top:22px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}.app-content{padding-inline:17px}.app-top{padding-inline:17px}.app-title{font-size:26px}.dash-hero{display:block;padding:26px}.dash-hero .btn{margin-top:19px}.dash-stats{gap:9px}.stat-card{padding:15px 11px;display:block}.stat-card strong{font-size:24px}.stat-card .round-icon{height:32px;width:32px}.main-grid,.form-grid,.settings-grid{grid-template-columns:1fr}.settings-grid .wide,.field.wide{grid-column:auto}.tok-sidebar{grid-template-columns:1fr}.subject-grid{grid-template-columns:1fr 1fr}.tile{padding:17px}.subject-card{padding:10px}.subject-icon{height:29px;width:29px}.subject-card strong{font-size:10px}.task-form{flex-wrap:wrap}.task-form .field{min-width:100%}.task-form .date-field{max-width:unset;min-width:150px}.quiz-prompt{font-size:21px}.metrics-grid{grid-template-columns:1fr 1fr}.auth-main{padding:55px 23px}.top-right .pill{display:none}.app-head{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.mobile-links{position:absolute;right:17px;top:75px;z-index:30;background:white;border:1px solid #e4eefb;border-radius:16px;padding:10px;box-shadow:0 15px 35px #244d8733;min-width:190px}.mobile-links[hidden]{display:none}.mobile-links a{display:block;font-size:13px;color:#345e9b;padding:11px 12px;border-radius:9px;font-weight:700}.mobile-links a:hover{background:#eef5ff}


/* Motion profiles — default: full on Mac, balanced on Windows/low-power systems.
   Layout and content are identical across profiles; only visual movement differs. */
.float-bubble{will-change:transform}
.motion-control{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce8f8;border-radius:10px;background:#f2f7ff;color:#3167bc;padding:7px 10px;font:700 12px 'DM Sans',ui-sans-serif,sans-serif;line-height:1.35;white-space:nowrap;cursor:pointer}
.motion-control:hover{background:#e8f1ff;border-color:#b6d3ff}
.motion-control:focus-visible{outline:3px solid #7db7ff;outline-offset:2px}
.motion-row{align-items:center}
html[data-motion="balanced"]{scroll-behavior:auto}
html[data-motion="balanced"] .hero-art,
html[data-motion="balanced"] .float-bubble{animation:none!important}
html[data-motion="balanced"] .float-bubble{will-change:auto}
html[data-motion="balanced"] .preview-window{transition:none;transform:rotate(-2.1deg)!important}
html[data-motion="balanced"] .feature-card,
html[data-motion="balanced"] .subject-card,
html[data-motion="balanced"] .btn{transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out;will-change:auto}
html[data-motion="balanced"] .feature-card:hover,
html[data-motion="balanced"] .subject-card:hover,
html[data-motion="balanced"] .btn:hover:not(:disabled),
html[data-motion="balanced"] .btn:active:not(:disabled){transform:none}
html[data-motion="balanced"] .feature-card:hover{box-shadow:0 6px 18px rgba(41,80,145,.08)}
html[data-motion="balanced"] .btn.primary:hover{box-shadow:0 8px 20px rgba(48,111,238,.19)}
html[data-motion="balanced"] .toast{animation:none}
html[data-motion="balanced"] .quiz-progress i{transition:none}
html[data-motion="off"]{scroll-behavior:auto}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] .float-bubble{will-change:auto}
html[data-motion="off"] .btn:hover:not(:disabled),html[data-motion="off"] .feature-card:hover,html[data-motion="off"] .subject-card:hover{transform:none}
@media(prefers-reduced-motion:reduce){html[data-motion] *,html[data-motion] *::before,html[data-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Syllestra v1.2 — stable cross-platform rendering and mobile-first UX.
   No perpetual animation, transformed glass panels, animated filters, or
   fade-in-on-route: these caused tearing/abrupt cuts on certain Windows GPUs. */
html{scroll-behavior:auto!important;overflow-x:clip}
body{overflow-x:clip;-webkit-tap-highlight-color:transparent}
*{-webkit-font-smoothing:antialiased}
.hero-art,.float-bubble,.loader-orb,.toast{animation:none!important;will-change:auto!important}
.hero-art{transform:none!important;isolation:isolate}
.preview-window,.preview-window:hover,html[data-motion="balanced"] .preview-window{transform:none!important;transition:none!important;box-shadow:0 18px 48px rgba(40,89,160,.1)}
.orb{filter:none!important;animation:none!important;opacity:.45}
.float-bubble{box-shadow:0 8px 26px rgba(21,80,156,.1);contain:layout style}
.btn,.nav-item,.feature-card,.subject-card,.chip,.google-btn,.mobile-bottom-item{transform:none!important;will-change:auto!important}
.btn:hover,.btn:active,.feature-card:hover,.subject-card:hover{transform:none!important}
html[data-motion="balanced"] .btn,html[data-motion="balanced"] .nav-item,html[data-motion="balanced"] .feature-card,html[data-motion="balanced"] .subject-card,html[data-motion="balanced"] .chip{transition:background-color .12s linear,color .12s linear,border-color .12s linear!important}
html[data-motion="smooth"] .btn,html[data-motion="smooth"] .nav-item,html[data-motion="smooth"] .feature-card,html[data-motion="smooth"] .subject-card,html[data-motion="smooth"] .chip{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}
@media(hover:none){.btn:hover,.feature-card:hover,.subject-card:hover,.preview-window:hover{transform:none!important;box-shadow:initial}}
:focus-visible{outline:3px solid #4d93f9!important;outline-offset:3px}
button,a{touch-action:manipulation}
.mobile-bottom-nav{display:none}
.social-area{margin-top:24px}
.google-btn{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:49px;padding:12px 16px;background:#fff;border:1px solid #dce6f5;border-radius:13px;color:#24466e;font-size:14px;font-weight:750;cursor:pointer;transition:background-color .15s,border-color .15s}
.google-btn:hover:not(:disabled){background:#f5f9ff;border-color:#a3c4f6}
.google-btn:disabled{cursor:not-allowed;opacity:.62}
.social-status{margin:8px 3px 0;text-align:center;line-height:1.5}
.auth-divider{position:relative;display:flex;align-items:center;gap:12px;justify-content:center;margin:18px 0 0;color:#9babbd;font-size:12px}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e5edf7;flex:1}
.auth-divider span{white-space:nowrap}
.account-google{border:1px solid #e0eafb;border-radius:13px;margin-top:14px;padding:14px;background:#f9fcff}
.account-google p{margin:9px 0 0;line-height:1.6}
@media(min-width:801px){.workspace{min-width:0}.app-content{overflow-wrap:break-word}}
@media(max-width:800px){
 .sidebar{height:60px;padding:9px 18px;position:sticky;top:0;background:rgba(255,255,255,.985);backdrop-filter:none;box-shadow:0 1px 0 #e4edfa}
 .sidebar .brand{margin-right:auto;font-size:21px}
 .side-nav{display:none!important}
 .app-top{display:none}
 .workspace{min-width:0}
 .app-content{padding:23px 18px calc(112px + env(safe-area-inset-bottom));max-width:740px;margin:auto}
 .mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #e3edf9;padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));gap:2px;justify-content:space-between;box-shadow:0 -6px 28px rgba(29,68,128,.065)}
 .mobile-bottom-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7c91ad;text-decoration:none;min-height:54px;padding:6px 1px;border-radius:11px;font-size:10px;font-weight:800;line-height:1.05;white-space:nowrap;transition:background-color .12s,color .12s}
 .mobile-bottom-item.active{background:#eaf3ff;color:#2065d6}
 .mobile-bottom-item svg{width:20px;height:20px;flex-shrink:0}
 .toast{bottom:calc(89px + env(safe-area-inset-bottom));right:12px;left:12px;text-align:center;max-width:480px;margin-inline:auto}
 .subject-select{gap:8px}
 .chip{min-height:44px;display:inline-flex;align-items:center}
 .task-label input{width:22px;height:22px}
 .hero-art{min-height:400px}
 .preview-window{max-width:530px}
 .hero{padding:37px 0 66px}
 .landing .top-nav{position:relative;z-index:10}
 .cta-row .btn{min-height:47px}
 .auth-back{top:18px}
}
@media(max-width:580px){
 .wrap{width:calc(100% - 36px)}
 .top-nav{height:68px;gap:8px}
 .top-nav .brand{font-size:22px;gap:7px}
 .top-nav .brand img{width:28px;height:28px}
 .top-actions{gap:5px}
 .top-actions .btn.primary{padding:9px 11px;border-radius:10px;font-size:11px}
 .hero{padding:34px 0 49px}
 .hero h1{font-size:clamp(38px,10.7vw,52px);letter-spacing:-1.8px;line-height:1.12}
 .hero-p{font-size:14px;line-height:1.7}
 .cta-row{display:flex;flex-wrap:wrap;gap:10px}
 .hero-art{min-height:auto;padding:33px 1px 30px}
 .preview-window{width:100%;border-radius:19px}
 .preview-body{padding:14px}
 .preview-stats{gap:5px}
 .mini-stat{padding:10px 6px;min-width:0}
 .mini-stat strong{font-size:19px}
 .mini-stat span{font-size:8px}
 .preview-bottom{grid-template-columns:1fr 1fr;gap:8px}
 .mini-card{min-width:0;padding:10px}
 .float-bubble{display:none}
 .orb{opacity:.22}
 .section{padding:54px 0}
 .feature-card{padding:21px}
 .app-title{font-size:clamp(24px,6.8vw,30px);line-height:1.15;letter-spacing:-.8px}
 .app-content{padding-inline:15px;padding-top:18px}
 .dash-hero{padding:22px;border-radius:18px}
 .dash-hero h2{font-size:26px;letter-spacing:-.8px}
 .dash-hero p br{display:none}
 .dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .stat-card{padding:14px 12px;min-width:0}
 .stat-card:nth-child(3){grid-column:1/-1}
 .stat-card strong{font-size:25px}
 .stat-card small{line-height:1.4}
 .subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .subject-card{min-width:0;min-height:90px;padding:13px}
 .subject-card strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
 .tile{padding:18px;border-radius:16px;min-width:0}
 .section-row{gap:12px;flex-wrap:wrap}
 .metrics-grid{grid-template-columns:1fr 1fr}
 .form-grid,.tok-forms,.settings-grid,.main-grid{grid-template-columns:minmax(0,1fr)}
 .field,.field input,.field textarea{min-width:0}
 .control{font-size:16px!important;min-height:46px}
 .field label{font-size:12px}
 .btn{min-height:44px}
 .auth-main{padding:76px 20px 28px;align-items:flex-start;min-height:100dvh}
 .auth-card{padding-bottom:20px}
 .auth-card h1{font-size:29px}
 .auth-fields{gap:15px;margin-top:17px}
 .social-area{margin-top:20px}
 .task-form{gap:11px}
 .task-form .date-field{width:100%;max-width:none}
 .task-form button{width:100%}
 .footer-links{gap:15px}
 .footer-inner{gap:16px}
 .mobile-links{left:17px;right:17px;top:67px}
 .toast{font-size:13px}
}
@media(max-width:360px){.mobile-bottom-item{font-size:9px}.mobile-bottom-item svg{width:18px;height:18px}.hero h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.profile-form{margin:20px 0 16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.profile-form .btn{grid-column:1/-1;justify-self:start}@media(max-width:580px){.profile-form{grid-template-columns:1fr}.profile-form .btn{width:100%}}
