/* The shared app shell: readable text, a real drawer, and contained scrolling. */
html{scroll-padding-top:24px}body{font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{touch-action:manipulation}input,select,textarea{max-width:100%}img,svg{max-width:100%}button,a,summary,input,select,textarea{scroll-margin:16px}button:disabled{cursor:default}h1,h2,h3,h4,p,a,small{overflow-wrap:break-word}h1{font-size:clamp(28px,2.8vw,38px)}h2{line-height:1.3}small{line-height:1.5}.shell,.shell main,.shell .fade,.panel,.page-top>div,.route-workspace>*,.route-hero>*,.two-cols>*,.library-card,.paper-card{min-width:0}
.app-skip{position:fixed;top:8px;left:8px;z-index:150;background:#123456;color:white;padding:12px 18px;transform:translateY(-150%);border-radius:8px}.app-skip:focus{transform:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:264px;height:100dvh;display:flex;padding:24px 18px 18px;background:white;overflow-y:auto;overscroll-behavior:contain;transform:translateX(0);transition:transform .2s ease;z-index:50}.sidebar-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.sidebar .brand{display:flex;justify-content:flex-start;font-size:23px;gap:9px;letter-spacing:-.7px}.sidebar .brand>span:last-child{display:block}.sidebar .brand small{display:block;font-size:9px;letter-spacing:1.4px}.sidebar .official-logo{width:42px;height:42px;flex-shrink:0;border-radius:10px}.sidebar .side-label{display:block;margin:30px 12px 12px;font-size:11px;letter-spacing:1.3px}.sidebar nav{display:grid;grid-template-columns:1fr;gap:5px;height:auto;margin:0}.sidebar .nav{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;font-size:14px!important;line-height:1.4;padding:12px;border-radius:8px;min-height:45px}.sidebar .nav span{width:21px;height:auto;font-size:21px;flex-shrink:0}.sidebar .ppt-nav-label{display:block;max-width:none;text-align:left;font-size:14px;font-weight:600;line-height:1.4}.sidebar .side-bottom{display:block;margin-top:auto;padding-top:25px}.sidebar .mini-goal{font-size:12px;padding:15px}.sidebar .mini-goal strong{font-size:14px}.sidebar .mini-goal small{font-size:11px}.sidebar .source-btn,.sidebar .pdf-btn{font-size:13px;line-height:1.5}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.shell{margin-left:264px;transition:margin-left .2s ease}.sidebar-collapsed .shell{margin-left:0}
.sidebar-toggle,.sidebar-close{border:1px solid var(--line);border-radius:9px;background:white;color:var(--navy);display:grid;place-items:center;width:40px;height:40px;flex-shrink:0}.sidebar-toggle:hover,.sidebar-close:hover{background:#edf4f6}.sidebar-close{display:none;font-size:25px}.header-start{display:flex;align-items:center;gap:14px;min-width:0}.header-context{min-width:0}.header-name{font-size:15px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:200px}.crumb{font-size:10px;letter-spacing:1.2px;margin-bottom:3px}.shell>header{height:auto;min-height:92px;grid-template-columns:minmax(175px,1fr) auto minmax(100px,1fr);padding:16px 28px!important;gap:16px}.header-right{justify-self:end;min-width:0;gap:12px}.profile-summary{max-width:125px;min-width:0}.profile-summary b{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-summary small{font-size:12px}.avatar{width:38px;height:38px;font-size:15px}.profile-dropdown{max-width:calc(100vw - 28px)}.profile-dropdown button{min-height:42px;font-size:14px}.profile-dropdown small{overflow-wrap:anywhere}#examCountdown{width:auto;max-width:none;padding:0;gap:10px}#examCountdown .countdown-units{gap:8px}#examCountdown .countdown-unit{gap:4px}#examCountdown .countdown-unit b,#examCountdown .countdown-unit:first-of-type b{font-size:27px}#examCountdown .countdown-unit small{font-size:10px}#examCountdown .countdown-target{font-size:11px}#examCountdown .countdown-label{display:none}.sidebar-scrim{position:fixed;inset:0;border:0;background:#102c4659;z-index:45;backdrop-filter:blur(3px)}.sidebar-scrim[hidden]{display:none}
.shell main{padding:32px clamp(20px,2.6vw,42px) 0;max-width:1600px}.shell>footer{gap:18px;align-items:center;flex-wrap:wrap;font-size:13px;padding:25px clamp(20px,2.6vw,42px);margin-top:40px}.shell>footer nav{display:flex;flex-wrap:wrap;gap:18px;margin:0}.shell>footer a{text-decoration:none}.shell>footer a:hover{text-decoration:underline}.page-top{gap:20px;flex-wrap:wrap}.page-top .btn{flex-shrink:0}.btn{font-size:14px;min-height:42px;line-height:1.4}.sub{font-size:15px}.eyebrow{font-size:11px;line-height:1.5}.tiny,.chart-note{font-size:12px}.topic-card h3{font-size:16px}.topic-card p{font-size:14px}.topic-meta{font-size:12px}.topic-marks small,.topic-marks .example{font-size:11px}.topic-marks{overflow-wrap:normal}.route-task h4{font-size:16px}.route-task p{font-size:14px}.route-hero p{font-size:15px}.route-module summary b{font-size:15px}.route-module summary small{font-size:12px}.route-module summary{min-width:0}.module-state{flex-shrink:0}.route-aside{min-width:0}.route-task-links{flex-wrap:wrap}.route-task-links .btn{white-space:normal}.syllabus-row p{font-size:15px;line-height:1.8}.syllabus-row summary b{font-size:16px}.insight-table-wrap,.heat-scroll,.contribution-scroll{max-width:100%;overscroll-behavior-x:contain}.insight-table{font-size:13px}.insight-table td,.insight-table th{padding:14px 12px}.insight-jumps{flex-wrap:wrap}.tabs{flex-wrap:wrap}.search-wrap{min-width:min(220px,100%)}.tools select{max-width:100%;min-height:44px}.tools input{font-size:16px;min-height:44px}.target-row{min-width:0}.target-row>div,.target-row>a{min-width:0}.section-title{gap:16px;flex-wrap:wrap}.panel-heading{gap:15px;flex-wrap:wrap}.bar-row{grid-template-columns:minmax(105px,1fr) minmax(40px,2fr) 30px;font-size:13px}.bar-row strong{font-size:13px}.tag{font-size:12px}.auth-legal{color:#687e8b;font-size:12px;line-height:1.6;text-align:center;margin:18px 0 0}.auth-legal a{color:#176e6c;text-underline-offset:3px}.auth-form input,.auth-form select{font-size:16px}.auth-form label{font-size:14px}.auth-card{padding:38px}.auth-card .auth-input{min-width:0}.auth-show{flex-shrink:0}.auth-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.auth-heading h2{font-size:34px}.plan-form input,.plan-form select,.compact-form input{font-size:16px}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.exam-card,.exam-subject-tile,.exam-subject-preview>*,.exam-chapter-grid>*,.exam-practice-filters>*{min-width:0}.exam-practice-filters select{width:100%;max-width:100%;font-size:15px}.exam-tabs{flex-wrap:wrap}.exam-tabs button{font-size:14px}.exam-history article{gap:14px}.exam-question-text,.exam-options span{font-size:16px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.exam-question-text pre,.exam-options pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.exam-question-text table{display:block;max-width:100%;overflow-x:auto}.exam-question-text img{height:auto;object-fit:contain}.exam-question-scroll{min-width:0}.exam-options label{min-width:0}.exam-actionbar{flex-wrap:wrap}.exam-actionbar button{white-space:normal;min-height:44px;font-size:13px}.exam-palette{min-width:0}.exam-topbar{gap:10px}.exam-topbar>div{min-width:0}.exam-calculator{max-width:calc(100vw - 24px)}.exam-calculator button{min-height:35px}.exam-review-row{min-width:0}.exam-question-meta{flex-wrap:wrap}#examDialog{max-width:100vw;max-height:100dvh}.reader-tools{flex-wrap:wrap}.reader-toolbar{flex-wrap:wrap}.reader-tools button{min-height:38px;font-size:12px}.reader-mini-clock{font-size:12px}.reader-column,.workspace-controls,.workspace-body{min-width:0}.workspace-controls input,.reader-notes textarea{font-size:16px}.workspace-head>div{min-width:0}.workspace-head h2{overflow-wrap:anywhere}.library-card h3,.material-card h3{font-size:16px}.library-card p{font-size:13px}.file-progress,.material-meta{font-size:12px}.paper-actions{flex-wrap:wrap}.paper-clock{flex-wrap:wrap}.material-subject b{font-size:14px}.material-subject small{font-size:12px}.material-search{max-width:100%}.paper-summary{flex-wrap:wrap}#timerDock{left:calc(50% + 132px);max-width:calc(100vw - 300px);bottom:18px}.sidebar-collapsed #timerDock{left:50%;max-width:calc(100vw - 32px)}#toast{max-width:calc(100vw - 32px);bottom:24px}
@media(max-width:1280px){.shell>header{grid-template-columns:minmax(155px,1fr) auto auto;gap:12px;padding:16px 20px!important}.profile-summary{display:none}#examCountdown .countdown-unit b,#examCountdown .countdown-unit:first-of-type b{font-size:24px}.header-name{max-width:170px}.route-workspace{grid-template-columns:minmax(0,1fr)}.route-aside{display:grid;grid-template-columns:1fr 1fr}.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.sidebar{width:280px;max-width:calc(100vw - 54px);box-shadow:12px 0 50px #12345618}.sidebar-close{display:grid}.shell,.sidebar-collapsed .shell{margin-left:0}.sidebar-open{overflow:hidden}.sidebar-open #sidebarToggle{visibility:hidden;pointer-events:none}.shell>header{min-height:88px}.shell main{padding:26px 24px 0}.two-cols{grid-template-columns:1fr}.sidebar .brand{font-size:24px}.sidebar .side-label{margin-top:30px}#timerDock,.sidebar-collapsed #timerDock{left:50%;max-width:calc(100vw - 32px)}.sidebar .nav{min-height:47px}.material-subjects{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.shell>header{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 18px!important;min-height:130px}.header-start{gap:10px}.header-right{grid-column:2;grid-row:1;gap:9px}#examCountdown{grid-column:1/-1;grid-row:2;justify-self:center;max-width:none;display:flex;align-items:center;gap:12px}#examCountdown .countdown-units{gap:12px}#examCountdown .countdown-unit{flex-direction:row;gap:5px;align-items:baseline}#examCountdown .countdown-unit b,#examCountdown .countdown-unit:first-of-type b{font-size:25px}#examCountdown .countdown-unit small{font-size:10px}#examCountdown .countdown-separator{font-size:16px}#examCountdown .countdown-target{display:none}.crumb{font-size:9px;letter-spacing:1px}.header-name{font-size:15px;max-width:200px}.avatar{width:36px;height:36px;font-size:14px}.coach-bell{padding:8px!important;min-width:40px;min-height:40px}.coach-bell svg{width:18px;height:18px}.shell main{padding:24px 18px 0}.page-top{align-items:flex-start;gap:15px;margin-bottom:22px}.page-top h1{font-size:29px;line-height:1.2}.page-top .sub{font-size:15px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{display:flex;flex-direction:column;padding:24px;gap:20px}.hero h1{font-size:34px}.hero .sub{max-width:none;font-size:14px}.hero-goal{position:relative;bottom:auto;right:auto;justify-content:flex-start;gap:24px}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.hero-actions{max-width:none;flex-wrap:wrap}.ring{width:100px;height:100px;flex-shrink:0}.ring strong{font-size:24px}.ring small{font-size:11px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card{padding:16px}.subject-card h3{font-size:15px}.subject-tiers{flex-wrap:wrap}.subject-foot{flex-wrap:wrap;gap:7px;font-size:12px}.subject-marks{font-size:12px}.tag{font-size:11px}.topic-card{grid-template-columns:22px minmax(0,1fr);gap:10px;padding:17px}.topic-marks{grid-column:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-align:left}.topic-marks b{font-size:21px}.topic-marks small br{display:none}.topic-marks .example{font-size:11px}.topic-card h3{font-size:16px}.topic-card p{font-size:14px}.topic-meta{font-size:12px;flex-wrap:wrap}.solve-btn{font-size:13px;min-height:42px}.route-hero{padding:24px}.route-hero h2{font-size:29px}.route-hero p{font-size:15px}.route-dayboard{padding:18px}.route-week{gap:4px}.route-week button{padding:9px 1px}.route-week small{font-size:10px}.route-week b{font-size:20px}.route-task{grid-template-columns:22px minmax(0,1fr);padding:16px 12px;gap:10px}.route-task h4{font-size:16px}.route-task p{font-size:14px}.route-day-heading{gap:12px;flex-wrap:wrap}.route-aside{display:grid;grid-template-columns:1fr}.route-capacity .btn{margin-left:0;flex-basis:100%}.roadmap-bands{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-bands button{padding:12px 4px;font-size:16px}.roadmap-bands button small{font-size:9px;letter-spacing:.4px}.route-phase small{font-size:12px}.module-state{display:none}.route-module summary{gap:10px;padding:18px 14px}.route-module summary b{font-size:15px}.route-module summary small{font-size:12px}.syllabus-row summary{gap:10px}.syllabus-row summary b{font-size:16px}.syllabus-row p{font-size:15px}.syllabus-row>div{padding-left:0}.blueprint-base p{min-width:0;flex-basis:100%}.insight-table-wrap{width:100%}.insight-jumps a{font-size:13px}.target-hero{grid-template-columns:1fr 1fr}.target-big{padding:18px}.target-big strong{font-size:32px}.target-big p{font-size:13px}.target-row{grid-template-columns:minmax(90px,1fr) minmax(30px,1fr) 65px;gap:12px}.target-row h3{font-size:14px}.target-row>div:last-child{grid-column:1/-1}.target-row>div:last-child small{display:block;margin:7px 0 0}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card h3{font-size:15px}.library-card p{font-size:13px}.study-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.study-stat>span,.study-stat small{font-size:12px}.study-stat{padding:16px}.materials-banner{padding:24px}.materials-banner p{font-size:14px;max-width:none}.material-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.material-subject{padding:14px 10px;grid-template-columns:30px minmax(0,1fr)}.material-subject b{font-size:13px}.material-subject small{font-size:11px}.papers-hero{flex-wrap:wrap;padding:24px}.papers-hero h2{font-size:25px}.papers-hero p{font-size:14px}.exam-clock-art{min-width:0}.exam-clock-art>span{font-size:11px}.paper-summary{gap:12px;font-size:13px}.paper-download{font-size:13px}.paper-status{font-size:11px}.session-row{flex-wrap:wrap;gap:10px}.session-row small,.session-row b,.session-row strong{font-size:13px}.backup-panel{gap:14px}.backup-panel .btn{font-size:13px}.shell>footer{padding:24px 18px 90px}.auth-card{padding:30px 22px}.auth-heading h2{font-size:31px}.auth-select-grid{grid-template-columns:1fr}.auth-form select{font-size:16px}.auth-footnote{font-size:12px}.auth-switch{font-size:14px}.workspace-controls{grid-template-columns:1fr}.workspace-head{flex-wrap:wrap}.workspace-head h2{font-size:16px}.reader-column{min-height:350px}.workspace-controls .focus-heading,.workspace-controls .focus-heading b,.focus-panel .tiny{font-size:12px}.focus-options button{font-size:12px;min-height:38px}.focus-actions{grid-template-columns:1fr 1fr}.progress-editor-actions{flex-direction:row;flex-wrap:wrap}.reader-mini-clock{font-size:11px}#studyDialog{max-width:100vw;max-height:100dvh}#timerDock{gap:8px;bottom:12px;flex-wrap:wrap;width:auto;padding:10px}#timerDock button{font-size:12px;min-height:38px}.dock-topic>span:last-child{max-width:130px;font-size:12px}}
@media(max-width:480px){.header-name{max-width:170px}.crumb{font-size:8px}#examCountdown .countdown-units{gap:7px}#examCountdown .countdown-unit{gap:3px}#examCountdown .countdown-unit b,#examCountdown .countdown-unit:first-of-type b{font-size:24px}#examCountdown .countdown-unit small{font-size:9px}.shell main{padding-inline:14px}.library-grid,.exam-subject-browser,.exam-practice-filters{grid-template-columns:1fr}.page-top h1{font-size:28px}.route-hero{padding:21px}.route-numbers{padding:16px;gap:14px}.route-hero h2{font-size:28px}.route-week small{font-size:9px}.route-week b{font-size:18px}.route-task-links{display:grid;grid-template-columns:1fr}.route-day-heading .btn{width:100%}.roadmap-bands button{font-size:15px}.subject-grid{gap:10px}.subject-card{padding:13px}.subject-card h3{font-size:14px}.subject-tiers .tag{font-size:10px}.subject-foot{font-size:11px}.panel{padding:18px}.auth-legal{font-size:12px}.target-hero{grid-template-columns:1fr}.plan-form{grid-template-columns:1fr}.exam-hero{padding:23px 18px}.exam-hero h2{font-size:29px}.exam-hero-stats{flex-wrap:wrap}.exam-intro-metrics{flex-wrap:wrap;gap:20px}.exam-topbar{height:auto;min-height:100px;padding:10px;align-items:center}.exam-topbar>div:last-child{max-width:none}.exam-topbar>div:first-child{flex-basis:100%}.exam-topbar b{font-size:13px;max-width:220px}.exam-topbar button{font-size:12px;min-height:36px}.exam-layout{height:calc(100dvh - 112px);display:flex;flex-direction:column;min-height:0!important}.exam-main{min-height:0;flex:1}.exam-question-scroll{padding:14px;overflow-y:auto}.exam-options span{font-size:16px}.exam-section-bar{flex-wrap:wrap;gap:8px}.exam-section-bar button{font-size:12px;padding:9px}.exam-question-meta{font-size:12px}.exam-palette{max-height:28dvh;overflow-y:auto;flex-shrink:0;border-left:0;border-top:1px solid #d9e4ec}.exam-palette-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.exam-palette-grid .qstatus{min-width:0;width:100%;height:34px;font-size:12px}.exam-clock-box{display:flex;gap:14px;align-items:center;margin-bottom:10px}.exam-clock-box>b{font-size:23px}.exam-clock-box>span{font-size:12px}.exam-status-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.exam-status-legend>span{font-size:11px}.exam-status-legend .qstatus{min-width:22px;width:22px;height:22px}.exam-palette-help{display:none}.exam-actionbar button{font-size:12px;padding:10px 7px}.exam-calculator{right:12px;top:112px;width:calc(100vw - 24px)}.exam-result-metrics{grid-template-columns:1fr 1fr;gap:18px}.exam-build-options select{min-width:0;width:100%}.paper-actions .btn{width:100%}.paper-clock b{font-size:22px}.paper-clock>span{width:auto}.insight-table-wrap:focus-visible{outline:3px solid #5db9c1}.coach-tabs{flex-wrap:wrap}}
#examDialog .exam-layout{flex:1 1 0;min-height:0;height:auto}#examDialog .exam-topbar{flex-shrink:0}#examDialog .exam-section-bar,#examDialog .exam-question-meta,#examDialog .exam-actionbar{flex-shrink:0}
@media(max-width:1000px){.sidebar{transition:none}}
@media(prefers-reduced-motion:reduce){.sidebar,.shell{transition:none}}

/* The header rules above define grid columns; activate that layout at every size. */
.shell>header{display:grid}
@media(max-width:700px){#examCountdown{min-width:0;width:100%;max-width:100%;overflow:hidden;justify-content:center}.shell>header{max-width:100%;box-sizing:border-box}}
