@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{color:#27253a;font-synthesis:none;background:#f8f8fc;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.035em;font-family:Outfit,sans-serif}h1{font-size:clamp(2rem,3.3vw,3rem);line-height:1.08}h2{font-size:1.65rem}p{line-height:1.55}svg{flex-shrink:0}.muted{color:#8c8a9b}.eyebrow{letter-spacing:.18em;color:#8a6bf0;font-size:.72rem;font-weight:800}.eyebrow.light{color:#dcd3ff}.button{white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:default}.button.primary{color:#fff;background:#7654e8;box-shadow:0 8px 19px #7654e82b}.button.primary:hover{background:#6745df}.button.outline{color:#4b4565;background:#fff;border:1px solid #e5e3ef}.button.white{color:#6b4dd2;background:#fff}.button.full{width:100%}.icon-button{color:#6f6c80;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-button:hover{background:#f0edf8}.stack{flex-direction:column;display:flex}.gap-lg{gap:16px}label{color:#58556a;flex-direction:column;gap:7px;font-size:.88rem;font-weight:700;display:flex}input,textarea,select{color:#29263d;background:#fff;border:1px solid #e5e3ed;border-radius:10px;outline:none;width:100%;padding:12px 13px}input:focus,textarea:focus,select:focus{border-color:#a594ef;box-shadow:0 0 0 3px #a594ef26}textarea{resize:vertical}.error-text{color:#c14056;margin:0;font-size:.9rem}.success-text{color:#178869;margin:0;font-size:.9rem}.error-box{color:#a52e42;background:#ffecef;border-radius:12px;padding:20px}.center-screen{color:#777489;place-content:center;min-height:100vh;display:grid}.center-inline{text-align:center;color:#777489;padding:30px}.auth-shell{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-art{color:#fff;background:radial-gradient(circle at 80% 25%,#a497f2 0,#8067e6 31%,#5032b8 100%);flex-direction:column;justify-content:space-between;padding:50px 8%;display:flex;position:relative;overflow:hidden}.auth-art:after{content:"";border:1px solid #ffffff38;border-radius:50%;width:460px;height:460px;position:absolute;bottom:4%;right:-130px;box-shadow:0 0 0 85px #ffffff12,0 0 0 170px #ffffff0b}.auth-art>*{z-index:1}.auth-art h1{max-width:620px;margin:22px 0;font-size:clamp(3rem,6vw,5.8rem)}.auth-art p{color:#e8e1ff;max-width:450px;font-size:1.16rem}.auth-panel{place-content:center;padding:40px;display:grid}.auth-box{width:min(100%,430px)}.auth-box h2{margin:12px 0 4px;font-size:2.35rem}.auth-box form{margin-top:31px}.auth-links{justify-content:space-between;gap:8px;margin-top:18px;display:flex}.auth-links button{color:#7654e8;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:700}.divider{color:#a09dab;align-items:center;gap:12px;margin:25px 0;display:flex}.divider:before,.divider:after{content:"";background:#e9e7ef;flex:1;height:1px}.fine-print{text-align:center;color:#a7a4b3;margin-top:28px;font-size:.79rem}.brand-mark{color:#7757e6;background:#f4f0ff;border-radius:13px;place-items:center;width:40px;height:40px;display:inline-grid}.auth-art .brand-mark{color:#fff;background:#ffffff25}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:10;background:#fff;border-right:1px solid #ebe9f2;flex-direction:column;flex:none;width:244px;height:100vh;min-height:100vh;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:10px;padding:28px 22px 40px;font-family:Outfit;font-size:1.35rem;font-weight:800;display:flex}.brand-accent{color:#7654e8}.sidebar-scroll{flex:1;padding:0 12px;overflow:auto}.sidebar-label{letter-spacing:.18em;color:#aaa7b6;margin:0 13px 14px;font-size:.66rem;font-weight:800}.sidebar-label.second{margin-top:39px}.nav-item{color:#767386;border-radius:10px;align-items:center;gap:13px;margin:2px 0;padding:12px 14px;font-size:.9rem;font-weight:700;display:flex}.nav-item:hover,.nav-item.active{color:#7654e8;background:#f2eeff}.sidebar-bottom{border-top:1px solid #f2f0f7;padding:15px}.sidebar-tip{color:#7654e8;background:#f6f2ff;border-radius:13px;flex-direction:column;gap:7px;padding:15px;font-size:.82rem;display:flex}.sidebar-tip span{color:#807c95}.profile-chip{align-items:center;gap:10px;margin-top:15px;padding:8px 4px;display:flex}.profile-chip span{flex-direction:column;flex:1;display:flex;overflow:hidden}.profile-chip strong{white-space:nowrap;text-overflow:ellipsis;font-size:.81rem;overflow:hidden}.profile-chip small{color:#aaa7b4}.avatar,.topbar-avatar{color:#6a4cd3;background:#dcd3ff;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:800;display:grid}.main-wrap{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #ebe9f2;justify-content:space-between;align-items:center;height:76px;padding:0 4%;display:flex}.topbar-breadcrumb{color:#a29eae;align-items:center;gap:9px;font-size:.86rem;display:flex}.topbar-breadcrumb strong{color:#514b68}.topbar-actions{align-items:center;gap:19px;display:flex}.topbar-search{color:#aaa7b7;align-items:center;gap:8px;font-size:.86rem;display:flex}.topbar-avatar{width:34px;height:34px}.content{max-width:1500px;margin:auto;padding:42px 4% 70px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{margin:9px 0 6px}.page-heading p{color:#918da0;margin:0}.welcome-banner{color:#fff;background:linear-gradient(112deg,#6d4ad7,#8c75ee);border-radius:20px;justify-content:space-between;align-items:center;min-height:255px;padding:38px 40px;display:flex;overflow:hidden}.welcome-banner h1{margin:10px 0;font-size:2.35rem}.welcome-banner p{color:#eee9ff;max-width:480px}.banner-orbit{color:#fff;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:190px;height:190px;margin-right:60px;display:grid;box-shadow:0 0 0 44px #ffffff13,0 0 0 85px #ffffff0a}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 42px;display:grid}.stat-card{color:#878398;background:#fff;border:1px solid #eceaf2;border-radius:17px;flex-direction:column;gap:7px;padding:21px;font-size:.82rem;display:flex}.stat-card strong{color:#302b45;font-family:Outfit;font-size:2rem}.stat-card small{color:#aaa7b7}.stat-icon{border-radius:12px;place-items:center;width:41px;height:41px;margin-bottom:7px;display:grid}.stat-icon.purple{color:#7654e8;background:#eee8ff}.stat-icon.coral{color:#f0825d;background:#ffece5}.stat-icon.blue{color:#5b9ee7;background:#e5f0ff}.stat-icon.yellow{color:#d99b26;background:#fff1d2}.section-heading{justify-content:space-between;align-items:end;margin:35px 0 18px;display:flex}.section-heading h2{margin:0 0 3px}.section-heading p{color:#918da0;margin:0;font-size:.87rem}.section-heading>a{color:#7654e8;align-items:center;font-size:.85rem;font-weight:700;display:flex}.deck-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.deck-tile{background:#fff;border:1px solid #eae8f0;border-radius:16px;transition:transform .15s,box-shadow .15s;overflow:hidden}.deck-tile:hover{transform:translateY(-3px);box-shadow:0 12px 35px #34304913}.deck-cover{place-items:center;height:135px;font-family:Outfit;font-size:4.8rem;display:grid}.deck-tile-body{padding:17px 19px}.deck-tile-body strong{font-family:Outfit;font-size:1.16rem}.deck-tile-body p{color:#9793a5;white-space:nowrap;text-overflow:ellipsis;margin:5px 0 15px;font-size:.82rem;overflow:hidden}.deck-tile-footer{color:#aaa6b7;justify-content:space-between;font-size:.78rem;display:flex}.action-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.action-card{background:#fff;border:1px solid #eceaf2;border-radius:14px;flex-direction:column;gap:9px;padding:20px;display:flex}.action-card svg{color:#7654e8}.action-card strong{font-family:Outfit}.action-card span{color:#9d9aaa;font-size:.84rem}.empty-card{text-align:center;color:#a39fb1;background:#fff;border:1px dashed #ddd9e8;border-radius:17px;flex-direction:column;align-items:center;padding:60px 25px;display:flex}.empty-card h3{color:#363148;margin:18px 0 4px}.empty-card p{max-width:350px}.library-toolbar{gap:12px;margin-bottom:18px;display:flex}.search-field{color:#a19dad;background:#fff;border:1px solid #e6e3ed;border-radius:10px;flex:1;align-items:center;gap:9px;min-width:290px;padding:0 14px;display:flex}.search-field input{box-shadow:none;border:0}.filter-row{gap:9px;margin:0 0 22px;display:flex;overflow:auto}.filter-row button{color:#8b879a;white-space:nowrap;background:#fff;border:1px solid #e7e4ef;border-radius:999px;padding:8px 14px;font-size:.82rem}.filter-row button.selected{color:#fff;background:#7654e8;border-color:#7654e8}.modal-backdrop{z-index:30;background:#1a143d80;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(100%,490px);max-height:90vh;padding:32px;position:relative;overflow:auto;box-shadow:0 22px 80px #1d153840}.modal .close{position:absolute;top:17px;right:17px}.modal h2{margin:10px 0}.modal form{margin-top:24px}.surface{background:#fff;border:1px solid #eae8f1;border-radius:17px;padding:25px}.surface+.surface{margin-top:17px}.two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.three-col{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.split-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.card-list{flex-direction:column;gap:10px;display:flex}.card-row{background:#fff;border:1px solid #e9e7f0;border-radius:12px;align-items:center;gap:13px;padding:17px;display:flex}.card-row-main{flex:1;min-width:0}.card-row strong{display:block}.card-row p{color:#8e8a9c;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.85rem;overflow:hidden}.badge{color:#7654e8;background:#f2edff;border-radius:7px;padding:5px 9px;font-size:.72rem;font-weight:800}.study-panel{max-width:800px;margin:0 auto}.study-card{text-align:center;background:#fff;border:1px solid #e9e6f0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:50px;display:flex;box-shadow:0 15px 50px #2c27400d}.study-card h2{font-size:2rem}.study-answer{color:#6c6581;border-top:1px solid #ebe8f1;width:100%;margin-top:25px;padding-top:25px}.study-answer strong{color:#2b2838}.rating-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.rating-button{color:#5e5775;background:#fff;border:1px solid #e4e1ee;border-radius:11px;padding:13px;font-weight:800}.rating-button small{color:#aaa5b9;margin-top:4px;font-weight:500;display:block}.rating-button:hover{background:#f6f2ff;border-color:#7654e8}.progress-track{background:#e8e4f3;border-radius:99px;height:8px;overflow:hidden}.progress-track>span{background:#7b5be9;border-radius:99px;height:100%;display:block}.option-grid{gap:9px;margin:15px 0;display:grid}.option{text-align:left;background:#fff;border:1px solid #e7e4ef;border-radius:10px;padding:14px}.option.selected{background:#f7f3ff;border-color:#7654e8}.option.correct{background:#e9faf2;border-color:#35ad88}.notice{color:#6b56ac;background:#f2edff;border-radius:12px;padding:13px 16px;font-size:.85rem}.mobile-menu,.mobile-scrim{display:none}@media (width<=1050px){.sidebar{width:210px}.stat-grid,.deck-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.sidebar{width:244px;transition:left .2s;position:fixed;left:-260px}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.mobile-scrim{z-index:9;background:#1b163d77;border:0;display:block;position:fixed;inset:0}.topbar{height:62px;padding:0 18px}.topbar-search{display:none}.content{padding:27px 18px 55px}.page-heading{align-items:flex-start}.page-heading h1{font-size:2rem}.page-heading>.button{padding:10px;font-size:.8rem}.welcome-banner{min-height:240px;padding:27px}.welcome-banner h1{font-size:1.9rem}.banner-orbit{display:none}.deck-grid,.action-grid,.two-col,.three-col{grid-template-columns:1fr}.stat-grid{gap:10px}.stat-card{padding:15px}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{min-height:100vh}.study-card{min-height:270px;padding:30px 20px}.rating-grid{grid-template-columns:repeat(2,1fr)}}.back-link{color:#817b95;align-items:center;gap:8px;margin-bottom:25px;font-size:.86rem;font-weight:700;display:inline-flex}.back-link:hover{color:#7654e8}.deck-summary{background:#fff;border:1px solid #eae8f1;border-radius:17px;align-items:center;gap:18px;margin-bottom:19px;padding:20px;display:flex}.deck-summary>div:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.deck-summary strong{font-family:Outfit;font-size:1.18rem}.deck-summary span{color:#9b97a9;font-size:.82rem}.deck-symbol{color:#7654e8;background:#ebe5ff;border-radius:14px;place-items:center;width:64px;height:64px;font-size:2.5rem;display:grid}.deck-actions{margin:20px 0 38px}.deck-actions button{font:inherit;text-align:left;cursor:pointer}.card-number{color:#a49fb3;font-family:Outfit;font-size:.8rem;font-weight:800}.card-row .icon-button{padding:5px}.card-row .icon-button:hover{color:#7654e8}.deck-settings{margin-top:34px}.deck-settings .toolbar{align-items:end}.deck-settings label{min-width:200px}.button.danger{color:#c04454}.member-list{margin-top:25px}.study-heading{margin-bottom:15px}.study-heading h1{margin:8px 0}.study-heading p{color:#9a96a8}.study-panel .progress-track{margin-bottom:22px}.study-reveal{margin:20px auto;display:flex}.full-width{width:100%}.study-card input{max-width:550px;margin-top:12px}.import-types{grid-template-columns:repeat(7,1fr);gap:10px;margin:22px 0;display:grid}.import-type{text-align:left;color:#807c91;background:#fff;border:1px solid #e7e4ef;border-radius:13px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 12px;display:flex}.import-type.active{color:#7654e8;background:#f7f3ff;border-color:#977ff0}.import-type strong{color:#353046;font-family:Outfit}.import-type small{font-size:.71rem;line-height:1.3}.import-source{flex-direction:column;gap:20px;display:flex}.import-source h2{margin:0}.import-source .toolbar{justify-content:space-between}.import-source .toolbar label{width:145px}.file-drop{color:#7654e8;background:#faf9fd;border:2px dashed #d9d4e9;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:170px;display:flex}.file-drop span{color:#9e9aaa;font-size:.8rem}.file-drop input{background:0 0;border:0;max-width:270px}.generated{margin-top:24px}.candidate-card{border:1px solid #e8e5ef;border-radius:12px;flex-direction:column;gap:10px;padding:17px;display:flex}.candidate-card .check-row{flex-direction:row;align-items:center}.check-row input{width:auto}.candidate-card .toolbar{justify-content:space-between}.tutor-shell{background:#fff;border:1px solid #ebe8f1;border-radius:18px;flex-direction:column;max-width:900px;min-height:510px;margin:22px auto 0;padding:22px;display:flex}.tutor-messages{flex-direction:column;flex:1;gap:15px;max-height:610px;display:flex;overflow:auto}.tutor-empty{text-align:center;color:#8d88a0;margin:auto}.tutor-empty svg{color:#7654e8}.message{background:#f4f1fb;border-radius:13px;align-self:flex-start;max-width:85%;padding:14px 17px}.message.user{color:#fff;background:#7654e8;align-self:flex-end}.message span{text-transform:uppercase;letter-spacing:.1em;opacity:.75;font-size:.72rem;font-weight:800}.message p{white-space:pre-wrap;margin:7px 0 0}.tutor-composer{border-top:1px solid #efedf4;gap:10px;margin-top:20px;padding-top:18px;display:flex}.tutor-composer input{flex:1}.big-number{font-family:Outfit;font-size:2.8rem}.chart-surface,.account-actions,.admin-lower{margin-top:20px}.bar-chart{grid-template-columns:repeat(14,1fr);align-items:end;gap:10px;height:220px;padding-top:15px;display:grid}.bar-col{color:#9b96aa;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;font-size:.72rem;display:flex}.bar-col .bar{background:#967bf0;border-radius:6px 6px 2px 2px;width:100%;max-width:28px}.bar-col small{font-size:.66rem}.avatar-input{color:#7654e8;border:1px dashed #dcd8e9;border-radius:10px;padding:14px}.avatar-input input{border:0;padding:0}.account-actions .toolbar{margin-top:10px}@media (width<=1100px){.import-types{grid-template-columns:repeat(4,1fr)}}@media (width<=720px){.import-types{grid-template-columns:repeat(2,1fr)}.deck-summary{flex-wrap:wrap}.deck-summary>.toolbar{width:100%}.card-row{flex-wrap:wrap}.card-row-main{min-width:160px}.card-row .badge{order:3}.tutor-composer{flex-wrap:wrap}.tutor-composer .button{width:100%}}.folder-filter{flex:none;align-items:center;gap:3px;display:inline-flex}.folder-filter button:last-child{justify-content:center;align-items:center;padding:7px;display:inline-flex}.tag-panel{margin-top:26px}.tag-panel h3{align-items:center;gap:9px;display:flex}.tag-panel>.toolbar{margin:14px 0}.tag-chip{color:#7654e8;background:#f1edff;border-radius:99px;align-items:center;gap:6px;padding:6px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.tag-chip button{color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.tag-form input{max-width:220px}.workspace-choice{text-align:left;color:#202032;cursor:pointer;background:#fff;border:1px solid #e5e5ec;border-radius:12px;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex}.workspace-choice:hover,.workspace-choice.selected{background:#f7f4ff;border-color:#8a70ee}.workspace-choice span{flex-direction:column;gap:3px;display:flex}.workspace-choice small{color:#77778c}.milestones h2{align-items:center;gap:9px;display:flex}.achievement-grid{gap:9px;margin-top:15px;display:grid}.achievement{opacity:.58;border:1px solid #e8e8ee;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.achievement.earned{opacity:1;background:#f5f1ff;border-color:#e0d7ff}.achievement>span{color:#7655df;font-size:21px}.achievement div{flex-direction:column;gap:2px;display:flex}.achievement small{color:#77778c}.exercise{gap:10px;margin-top:18px;display:grid}.exercise-row{background:#fff;border:1px solid #e8e8ef;border-radius:11px;align-items:center;gap:12px;padding:10px 13px;display:flex}.exercise-row>strong{flex:1}.exercise-row select{min-width:170px;max-width:48%}.exercise-row .toolbar{gap:3px}.avatar img,.topbar-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}
