:root{font-family:'DM Sans',sans-serif;color:#171b1b;background:#c4d5ca;--ink:#171b1b;--muted:#66716d;--line:#e3e9e5;--mint:#e8f0eb;--lime:#e9ff76;--teal:#08766f;--soft:#f6f7f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:78px 250px minmax(0,1fr);padding:18px;gap:0;max-width:1900px;margin:auto}.rail{background:#151719;color:#f4f6f3;border-radius:34px 0 0 34px;display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:34px;min-height:calc(100vh - 36px)}.logo{font-size:31px;font-weight:800;display:grid;place-items:center;width:50px;height:50px;background:#efff92;color:#171b1b;border-radius:18px}.rail nav{display:flex;flex-direction:column;gap:12px;align-items:center}.rail a:not(.logo),.rail button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:16px;color:#d6dcda;background:transparent;font-size:19px}.rail a.active,.rail a:hover,.rail button:hover{background:#424647;color:#fff}.rail button{margin-top:auto}.side{background:#f7f9f6;border-right:1px solid var(--line);padding:31px 17px 22px;display:flex;flex-direction:column;min-width:0}.side-head{padding:0 12px 28px}.side-head strong{display:block;font:800 28px/1.04 Manrope,sans-serif;letter-spacing:-1.5px;margin-top:13px}.side-head p{font-size:12px;color:var(--muted);margin:10px 0 0}.accent{color:#70a631}.eyebrow,.side-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:#697570}.side-label{padding:18px 12px 12px}.side nav{display:grid;gap:7px}.side-link{display:flex;gap:12px;align-items:center;padding:13px 12px;border-radius:17px;font-weight:700;font-size:13px;line-height:1.3}.side-link:hover,.side-link.active{background:#e9f0ea}.side-link .nav-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:11px;background:#e7ebe7;flex:none}.side-link.active .nav-icon{background:#d9f56a}.side-link small{font-size:10px;color:var(--muted);font-weight:600;display:block;margin-top:2px}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 11px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.save-dot{width:7px;height:7px;background:#67aa7b;border-radius:50%}.side-bottom button{display:block;border:0;background:none;color:#225b4e;font-weight:700;padding:5px 0}.workspace{min-width:0;background:#fff;border-radius:0 34px 34px 0;overflow:hidden}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 34px;gap:12px}.topbar #breadcrumb{font-size:12px;color:#5e6c67;font-weight:700}.top-actions{display:flex;align-items:center;gap:10px}.exam-chip{font-size:10px;font-weight:800;letter-spacing:.1em;color:#526456;background:#eef3ec;padding:10px 13px;border-radius:99px}.top-icon{border:1px solid var(--line);background:#fff;border-radius:12px;width:36px;height:36px;font-size:19px}#main{padding:32px 38px 70px;min-height:calc(100vh - 112px)}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:25px}.page-head h1,.hero h1{font:800 clamp(30px,3vw,49px)/1.08 Manrope,sans-serif;letter-spacing:-.055em;margin:8px 0 8px}.page-head p,.hero p{color:#65716e;line-height:1.55;margin:0;max-width:730px}.back{font-size:12px;color:#2a7267;font-weight:800}.hero{border-radius:30px;background:#edf3ee;padding:37px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;margin-bottom:22px}.hero h1{max-width:700px}.hero-panel{border-radius:25px;background:#181c1b;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:230px}.hero-panel small{color:#c4ffc1;font-weight:800;letter-spacing:.13em}.hero-panel strong{font:800 23px Manrope}.hero-panel p{color:#c4d0c8;font-size:12px}.hero-panel a{background:#eaff81;color:#161a17;padding:11px 15px;border-radius:99px;font-weight:800;text-align:center}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:19px 0 31px}.metric,.feature-card,.topic-card,.chapter-group,.note-panel,.exam-panel,.right-card,.day-card{border-radius:23px;border:1px solid var(--line);background:#fff}.metric{padding:20px}.metric strong{display:block;font:800 27px Manrope}.metric span{font-size:12px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 15px;gap:10px}.section-title h2{font:800 23px Manrope;letter-spacing:-.04em;margin:0}.section-title small{color:var(--muted)}.subject-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{padding:24px;min-height:206px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s,box-shadow .15s}.feature-card:hover,.topic-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1c382b12}.feature-card:nth-child(2){background:#ebff92}.feature-card:nth-child(3){background:#e9f3ef}.feature-card .big-icon{font-size:25px;display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#fff}.feature-card small,.topic-card small{font-size:10px;font-weight:800;letter-spacing:.12em;color:#698074}.feature-card h3{font:800 20px/1.2 Manrope;margin:14px 0 6px;letter-spacing:-.035em}.feature-card p{color:#65726b;font-size:12px;line-height:1.45;margin:0}.feature-card .arrow{font-weight:800;color:#186659;margin-top:14px}.subject-hero{background:#e9f1eb;border-radius:29px;padding:32px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:end;gap:20px}.subject-hero h1{font:800 clamp(30px,3vw,46px)/1.08 Manrope;letter-spacing:-.05em;margin:8px 0}.subject-hero p{font-size:13px;color:#5e7067;max-width:650px;line-height:1.5}.subject-hero .subject-count{font:800 39px Manrope;white-space:nowrap}.subject-hero .subject-count small{font:700 10px DM Sans;display:block;color:var(--muted)}.chapter-group{margin:13px 0;overflow:hidden}.chapter-group>summary{list-style:none;padding:21px 24px;display:flex;align-items:center;gap:16px;cursor:pointer}.chapter-group>summary::-webkit-details-marker{display:none}.chapter-num{font:800 15px Manrope;color:#296158;background:#e6f3e7;border-radius:13px;padding:11px}.chapter-group h3{font:800 17px Manrope;margin:0;letter-spacing:-.025em}.chapter-group p{color:var(--muted);font-size:12px;margin:5px 0 0}.chapter-chevron{margin-left:auto}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 20px}.topic-card{display:flex;align-items:center;gap:12px;padding:18px;min-height:91px;background:#fbfcfa;transition:transform .15s,box-shadow .15s}.topic-card .topic-num{font:800 12px Manrope;color:#608072}.topic-card strong{display:block;font-size:13px;line-height:1.35}.topic-card .arrow{margin-left:auto;color:#186659}.mini-pill,.status-pill{display:inline-block;background:#f1f5ef;color:#41675a;padding:7px 10px;border-radius:99px;font-size:10px;font-weight:800}.status-pill.warn{background:#fff0d8;color:#986235}.route-list{display:grid;gap:8px}.day-card{display:flex;align-items:center;gap:15px;padding:14px 18px}.day-card time{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#e9f2e8;font-weight:800;flex:none}.day-card b{font-size:13px}.day-card p{font-size:11px;color:var(--muted);margin:3px 0}.day-card a{margin-left:auto;font-size:11px;font-weight:800;color:#126c61}.day-card.today{background:#f0f9e5}.topic-header{background:#edf3ee;border-radius:28px;padding:30px;margin-bottom:16px}.topic-header h1{font:800 clamp(28px,2.7vw,42px)/1.15 Manrope;letter-spacing:-.045em;margin:9px 0}.topic-header p{color:#62716a;line-height:1.5;max-width:850px;margin:0 0 13px;font-size:13px}.topic-header .header-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.complete-btn,.primary-btn{border:0;border-radius:99px;background:#171b1b;color:#fff;font-weight:800;font-size:12px;padding:11px 15px}.complete-btn.done{background:#bce97b;color:#263819}.tab-row,.seg-row{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.tab-row a,.seg-row a,.seg-row button{border:1px solid var(--line);border-radius:99px;background:#fff;padding:11px 17px;font-weight:800;font-size:12px;color:#65706b}.tab-row a.active,.seg-row a.active,.seg-row button.active{background:#181c1b;color:white;border-color:#181c1b}.study-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.note-panel,.exam-panel{min-width:0;padding:25px}.right-column{display:grid;gap:13px;position:sticky;top:15px}.right-card{padding:18px;background:#f9fbf8}.right-card h3{font:800 14px Manrope;margin:0 0 7px}.right-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 10px}.right-card textarea,.remark-box{border:1px solid #d5e1d8;border-radius:13px;width:100%;min-height:100px;padding:11px;resize:vertical;background:white;color:var(--ink);font-size:12px}.right-card button{border:0;border-radius:11px;background:#e7f2e6;padding:9px 11px;color:#1c6b58;font-size:11px;font-weight:800}.note-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.note-title h2{font:800 22px Manrope;letter-spacing:-.04em;margin:0 0 13px}.note-deck{font-size:12px;color:var(--muted);line-height:1.55}.note-block{border-top:1px solid var(--line);padding:17px 0}.note-block h3{font:800 15px Manrope;margin:0 0 8px}.note-block p,.note-block li{font-size:12px;line-height:1.6;color:#323b36}.note-block ul,.note-block ol{padding-left:20px}.note-block table{border-collapse:collapse;max-width:100%;font-size:11px}.note-block th,.note-block td{border:1px solid #dce8df;padding:7px}.note-block img{max-width:100%;height:auto;border-radius:12px}.note-block details{background:#f7faf6;border-radius:15px;margin-top:9px;padding:12px}.note-block details summary{cursor:pointer;font-weight:800;font-size:12px}.note-block code{white-space:normal;overflow-wrap:anywhere}.citation{display:inline-block;color:#176f63;background:#eaf5eb;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;margin:3px 3px 0 0}.formula-table{width:100%;border-collapse:collapse;font-size:11px}.formula-table th,.formula-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.formula-table code{font-size:11px}.visual-card{border-radius:19px;background:#e8f2ef;padding:18px;margin:17px 0}.visual-card h3{font:800 15px Manrope;margin:0 0 5px}.visual-card p{font-size:11px;color:#4c6b62;line-height:1.45;margin:0 0 8px}.visual-card canvas{display:block;width:100%;height:245px;background:#fff;border-radius:13px}.visual-card input[type=range]{width:100%;accent-color:#08766f}.visual-card .visual-row{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:#35645b}.source-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-images figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.source-images img{width:100%;height:130px;object-fit:contain;background:#f5f7f5}.source-images figcaption{font-size:10px;padding:8px;color:var(--muted)}.source-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.annotation-pad{position:relative;min-height:245px;border-radius:18px;background:linear-gradient(#e4ebe6 1px,transparent 1px) 0 0/100% 29px,#fbfcf9;border:1px solid #dce7dd;margin:15px 0;overflow:hidden}.annotation-pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.ink-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.ink-toolbar button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;font-size:11px;font-weight:800}.ink-toolbar button.active{background:#1d7770;color:#fff}.sticky-board{position:relative;min-height:220px;border:1px dashed #b8cabb;background:#eef4e9;border-radius:17px;overflow:hidden}.sticky{position:absolute;min-width:130px;min-height:110px;resize:both;overflow:auto;width:180px;height:145px;background:#fff5b2;box-shadow:0 6px 18px #4444;border-radius:12px;display:flex;flex-direction:column}.sticky-head{background:#f0df7e;cursor:grab;padding:6px 8px;display:flex;justify-content:space-between;touch-action:none}.sticky-head button{border:0;background:none;font-size:14px}.sticky textarea{width:100%;flex:1;resize:none;border:0;background:transparent;padding:8px;font-size:12px;outline:none}.notice{background:#fff6e8;border:1px solid #f0dcb8;color:#6d5834;padding:15px;border-radius:15px;font-size:11px;line-height:1.55;margin:15px 0}.empty{padding:25px;background:#f6f9f5;border-radius:20px;color:#5e6e65;font-size:12px;line-height:1.6}.question{border:1px solid var(--line);border-radius:17px;padding:17px;margin:12px 0}.question h3{font-size:13px;line-height:1.5;margin:0 0 9px}.question p{font-size:11px;color:#54665c;line-height:1.5}.question label{display:block;border:1px solid #e2ebe4;border-radius:10px;padding:9px;margin:5px 0;font-size:12px}.question label:has(input:checked){background:#ecf8df;border-color:#b5d994}.question button{border:0;border-radius:10px;background:#e7f1e7;color:#1b6558;padding:9px 12px;font-weight:800;font-size:11px}.answer{background:#f0f7e9;border-radius:10px;padding:10px;margin-top:8px;font-size:12px}.answer[hidden]{display:none}.combined-nav{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 21px}.combined-nav a{padding:8px 11px;background:#eef4eb;border-radius:99px;font-size:11px;font-weight:800}.combined-topic{border:1px solid var(--line);border-radius:19px;margin:10px 0;overflow:hidden}.combined-topic>summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:800;font-size:13px}.combined-topic>summary::-webkit-details-marker{display:none}.combined-topic .combined-body{border-top:1px solid var(--line);padding:18px}.combined-chapter{font:800 20px Manrope;margin:28px 0 10px}.loading{padding:30px;color:var(--muted)}#toast{position:fixed;bottom:22px;right:22px;background:#171b1b;color:#fff;padding:12px 17px;border-radius:15px;box-shadow:0 12px 25px #0003;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;font-size:12px}#toast.show{opacity:1;transform:none}.mobile-only{display:none}@media(max-width:1150px){.shell{grid-template-columns:66px 210px minmax(0,1fr)}.study-layout{grid-template-columns:minmax(0,1fr)}.right-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.subject-grid{grid-template-columns:repeat(2,1fr)}#main{padding:25px}}@media(max-width:780px){.shell{padding:0;display:block}.rail{display:none}.side{display:none;position:fixed;inset:0 auto 0 0;width:280px;z-index:10;box-shadow:10px 0 30px #0003}.side.open{display:flex}.mobile-only{display:block}.side-head{position:relative}.side-head .mobile-only{position:absolute;right:4px;top:0;background:none;border:0;font-size:25px}.workspace{border-radius:0}.topbar{height:62px;padding:0 16px}.topbar .menu{border:0;background:none;font-size:20px}.exam-chip{display:none}#main{padding:19px 15px 55px}.hero{grid-template-columns:1fr;padding:25px}.hero-panel{min-height:190px}.subject-grid,.feature-grid,.metric-row,.topic-grid,.right-column{grid-template-columns:1fr}.page-head{display:block}.subject-hero{padding:23px}.subject-hero .subject-count{display:none}.note-panel,.exam-panel{padding:18px}.source-images{grid-template-columns:1fr}.day-card a{min-width:65px;text-align:right}}
.chapter-group>summary p,.topic-header>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chapter-group>summary p{max-width:680px}.note-block details:not([open]){padding:11px 12px}.note-block details[open]{box-shadow:inset 3px 0 #b6daaa}
.combined-nav button{padding:8px 11px;background:#eef4eb;border:0;border-radius:99px;font-size:11px;font-weight:800;color:#2d5d52}.combined-nav button:hover{background:#d9eace}
.sticky{resize:none}.sticky-resize{position:absolute;right:0;bottom:0;width:28px;height:28px;text-align:right;padding:6px;color:#6d6334;cursor:nwse-resize;touch-action:none;font-size:13px}.sticky-head{user-select:none}
/* P.hd Classes navigation and first-page hierarchy */
.shell{grid-template-columns:268px minmax(0,1fr);background:#c8d7ce}.side{background:#15191a;color:#eff4ed;border:0;border-radius:34px 0 0 34px;padding:29px 18px 24px}.workspace{background:#fdfefc}.side-head{padding:0 9px 25px;border-bottom:1px solid #343b3a}.side-head p{color:#97a6a0;margin:15px 0 0}.side-brand{display:flex;align-items:center;gap:13px;color:#f8fbf4;font:800 22px/1.04 Manrope,sans-serif;letter-spacing:-.06em}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;flex:none;color:#18201a;background:#e8ff78;border-radius:15px;font:800 25px Manrope}.side nav{display:block;padding-top:19px}.menu-home{display:flex;align-items:center;gap:12px;color:#c9d4ce;font-size:13px;font-weight:700;padding:11px 12px;border-radius:15px}.menu-home:hover,.menu-home.active{background:#303938;color:#fff}.menu-home-icon{display:grid;place-items:center;font-size:19px;width:29px;height:29px}.menu-arrow{margin-left:auto;color:#a6b4a9}.menu-section{padding:34px 12px 14px;display:grid;gap:8px}.menu-section-label{font-size:10px;letter-spacing:.16em;font-weight:800;color:#86968e}.menu-section strong{font:800 17px Manrope;color:#f7fbf5}.menu-subsection{margin:1px 0 4px;padding:13px 11px 13px 17px;border-radius:14px;background:#293331;display:flex;align-items:center;gap:9px;position:relative}.menu-subsection strong{font-size:13px}.menu-subsection small{font-size:9px;margin-left:auto;color:#aebcb2}.menu-subsection-icon{font-size:18px;color:#e9ff7c}.menu-subjects{position:relative;margin:5px 0 0 22px;padding:4px 0 0 16px;border-left:1px solid #56645b}.menu-subject{color:#d1ddd4;display:flex;align-items:center;gap:10px;padding:12px 9px;margin:6px 0;border-radius:12px;line-height:1.25;font-weight:700;font-size:11px}.menu-subject:hover,.menu-subject.active{background:#3a4941;color:#fff}.menu-subject.active .menu-number{background:#e8ff78;color:#1d2d20}.menu-number{background:#3b4842;color:#eef6e6;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;flex:none;font-size:10px}.menu-subject small{display:block;color:#a8b8aa;font-size:9px;font-weight:500;margin-top:3px}.side-bottom{border-color:#34413c;color:#9faf9f;padding:18px 10px 0}.side-bottom button{color:#eaff91;margin-left:auto}.topbar #breadcrumb{color:#53655a}.topbar .exam-chip{background:#edf5ed;color:#57745f}.classes-home{max-width:1180px;margin:auto}.classes-heading{padding:46px 10px 40px}.classes-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#446f51}.classes-dot{width:8px;height:8px;background:#b7db4b;border-radius:50%}.classes-heading h1{font:800 clamp(42px,5vw,70px)/1 Manrope,sans-serif;letter-spacing:-.07em;margin:17px 0 14px}.classes-heading p{max-width:610px;font-size:15px;line-height:1.55;color:#5d7064;margin:0}.classes-section{background:#eaf0e8;border-radius:29px;padding:28px}.classes-section-top{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:5px 4px 22px}.classes-section-top h2{font:800 clamp(26px,3vw,35px)/1.1 Manrope,sans-serif;letter-spacing:-.05em;margin:8px 0 0}.class-count{font:800 23px Manrope;white-space:nowrap}.class-count span{font:700 11px DM Sans;color:#6d796e}.class-list{display:grid;gap:11px}.class-row{min-height:138px;background:#fff;border:1px solid #dfe8de;border-radius:19px;padding:18px 23px;display:flex;align-items:center;gap:22px;transition:transform .15s,background .15s,box-shadow .15s}.class-row:first-child{background:#f3ffce}.class-row:hover{transform:translateX(4px);box-shadow:0 12px 26px #38553b14}.class-index{font:800 27px Manrope;color:#4f6e58;align-self:flex-start}.class-detail{flex:1;min-width:0}.class-priority{font-size:10px;letter-spacing:.13em;color:#507453;font-weight:800}.class-detail h3{font:800 clamp(16px,2vw,23px)/1.24 Manrope,sans-serif;letter-spacing:-.04em;margin:7px 0}.class-detail p{font-size:11px;color:#65776a;margin:0}.class-detail p span{margin:0 5px}.class-date{display:grid;gap:5px;min-width:71px}.class-date small{font-size:9px;letter-spacing:.12em;color:#6b806b;font-weight:800}.class-date strong{font:800 17px Manrope}.class-open{width:40px;height:40px;display:grid;place-items:center;background:#192321;color:#f1ffdd;border-radius:13px;font-size:20px}.class-row:first-child .class-open{background:#d7ef72;color:#1e2c1f}@media(max-width:1150px){.shell{grid-template-columns:238px minmax(0,1fr)}.side{padding-left:12px;padding-right:12px}}@media(max-width:780px){.shell{display:block;padding:0}.side{display:none;position:fixed;inset:0 auto 0 0;width:min(300px,86vw);border-radius:0;z-index:20}.side.open{display:flex}.workspace{border-radius:0}.classes-heading{padding:25px 2px 30px}.classes-heading p{font-size:13px}.classes-section{padding:18px}.class-row{padding:15px;min-height:115px;gap:12px}.class-index{font-size:18px}.class-date{display:none}.class-detail h3{font-size:16px}.class-open{width:32px;height:32px;font-size:17px;flex:none}}
@media(max-width:780px){.shell{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:100vh}.side{display:flex;position:sticky;top:0;inset:auto;width:58px;min-height:100vh;height:100vh;z-index:10;border-radius:0;padding:17px 6px;overflow:hidden;box-shadow:none}.side-head{padding:0 0 13px;border:0}.side-brand{gap:0}.side-brand>span:last-child,.side-head p,.side-bottom,.menu-section,.menu-subsection{display:none}.brand-symbol{width:44px;height:44px}.side nav{padding-top:25px}.menu-home{width:44px;height:44px;padding:0;justify-content:center}.menu-home>span:not(.menu-home-icon){display:none}.menu-home-icon{font-size:21px}.menu-subjects{margin:17px 0 0;padding:0;border:0}.menu-subject{padding:0;margin:9px 0;width:44px;height:44px;justify-content:center}.menu-subject>span:not(.menu-number){display:none}.menu-number{width:33px;height:33px;font-size:12px}.side.open{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);padding:24px 14px;overflow:auto;box-shadow:12px 0 35px #0005}.side.open .side-brand{gap:12px}.side.open .side-brand>span:last-child,.side.open .side-head p,.side.open .side-bottom,.side.open .menu-section,.side.open .menu-subsection{display:flex}.side.open .side-head{padding:0 9px 24px;border-bottom:1px solid #34413c}.side.open .side-head p{display:block}.side.open .menu-home{width:auto;height:auto;padding:11px 12px;justify-content:flex-start}.side.open .menu-home>span:not(.menu-home-icon){display:block}.side.open .menu-section{display:grid}.side.open .menu-subjects{margin:5px 0 0 22px;padding:4px 0 0 16px;border-left:1px solid #56645b}.side.open .menu-subject{width:auto;height:auto;padding:12px 9px;justify-content:flex-start}.side.open .menu-subject>span:not(.menu-number){display:block}.side.open .side-bottom{margin-top:auto}.side.open #side-close{display:block;color:white}.workspace{min-width:0}.topbar{height:61px;padding:0 13px}.topbar #breadcrumb{font-size:10px}.classes-heading h1{font-size:40px}}

/* Collapsible study-menu groups */
#side-nav [hidden]{display:none!important}
.menu-toggle{width:100%;border:0;color:inherit;text-align:left;cursor:pointer}
.menu-classes-toggle{display:flex;align-items:center;gap:8px;padding:0;background:transparent}
.menu-classes-toggle:hover strong{color:#e8ff78}
.menu-subsection.menu-toggle{width:100%;font-family:inherit}
.menu-subsection:hover{background:#34413b}
.menu-chevron{margin-left:auto;color:#aebcb2;font-size:17px;line-height:1;transition:transform .18s}
.menu-toggle[aria-expanded="false"] .menu-chevron{transform:rotate(-90deg)}
.menu-subsection small{margin-left:auto}
.menu-subsection .menu-chevron{margin-left:0}
.side-bottom button{margin-left:0}
@media(max-width:780px){.side.open .menu-classes-toggle{display:flex}.side.open .menu-subsection.menu-toggle{display:flex}}

/* Subject and topic choices carry names only. */
.menu-subject{font-size:12px;line-height:1.4;padding:12px 13px}
.class-row{min-height:82px;padding:19px 24px}
.class-row h3{font:800 clamp(16px,2vw,22px)/1.25 Manrope,sans-serif;letter-spacing:-.035em;margin:0}
.topic-card{min-height:64px;padding:17px 19px}
.topic-card strong{font-size:13px}
@media(max-width:780px){.side:not(.open) .menu-subjects{display:none}.side.open .menu-subject{width:auto;height:auto;margin:5px 0;padding:12px 10px;display:block}.class-row{min-height:72px}}

/* Overview: completion metrics only */
.progress-board{max-width:1040px;margin:22px auto 0}
.progress-board>h1{font:800 clamp(32px,4vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 25px}
.progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.progress-card,.progress-breakdown{border:1px solid #e0e8df;background:#f1f5ef;border-radius:26px;padding:27px}
.progress-card{min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.progress-card h2,.progress-breakdown h2{font:800 17px/1.25 Manrope,sans-serif;letter-spacing:-.025em;margin:0;align-self:flex-start}
.progress-ring{width:154px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#18211d var(--progress),#dbe4d9 0);display:grid;place-items:center;position:relative}
.progress-ring.subject-ring{background:conic-gradient(#a7c838 var(--progress),#dbe4d9 0)}
.progress-ring::before{content:"";position:absolute;inset:17px;border-radius:50%;background:#f1f5ef}
.progress-ring span{position:relative;font:800 30px Manrope,sans-serif;letter-spacing:-.05em}
.progress-card p{margin:0;color:#52685b;font-size:13px;font-weight:800}
.progress-breakdown{margin-top:16px;background:#fff}
.progress-breakdown h2{margin-bottom:23px}
.progress-line+.progress-line{margin-top:25px}
.progress-line-label{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:10px}
.progress-line-label strong{font-size:13px;line-height:1.35}
.progress-line-label>span{font-size:11px;font-weight:800;color:#5b6d60;white-space:nowrap}
.progress-track{height:15px;border-radius:99px;background:#e5ece4;overflow:hidden}
.progress-track>span{display:block;height:100%;background:#bddc52;border-radius:inherit;transition:width .35s ease}
@media(max-width:780px){.progress-board{margin:5px auto}.progress-summary{gap:9px}.progress-card,.progress-breakdown{padding:17px;border-radius:20px}.progress-card{min-height:215px}.progress-card h2,.progress-breakdown h2{font-size:13px}.progress-ring{width:min(112px,28vw)}.progress-ring::before{inset:12px}.progress-ring span{font-size:23px}.progress-line-label{align-items:start}.progress-line-label strong{font-size:11px}.progress-line-label>span{font-size:10px}}

/* Learning > NPTEL > numbered subjects */
.menu-section{padding:29px 0 6px;gap:10px}
.menu-section-label{padding-left:12px}
.menu-classes-toggle{min-height:48px;padding:9px 12px;border:1px solid #34423b;border-radius:14px;background:#212b28;transition:background .18s,border-color .18s}
.menu-classes-toggle:hover{background:#2b3933;border-color:#77945e}
.menu-learning-icon{width:26px;height:26px;display:grid;place-items:center;flex:none;border-radius:8px;background:#dff67b;color:#1c281f;font-size:15px}
.menu-classes-toggle strong{font-size:13px}
.menu-panel{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1),opacity .22s ease}
.menu-panel.collapsed{grid-template-rows:0fr;opacity:0;pointer-events:none}
.menu-panel-inner{min-height:0;overflow:hidden}
.menu-subsection.menu-toggle{margin:8px 0 2px 11px;width:calc(100% - 11px);min-height:46px;padding:10px 12px;background:#2b3832;border:1px solid #405349;border-left:3px solid #c5e474;border-radius:12px;transition:background .18s,border-color .18s}
.menu-subsection.menu-toggle:hover{background:#35483b;border-color:#799764}
.menu-subsection-icon{font-size:16px}
.menu-subsection .menu-chevron{margin-left:auto}
.menu-subjects{margin:4px 0 7px 29px;padding:2px 0 2px 12px;border-left:1px solid #516459}
.menu-subject{min-height:42px;gap:10px;padding:8px 9px;margin:3px 0;border-radius:10px;font-size:11px;transition:background .18s,transform .18s}
.menu-subject:hover{transform:translateX(3px)}
.menu-number{width:25px;height:25px;border-radius:8px;font-size:11px;background:#3b4a40}
.menu-subject-name{min-width:0}
.menu-toggle:focus-visible,.menu-subject:focus-visible{outline:2px solid #e8ff78;outline-offset:2px}
@media(max-width:780px){.side:not(.open) .menu-subjects{display:block;margin:15px 0 0;padding:0;border:0}.side:not(.open) .menu-subject{width:44px;height:44px;padding:0;margin:8px 0;justify-content:center}.side.open .menu-subjects{margin:4px 0 7px 26px;padding:2px 0 2px 11px;border-left:1px solid #516459}.side.open .menu-subject{display:flex;width:auto;height:auto;min-height:42px;padding:8px 9px;margin:3px 0}.side.open .menu-subject-name{display:block}}
@media(prefers-reduced-motion:reduce){.menu-panel,.menu-chevron,.menu-subject,.menu-classes-toggle,.menu-subsection.menu-toggle{transition:none}}

/* Dashboard hierarchy: section, subsection, subjects */
.progress-card-heading{align-self:stretch}
.progress-tier{display:block;color:#64806b;font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:7px}
.progress-card-heading h2{font:800 23px/1.15 Manrope,sans-serif;letter-spacing:-.04em}
.progress-section{background:#1b2520;border-color:#1b2520;color:#f5ffef}
.progress-section .progress-tier{color:#d4ef75}
.progress-section .progress-ring.subject-ring{background:conic-gradient(#d4ef75 var(--progress),#405046 0)}
.progress-section .progress-ring::before{background:#1b2520}
.progress-section p{color:#d1dccf}
.progress-breakdown-head{margin-bottom:24px}
.progress-breakdown-head h2{font:800 20px/1.2 Manrope,sans-serif;letter-spacing:-.035em;margin:0}
.progress-summary .progress-card{animation:progress-pop .38s ease both}
.progress-summary .progress-card:nth-child(2){animation-delay:.08s}
.progress-breakdown{animation:progress-pop .38s .15s ease both}
.progress-track>span{transform-origin:left;animation:meter-fill .55s .2s ease both}
@keyframes progress-pop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes meter-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:780px){.progress-card-heading h2{font-size:17px}.progress-breakdown-head h2{font-size:17px}.progress-tier{font-size:9px}}
@media(prefers-reduced-motion:reduce){.progress-summary .progress-card,.progress-breakdown,.progress-track>span{animation:none}}

/* Edge-to-edge shell with independently scrolling navigation and content */
html,body{height:100%;overflow:hidden}
body{background:#fff}
.shell{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden;grid-template-columns:268px minmax(0,1fr);background:#fff}
.side{position:sticky;top:0;height:100vh;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:0;scrollbar-width:thin;scrollbar-color:#536159 transparent}
.workspace{height:100vh;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:0;scrollbar-width:thin}
@media(max-width:1150px){.shell{grid-template-columns:238px minmax(0,1fr)}}
@media(max-width:780px){.shell{grid-template-columns:58px minmax(0,1fr)}.side{width:58px}.side.open{width:min(290px,86vw)}}

/* Branch each subject from its NPTEL subsection. */
.menu-subjects{position:relative;margin:0 0 7px 29px;padding:8px 0 2px 20px;border:0}
.menu-subjects::before{content:"";position:absolute;left:0;top:-7px;bottom:25px;width:2px;border-radius:2px;background:#607966}
.menu-subject{position:relative}
.menu-subject::before{content:"";position:absolute;left:-20px;top:50%;width:18px;height:2px;border-radius:2px;background:#607966}
.menu-subject:hover::before,.menu-subject.active::before{background:#d4ed7c}
@media(max-width:780px){.side:not(.open) .menu-subjects{margin:15px 0 0;padding:0}.side:not(.open) .menu-subjects::before,.side:not(.open) .menu-subject::before{display:none}.side.open .menu-subjects{margin:0 0 7px 26px;padding:8px 0 2px 20px;border:0}}

/* The content starts at the top; compact navigation opens from the left rail. */
#main{min-height:100%;}
@media(max-width:780px){.side-head #menu{position:static;display:grid;place-items:center;width:44px;height:44px;margin-top:20px;padding:0;border:0;border-radius:14px;background:#303938;color:#fff;font-size:19px}.side-head #menu:hover{background:#405047}.side.open .side-head #menu{display:none}}

/* Subject landing: four square topics per row, then two wide note routes. */
.subject-board{max-width:1480px;margin:0 auto}
.subject-hero{display:block;padding:29px 32px 31px;border-radius:25px;background:#1b2520;color:#f8fff3;margin:4px 0 27px}
.subject-hero h1{font:800 clamp(30px,3.2vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 25px}
.subject-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.subject-topic-tile{aspect-ratio:1.14;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;position:relative;overflow:hidden;padding:22px;border:1px solid #dce6d9;border-radius:21px;background:#edf3ec;box-shadow:inset 0 1px #fff;transition:transform .18s,box-shadow .18s,background .18s}
.subject-topic-tile:nth-child(4n+1){background:#eaff8b;border-color:#d8eb7c}
.subject-topic-tile:nth-child(4n+2){background:#e6eee7}
.subject-topic-tile:nth-child(4n+3){background:#f1f4eb}
.subject-topic-tile:nth-child(4n+4){background:#e8f0eb}
.subject-topic-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#a3c267;border-radius:0}
.subject-topic-tile:nth-child(4n+1)::before{background:#1b2520}
.subject-topic-tile::after{content:attr(data-topic-number);position:absolute;right:12px;top:45px;font:800 clamp(74px,8vw,112px)/1 Manrope,sans-serif;letter-spacing:-.1em;color:#d2dfd1;pointer-events:none}
.subject-topic-tile:nth-child(4n+1)::after{color:#d6eb72}
.subject-topic-top,.subject-topic-title{position:relative;z-index:1}
.subject-topic-top{display:flex;align-items:center;justify-content:flex-start}
.subject-topic-top b{display:grid;place-items:center;min-width:45px;height:45px;padding:0 8px;border-radius:14px;background:#1b2520;color:#ecff9a;font:800 17px/1 Manrope,sans-serif;letter-spacing:-.04em}
.subject-topic-title{display:block;max-width:100%;font:800 clamp(15px,1.45vw,20px)/1.25 Manrope,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.subject-topic-tile:hover{transform:translateY(-4px);background:#e4f3d2;box-shadow:0 14px 27px #23482a1b}
.subject-topic-tile:nth-child(4n+1):hover{background:#edff9d}
.subject-combined-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.subject-combined-card{min-height:190px;display:flex;align-items:flex-end;padding:27px;border-radius:23px;transition:transform .18s,box-shadow .18s}
.subject-combined-card h2{font:800 clamp(24px,2.4vw,36px)/1.1 Manrope,sans-serif;letter-spacing:-.055em;margin:0}
.subject-combined-card.full{background:#1b2520;color:#f8fff3}
.subject-combined-card.revision{background:#eaff8b;color:#1b2520}
.subject-combined-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #23482a20}
.subject-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.subject-resource-card{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid #dce6d9;border-radius:17px;background:#e9f0ea;color:#1b2520;transition:transform .18s,box-shadow .18s,background .18s}
.subject-resource-card:nth-child(2){background:#eff3e8}
.subject-resource-card:nth-child(3){background:#eaff8b;border-color:#d8eb7c}
.subject-resource-card span{font:800 clamp(15px,1.4vw,19px)/1.15 Manrope,sans-serif;letter-spacing:-.04em}
.subject-resource-card small{display:block;margin-top:5px;color:#526750;font:700 10px/1.2 'DM Sans',sans-serif;letter-spacing:0}
.subject-resource-card b{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:11px;background:#1b2520;color:#eaff8b;font:700 20px/1 Manrope,sans-serif}
.subject-resource-card:hover{transform:translateY(-3px);background:#e3efd9;box-shadow:0 12px 26px #23482a17}
.subject-resource-card:nth-child(3):hover{background:#edff9d}
.subject-topic-tile:focus-visible,.subject-combined-card:focus-visible,.subject-resource-card:focus-visible{outline:3px solid #6b9c65;outline-offset:3px}
@media(max-width:1099px){.subject-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.subject-hero{padding:22px;border-radius:19px;margin:3px 0 21px}.subject-hero h1{margin-bottom:21px}.subject-topic-grid,.subject-combined-grid,.subject-resource-grid{gap:10px}.subject-topic-tile{padding:17px;border-radius:17px}.subject-topic-tile::before{width:5px}.subject-topic-tile::after{top:42px;font-size:clamp(67px,13vw,104px)}.subject-topic-title{font-size:clamp(12px,2.8vw,17px)}.subject-combined-grid{margin-top:10px}.subject-combined-card{min-height:145px;padding:19px;border-radius:18px}.subject-combined-card h2{font-size:clamp(18px,4vw,24px)}.subject-resource-card{min-height:73px;padding:11px;gap:7px}.subject-resource-card span{font-size:12px}.subject-resource-card b{width:27px;height:27px;border-radius:9px;font-size:17px}.subject-resource-card small{font-size:8px}}
@media(max-width:430px){.subject-combined-grid{grid-template-columns:1fr}.subject-combined-card{min-height:120px}.subject-resource-grid{grid-template-columns:1fr}.subject-resource-card{min-height:58px}}
@media(prefers-reduced-motion:reduce){.subject-topic-tile,.subject-combined-card,.subject-resource-card{transition:none}}

/* Subject and topic pages use a quiet rail: logo, menu, and Home only. */
.shell.nav-compact{grid-template-columns:72px minmax(0,1fr)}
.shell.nav-compact .workspace{grid-column:2}
.nav-compact .side:not(.open){width:72px;padding:22px 12px;align-items:center;overflow:hidden}
.nav-compact .side:not(.open) .side-head{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 0 20px;border-bottom:1px solid #343b3a}
.nav-compact .side:not(.open) .side-brand{display:block}
.nav-compact .side:not(.open) .side-brand>span:last-child,.nav-compact .side:not(.open) .side-head p,.nav-compact .side:not(.open) .side-bottom,.nav-compact .side:not(.open) .menu-section,.nav-compact .side:not(.open) .menu-panel{display:none!important}
.nav-compact .side:not(.open) #menu{position:static;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:14px;background:#303938;color:#fff;font-size:20px}
.nav-compact .side:not(.open) #menu:hover{background:#405047}
.nav-compact .side:not(.open) #side-close{display:none!important}
.nav-compact .side:not(.open) #side-nav{width:100%;padding-top:20px}
.nav-compact .side:not(.open) .menu-home{width:44px;height:44px;padding:0;justify-content:center}
.nav-compact .side:not(.open) .menu-home>span:not(.menu-home-icon){display:none}
.nav-compact .side.open{position:fixed;inset:0 auto 0 0;z-index:30;width:min(280px,86vw);height:100vh;height:100dvh;padding:27px 16px;overflow-y:auto;box-shadow:12px 0 35px #0005}
.nav-compact .side.open .side-head{position:relative;padding:0 9px 25px;border-bottom:1px solid #343b3a}
.nav-compact .side.open .side-brand>span:last-child{display:block}
.nav-compact .side.open #menu{display:none}
.nav-compact .side.open #side-close{position:absolute;right:0;top:5px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:#303938;color:#fff;font-size:22px}
@media(max-width:780px){.shell.nav-compact{grid-template-columns:58px minmax(0,1fr)}.nav-compact .side:not(.open){width:58px;padding:17px 6px}.nav-compact .side:not(.open) .side-head{gap:18px}.nav-compact .side.open{width:min(290px,86vw)}}

/* The menu expands the grid instead of covering the page. */
.shell.nav-compact.nav-expanded{grid-template-columns:clamp(210px,26vw,268px) minmax(0,1fr)}
.nav-compact.nav-expanded .side.open{position:sticky;inset:auto;top:0;z-index:1;width:auto;min-width:0;height:100vh;height:100dvh;padding:25px 14px;overflow-y:auto;box-shadow:none}
.nav-compact.nav-expanded .side.open .side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 20px}
.nav-compact.nav-expanded .side.open .side-brand>span:last-child{display:none}
.nav-compact.nav-expanded .side.open #menu{position:static;display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:14px;background:#303938;color:#fff;font-size:19px}
.nav-compact.nav-expanded .side.open #menu:hover{background:#405047}
.nav-compact.nav-expanded .side.open #side-nav{padding-top:19px}
@media(max-width:780px){.shell.nav-compact.nav-expanded{grid-template-columns:210px minmax(0,1fr)}.nav-compact.nav-expanded .side.open{width:auto;padding:19px 10px}.nav-compact.nav-expanded .side.open .side-brand{gap:0}.nav-compact.nav-expanded .side.open .side-brand>span:last-child{display:none}.nav-compact.nav-expanded .side.open .menu-section{padding-left:0;padding-right:0}.nav-compact.nav-expanded .side.open .menu-subsection.menu-toggle{margin-left:0;width:100%}.nav-compact.nav-expanded .side.open .menu-subjects{margin-left:9px}.nav-expanded .subject-topic-grid,.nav-expanded .subject-combined-grid,.nav-expanded .subject-resource-grid{grid-template-columns:1fr}}
@media(max-width:430px){.shell.nav-compact.nav-expanded{grid-template-columns:180px minmax(0,1fr)}.nav-compact.nav-expanded .side.open{padding:15px 7px}.nav-compact.nav-expanded .side.open .menu-subject{font-size:10px;gap:5px}.nav-compact.nav-expanded .side.open .menu-number{width:22px;height:22px}.nav-expanded #main{padding-left:10px;padding-right:10px}}

/* Use the same owner portrait as the personal website for the sidebar mark. */
.brand-symbol{overflow:hidden;padding:0;background:#f4f7f2}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:cover}
.nav-compact.nav-expanded .side.open .side-brand{display:flex;gap:8px;min-width:0}
.nav-compact.nav-expanded .side.open .side-brand>span:last-child{display:block;font-size:14px;line-height:1.05;letter-spacing:-.04em;white-space:nowrap}
@media(max-width:430px){.nav-compact.nav-expanded .side.open .side-brand{gap:5px}.nav-compact.nav-expanded .side.open .side-brand>span:last-child{font-size:11px}}

/* Topic landing: a clear choice before entering notes or assessment. */
.topic-entry{width:100%;min-width:0}
.topic-entry-head{min-height:190px;padding:26px 32px 30px;border-radius:24px;background:#1b2520;color:#f8fff3;display:flex;flex-direction:column;align-items:flex-start}
.topic-entry-back{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #68776b;border-radius:99px;font-size:12px;font-weight:800;color:#eff9e6}
.topic-entry-back:hover{background:#35453a}
.topic-entry-path{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:auto;color:#c9d7cb;font-size:11px;font-weight:700;line-height:1.35}
.topic-entry-path a:hover{text-decoration:underline;text-underline-offset:3px}
.topic-entry-path strong{color:#eaff8b;font-weight:800}
.topic-entry-path [aria-hidden]{color:#809184}
.topic-entry-head h1{margin:10px 0 0;font:800 clamp(27px,3.2vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-.05em;max-width:1000px}
.topic-entry-card:focus-visible,.topic-entry-back:focus-visible{outline:3px solid #6b9c65;outline-offset:3px}
.topic-level-label{color:#67786a;font-size:10px;font-weight:800;letter-spacing:.15em}
.topic-level-label{margin:16px 2px 0}

/* Dashboard keeps the full navigation visible; interior routes use the compact rail. */
.nav-home.nav-expanded .side.open #menu{display:none}

/* Keep all three topic destinations in one row and mark the current view. */
.topic-entry-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:7px 0 18px}
.topic-entry-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;min-height:126px;padding:17px 19px;border:1px solid #dce6d9;border-radius:20px;background:#eef3ec;color:#1b2520;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.topic-entry-card-index{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:11px;background:#1b2520;color:#eaff8b;font:800 13px Manrope,sans-serif;letter-spacing:-.02em}
.topic-entry-card strong{font:800 clamp(16px,1.8vw,23px)/1.13 Manrope,sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere}
.topic-entry-card:hover{transform:translateY(-2px);background:#e4eedf;box-shadow:0 10px 22px #223c2b14}
.topic-entry-card.active{background:#eaff8b;border-color:#1b2520;box-shadow:inset 0 0 0 1px #1b2520,0 10px 25px #4258231c}
.topic-entry-card.active:hover{background:#eaff8b}
.topic-entry-card.active::after{content:'';position:absolute;top:24px;right:20px;width:27px;height:5px;border-radius:99px;background:#1b2520}
#topic-main{margin-top:0}
@media(max-width:780px){.topic-entry-head{min-height:165px;padding:20px;border-radius:19px}.topic-entry-cards{gap:9px}.topic-entry-card{min-height:112px;padding:12px;gap:10px;border-radius:17px}.topic-entry-card-index{width:33px;height:33px;font-size:11px}.topic-entry-card strong{font-size:clamp(12px,2.8vw,17px)}.topic-entry-card.active::after{top:20px;right:12px;width:17px;height:4px}}
@media(max-width:430px){.topic-entry-cards{gap:6px}.topic-entry-card{min-height:101px;padding:9px;border-radius:13px}.topic-entry-card-index{width:28px;height:28px;border-radius:8px;font-size:10px}.topic-entry-card strong{font-size:11px;line-height:1.15}.topic-entry-card.active::after{top:16px;right:9px;width:12px;height:3px}}

/* Practice is a nested branch connected to its parent section card. */
.practice-branch{padding:16px;border:1px solid #dbe7d8;border-radius:24px;background:#f4f8f0}
.practice-choice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.practice-choice-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0;min-height:92px;padding:13px 15px;border:1px solid #dce6d9;border-radius:15px;background:#fff;color:#1b2520;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.practice-choice-card span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e8eee8;color:#1b2520;font:800 11px Manrope,sans-serif}
.practice-choice-card strong{font:800 clamp(12px,1.35vw,17px)/1.18 Manrope,sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.practice-choice-card.active{background:#1b2520;border-color:#1b2520;color:#f8fff3;box-shadow:0 7px 17px #13241c28}
.practice-choice-card.active span{background:#eaff8b}
.practice-choice-card:hover{transform:translateY(-2px);background:#e9f0e5}
.practice-choice-card.active:hover{background:#1b2520}
.practice-choice-card:focus-visible{outline:3px solid #6b9c65;outline-offset:3px}
@media(max-width:780px){.topic-entry-path{font-size:10px;gap:4px 6px}.practice-branch{padding:11px;border-radius:18px}.practice-choice-cards{gap:7px}.practice-choice-card{min-height:85px;padding:10px;border-radius:12px}.practice-choice-card strong{font-size:11px}}
@media(max-width:430px){.practice-branch{padding:8px;border-radius:15px}.practice-choice-cards{gap:5px}.practice-choice-card{min-height:82px;padding:8px}.practice-choice-card span{width:25px;height:25px;font-size:10px}.practice-choice-card strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.topic-entry-card,.practice-choice-card{transition:none}.topic-entry-card:hover,.practice-choice-card:hover{transform:none}}

/* A quiet document surface with a persistent, clickable outline. */
.document-layout{display:grid;grid-template-columns:minmax(165px,220px) minmax(0,850px);justify-content:center;align-items:start;gap:24px;min-width:0;padding:25px;border:1px solid #e6ebe4;border-radius:24px;background:#f4f6f2}
.document-outline{position:sticky;top:18px;align-self:start;display:flex;flex-direction:column;height:calc(100dvh - 36px);max-height:calc(100dvh - 36px);min-height:0;overflow:hidden;padding:14px 3px 0 0}
.document-outline-title{display:block;margin:0 0 13px 11px;color:#718071;font-size:10px;font-weight:800;letter-spacing:.17em}
.document-outline nav{display:grid;align-content:start;gap:2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 4px 24px 0;scrollbar-width:thin;scrollbar-gutter:stable}
.document-outline nav:focus-visible{outline:2px solid #287b66;outline-offset:-2px}
.document-outline-link{display:block;width:100%;padding:8px 10px;border:0;border-left:3px solid transparent;border-radius:0 9px 9px 0;background:transparent;color:#536159;text-align:left;font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.document-outline-link.subsection{padding-left:21px;font-size:11px;font-weight:600;color:#6d7970}
.document-outline-link:hover{background:#e7eee4;color:#1b2520}
.document-outline-link.active{border-left-color:#1b2520;background:#e8efdf;color:#1b2520;font-weight:800}
.document-outline-link:focus-visible{outline:2px solid #287b66;outline-offset:-2px}
.document-sheet{min-width:0;min-height:780px;padding:46px clamp(30px,4vw,62px) 60px;border:1px solid #e1e7de;border-radius:5px;background:#fff;box-shadow:0 13px 35px #263b2710}
.document-header{padding-bottom:27px;border-bottom:1px solid #dfe6df}
.document-header>span{display:block;margin-bottom:17px;color:#49735e;font-size:10px;font-weight:800;letter-spacing:.18em}
.document-header h2{margin:0;font:800 clamp(26px,2.6vw,39px)/1.16 Manrope,sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere}
.document-header h1{margin:0;font:800 clamp(26px,2.6vw,39px)/1.16 Manrope,sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere}
.document-header p{margin:12px 0 0;color:#657269;font-size:12px;line-height:1.45}
.document-section{padding:28px 0;border-bottom:1px solid #e5ebe4;scroll-margin-top:24px}
.document-section:last-child{border-bottom:0}
.document-section h2{margin:0 0 16px;font:800 21px/1.25 Manrope,sans-serif;letter-spacing:-.035em}
.document-section>p,.document-prose{color:#333d36;font-size:14px;line-height:1.76}
.document-section>p{margin:0}
.document-caption{margin:-4px 0 16px!important;color:#6b756e!important;font-size:12px!important}
.document-subsection{padding:22px 0 0;scroll-margin-top:24px}
.document-subsection+ .document-subsection{border-top:1px solid #edf0ec;margin-top:22px}
.document-subsection h3{margin:0 0 11px;font:800 17px/1.35 Manrope,sans-serif;letter-spacing:-.025em}
.document-prose p{margin:0 0 14px}.document-prose p:last-child{margin-bottom:0}
.document-prose ul,.document-prose ol{padding-left:22px;margin:10px 0 17px}
.document-prose li{margin:5px 0}.document-prose h1,.document-prose h2,.document-prose h3{margin:22px 0 10px;font:800 16px/1.4 Manrope,sans-serif;letter-spacing:-.02em}
.document-prose h4,.document-prose h5,.document-prose h6{margin:18px 0 8px;font:800 14px/1.4 Manrope,sans-serif}
.document-prose a{color:#176f63;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.document-prose img{display:block;max-width:100%;height:auto;margin:15px 0;border-radius:8px}
.document-prose code,.document-sheet td code{padding:1px 4px;border-radius:4px;background:#f0f4ed;font-size:.91em;overflow-wrap:anywhere}
.document-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:12px}
.document-prose th,.document-prose td{border:1px solid #dfe7df;padding:8px;text-align:left;vertical-align:top}
.document-citations{margin:14px 0 0}.document-citations:empty{display:none}
.document-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.document-figures figure{min-width:0;margin:0;border:1px solid #e1e8df;border-radius:10px;overflow:hidden;background:#fafbf9}
.document-figures img{display:block;width:100%;height:155px;object-fit:contain;background:#f6f8f5}
.document-figures figcaption{padding:10px;color:#5b685f;font-size:11px;line-height:1.45}
.document-table-scroll{max-width:100%;overflow-x:auto}
.document-table-scroll table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5}
.document-table-scroll th,.document-table-scroll td{padding:11px 9px;border-bottom:1px solid #dfe7df;text-align:left;vertical-align:top}
.document-table-scroll th{background:#f4f7f2;font-weight:800}
.document-sources .source-list{margin:0 0 12px}
.document-sources>p{color:#66746b;font-size:12px;line-height:1.6}
.document-source-list{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.document-source-list li{display:flex;align-items:baseline;gap:12px;color:#46524a;font-size:12px;line-height:1.5}
.document-source-number{flex:none;color:#7b897c;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.study-section{position:relative}
.study-section-number{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:25px;margin:0 0 12px;padding:0 5px;border-radius:7px;background:#e8efdf;color:#234b39;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}
.study-section h2{margin-bottom:15px}
.document-prose .study-points{padding-left:21px;margin:0 0 15px;list-style:disc}
.document-prose .study-points li{padding-left:3px;margin:0 0 10px;line-height:1.6}
.document-prose .study-points li::marker{color:#568f70}
.document-prose .study-points ul{margin:8px 0 2px;padding-left:20px;list-style:circle}
.document-prose .study-equation{max-width:100%;margin:16px 0 18px;padding:13px 15px;overflow-x:auto;border:1px solid #e1e8dc;border-radius:11px;background:#f8faf5}
.document-prose .study-equation code,.document-table-scroll code:has(.katex){padding:0;background:none;font-size:inherit}
.study-equation .katex-display{margin:0;text-align:left}
.document-table-scroll .katex{font-size:1.08em}
.document-prose table{display:table;width:100%;margin:18px 0;border-collapse:collapse;overflow-x:auto}
.document-prose th{background:#f3f7f1}
.study-art,.study-graph{margin:12px 0 22px;border:1px solid #e0e8dc;border-radius:12px;overflow:hidden;background:#fafbf8}
.study-art img{display:block;width:100%;height:310px;object-fit:contain;background:#fafbf8}
.study-art figcaption,.study-graph figcaption{padding:10px 14px;color:#5a685e;font-size:11px;line-height:1.5}
.study-graph{padding:12px 12px 0}
.study-graph canvas{display:block;width:100%;height:240px}
.study-graph figcaption{padding-left:2px}
.document-layout{position:relative;padding-top:65px}
.document-expand{position:absolute;top:15px;right:25px;z-index:2;display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 13px;border:1px solid #d5dfd4;border-radius:9px;background:#fff;color:#1b2520;font:800 12px/1 Manrope,sans-serif;cursor:pointer}
.document-expand:hover{background:#e8efdf}.document-expand:focus-visible{outline:3px solid #287b66;outline-offset:2px}
body.document-expanded{overflow:hidden}
.document-layout.is-expanded{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;max-width:none;overflow:auto;overscroll-behavior:contain;grid-template-columns:minmax(165px,220px) minmax(0,900px);align-content:start;gap:24px;padding:65px 25px 40px;border:0;border-radius:0;background:#f4f6f2}
.document-layout.is-expanded .document-outline{top:15px;height:calc(100dvh - 30px);max-height:calc(100dvh - 30px)}
.document-layout.is-expanded .document-expand{position:fixed;top:15px;right:25px}
.document-layout.is-expanded .document-sheet{min-height:calc(100dvh - 105px)}
.combined-document .document-sheet{max-width:850px}
.combined-note-hero{min-height:185px;display:flex;flex-direction:column;justify-content:space-between;gap:23px;margin-bottom:17px;padding:25px 30px;border-radius:23px}
.combined-note-hero.full{background:#1b2520;color:#f8fff3}
.combined-note-hero.revision{background:#eaff8b;color:#1b2520}
.combined-note-back{align-self:flex-start;padding:8px 12px;border:1px solid currentColor;border-radius:99px;font-size:11px;font-weight:800;opacity:.88}
.combined-note-back:hover{opacity:1;background:#ffffff18}
.combined-note-hero.revision .combined-note-back:hover{background:#1b252014}
.combined-note-hero span{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.15em;opacity:.7}
.combined-note-hero h1{margin:0;font:800 clamp(27px,3vw,44px)/1.1 Manrope,sans-serif;letter-spacing:-.05em}
.combined-note-hero p{margin:7px 0 0;font-size:12px;font-weight:700;opacity:.72}
.combined-document-chapter{padding-top:38px;scroll-margin-top:28px}
.combined-document-chapter>header{padding:19px 0 22px;border-bottom:2px solid #1b2520}
.combined-document-chapter>header span,.combined-document-topic>header span{display:block;margin-bottom:8px;color:#42705a;font-size:10px;font-weight:900;letter-spacing:.17em}
.combined-document-chapter>header h2{margin:0;font:800 clamp(23px,2.5vw,34px)/1.18 Manrope,sans-serif;letter-spacing:-.04em}
.combined-document-topic{padding:26px 0 16px;scroll-margin-top:26px}
.combined-document-topic+ .combined-document-topic{border-top:2px solid #e8eee6}
.combined-document-topic>header{margin-bottom:4px}
.combined-document-topic>header h3{margin:0;font:800 clamp(19px,2vw,27px)/1.25 Manrope,sans-serif;letter-spacing:-.035em}
.combined-document-topic .study-section h4,.combined-document-topic .document-section>h4{margin:0 0 15px;font:800 18px/1.3 Manrope,sans-serif;letter-spacing:-.025em}
.combined-document-topic .document-sources{border-bottom:0}
@media(max-width:900px){.document-layout{grid-template-columns:140px minmax(0,1fr);gap:14px;padding:15px}.document-sheet{padding:30px 27px 42px}}
@media(max-width:780px){.document-layout{grid-template-columns:124px minmax(0,1fr);gap:10px;padding:10px;border-radius:18px}.document-outline{top:10px;padding-top:8px}.document-outline-link{font-size:10px;padding:7px}.document-outline-link.subsection{font-size:10px;padding-left:13px}.document-sheet{padding:24px 19px 36px}.document-section h2{font-size:18px}.document-section>p,.document-prose{font-size:12px;line-height:1.7}.document-subsection h3{font-size:15px}.document-figures{grid-template-columns:1fr}}
@media(max-width:430px){.document-layout{grid-template-columns:1fr}.document-outline{position:relative;top:auto;height:190px;max-height:190px;padding:4px 0 7px;border-bottom:1px solid #dce5d9}.document-outline nav{display:grid;gap:2px;overflow-y:auto;overflow-x:hidden}.document-outline-link,.document-outline-link.subsection{width:100%;max-width:none;padding:7px 10px;border-left:3px solid transparent;border-bottom:0;border-radius:0 8px 8px 0;white-space:normal;overflow-wrap:anywhere}.document-outline-link.active{border-left-color:#1b2520;border-bottom:0}.document-sheet{padding:22px 18px}}

@media(max-width:900px){.document-layout:not(.is-expanded){padding-top:60px}.document-layout.is-expanded{grid-template-columns:140px minmax(0,1fr);padding:60px 15px 30px}.document-expand{right:15px}}
@media(max-width:780px){.document-layout:not(.is-expanded){padding-top:54px}.document-layout.is-expanded{grid-template-columns:124px minmax(0,1fr);padding:54px 10px 25px;gap:10px}.document-expand{right:10px;top:10px}.document-layout.is-expanded .document-expand{right:10px;top:10px}}
@media(max-width:430px){.document-layout.is-expanded{grid-template-columns:1fr}.document-layout.is-expanded .document-outline{position:relative;top:auto;height:190px;max-height:190px}}
@media(max-width:780px){.combined-note-hero{min-height:150px;padding:19px;border-radius:18px}.study-art img{height:220px}}

/* Annotation controls and marks belong to the document, not a separate pad. */
.annotation-anchor{position:relative;min-height:76px}
.annotation-canvas{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;touch-action:none}
.annotation-editing .annotation-canvas{pointer-events:auto;cursor:crosshair}
.annotation-note{position:absolute;z-index:6;display:flex;flex-direction:column;min-width:135px;min-height:82px;max-width:min(520px,90%);border:1px solid #75837355;border-radius:12px;background:var(--note-color,#fff16b);box-shadow:0 9px 25px #15251b27;overflow:hidden}
.annotation-text-note{background:#fff;border-color:#b9cdbd;box-shadow:0 8px 22px #15251b1c}
.annotation-note-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:0 6px 0 10px;cursor:grab;touch-action:none;user-select:none;color:#344037;font-size:10px;font-weight:800;letter-spacing:.02em}
.annotation-note-head:active{cursor:grabbing}
.annotation-note-head button{border:0;background:#ffffff9c;border-radius:6px;width:23px;height:23px;color:#26352a;font-size:18px;line-height:1}
.annotation-note textarea{flex:1;width:100%;min-height:0;padding:8px 12px 15px;border:0;outline:0;resize:none;background:transparent;color:#19251c;font-size:13px;line-height:1.45}
.annotation-note-resize{position:absolute;right:0;bottom:0;width:26px;height:25px;padding:5px;cursor:nwse-resize;touch-action:none;color:#344037;font-size:11px;text-align:right;user-select:none}
.annotation-toolbar{position:fixed;left:50%;bottom:max(15px,env(safe-area-inset-bottom));z-index:1200;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 20px);padding:8px 10px;border:1px solid #33453e;border-radius:18px;background:#1b2520;color:#fafff5;box-shadow:0 12px 32px #061a0d42;font:700 11px/1.2 'DM Sans',sans-serif}
.annotation-tools,.annotation-swatches{display:flex;align-items:center;gap:3px;white-space:nowrap}
.annotation-tools button{min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;font-weight:800}
.annotation-tools button:hover,.annotation-tools button.active{background:#eaff8b;color:#1b2520}
.annotation-divider{display:inline-block;width:1px;height:23px;margin:0 3px;background:#718076}
.annotation-swatches button{width:24px;height:24px;padding:0;border:2px solid #f8fff2;border-radius:50%;background:var(--swatch)}
.annotation-swatches button.active{outline:2px solid #eaff8b;outline-offset:2px}
.annotation-save-status{min-width:82px;max-width:125px;color:#cfdecf;font-size:10px;line-height:1.2}
@media(max-width:760px){.annotation-toolbar{flex-direction:column;gap:4px;width:max-content;padding:7px 9px}.annotation-tools{gap:0}.annotation-tools button{padding:5px 6px;font-size:14px}.annotation-tools button span{display:none}.annotation-save-status{max-width:none;text-align:center}.annotation-swatches button{width:22px;height:22px}}
.annotation-sync-dialog{width:min(440px,calc(100vw - 26px));padding:25px;border:1px solid #d4dfd4;border-radius:20px;box-shadow:0 24px 70px #12231755;font-family:'DM Sans',sans-serif}
.annotation-sync-dialog::backdrop{background:#07150bb3}
.annotation-sync-dialog h2{margin:0 0 10px;font:800 23px Manrope,sans-serif}
.annotation-sync-dialog p{font-size:13px;line-height:1.55;color:#5c6a60}
.annotation-sync-dialog label{display:block;margin:20px 0;font-size:12px;font-weight:800}
.annotation-sync-dialog input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #becbbc;border-radius:9px}
.annotation-sync-dialog form>div{display:flex;justify-content:flex-end;gap:8px}
.annotation-sync-dialog button{padding:10px 14px;border:1px solid #c8d3c9;border-radius:9px;background:#fff;font-weight:800}
.annotation-sync-dialog .sync-primary{background:#1b2520;color:#fff}
.assignment-list{display:grid;gap:12px;margin-top:18px}.assignment-list .question{margin:0;background:#fff;border:1px solid #dae4dd;border-radius:19px;padding:20px 22px;box-shadow:0 8px 25px #192b1c08}.question-provenance{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#60716a;font-size:11px;font-weight:800;letter-spacing:.02em}.question-provenance span{display:inline-flex;align-items:center;background:#eaf0eb;padding:7px 10px;border-radius:9px}.question-provenance a{color:#08766f;border-bottom:1px solid #9bc5b8;padding-bottom:2px}.assignment-list .question h3{font-size:15px;line-height:1.45;margin-bottom:14px}.assignment-list .question label{background:#fafcf9;border-radius:12px;padding:11px 12px}.assignment-list .question label:has(input:checked){background:#e9f7de;border-color:#a7d489}.assignment-list .question .answer{padding:14px 15px}.assignment-list .question .answer p{margin:7px 0 0}

/* Responsive audit: protect readable widths, charts and annotation space. */
@media(max-width:780px){
  .shell.nav-compact.nav-expanded{grid-template-columns:minmax(0,1fr)}
  .nav-compact.nav-expanded .side.open{width:100%;padding:24px max(18px,env(safe-area-inset-left)) 30px}
  .nav-compact.nav-expanded .workspace{display:none}
  .nav-compact.nav-expanded .side.open .side-head,
  .nav-compact.nav-expanded .side.open #side-nav,
  .nav-compact.nav-expanded .side.open .side-bottom{width:min(100%,420px);margin-inline:auto}
  .nav-compact.nav-expanded .side.open .side-brand>span:last-child{display:block}
  .nav-home.nav-expanded .side.open #menu{display:grid}
  #main{padding-bottom:145px}
  .document-prose{min-width:0;overflow-wrap:anywhere}
  .document-prose table{display:block;max-width:100%;overflow-x:auto}
  .document-layout.is-expanded{padding-bottom:145px}
}
@media(max-width:600px){
  .progress-summary{grid-template-columns:1fr}
  .progress-card{min-height:220px}
  .progress-ring{width:112px}
  .subject-topic-tile{aspect-ratio:auto;min-height:155px;gap:18px;padding:14px}
  .subject-topic-top b{min-width:36px;height:36px;border-radius:11px;font-size:14px}
  .subject-topic-title{font-size:13px;line-height:1.25}
  .document-figures{grid-template-columns:1fr}
}
@media(max-width:560px){
  .document-layout,
  .document-layout.is-expanded{grid-template-columns:minmax(0,1fr)}
  .document-outline,
  .document-layout.is-expanded .document-outline{position:relative;top:auto;height:145px;max-height:145px;padding:4px 0 7px;border-bottom:1px solid #dce5d9}
  .document-sheet{padding:24px 18px 36px}
  .document-layout.is-expanded .document-sheet{min-height:0}
}
@media(max-width:430px){
  .subject-topic-tile{min-height:150px;padding:12px}
  .subject-topic-title{font-size:12px}
  .exam-panel{padding:12px}
  .assignment-list .question{padding:14px}
  .assignment-list .question h3{font-size:13px}
  .question-provenance{align-items:flex-start;font-size:10px}
}
