:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20243d;background:#f7f8fc;font-synthesis:none;--violet:#6652cf;--violet-dark:#5041b5;--violet-tint:#f0edff;--ink:#20243d;--muted:#777d94;--border:#e7e8f1;--card:#fff;--green:#259a75;--orange:#da9638;--red:#d95b62;--blue:#347cbb;--shadow:0 12px 35px rgba(36,37,82,.045);color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:300px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.flashcard:focus-visible{outline:3px solid #ada3f7;outline-offset:3px}a{color:inherit;text-decoration:none}p{line-height:1.55}h1,h2,h3,h4,p{margin-top:0}.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--violet)}.icon{font-size:21px;line-height:1}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:32px 17px;display:flex;flex-direction:column;gap:30px;position:sticky;top:0;height:100vh;z-index:5}.brand{display:flex;gap:12px;align-items:center;padding:0 10px}.brandmark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--violet);color:#fff;font-size:26px;font-weight:700;box-shadow:0 5px 13px #6652cf44}.brand strong{display:block;letter-spacing:-.5px;font-size:19px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.nav{display:grid;gap:6px}.nav-label{margin:0 13px 9px;color:#adb0c1;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:10px}.nav-btn{border:0;background:none;color:#6c7187;display:flex;align-items:center;text-align:left;gap:13px;padding:13px 15px;width:100%;border-radius:12px;font-size:14px;font-weight:650;transition:.2s}.nav-btn:hover{background:#f7f6fd;color:var(--ink)}.nav-btn.active{background:var(--violet-tint);color:var(--violet)}.nav-btn .ico{width:21px;font-size:18px;text-align:center}.sidebar-bottom{margin-top:auto;display:grid;gap:13px}.save-note{padding:14px 15px;border:1px solid var(--border);border-radius:13px;background:#fbfbff;color:#666c85;font-size:12px;line-height:1.55}.save-note strong{color:var(--ink);display:block;margin-bottom:3px}.main{min-width:0}.topbar{height:80px;padding:0 clamp(22px,4.5vw,70px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#fff}.topbar .crumb{font-size:14px;font-weight:700}.topbar-end{display:flex;gap:12px;align-items:center}.tier-pill{border:1px solid #e0def8;background:#f7f5ff;border-radius:100px;padding:9px 15px;color:#5d4eb3;font-weight:800;font-size:12px}.content{max-width:1270px;margin:auto;padding:36px clamp(20px,4.6vw,70px) 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.page-heading h1{font-size:clamp(27px,3vw,38px);letter-spacing:-1.4px;line-height:1.16;margin:7px 0 7px;font-weight:800}.page-heading p{font-size:14px;color:var(--muted);margin:0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:12px 17px;border:1px solid transparent;font-weight:750;font-size:13px;transition:background .2s,transform .15s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary{background:var(--violet);color:#fff;box-shadow:0 6px 15px #6652cf29}.btn.primary:hover{background:var(--violet-dark)}.btn.soft{background:var(--violet-tint);color:var(--violet)}.btn.outline{background:#fff;border-color:var(--border);color:#4f5670}.btn.ghost{background:transparent;color:#686e86}.btn.red{background:#fff0f0;color:#b93c49;border-color:#f2cacd}.btn.green{background:#e8f7f0;color:#187e58;border-color:#c3ebd7}.btn.small{padding:8px 12px;font-size:12px;border-radius:9px}.btn.wide{width:100%}.card{background:#fff;border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow);padding:24px}.grid{display:grid;gap:17px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:23px;display:flex;flex-direction:column;gap:8px}.stat .value{font-size:29px;font-weight:820;letter-spacing:-1px}.stat .label{font-size:12px;color:#85899d;font-weight:650}.stat .hint{font-size:11px;color:#9a9db0}.stat .stat-icon{font-size:20px;align-self:flex-end}.hero{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:30px;background:linear-gradient(120deg,#6553ce,#8d70e5);color:#fff;border-radius:21px;min-height:202px;position:relative;overflow:hidden}.hero:after{content:'✦';position:absolute;font-size:230px;right:6%;bottom:-110px;opacity:.11}.hero h2{font-size:27px;max-width:440px;margin:6px 0 12px;line-height:1.2;letter-spacing:-.7px}.hero p{color:#eee9ff;font-size:13px;max-width:430px}.hero .btn{position:relative;z-index:1;background:#fff;color:#6250c6}.hero-icon{font-size:76px;opacity:.85;margin-right:45px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 15px}.section-title h2{margin:0;font-size:19px;letter-spacing:-.45px}.subject-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:24px;min-height:203px;cursor:pointer;transition:transform .2s,box-shadow .2s}.subject-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #292e6c17}.subject-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;font-size:24px}.bio .subject-icon{background:#e6f7ee;color:#239a6b}.chem .subject-icon{background:#fff3e5;color:#d78a2a}.phys .subject-icon{background:#e8f1ff;color:#4b7fc6}.subject-card h3{margin:0;font-size:18px}.subject-card p{margin:2px 0 0;font-size:12px;color:var(--muted)}.progress-track{width:100%;height:9px;border-radius:10px;background:#eff0f5;display:flex;overflow:hidden}.progress-fill{height:100%;background:var(--violet);transition:width .3s}.progress-stack{width:100%;height:9px;border-radius:10px;display:flex;overflow:hidden;background:#f1f2f6}.progress-stack span{height:100%}.progress-stack .red{background:var(--red)}.progress-stack .orange{background:var(--orange)}.progress-stack .green{background:var(--green)}.progress-stack .secure{background:#168b5e}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.feature-card{display:flex;align-items:center;gap:16px;cursor:pointer;min-height:116px;transition:transform .2s}.feature-card:hover{transform:translateY(-2px)}.feature-icon{width:49px;height:49px;display:grid;place-items:center;background:#f2efff;color:var(--violet);font-size:24px;border-radius:14px;flex-shrink:0}.feature-card h3{font-size:15px;margin:0 0 5px}.feature-card p{font-size:12px;color:var(--muted);margin:0}.feature-arrow{margin-left:auto;color:#a4a5b5}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:100px;font-size:11px;font-weight:800;background:#f2f3f7;color:#767b90;white-space:nowrap}.pill.red{background:#fceced;color:#b84451}.pill.orange{background:#fff3e2;color:#a86d1b}.pill.green{background:#e8f7ef;color:#198b5b}.pill.secure{background:#dff5e9;color:#187a54}.pill.purple{background:var(--violet-tint);color:var(--violet)}.section-box{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:13px}.section-box>.section-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;gap:10px}.topic-rows{padding:6px 16px 12px}.topic-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 6px;border-top:1px solid #f0f0f5}.topic-row h3{font-size:15px;margin:0 0 5px}.topic-row p{font-size:12px;color:var(--muted);margin:0}.sec-main{min-width:0;flex:1}.check{accent-color:var(--violet);width:18px;height:18px;cursor:pointer;flex-shrink:0}.select-row{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.sec-list{display:grid;gap:0}.sec-item{padding:15px 20px;border-top:1px solid #f0f1f5}.sec-item h4{font-size:13px;margin:0 0 5px;line-height:1.45}.sec-item p{font-size:11px;margin:0;color:var(--muted)}.section-tick{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:10px}.section-tick .progress-stack{max-width:240px}.group-toggle{border:0;background:none;text-align:left;padding:0;display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:14px}.group-title{margin:0}.group-panel{padding:0 20px 12px}.group-panel[hidden]{display:none}.sticky-actions{position:sticky;bottom:16px;background:#fff;box-shadow:0 12px 35px #20243d20;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;padding:13px 18px;margin-top:22px}.empty{padding:50px 23px;text-align:center}.empty .empty-icon{font-size:43px;margin-bottom:14px}.empty h3{font-size:19px}.empty p{font-size:13px;color:var(--muted);max-width:470px;margin:0 auto 18px}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filterbar select,.field{border:1px solid var(--border);border-radius:11px;background:#fff;padding:11px 13px;color:var(--ink);max-width:100%;font-size:13px}.radio-options{display:grid;gap:10px}.radio-option{border:1px solid var(--border);border-radius:13px;padding:17px;display:flex;gap:12px;align-items:flex-start;cursor:pointer}.radio-option:has(input:checked){border-color:#9785e8;background:#f6f3ff}.radio-option input{accent-color:var(--violet);width:18px;height:18px}.radio-option strong{display:block;font-size:14px}.radio-option span{font-size:12px;color:var(--muted)}.flash-layout{max-width:790px;margin:auto}.flash-header{text-align:center;margin-bottom:20px}.flash-header h1{font-size:21px;margin:6px 0 4px}.flash-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0}.flashcard{width:100%;min-height:340px;perspective:1300px;cursor:pointer;background:none;border:0;padding:0;display:block;text-align:center}.flash-inner{position:relative;min-height:340px;width:100%;transition:transform .55s;transform-style:preserve-3d}.flashcard.flipped .flash-inner{transform:rotateY(180deg)}.flash-face{background:#fff;box-shadow:0 15px 45px #383e7a13;border:1px solid #e3e1f1;border-radius:23px;position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;padding:38px 38px 30px;overflow-y:auto}.flash-back{transform:rotateY(180deg);border-color:#c8bffb;background:linear-gradient(145deg,#fff,#fbfaff)}.flash-label{position:absolute;top:23px;left:28px;font-size:11px;color:var(--violet);font-weight:900;letter-spacing:.12em}.flash-text{font-size:clamp(22px,3vw,31px);line-height:1.4;letter-spacing:-.6px;font-weight:720;max-width:630px;overflow-wrap:anywhere}.flash-answer{font-size:clamp(19px,2.7vw,26px);font-weight:670}.flash-hint{position:absolute;bottom:24px;font-size:12px;color:#a0a2b3}.rate-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.rate-controls .btn{padding:18px;font-size:15px;border-radius:13px}.flash-footer{display:flex;justify-content:space-between;align-items:center;margin:16px 0;color:var(--muted);gap:8px}.flash-footer .btn{font-size:12px}.flash-progress{height:7px;background:#e9eaf4;border-radius:100px;overflow:hidden}.flash-progress>div{background:var(--violet);height:100%;transition:width .2s}.summary-icon{width:62px;height:62px;border-radius:50%;background:#e6f6ef;color:#1d9869;display:grid;place-items:center;font-size:29px;margin:auto auto 14px}.summary-head{text-align:center;margin:10px 0 30px}.summary-head h1{font-size:30px;margin:0 0 8px}.summary-head p{color:var(--muted);font-size:13px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.result-stat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;text-align:center}.result-stat strong{font-size:27px;display:block}.result-stat span{font-size:12px;color:var(--muted)}.result-list{display:grid;gap:9px;max-height:310px;overflow:auto}.result-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#f8f8fc;border-radius:10px;font-size:12px}.result-item span{line-height:1.4}.legend{display:flex;flex-wrap:wrap;gap:13px;margin:15px 0}.legend>span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.dot{width:10px;height:10px;display:inline-block;border-radius:50%}.dot.red{background:var(--red)}.dot.orange{background:var(--orange)}.dot.green{background:var(--green)}.dot.secure{background:#13734e}.topic-mini{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #f1f2f7;padding:14px 0}.topic-mini:first-child{border:0}.topic-mini h4{font-size:13px;margin:0 0 4px}.topic-mini p{color:var(--muted);font-size:11px;margin:0}.settings-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px}.setting-heading{display:flex;align-items:center;gap:12px;font-size:17px;margin-bottom:17px}.toast{position:fixed;right:25px;bottom:25px;background:#22273f;color:#fff;border-radius:12px;padding:14px 20px;box-shadow:0 10px 30px #20243d44;z-index:30;max-width:min(400px,calc(100vw - 36px));font-size:13px}.modal-overlay{position:fixed;inset:0;background:#151c34a6;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px}.modal{background:white;border-radius:20px;padding:29px;max-width:460px;width:100%;box-shadow:0 25px 60px #151c3450}.modal h2{font-size:21px}.modal p{font-size:13px;color:var(--muted)}.modal .btn{white-space:normal}.info{border-radius:12px;padding:13px 16px;background:#f2efff;color:#6357aa;font-size:12px;line-height:1.55}.alert{border-radius:12px;padding:13px 16px;background:#fff4e8;color:#925d19;font-size:12px;line-height:1.55}.searchbox{display:flex;align-items:center;border:1px solid var(--border);border-radius:11px;background:#fff;padding:2px 11px;gap:8px;max-width:300px}.searchbox input{padding:9px 0;border:0;outline:0;min-width:0;width:100%;background:none}.bar-label{font-size:11px;display:flex;justify-content:space-between;color:var(--muted);margin-top:7px}.splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink)}.splash-logo{background:var(--violet);color:#fff;width:70px;height:70px;display:grid;place-items:center;font-size:40px;border-radius:20px;margin-bottom:20px}.splash h1{margin-bottom:4px}.splash p{color:var(--muted);font-size:14px}
@media(max-width:1050px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:26px 12px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-icon{display:none}.content{padding:30px 24px 90px}}
@media(max-width:760px){.shell{display:block;padding-bottom:69px}.sidebar{height:65px;position:fixed;bottom:0;top:auto;left:0;right:0;padding:5px 7px;border-right:0;border-top:1px solid var(--border);display:flex;justify-content:center;background:#fff}.brand,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;align-items:center;justify-content:space-around;width:100%;gap:0}.nav-btn{padding:6px 8px;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center;border-radius:9px;font-size:9px;text-align:center;width:auto}.nav-btn .ico{font-size:20px;width:auto}.topbar{height:63px;padding:0 20px}.topbar .crumb{font-size:13px}.tier-pill{padding:7px 9px;font-size:10px}.content{padding:23px 16px 90px}.page-heading{gap:11px;flex-direction:column;margin-bottom:20px}.page-heading h1{font-size:29px}.hero{padding:24px;min-height:190px}.hero h2{font-size:24px}.grid.three{grid-template-columns:1fr}.grid.four{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.subject-card{min-height:155px;padding:20px}.subject-icon{height:40px;width:40px}.card{padding:18px}.feature-card{min-height:95px}.flashcard,.flash-inner{min-height:310px}.flash-face{padding:43px 22px 33px}.flash-text{font-size:21px}.flash-answer{font-size:20px}.settings-grid{grid-template-columns:1fr}.sticky-actions{bottom:78px}.result-stats{gap:7px}.result-stat{padding:15px 6px}.result-stat strong{font-size:23px}.result-stat span{font-size:10px}.toast{bottom:84px;right:12px}.section-box>.section-head{padding:16px}.group-panel{padding:0 10px 10px}.sec-item{padding:14px 8px}}
@media(max-width:400px){.grid.four{gap:9px}.stat{padding:14px}.stat .value{font-size:24px}.rate-controls .btn{padding:15px 8px}.flashcard,.flash-inner{min-height:325px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.flashcard.flipped .flash-inner{transform:none}.flashcard.flipped .flash-front{display:none}.flashcard:not(.flipped) .flash-back{display:none}.flash-back{transform:none}}

.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.reduced-motion .flashcard.flipped .flash-inner{transform:none}.reduced-motion .flashcard.flipped .flash-front{display:none}.reduced-motion .flashcard:not(.flipped) .flash-back{display:none}.reduced-motion .flash-back{transform:none}
