@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap";:root{font-family:Sora,system-ui,sans-serif;color:#17231f;background:#f8faf9;font-synthesis:none;line-height:1.5;font-weight:400;--green: #0B3D2E;--accent: #34D399;--gold: #D4AF7C;--ink: #17231F;--border: #DDE5E1;--muted: #687873;--surface: #FFFFFF;--surface-soft: #F1F5F3;--shadow-card: 0 10px 32px rgba(11, 61, 46, .07)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5c9e43;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Sora,system-ui,sans-serif}h1{font-size:2rem;line-height:1.3;letter-spacing:-.055rem;font-weight:750;margin-bottom:.55rem}h2{font-size:1.2rem;line-height:1.45;margin-bottom:.5rem;font-weight:750}h3{font-size:1.05rem;margin-bottom:1rem}p{margin-bottom:1rem}button{border:0;background:none;color:inherit}small,.small{font-size:.8125rem;line-height:1.5}.muted{color:var(--muted)}.eyebrow{display:block;font-size:.75rem;letter-spacing:.105em;font-weight:700;color:#6c7c75;margin-bottom:.8rem}.primary,.secondary,.lime,.danger{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.7rem 1.15rem;border-radius:8px;font-size:.875rem;font-weight:650;white-space:normal}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#285744}.secondary{background:#fff;border:1px solid #d4ded9}.secondary:hover:not(:disabled){background:#eef3ef}.lime{background:var(--accent);color:#183c2b}.lime:hover{background:#d7ff94}.danger{background:#a13932;color:#fff}.text-button{display:inline-flex;gap:.5rem;align-items:center;padding:.4rem 0;font-size:.875rem;font-weight:650;color:#315c44}.text-button:hover{text-decoration:underline}.actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;width:36px;height:36px;flex-shrink:0}.icon-button:hover{background:#e9efeb}.grow{flex:1;min-width:0}.tag{font-size:.75rem;font-weight:550;padding:.3rem .6rem;border-radius:5px;background:#f0f3f2;color:#69766f;display:inline-flex;align-items:center;white-space:nowrap}.tag.green{background:#ebf4e8;color:#426342}.tag.amber{background:#fff2d9;color:#926315}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.4rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.panel-heading p{font-size:.875rem;margin:0}.panel-heading h2{margin-bottom:.25rem}.notice{padding:1rem 1.2rem;background:#eef3e8;border:1px solid #d9e5cd;border-radius:9px;color:#4d6145;font-size:.875rem;margin:1rem 0}.error{padding:1rem 1.2rem;background:#fff0ed;border:1px solid #eecbc4;border-radius:9px;color:#9b3e32;margin-bottom:1rem;overflow-wrap:anywhere}.error .text-button{color:inherit}.loading{padding:5rem 2rem;text-align:center;color:var(--muted)}.empty-inline{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-inline svg{margin-bottom:.8rem}.icon-tile{display:inline-flex;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;background:#eef4e8;color:#3d6349;margin-bottom:1.2rem}.narrow{max-width:760px}.app-shell{display:flex;min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:2rem 1.15rem 1rem;z-index:20}.brand{font-family:Sora,sans-serif;font-weight:800;font-size:1.5rem;display:flex;align-items:center;letter-spacing:-.06em;gap:.6rem;color:#193e30;padding:0 .5rem}.brand span{color:#788d77;margin-left:-.5rem;font-weight:500}.brand svg{width:28px;height:28px;stroke-width:2}.workspace-label{font-size:.75rem;letter-spacing:.11em;color:#95a09b;margin:3.2rem .75rem 1rem;font-weight:650}.sidebar nav{display:flex;flex-direction:column;gap:.35rem}.sidebar nav button{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.8rem .75rem;border-radius:7px;color:#728079;font-size:.875rem;font-weight:500}.sidebar nav button:hover{background:#f5f7f5}.sidebar nav button.active{background:#eaf1e8;color:#30573b;font-weight:650}.sidebar-bottom{margin-top:auto;padding-top:2rem}.phase-label{border:1px solid var(--border);border-radius:8px;padding:1rem;margin:.5rem .4rem 1.3rem}.phase-label p{font-size:.8125rem;color:#7b8881;margin:.7rem 0 0;line-height:1.6}.profile{border-top:1px solid var(--border);padding:1.1rem .3rem 0;display:flex;align-items:center;gap:.6rem;width:100%;text-align:left}.avatar{width:34px;height:34px;background:#eee8db;color:#746b51;border-radius:50%;display:grid;place-items:center;font-size:.875rem}.profile strong{display:block;font-size:.8125rem;font-weight:550}.profile small{display:block;color:#88918b;font-size:.75rem}.main-shell{margin-left:238px;width:calc(100% - 238px);display:flex;flex-direction:column;min-width:0}.topbar{height:82px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;gap:1rem}.breadcrumb{display:flex;gap:.9rem;font-size:.8125rem;color:#91a097;align-items:center}.breadcrumb strong{font-weight:500;color:#53645a}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar select{margin:0;max-width:250px;font-size:.8125rem;background:#f7f9f6;border-color:#e4e9e3}.environment{font-size:.75rem;color:#758372;white-space:nowrap}.content{width:100%;max-width:1480px;padding:2.2rem 2.5rem;margin:0 auto;flex:1}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;margin-bottom:1.7rem}.page-intro p{font-size:.9375rem;margin-bottom:0}.streak{font-size:.8125rem;display:flex;gap:.5rem;align-items:center;border:1px solid #e7e7d9;background:#fafaf4;border-radius:20px;padding:.5rem .85rem;white-space:nowrap;color:#837346}.streak svg{color:#b19a56}.dashboard-top{display:grid;grid-template-columns:1.9fr 1fr;gap:1.3rem;margin-bottom:1.5rem}.study-callout{background:#173c30;border-radius:12px;position:relative;padding:1.6rem 1.9rem 0;display:flex;flex-wrap:wrap;align-items:center;color:#fff;overflow:hidden}.callout-copy{flex:1}.pill{font-size:.75rem;letter-spacing:.065em;border:1px solid #4d6758;border-radius:5px;display:inline-flex;gap:.65rem;padding:.35rem .65rem;color:#dae8cf}.pill span{color:#788c6d}.study-callout h2{font-size:1.9rem;line-height:1.3;margin:1.2rem 0 .65rem;font-weight:650;letter-spacing:-.04rem}.study-callout p{font-size:.8125rem;color:#b7c7bd;max-width:270px;margin-bottom:1.2rem}.study-callout .lime{font-size:.8125rem;min-height:40px}.mastery-ring{width:145px;height:145px;border-radius:50%;background:conic-gradient(#c6f17b var(--progress),#385749 0);padding:7px;margin-left:1rem;flex-shrink:0}.mastery-ring>div{width:100%;height:100%;border-radius:50%;background:#173c30;display:flex;align-items:center;justify-content:center;flex-direction:column}.mastery-ring strong{font-size:2.5rem;font-family:Sora;font-weight:550;letter-spacing:-.12rem}.mastery-ring span{font-size:.75rem;color:#b4c6b3}.callout-footer{display:flex;justify-content:space-between;gap:1rem;width:100%;border-top:1px solid #365447;padding:.8rem 0;margin-top:1.5rem;font-size:.75rem;color:#b9cbbd}.next-step{margin:0;padding:1.6rem 1.7rem;display:flex;flex-direction:column;align-items:flex-start}.next-step .eyebrow{font-size:.75rem;margin-bottom:.55rem}.next-step h2{font-size:1.3rem}.next-step p{font-size:.8125rem;max-width:260px;line-height:1.65}.next-step .text-button{font-size:.8125rem;margin-top:auto}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.7rem}.metric{border:1px solid var(--border);border-radius:10px;padding:1.15rem;background:#fff}.metric>div{display:flex;align-items:center;justify-content:space-between;color:#7f8b84;gap:.5rem;font-size:.8125rem}.metric>div svg{color:#9aa99e;flex-shrink:0}.metric strong{font-family:Sora;display:block;font-size:1.9rem;letter-spacing:-.06rem;font-weight:650;margin:.75rem 0 .15rem}.metric small{font-size:.75rem;color:#96a197}.topic-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.topic-card{padding:1.1rem;border:1px solid var(--border);border-radius:8px}.topic-card-top{display:flex;align-items:center;gap:.5rem;justify-content:space-between;flex-wrap:wrap}.topic-card-top .small{font-size:.75rem}.topic-card h3{margin:1rem 0 1.25rem;font-size:.9375rem}.progress-label{display:flex;justify-content:space-between;font-size:.75rem;color:#758375;margin-bottom:.55rem}.progress-label strong{color:#4d6b49;font-weight:550}progress{display:block;width:100%;height:6px;border:none;border-radius:5px;overflow:hidden;background:#edf1eb;appearance:none;margin-bottom:.65rem}progress::-webkit-progress-bar{background:#edf1eb;border-radius:5px}progress::-webkit-progress-value{background:#8bb26f;border-radius:5px}progress::-moz-progress-bar{background:#8bb26f}.topic-card>.small{font-size:.75rem}.footer{padding:1.2rem 2.5rem;display:flex;justify-content:space-between;font-size:.75rem;color:#9aa39b}.welcome{padding:3rem;max-width:900px}.welcome .eyebrow{margin-top:.5rem}.welcome h1{font-size:2.6rem}.welcome>p{max-width:620px}.welcome .actions{margin:1.7rem 0}.welcome .small{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}.span2{grid-column:span 2}label{display:block;font-size:.875rem;font-weight:550;margin:1rem 0;color:#4f6358}input,select,textarea{width:100%;display:block;border:1px solid #d8e1da;background:#fff;color:#273b30;border-radius:7px;padding:.7rem .8rem;margin-top:.4rem;min-height:44px;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid #93b778;outline-offset:1px}textarea{resize:vertical}label>.small{display:block;margin-top:.4rem}.exam-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.exam-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.exam-card h2{margin-top:1.1rem;font-size:1.5rem}.exam-card p{color:#6d7d73;font-size:.9375rem}.exam-meta{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid var(--border);padding:1rem 0;color:#829184;font-size:.8125rem}.syllabus{padding:0;overflow:hidden}.syllabus-row{padding:1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #edf0ed}.syllabus-row strong{font-size:.9375rem;font-weight:550}.syllabus-row small{display:block;color:#93a093;font-size:.75rem}.topic-icon{color:#6a8c62;display:flex}.segmented{display:inline-flex;gap:.2rem;background:#f1f4ef;border-radius:7px;padding:.25rem}.segmented button{padding:.6rem 1rem;border-radius:5px;font-size:.875rem}.segmented [aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #0001}.code-input{font-family:ui-monospace,monospace;font-size:.8125rem}.modal-backdrop{position:fixed;inset:0;background:#17282088;display:grid;place-items:center;padding:1rem;z-index:50}.modal{max-width:500px;margin:0}.study-setup{max-width:650px;margin:2rem auto;text-align:center;padding:2.5rem}.study-setup h2{font-size:1.5rem}.study-setup label{text-align:left}.study-setup .primary{margin-top:.5rem}.study-setup>.text-button{display:block;margin:1rem auto}.checkbox-label{display:flex;align-items:center;gap:.75rem}.checkbox-label input{width:18px;height:18px;min-height:0;margin:0;accent-color:#33543c}.study-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem}.question-panel{padding:1.8rem}.question-meta{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.question-number{font-size:.75rem;font-weight:700;letter-spacing:.05em;margin:2rem 0 .9rem;color:#78906e;display:flex;gap:1rem;justify-content:space-between}.question-number span{font-weight:400;letter-spacing:0;color:#8b958a}.statement{font-size:1.3rem;line-height:1.65;font-weight:600;margin-bottom:1.8rem}.options{margin:0;padding:0;border:0}.option{display:flex;align-items:center;gap:1rem;border:1px solid #dfe5dc;border-radius:8px;padding:.85rem 1rem;cursor:pointer;font-size:.9375rem;font-weight:400;margin:.7rem 0;color:#52604f}.option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.option:has(input:focus-visible){outline:3px solid #799b60;outline-offset:3px}.option:hover{border-color:#8da979;background:#fafcf8}.option-letter{display:grid;place-items:center;border:1px solid #dce4d7;border-radius:6px;width:30px;height:30px;flex-shrink:0;font-size:.8125rem;font-weight:550;background:#f9fbf7}.option.selected{border-color:#5f8851;background:#f0f6eb}.option.selected .option-letter{background:#416638;color:#fff;border-color:#416638}.option.correct{background:#edf6e7;border-color:#80a56b;color:#365529}.option.wrong{background:#fff0ec;border-color:#d99789;color:#913d2e}.option.wrong .option-letter{background:#ab5545;border-color:#ab5545}.options:disabled .option{cursor:default}.question-actions{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-top:1.7rem;border-top:1px solid var(--border);padding-top:1.4rem}.question-actions .small{font-size:.75rem}.session-aside{align-self:start}.session-aside .eyebrow{font-size:.75rem}.session-aside h3{font-size:1.1rem}.session-stat{display:flex;align-items:baseline;gap:.6rem;padding:.5rem 0}.session-stat strong{font-size:1.65rem;font-weight:500}.session-stat span{font-size:.8125rem;color:#87917f}hr{border:0;border-top:1px solid var(--border);margin:1.2rem 0}.feedback{border-radius:9px;padding:1.2rem;margin-top:1.5rem;background:#f0f6ea;border:1px solid #d5e5c8}.feedback.incorrect{background:#fcf7ef;border-color:#ebdfc7}.feedback h3{display:flex;align-items:center;gap:.5rem;color:#466638;margin-bottom:.8rem}.feedback p{font-size:.9375rem;line-height:1.75;white-space:pre-line}.feedback .tip{display:flex;gap:.6rem;font-size:.875rem;border-top:1px solid #d8e3cb;padding:1rem 0}.tip svg{flex-shrink:0}.feedback-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.8125rem}.history-item{border-top:1px solid var(--border)}.history-item summary{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1.1rem .2rem;list-style:none}.history-item summary::-webkit-details-marker{display:none}.history-item summary strong{font-size:.875rem;display:block;font-weight:500}.history-item small{display:block;font-size:.75rem;color:#8b9787;margin-top:.3rem}.result-dot{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.result-dot.ok{background:#eef5e8;color:#65904e}.result-dot.bad{background:#fbeae5;color:#b87461}.history-detail{padding:.4rem 1rem 1rem 3rem;font-size:.9375rem}.filter-label{display:flex;gap:.75rem;align-items:center;font-size:.8125rem;white-space:nowrap}.filter-label select{font-size:.875rem;margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;min-width:650px;width:100%;text-align:left;font-size:.875rem}th{font-size:.75rem;color:#8d9889;font-weight:500;padding:0 1rem 1rem}td{padding:1rem;border-top:1px solid var(--border)}td strong{font-weight:550}td small{display:block;color:#8c9786;font-size:.75rem;margin-top:.2rem}.table-progress{display:flex;align-items:center;gap:.6rem;min-width:100px}.table-progress progress{width:70px;margin:0}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{background:#173c30;color:#fff;padding:3rem 4rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-brand .brand{color:#fff;padding:0}.auth-brand .brand span{color:#c6f17b}.auth-brand .eyebrow{color:#afc897}.auth-brand h1{font-size:3.7rem;line-height:1.2;max-width:550px;letter-spacing:-.14rem;margin:1.5rem 0}.auth-brand p{color:#b8ccbd;max-width:400px;line-height:1.8}.auth-brand small{color:#94af99}.auth-form{display:grid;place-items:center;padding:3rem}.auth-inner{width:100%;max-width:390px}.auth-inner h2{font-size:2rem}.auth-inner .primary{width:100%;margin:.8rem 0}.auth-inner>.text-button{display:flex;margin:auto}.mobile-only{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1550px){.content{padding-top:3rem}.study-callout{padding-top:2rem}.study-callout h2{font-size:2.3rem}.mastery-ring{width:170px;height:170px;margin-right:1rem}.next-step{padding:2rem}}@media(max-width:1200px){.sidebar{width:210px;padding-left:.8rem;padding-right:.8rem}.main-shell{margin-left:210px;width:calc(100% - 210px)}.content{padding:1.8rem}.topbar{padding:0 1.8rem}.topic-cards{grid-template-columns:1fr 1fr}.mastery-ring{width:110px;height:110px}.mastery-ring strong{font-size:2rem}.study-callout{padding:1.3rem 1.3rem 0}.study-callout h2{font-size:1.7rem}.study-layout{grid-template-columns:minmax(0,1fr)}.session-aside{display:none}.metric{padding:1rem}.metric>div{font-size:.75rem}.next-step{padding:1.3rem}.next-step h2{font-size:1.1rem}.page-intro{align-items:flex-start}.streak,.environment{display:none}}@media(max-width:900px){.dashboard-top{grid-template-columns:1fr}.next-step{display:none}.metrics{grid-template-columns:1fr 1fr}.exam-grid{grid-template-columns:1fr}.topbar select{max-width:180px}.auth-brand{padding:2rem}.auth-brand h1{font-size:2.8rem}.auth-form{padding:2rem}.page-intro{flex-direction:column}}@media(max-width:700px){.sidebar{transform:translate(-100%);width:260px;box-shadow:20px 0 50px #0002}.sidebar.mobile-open{transform:translate(0)}.mobile-only{display:inline-flex}.brand .mobile-only{margin-left:auto}.main-shell{margin-left:0;width:100%}.topbar{height:68px;padding:0 1rem}.breadcrumb{font-size:.75rem;gap:.4rem}.breadcrumb>strong{display:none}.topbar-right{margin-left:auto}.topbar select{max-width:200px}.content{padding:1.5rem 1rem}.page-intro h1{font-size:1.65rem}.page-intro .eyebrow{font-size:.75rem}.page-intro p{font-size:.875rem}.page-intro{gap:1rem}.study-callout h2{font-size:1.5rem}.study-callout{padding:1.3rem 1.1rem 0}.mastery-ring{width:97px;height:97px;padding:5px;margin-left:.5rem}.mastery-ring strong{font-size:1.75rem}.mastery-ring span{font-size:.75rem}.study-callout p{font-size:.75rem;max-width:175px}.pill{font-size:.75rem}.metrics{gap:.65rem}.metric{padding:1rem .85rem}.metric strong{font-size:1.7rem}.topic-cards{grid-template-columns:1fr}.panel{padding:1.15rem}.panel-heading{align-items:flex-start;flex-wrap:wrap}.panel-heading .text-button{font-size:.75rem}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.syllabus{padding:0}.syllabus-row{gap:.4rem;padding-right:.5rem!important;padding-left:1rem!important;flex-wrap:wrap}.syllabus-row .tag{font-size:.75rem}.syllabus-row strong{font-size:.8125rem}.syllabus-row .icon-button{width:30px}.syllabus-row small{font-size:.75rem}.syllabus-row .topic-icon,.question-number span{display:none}.statement{font-size:1.15rem}.option{font-size:.875rem;padding:.7rem;gap:.65rem}.question-actions{flex-direction:column;align-items:stretch}.question-actions .primary{width:100%}.feedback-footer{flex-direction:column;align-items:stretch}.study-setup{padding:1.5rem;margin:0}.history-detail{padding:.5rem}.history-item summary{gap:.6rem}.history-item summary strong{font-size:.8125rem}.history-item .tag{display:none}.footer{padding:1rem}.auth{display:block}.auth-brand{min-height:0;padding:1.5rem}.auth-brand>div:nth-child(2),.auth-brand>small{display:none}.auth-form{padding:2.5rem 1.5rem}.auth-inner h2{font-size:1.8rem}.welcome h1{font-size:2rem}.welcome{padding:1.5rem}.welcome .actions{align-items:stretch;flex-direction:column}.notice{font-size:.8125rem}.callout-footer,.auth-inner .eyebrow{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){.sidebar{visibility:hidden}.sidebar.mobile-open{visibility:visible}}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.review-card{border:1px solid var(--border, #e5e7eb);border-radius:16px;padding:1rem;background:color-mix(in srgb,var(--panel, #fff) 94%,#eef8de)}.review-card-top,.review-date{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.review-card h3{margin:.8rem 0 .35rem}.review-date{justify-content:flex-start;margin:.8rem 0 1rem;font-size:.84rem;color:var(--muted, #6b7280)}.ai-generator{display:grid;gap:1rem;padding:1rem;border:1px dashed var(--border, #d1d5db);border-radius:16px;margin-bottom:1rem}.ai-generator h3{margin:0 0 .35rem}.notice.warning{border-color:#eab308}.segmented button{display:inline-flex;align-items:center;gap:.35rem}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card .actions{flex-direction:column;align-items:stretch}}.edict-grid,.performance-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.upload-panel{min-height:340px}.file-drop{min-height:190px;border:1px dashed #bdcac4;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;text-align:center;background:#f8faf9;cursor:pointer;padding:1.5rem}.file-drop:hover{background:#f0f5f1;border-color:#8aa396}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop svg{color:#4f755f;margin-bottom:.35rem}.file-drop span{color:var(--muted);font-size:.8125rem}.extracted-text{max-height:340px;overflow:auto;white-space:pre-wrap;background:#f7f9f8;border:1px solid var(--border);border-radius:8px;padding:1rem;font:.8rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.candidate-list{display:grid;gap:.55rem;margin-bottom:1rem}.candidate-row{display:flex;gap:.6rem;align-items:center;padding:.55rem .65rem;border:1px solid var(--border);border-radius:9px;background:#fbfcfb}.candidate-row.depth-subject{margin-left:1.5rem}.candidate-row.depth-subsubject{margin-left:3rem}.candidate-row>input[type=text],.candidate-row>input:not([type]){min-width:120px}.notice svg{vertical-align:middle;margin-right:.35rem}.mock-mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.25rem}.mock-mode{border:1px solid var(--border);border-radius:10px;padding:.9rem;background:#fff;text-align:left;min-height:100px}.mock-mode:hover{background:#f4f7f5}.mock-mode.selected{border-color:#567c68;box-shadow:inset 0 0 0 1px #567c68;background:#f0f6ef}.mock-mode strong,.mock-mode small{display:block}.mock-mode small{color:var(--muted);margin-top:.35rem;line-height:1.35}.assessment-progress{width:100%;margin:1rem 0 1.5rem}.result-hero{display:flex;align-items:center;gap:1.5rem}.score-circle{width:118px;height:118px;border-radius:50%;background:#eef4e8;border:8px solid #dfeccb;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.score-circle strong{font-family:Sora,sans-serif;font-size:1.5rem}.score-circle span{font-size:.75rem;color:var(--muted)}.topic-score-grid,.history-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.topic-score,.history-card{border:1px solid var(--border);border-radius:9px;padding:.9rem;background:#fbfcfb;text-align:left}.topic-score strong,.topic-score span,.history-card strong,.history-card span,.history-card small{display:block}.topic-score span,.history-card span,.history-card small{color:var(--muted);margin-top:.3rem}.history-card:hover{background:#f1f5f2}.assessment-review-list{display:grid;gap:1rem}.assessment-review{border-top:1px solid var(--border);padding-top:1.1rem}.assessment-review:first-child{border-top:0;padding-top:0}.review-correct,.review-wrong{display:flex;align-items:center;gap:.45rem;font-weight:650}.review-correct{color:#3c6848}.review-wrong{color:#9b3e32}.chart-card{min-width:0}.trend-chart{width:100%;min-height:220px;overflow:visible}.chart-grid-line{stroke:#e6ebe8;stroke-width:1}.chart-axis-label{fill:#77827d;font-size:10px}.trend-line{stroke:#315c44;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#315c44;stroke:#fff;stroke-width:2}.bar-chart{height:220px;display:flex;align-items:stretch;gap:.35rem;padding-top:1rem}.bar-column{flex:1;display:flex;flex-direction:column;min-width:0;text-align:center}.bar-value{height:20px;font-size:.7rem;color:var(--muted)}.bar-track{flex:1;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #dfe6e2}.bar-fill{width:min(24px,72%);min-height:2px;background:#567c68;border-radius:4px 4px 0 0}.bar-column>span{font-size:.62rem;color:var(--muted);padding-top:.4rem;transform:rotate(-45deg);transform-origin:center;white-space:nowrap}@media(max-width:1050px){.mock-mode-grid,.topic-score-grid,.history-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.edict-grid,.performance-charts{grid-template-columns:1fr}.candidate-row{flex-wrap:wrap}.candidate-row.depth-subject{margin-left:.6rem}.candidate-row.depth-subsubject{margin-left:1.2rem}.candidate-row .tag{order:2}.candidate-row .grow{flex-basis:calc(100% - 48px)}.mock-mode-grid,.topic-score-grid,.history-cards{grid-template-columns:1fr}.result-hero{align-items:flex-start}.score-circle{width:92px;height:92px;border-width:6px}.score-circle strong{font-size:1.15rem}.bar-column>span{display:none}}.tutor-intro{align-items:center}.tutor-status{display:inline-flex;align-items:center;gap:.7rem;min-width:230px;padding:.72rem .9rem;border:1px solid var(--border);border-radius:10px;background:#fff}.tutor-status svg{flex:0 0 auto}.tutor-status span,.tutor-status strong,.tutor-status small{display:block}.tutor-status small{color:var(--muted);margin-top:.1rem}.tutor-status.online{border-color:#cadfc8;background:#f2f8ef;color:#345d3c}.tutor-status.offline{border-color:#efd6a5;background:#fff9eb;color:#7b5a17}.tutor-setup{display:flex;align-items:flex-start;gap:.8rem}.tutor-setup p{margin:.2rem 0 .55rem}.tutor-setup code{display:inline-block;padding:.35rem .55rem;border-radius:6px;background:#f4efe4;color:#5f4b22;font:.8rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.tutor-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:1rem;align-items:start}.tutor-threads{position:sticky;top:78px;padding:.9rem;min-height:560px}.tutor-new{width:100%}.tutor-thread-list{display:grid;gap:.35rem;margin-top:.8rem}.tutor-thread-item{width:100%;display:flex;align-items:center;gap:.6rem;text-align:left;padding:.75rem .7rem;border-radius:8px;border:1px solid transparent}.tutor-thread-item:hover{background:#f4f7f5}.tutor-thread-item.active{background:#eef5ef;border-color:#d5e3d8}.tutor-thread-item strong,.tutor-thread-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-thread-item strong{font-size:.82rem}.tutor-thread-item small{color:var(--muted);font-size:.72rem;margin-top:.15rem}.tutor-no-threads{padding:1rem .45rem}.tutor-chat{padding:0;overflow:hidden;min-height:620px;display:flex;flex-direction:column}.tutor-chat-toolbar{display:flex;align-items:end;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border);background:#fbfcfb}.tutor-chat-toolbar label{margin:0}.tutor-chat-toolbar label>span{display:block;font-size:.72rem;color:var(--muted);font-weight:650;margin-bottom:.35rem}.danger-soft{color:#963c34}.danger-soft:hover{background:#fff0ed}.tutor-messages{flex:1;min-height:390px;max-height:58vh;overflow-y:auto;padding:1.25rem;background:radial-gradient(circle at 95% 5%,rgba(198,241,123,.12),transparent 28%),#fff}.tutor-empty{max-width:540px;margin:4rem auto;text-align:center}.tutor-orb{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;color:#315c44;background:#edf5e8;margin-bottom:1rem}.tutor-message{display:grid;grid-template-columns:74px minmax(0,1fr);gap:.8rem;max-width:920px;margin:0 auto 1.1rem}.tutor-message-role{color:var(--muted);font-size:.75rem;font-weight:700;padding-top:.65rem;text-align:right}.tutor-message.assistant .tutor-message-role{color:#365f48}.tutor-message-content{padding:.8rem 1rem;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.62;background:#f5f7f6;border:1px solid #e6ebe8}.tutor-message.user .tutor-message-content{background:#173e32;border-color:#173e32;color:#fff}.tutor-message.pending .tutor-message-content{min-height:42px}.tutor-typing{display:inline-flex;align-items:center;gap:.28rem;padding:.9rem 1rem;border-radius:12px;background:#f5f7f6;border:1px solid #e6ebe8;width:fit-content}.tutor-typing span{width:6px;height:6px;border-radius:999px;background:#678176;animation:tutor-dot 1.1s infinite ease-in-out}.tutor-typing span:nth-child(2){animation-delay:.12s}.tutor-typing span:nth-child(3){animation-delay:.24s}@keyframes tutor-dot{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}.tutor-quick-actions{display:flex;gap:.45rem;padding:.7rem 1rem .2rem;overflow-x:auto;border-top:1px solid var(--border);background:#fff}.chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #d7e0dc;background:#fff;border-radius:999px;padding:.5rem .7rem;font-size:.75rem;white-space:nowrap}.chip:hover:not(:disabled){background:#f1f6f2;border-color:#bdcfc5}.tutor-composer{display:flex;align-items:flex-end;gap:.6rem;padding:.8rem 1rem;background:#fff}.tutor-composer textarea{resize:none;min-height:50px;max-height:150px;margin:0}.tutor-send{width:48px;min-width:48px;height:48px;padding:0;border-radius:10px}.tutor-footnote{padding:0 1rem .9rem;margin:0}.tutor-error{margin-bottom:1rem}@media(max-width:1000px){.tutor-layout{grid-template-columns:220px minmax(0,1fr)}.tutor-message{grid-template-columns:54px minmax(0,1fr)}}@media(max-width:760px){.tutor-intro{align-items:stretch}.tutor-status{width:100%;min-width:0}.tutor-layout{display:block}.tutor-threads{position:static;min-height:0;margin-bottom:.75rem}.tutor-thread-list{display:flex;overflow-x:auto;padding-bottom:.2rem}.tutor-thread-item{min-width:220px;max-width:260px}.tutor-chat{min-height:calc(100vh - 250px)}.tutor-messages{max-height:55vh;padding:.8rem}.tutor-message{grid-template-columns:1fr;gap:.25rem}.tutor-message-role{text-align:left;padding:0 .2rem}.tutor-message.user .tutor-message-role{display:none}.tutor-message.user .tutor-message-content{margin-left:12%}.tutor-message.assistant .tutor-message-content{margin-right:5%}.tutor-chat-toolbar{align-items:end}.tutor-quick-actions{padding-left:.8rem;padding-right:.8rem}.tutor-composer{padding:.7rem .8rem}.tutor-footnote{padding-left:.8rem;padding-right:.8rem}}.callout-tutor{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.68rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.82rem;font-weight:650}.callout-tutor:hover{background:#ffffff14}.official-import{display:grid;gap:16px}.source-reference{display:grid;gap:5px;margin-top:14px}.segmented{flex-wrap:wrap}body{background:#f8faf9;color:#17231f}h1,h2,h3,.metric strong,.mastery-ring strong,.score-circle strong{font-family:Sora,system-ui,sans-serif}button,input,select,textarea{border-radius:11px}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#34d399}.aprova-brand{display:inline-flex;align-items:center;gap:.82rem;color:#0b3d2e;min-width:0}.aprova-brand-mark{display:block;flex:0 0 auto;overflow:visible;filter:drop-shadow(0 8px 18px rgba(7,47,35,.14))}.aprova-brand-copy{min-width:0}.aprova-wordmark{display:flex;align-items:baseline;white-space:nowrap;line-height:.93;letter-spacing:-.064em;font-size:1.68rem}.aprova-wordmark strong{color:currentColor;font-weight:800}.aprova-wordmark span{color:#34d399;font-weight:800}.aprova-brand small{display:block;margin-top:.42rem;color:#73857d;font-size:.7rem;font-weight:500;white-space:nowrap}.aprova-brand.inverse{color:#fff}.aprova-brand.inverse small{color:#ffffffe6}.aprova-brand.compact{gap:.58rem}.aprova-brand.compact .aprova-brand-mark{width:38px;height:38px}.aprova-brand.compact .aprova-wordmark{font-size:1.34rem}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 .4rem}.primary{background:#0b3d2e;color:#fff;border-radius:11px;box-shadow:0 7px 18px #0b3d2e1f}.primary:hover:not(:disabled){background:#124b3a;transform:translateY(-1px)}.secondary{border-color:#d9e3de;border-radius:11px}.secondary:hover:not(:disabled){background:#f1f5f3}.lime{background:#34d399;color:#073327;border-radius:11px}.lime:hover{background:#53ddb0}.text-button{color:#176b52}.panel,.metric,.topic-card,.mock-mode,.topic-score,.history-card,.tutor-status{border-color:#dde5e1;border-radius:16px;box-shadow:0 10px 32px #0b3d2e12}.panel{background:#fffffff7}.icon-tile{background:#ecf8f2;color:#176b52;border-radius:12px}.tag{border-radius:999px;padding-inline:.7rem}.tag.green{background:#e7f8ef;color:#126046}.tag.amber{background:#fbf3e7;color:#8b673a}.sidebar{background:#fffffffb;border-right-color:#e2e9e5;padding-top:1.55rem}.workspace-label{color:#8d9b95;margin-top:2.7rem}.sidebar nav button{border-radius:11px;color:#66766f}.sidebar nav button:hover{background:#f2f7f4;color:#23483c}.sidebar nav button.active{background:linear-gradient(90deg,#e7f6ef,#eef8f3);color:#0b3d2e;box-shadow:inset 3px 0 #34d399}.sidebar nav button.active svg{color:#1c8a68}.brand-promise{margin:.5rem .4rem 1.25rem;padding:1rem;border:1px solid #dfe8e3;border-radius:14px;background:linear-gradient(145deg,#f9fbfa,#edf8f3)}.brand-promise-kicker{display:block;color:#1f8a68;letter-spacing:.12em;font-size:.65rem;font-weight:800;margin-bottom:.45rem}.brand-promise strong{display:block;color:#17382f;font-size:.78rem;line-height:1.45}.brand-promise small{display:block;color:#7c8b85;font-size:.68rem;line-height:1.5;margin-top:.45rem}.avatar{background:#eef7f2;color:#0b3d2e;border:1px solid #d8e7df}.topbar{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:#e3eae6}.environment{display:inline-flex;align-items:center;gap:.32rem;color:#477366;background:#eef8f3;border:1px solid #d6eade;border-radius:999px;padding:.35rem .65rem}.study-callout{background:radial-gradient(circle at 85% 15%,rgba(52,211,153,.16),transparent 32%),linear-gradient(135deg,#082f24,#0b3d2e 60%,#124b3a);border-radius:19px;box-shadow:0 18px 45px #0b3d2e29}.pill{border-color:#d4af7c73;color:#f0dfc7}.pill span{color:#d4af7c}.study-callout p{color:#bfd2cb}.mastery-ring{background:conic-gradient(#34d399 var(--progress),rgba(255,255,255,.14) 0)}.mastery-ring>div{background:#0b3d2e}.mastery-ring span{color:#bcd4ca}.callout-footer{border-top-color:#ffffff1f;color:#c6d6d0}.streak{border-color:#eadbc3;background:#fffaf3;color:#87683f}.streak svg{color:#d4af7c}progress::-webkit-progress-value{background:#34d399}progress::-moz-progress-bar{background:#34d399}.progress-label strong{color:#176b52}.option{border-radius:13px;border-color:#dfe7e3}.option:hover{border-color:#8cc8b1;background:#f7fbf9}.option.selected{border-color:#34a67f;background:#eef9f4}.option.selected .option-letter{background:#0b3d2e;border-color:#0b3d2e}.option.correct{background:#ecf9f2;border-color:#75c89f;color:#174d39}.feedback{background:#eef9f4;border-color:#cde8da;border-radius:14px}.feedback h3{color:#176044}.auth.auth-mockup{min-height:100dvh;display:grid;grid-template-columns:minmax(0,51%) minmax(0,49%);background:#fbfcfb}.auth-mockup .auth-brand{position:relative;isolation:isolate;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(3rem,5.2vw,5.3rem) clamp(3rem,5vw,5.2rem) clamp(2.8rem,4.3vw,4.5rem);color:#fff;background:radial-gradient(circle at 0% 57%,rgba(59,211,151,.25) 0 0,rgba(59,211,151,.11) 22%,transparent 44%),linear-gradient(145deg,#063a2b,#00583d 42%,#044a36 72%,#0a6045)}.auth-mockup .auth-brand:before{content:"";position:absolute;z-index:-2;width:62vw;height:62vw;min-width:720px;min-height:720px;border-radius:50%;right:-38vw;top:-43vw;background:linear-gradient(145deg,rgba(52,211,153,.3),rgba(52,211,153,.03) 56%,transparent 72%);box-shadow:inset 0 0 80px #ffffff04}.auth-mockup .auth-brand:after{content:"";position:absolute;z-index:-3;inset:0;background:linear-gradient(180deg,#00000005,#0000001c);pointer-events:none}.auth-brand-orbit{position:absolute;z-index:-1;left:-19rem;bottom:9.5rem;width:34rem;height:34rem;border-radius:50%;background:radial-gradient(circle at 65% 35%,rgba(58,211,152,.18),rgba(58,211,152,.05) 54%,transparent 72%);pointer-events:none}.auth-mockup .auth-brand-logo{position:relative;z-index:3;gap:1.45rem;align-items:center;width:fit-content}.auth-mockup .auth-brand-logo .aprova-brand-mark{width:clamp(88px,6.2vw,116px);height:clamp(88px,6.2vw,116px);filter:drop-shadow(0 12px 28px rgba(0,0,0,.16))}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:clamp(3rem,4vw,4.65rem);letter-spacing:-.073em;text-shadow:0 2px 14px rgba(0,0,0,.08)}.auth-mockup .auth-brand-logo small{margin-top:.65rem;font-size:clamp(.96rem,1.2vw,1.36rem);letter-spacing:-.018em;color:#ffffffeb}.auth-brand-watermark{position:absolute;z-index:-1;right:-5.2rem;bottom:-6.2rem;opacity:.155;transform:rotate(-1.5deg);pointer-events:none}.auth-brand-watermark .aprova-brand-mark{width:clamp(390px,35vw,570px);height:clamp(390px,35vw,570px);filter:none}.auth-brand-message{position:relative;z-index:2;margin-top:clamp(4.4rem,9vh,8rem);max-width:720px}.auth-gold-rule{display:block;width:48px;height:4px;border-radius:999px;margin-bottom:1.3rem;background:#d4af7c;box-shadow:0 0 0 1px #ffffff05}.auth-mockup .auth-brand .eyebrow{margin-bottom:1.3rem;color:#e7bc73;font-size:clamp(.72rem,.82vw,.9rem);letter-spacing:.25em;line-height:1.4}.auth-mockup .auth-brand h1{max-width:760px;margin:0 0 1.7rem;color:#fff;font-size:clamp(3.9rem,5vw,5.35rem);font-weight:800;line-height:1.085;letter-spacing:-.072em;text-shadow:0 7px 24px rgba(0,0,0,.13)}.auth-mockup .auth-brand p{max-width:670px;margin:0;color:#eff9f5e0;font-size:clamp(1rem,1.18vw,1.23rem);line-height:1.65;letter-spacing:-.015em}.auth-feature-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,660px);margin-top:clamp(3rem,6.2vh,5.3rem)}.auth-feature{display:grid;place-items:center;align-content:center;min-height:84px;padding:0 1rem;color:#edc47d;text-align:center;border-right:1px solid rgba(255,255,255,.16)}.auth-feature:last-child{border-right:0}.auth-feature svg{margin-bottom:.62rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.08))}.auth-feature span{color:#ffffffdb;font-size:.74rem;font-weight:600;line-height:1.36;letter-spacing:.075em}.auth-brand-footer{position:relative;z-index:2;margin-top:auto;padding-top:2.4rem}.auth-brand-footer .auth-gold-rule{width:46px;height:3px;margin-bottom:1.2rem}.auth-brand-footer small{color:#ffffffd1;font-size:.75rem;letter-spacing:.22em;font-weight:500}.auth-mockup .auth-form{min-height:100dvh;display:grid;place-items:center;padding:clamp(2.5rem,6vw,6rem);background:radial-gradient(circle at 6% 50%,rgba(52,211,153,.025),transparent 22rem),#fbfcfb}.auth-mockup .auth-inner{width:min(100%,540px);max-width:540px;transform:translateY(-1.7vh)}.auth-mockup .auth-inner>.eyebrow{margin-bottom:1rem;color:#397a68;font-size:.83rem;letter-spacing:.19em}.auth-mockup .auth-inner h2{margin-bottom:.72rem;color:#0d3a2e;font-size:clamp(2.45rem,3vw,3.1rem);font-weight:800;line-height:1.08;letter-spacing:-.06em}.auth-mockup .auth-subtitle,.auth-mockup .auth-inner>p.muted{margin-bottom:2.2rem;color:#758b84;font-size:1.09rem;line-height:1.55}.auth-mockup .auth-inner form{width:100%}.auth-mockup .auth-inner label{margin:1.25rem 0 1.35rem;color:#153b31;font-size:1rem;font-weight:700}.auth-input-shell{position:relative;display:flex;align-items:center;width:100%;min-height:68px;margin-top:.6rem;border:1.5px solid #d8e6df;border-radius:12px;background:#ffffffe0;box-shadow:0 7px 20px #0b3d2e06,inset 0 1px #fffffff2;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-input-shell:focus-within{border-color:#72c5a5;background:#fff;box-shadow:0 0 0 4px #34d39917,0 9px 26px #0b3d2e0a}.auth-input-shell>svg:first-child{position:absolute;left:1.15rem;color:#3c9b7b;pointer-events:none}.auth-mockup .auth-inner .auth-input-shell input{width:100%;min-height:66px;margin:0;padding:.9rem 1.15rem .9rem 4rem;border:0;outline:0;border-radius:11px;background:transparent;color:#153b31;font-size:1.06rem;box-shadow:none}.auth-mockup .auth-inner .auth-input-shell input::placeholder{color:#acb8c2;opacity:1}.auth-mockup .auth-inner .auth-input-shell input:focus{outline:0}.auth-password-shell input{padding-right:4rem!important}.auth-password-toggle{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:10px;color:#708793}.auth-password-toggle:hover{background:#f0f6f3;color:#1e755d}.auth-mockup .auth-inner .primary{width:100%;min-height:64px;margin:.75rem 0 .9rem;border-radius:12px;font-size:1.05rem;font-weight:700;background:linear-gradient(90deg,#06513a,#006647 62%,#08724f);box-shadow:0 12px 28px #00533b2b}.auth-mockup .auth-inner .primary:hover:not(:disabled){background:linear-gradient(90deg,#064936,#005a41 62%,#066647)}.auth-mockup .auth-inner>.text-button{display:flex;justify-content:center;width:fit-content;margin:.35rem auto 0;padding:.42rem .6rem;color:#00704e;font-size:.96rem;font-weight:700;text-decoration:none}.auth-mockup .auth-inner>.text-button:hover{color:#0b3d2e;text-decoration:none}.auth-mockup .auth-inner .notice{margin-top:1.1rem;border-radius:12px}.welcome{border-radius:20px;background:radial-gradient(circle at 88% 20%,rgba(52,211,153,.1),transparent 18rem),#fff}.welcome h1{color:#102f25}.footer{color:#82918a}.footer>span{color:#9aa79f}.trend-line{stroke:#1f8a68}.trend-dot{fill:#34d399}.bar-fill{background:#34d399}.score-circle{background:#ebf8f2;border-color:#bce8d3}.review-correct{color:#176044}@media(max-width:1220px){.auth.auth-mockup{grid-template-columns:48% 52%}.auth-mockup .auth-brand{padding:2.8rem}.auth-mockup .auth-brand-logo .aprova-brand-mark{width:82px;height:82px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:3rem}.auth-mockup .auth-brand-logo small{font-size:.94rem}.auth-mockup .auth-brand h1{font-size:3.8rem}.auth-feature-grid{margin-top:2.7rem}.auth-feature{padding-inline:.55rem}}@media(max-width:900px){.auth.auth-mockup{display:block;min-height:100dvh}.auth-mockup .auth-brand{min-height:315px;padding:2rem 2.2rem 2.35rem}.auth-mockup .auth-brand-logo .aprova-brand-mark{width:68px;height:68px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:2.55rem}.auth-mockup .auth-brand-logo small{font-size:.84rem}.auth-brand-message{margin-top:2.8rem}.auth-mockup .auth-brand h1{font-size:2.8rem;margin-bottom:.9rem}.auth-mockup .auth-brand p{font-size:.95rem}.auth-feature-grid,.auth-brand-footer,.auth-brand-watermark{display:none}.auth-mockup .auth-form{min-height:calc(100dvh - 315px);padding:3rem 1.5rem}.auth-mockup .auth-inner{transform:none}}@media(max-width:700px){.sidebar-brand-row{padding-inline:.55rem}.brand-promise{display:none}.auth-mockup .auth-brand{min-height:230px;padding:1.45rem 1.3rem 1.8rem}.auth-mockup .auth-brand-logo{gap:.85rem}.auth-mockup .auth-brand-logo .aprova-brand-mark{width:54px;height:54px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:1.95rem}.auth-mockup .auth-brand-logo small{display:block;margin-top:.35rem;font-size:.69rem}.auth-brand-message{margin-top:2rem}.auth-gold-rule{width:34px;height:3px;margin-bottom:.9rem}.auth-mockup .auth-brand .eyebrow{font-size:.62rem;margin-bottom:.65rem}.auth-mockup .auth-brand h1{font-size:2.05rem;line-height:1.08;margin-bottom:0}.auth-mockup .auth-brand p{display:none}.auth-mockup .auth-form{min-height:calc(100dvh - 230px);padding:2.4rem 1.2rem 3rem}.auth-mockup .auth-inner>.eyebrow{font-size:.69rem}.auth-mockup .auth-inner h2{font-size:2rem}.auth-mockup .auth-subtitle,.auth-mockup .auth-inner>p.muted{font-size:.94rem;margin-bottom:1.7rem}.auth-input-shell{min-height:58px}.auth-mockup .auth-inner .auth-input-shell input{min-height:56px;font-size:1rem}.auth-mockup .auth-inner .primary{min-height:56px}.aprova-brand.compact .aprova-wordmark{font-size:1.22rem}}.auth-mockup .auth-brand-logo{gap:1.6rem}.auth-mockup .auth-brand-logo .aprova-brand-mark{width:clamp(92px,6.5vw,120px);height:clamp(92px,6.5vw,120px);filter:drop-shadow(0 11px 24px rgba(0,0,0,.12))}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:clamp(3.05rem,4.05vw,4.75rem);letter-spacing:-.068em}.auth-mockup .auth-brand-logo small{margin-top:.7rem;color:#fffffff0}.auth-brand-watermark{right:-3.3rem;bottom:-5.7rem;opacity:.12;transform:none}.auth-brand-watermark .aprova-brand-mark{width:clamp(390px,32vw,535px);height:clamp(390px,32vw,535px);filter:none}.sidebar-brand-row .aprova-brand-mark,.aprova-brand.compact .aprova-brand-mark{filter:none}@media(max-width:1220px){.auth-mockup .auth-brand-logo .aprova-brand-mark{width:84px;height:84px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:3.05rem}}@media(max-width:900px){.auth-mockup .auth-brand-logo .aprova-brand-mark{width:70px;height:70px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:2.58rem}}@media(max-width:700px){.auth-mockup .auth-brand-logo .aprova-brand-mark{width:56px;height:56px}.auth-mockup .auth-brand-logo .aprova-wordmark{font-size:2rem}}.aprova-brand-mark{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none}.auth-mockup .auth-brand-logo .aprova-brand-mark,.auth-brand-watermark .aprova-brand-mark,.sidebar-brand-row .aprova-brand-mark,.aprova-brand.compact .aprova-brand-mark{object-fit:contain}.app-shell{--sidebar-expanded-width: 238px;--sidebar-collapsed-width: 76px;--sidebar-current-width: var(--sidebar-expanded-width);--sidebar-transition: .24s cubic-bezier(.4, 0, .2, 1)}.app-shell.sidebar-layout-collapsed{--sidebar-current-width: var(--sidebar-collapsed-width)}.sidebar{width:var(--sidebar-current-width);padding-left:12px;padding-right:12px;overflow:hidden;transition:width var(--sidebar-transition),transform var(--sidebar-transition),box-shadow var(--sidebar-transition)}.main-shell{margin-left:var(--sidebar-current-width);width:calc(100% - var(--sidebar-current-width));transition:margin-left var(--sidebar-transition),width var(--sidebar-transition)}.desktop-only{display:flex}.sidebar-brand-row{position:relative;justify-content:center;min-height:48px;padding-inline:0}.sidebar-brand-row .aprova-brand{width:100%;justify-content:center;overflow:hidden;transition:gap var(--sidebar-transition)}.sidebar-brand-row .aprova-brand-copy{overflow:hidden;max-width:150px;opacity:1;transform:translate(0);transition:max-width var(--sidebar-transition),opacity .15s ease,transform var(--sidebar-transition)}.sidebar.is-collapsed .sidebar-brand-row .aprova-brand{gap:0}.sidebar.is-collapsed .sidebar-brand-row .aprova-brand-copy{max-width:0;opacity:0;transform:translate(-8px);pointer-events:none}.sidebar.is-collapsed .sidebar-brand-row .aprova-brand-mark{width:38px;height:38px}.sidebar-mode-row{height:44px;margin-top:.7rem;width:100%;align-items:center}.sidebar-mode-toggle{width:100%;min-height:44px;height:44px;display:flex;align-items:center;gap:0;padding:0;overflow:hidden;white-space:nowrap;text-align:left;color:#66766f;background:transparent;border:0;border-radius:11px;font-size:.875rem;font-weight:500;transition:background .16s ease,color .16s ease}.sidebar-mode-toggle:hover{color:#23483c;background:#f2f7f4}.sidebar-mode-toggle[data-current-mode=auto] .sidebar-mode-icon{color:#1f8a68}.sidebar-mode-icon{width:52px;min-width:52px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.sidebar-mode-icon svg{width:20px;height:20px;flex:0 0 20px}.sidebar-mode-text{min-width:0;max-width:145px;margin-left:.15rem;white-space:nowrap;overflow:hidden;opacity:1;transform:translate(0);transition:max-width var(--sidebar-transition),margin var(--sidebar-transition),opacity .14s ease,transform var(--sidebar-transition)}.sidebar.is-collapsed .sidebar-mode-text{max-width:0;margin-left:0;opacity:0;transform:translate(-5px);pointer-events:none}.sidebar nav{width:100%}.sidebar nav button{width:100%;min-height:44px;padding:0;gap:0;overflow:hidden;white-space:nowrap}.menu-icon{width:52px;min-width:52px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-icon svg{width:20px;height:20px;flex:0 0 20px}.nav-label{min-width:0;max-width:145px;margin-left:.15rem;overflow:hidden;white-space:nowrap;opacity:1;transform:translate(0);transition:max-width var(--sidebar-transition),margin var(--sidebar-transition),opacity .13s ease,transform var(--sidebar-transition)}.sidebar.is-collapsed .nav-label{max-width:0;margin-left:0;opacity:0;transform:translate(-7px);pointer-events:none}.workspace-label{height:15px;margin:1.55rem .75rem .9rem;white-space:nowrap;overflow:hidden;transition:opacity .14s ease}.sidebar.is-collapsed .workspace-label{opacity:0}.brand-promise{transition:opacity .14s ease,visibility .14s ease}.sidebar.is-collapsed .brand-promise{opacity:0;visibility:hidden;pointer-events:none}.sidebar-bottom{padding-top:1.5rem}.profile{padding:1.1rem 0 0;gap:0;overflow:hidden}.profile-icon-slot{width:52px;min-width:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile .grow{min-width:0;max-width:130px;margin-left:.15rem;overflow:hidden;white-space:nowrap;opacity:1;transition:max-width var(--sidebar-transition),margin var(--sidebar-transition),opacity .13s ease}.profile-action-icon{margin-left:auto;margin-right:.35rem;flex:0 0 17px;opacity:1;transition:opacity .12s ease,margin var(--sidebar-transition),width var(--sidebar-transition)}.sidebar.is-collapsed .profile .grow,.sidebar.is-collapsed .profile-action-icon{max-width:0;width:0;margin-left:0;margin-right:0;opacity:0;overflow:hidden;pointer-events:none}@media(min-width:701px)and (max-width:1200px){.app-shell{--sidebar-expanded-width: 210px}}@media(max-width:700px){.app-shell,.app-shell.sidebar-layout-collapsed{--sidebar-current-width: 260px}.desktop-only{display:none!important}.sidebar{width:260px;padding-left:.8rem;padding-right:.8rem;overflow-y:auto;overflow-x:hidden}.main-shell{margin-left:0;width:100%}.sidebar-brand-row{justify-content:space-between;padding-inline:.55rem}.sidebar-brand-row .aprova-brand{width:auto;justify-content:flex-start;gap:.58rem!important}.sidebar.is-collapsed .sidebar-brand-row .aprova-brand-copy,.sidebar-brand-row .aprova-brand-copy{max-width:150px;opacity:1;transform:none;pointer-events:auto}.sidebar.is-collapsed .sidebar-brand-row .aprova-brand-mark{width:38px;height:38px}.sidebar.is-collapsed .workspace-label{opacity:1}.sidebar nav button{padding:0}.sidebar.is-collapsed .nav-label,.sidebar .nav-label{max-width:145px;margin-left:.15rem;opacity:1;transform:none;pointer-events:auto}.sidebar.is-collapsed .profile .grow,.sidebar .profile .grow{max-width:130px;margin-left:.15rem;opacity:1;pointer-events:auto}.sidebar.is-collapsed .profile-action-icon,.sidebar .profile-action-icon{width:17px;margin-left:auto;margin-right:.35rem;opacity:1;pointer-events:auto}}.app-shell{--sidebar-expanded-width: 244px}.sidebar nav button{padding-right:8px}.nav-label,.sidebar-mode-text{flex:1 1 auto;width:auto;max-width:calc(var(--sidebar-expanded-width) - 82px);padding-right:10px;text-overflow:ellipsis}.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .sidebar-mode-text{max-width:0;padding-right:0}@media(min-width:701px)and (max-width:1200px){.app-shell{--sidebar-expanded-width: 244px}}select{-webkit-appearance:none;appearance:none;padding-right:2.65rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23687873' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:16px 16px}select:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2395A09B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.tutor-thread-item>svg:last-child{flex:0 0 15px;align-self:center;margin-left:.35rem;margin-right:.4rem}.profile-action-icon{margin-right:.55rem}@media(max-width:700px){.sidebar.is-collapsed .nav-label,.sidebar .nav-label{flex:1 1 auto;max-width:none;padding-right:10px}select{padding-right:2.5rem;background-position:right .8rem center}}.app-shell{--sidebar-expanded-width: 252px}.sidebar nav button{padding-right:0}.sidebar.is-expanded .nav-label,.sidebar.is-expanded .sidebar-mode-text{flex:1 1 auto;min-width:0;width:auto;max-width:calc(var(--sidebar-expanded-width) - 70px);margin-left:0;padding-right:0;overflow:visible;text-overflow:clip;white-space:nowrap}.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .sidebar-mode-text{flex:0 0 0;width:0;max-width:0;margin-left:0;padding-right:0;overflow:hidden;text-overflow:clip}@media(min-width:701px)and (max-width:1200px){.app-shell{--sidebar-expanded-width: 252px}}@media(max-width:700px){.sidebar.is-collapsed .nav-label,.sidebar .nav-label{flex:1 1 auto;width:auto;max-width:none;margin-left:.15rem;padding-right:10px;overflow:visible;text-overflow:clip;white-space:nowrap}}.app-shell{--sidebar-expanded-width: 264px}.sidebar nav button{padding-right:12px}.sidebar.is-expanded .nav-label,.sidebar.is-expanded .sidebar-mode-text{max-width:calc(var(--sidebar-expanded-width) - 82px);padding-right:0;overflow:visible;text-overflow:clip;white-space:nowrap}@media(min-width:701px)and (max-width:1200px){.app-shell{--sidebar-expanded-width: 264px}}@media(max-width:700px){.sidebar nav button{padding-right:0}}
