/* Native classes extracted from OnePrep own component visuals. These rules
   provide host geometry and the one requested matte sidebar colour. */
:root{--tp-navy:#102b3e;--tp-font:var(--font-inter),Inter,ui-sans-serif,system-ui,sans-serif}html,body,#app{height:100%;margin:0}body{font-family:var(--tp-font);font-size:16px;line-height:24px;color:var(--foreground);background:var(--tp-navy);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{border:0!important}.sidebar,.sidebar .bg-sidebar,.sidebar>div{background:var(--tp-navy)!important}.sidebar .reference-menu{display:flex;flex-direction:column;gap:2px;padding:8px;height:100%;overflow:auto;scrollbar-width:thin}.reference-course{display:flex}.reference-course>a{flex:1;text-align:center}.reference-group-label{padding:12px 8px 6px;color:#ffffff99;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.6px;text-transform:uppercase}.reference-menu .nav-link{gap:8px}.nav-link svg{width:20px;height:20px;flex:none}.nav-link p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link:not([aria-current]){color:#ffffffb3}.brand{display:flex!important;align-items:center;gap:6px;color:#fff;height:36px;width:130px}.brand img{width:28px;height:28px}.brand span{font-family:var(--tp-font);font-size:25px;font-weight:700;letter-spacing:-1.2px;line-height:1}.profile-link{gap:8px}.profile-link svg{width:20px;height:20px}.avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:500;background:var(--accent-primary);color:var(--accent-primary-foreground)}.page-pane{flex:1;min-width:0;margin:8px 8px 8px 0;overflow:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#ccc transparent;border-radius:12px;background:var(--background);position:relative}.topbar,.mobile-scrim{display:none}.content{max-width:1024px;margin:0 auto;padding:64px 32px 48px}.reference-home{padding:0;max-width:none}.reference-home-skin{min-height:calc(100dvh - 60px)}.reference-home-skin h1{overflow:visible;text-overflow:clip}.reference-home-skin .hero{container-type:inline-size}.reference-hero-art{object-fit:contain;object-position:right bottom}.task-check{appearance:none;cursor:pointer}.task-check:checked{background:var(--foreground);border-color:var(--foreground);box-shadow:inset 0 0 0 3px white}.task-row.done h4{text-decoration:line-through;opacity:.5}.task-row+.task-row{border-top:2px solid var(--subtle)}.reference-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.reference-shortcuts h3{flex-basis:100%;margin-bottom:4px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading p{font-size:14px;line-height:20px;color:var(--muted-foreground);margin:12px 0 0}.status-label,.date{font-size:14px;color:var(--muted-foreground)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.section-head h2{display:flex;align-items:center;gap:8px}.section-head h2 svg{width:24px;height:24px;opacity:.6}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:20px;color:var(--muted-foreground)}.text-link:hover{color:var(--foreground)}.arrow{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:16px;opacity:.6}.btn-quiet{border:0!important;background:transparent!important}.btn-coral{color:var(--destructive)!important}.btn-success{color:var(--foreground)!important}.resource-tabs{display:flex;align-items:center;gap:4px;width:max-content;max-width:100%;overflow:auto;scrollbar-width:none;padding:4px;margin-bottom:24px;border-radius:12px;background:var(--muted)}.resource-tabs a{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:6px 12px;border-radius:8px;font-size:14px;line-height:20px;color:var(--muted-foreground)}.resource-tabs a.active{background:var(--background);color:var(--foreground);box-shadow:0 1px 2px #0000000d}.resource-tabs img{width:20px;height:20px;object-fit:contain}.library-intro{padding:24px;margin-bottom:24px}.library-intro h2,.empty-state h2,.cs-card h2{font-family:var(--font-dm-sans),sans-serif;font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.6px}.library-intro p,.cs-card p,.tip,.empty-state p,.notice{font-size:14px;line-height:24px;color:var(--muted-foreground)}.library-intro img{width:64px;height:64px;object-fit:contain}.filter-row{gap:8px;margin-bottom:24px}.filter-search input,.select{height:36px;padding:6px 12px;border:2px solid var(--subtle);border-radius:12px;font-size:14px;line-height:20px;background:var(--background);color:var(--foreground)}.filter-search input{width:100%}.row-info strong{display:block;font-size:16px;line-height:24px;font-weight:500;letter-spacing:-.4px}.row-info small,.result-count{font-size:14px;line-height:20px;color:var(--muted-foreground)}.row-number{font-size:14px;color:var(--muted-foreground)}.resource-row,.chapter-row,.paper-question{border-bottom:1px solid var(--border)}.resource-row:last-child,.chapter-row:last-child,.paper-question:last-child{border-bottom:0}.chapter-table-label{background:var(--muted);padding:12px 16px;font-size:14px;color:var(--muted-foreground)}.chapter-row:hover,.book-tile:hover{background:var(--muted)}.tag{display:inline-flex;padding:3px 8px;border-radius:8px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:-.3px;background:var(--accent-primary);color:var(--accent-primary-foreground)}.tag-coral{background:var(--destructive-muted);color:var(--destructive-muted-foreground)}.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}.subject-card .reference-subject-art{position:absolute;right:0;bottom:0;width:32%;height:100%;object-fit:contain;padding:14px}.chapter-row{display:flex;align-items:center;gap:16px;width:100%;padding:16px;text-align:left}.question-preview{font-size:16px;line-height:24px;max-height:72px}.book-tile strong{font-size:16px;font-weight:500;line-height:24px}.book-tile small{font-size:12px;line-height:16px;color:var(--muted-foreground)}.reader-content{padding:24px;height:calc(100% - 16px)}.reader-toolbar strong{font-size:16px;font-weight:500}.pdf-controls{font-size:14px;color:var(--muted-foreground)}.pdf-reader{border:2px solid var(--subtle);border-radius:12px;background:var(--muted)}.pdf-canvas{background:white;height:auto!important}.lab-frame{border:2px solid var(--subtle);border-radius:12px;height:calc(100dvh - 116px);background:var(--muted)}.question-body{font-family:var(--font-noto-serif),Georgia,serif;font-size:18px;line-height:1.8;color:var(--foreground)}.question-meta,.answer-panel p{font-size:14px;line-height:24px;color:var(--muted-foreground)}.option{border:2px solid var(--subtle);border-radius:12px;background:var(--background);font-size:16px;line-height:24px}.option.selected{border-color:var(--accent-primary-foreground);background:var(--accent-primary)}.option b{font-size:14px;font-weight:500}.answer-panel h2{font-family:var(--font-dm-sans),sans-serif;font-size:20px;line-height:28px;font-weight:500}.answer-input,.form-stack input:not([type=checkbox]),.form-stack select,.helper-form input{padding:10px 12px;border:2px solid var(--subtle);border-radius:12px;font-size:16px;line-height:24px;background:var(--background);color:var(--foreground)}.answer-solution{font-family:var(--font-noto-serif),Georgia,serif;font-size:16px;line-height:1.8;border-top:1px solid var(--border)}.answer-solution h3{font-family:var(--tp-font);font-size:14px;font-weight:500;color:var(--muted-foreground)}.paper-options label,.form-stack label{font-size:14px;color:var(--muted-foreground)}.plan-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.day{border:2px solid var(--subtle);border-radius:12px;text-align:center;padding:12px 4px;font-size:14px;color:var(--muted-foreground)}.day b{display:block;font-size:24px;line-height:32px;font-weight:500;color:var(--foreground);margin-top:4px}.day.active{background:var(--accent-primary);border-color:var(--accent-primary-foreground)}.helper-header h2{font-family:var(--font-dm-sans),sans-serif;font-size:30px;line-height:36px;letter-spacing:-1px;font-weight:500}.helper-header p{font-size:16px;line-height:24px;color:var(--muted-foreground)}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat{padding:16px;border-right:2px solid var(--subtle)}.stat:last-child{border:0}.stat strong{display:block;font-size:24px;line-height:32px;font-weight:500}.stat span{display:block;font-size:14px;color:var(--muted-foreground);margin-top:4px}.progress-row{font-size:14px;border-bottom:1px solid var(--border)}.progress-row strong{width:125px;font-weight:500}.progress-row small{font-size:14px;color:var(--muted-foreground)}.bar{height:8px;background:var(--muted);border-radius:99px}.bar i,.activity-cell.on{background:var(--accent-primary-foreground)}.activity-cell{background:var(--muted);border-radius:4px}.sim-tile h2{font-family:var(--font-dm-sans),sans-serif;font-size:20px;line-height:28px;font-weight:500;letter-spacing:-.5px}.sim-preview{background:var(--muted)}.sim-tile p{font-size:14px;line-height:24px;color:var(--muted-foreground)}.notice{background:var(--muted)}.shelf-row strong{font-size:16px;font-weight:500}.shelf-row p{font-size:14px;color:var(--muted-foreground)}.pagination{font-size:14px;color:var(--muted-foreground)}dialog{border:2px solid var(--subtle);border-radius:16px;background:var(--background);color:var(--foreground);box-shadow:0 16px 64px #0003}dialog::backdrop{background:#0006}dialog h2{font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.6px}#toast{background:var(--foreground);color:var(--background);border-radius:12px;font-size:14px;line-height:20px}.skip-link{background:var(--background)}.boot{color:white}
@media(max-width:767px){.sidebar{display:block!important;position:fixed;left:0;top:0;bottom:0;width:240px;z-index:50;transform:translateX(-100%);transition:transform .15s}.sidebar>div{width:240px}.nav-open .sidebar{transform:translateX(0)}.nav-open .mobile-scrim{display:block;position:fixed;inset:0;z-index:40;background:#0006;border:0}.page-pane{margin:0;border-radius:0;scrollbar-gutter:auto}.topbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;background:var(--background)}.topbar strong{font-size:14px;font-weight:500;color:var(--muted-foreground)}.topbar .search-open{margin-left:auto}.menu-toggle,.search-open{display:grid;place-items:center;width:32px;height:32px;background:transparent;border:0;color:var(--muted-foreground);font-size:20px}.content{padding:32px 16px}.reference-home{padding:0}.reference-home-skin [data-reference-home-container]{padding:24px 16px 48px}.reference-home-skin [data-reference-home-container]>div:first-child{display:none}.reference-home-skin h1{font-size:26px;line-height:32px}.reference-home-skin .hero>div:last-child{padding:20px;gap:16px;max-width:100%}.reference-home-skin .hero h3{font-size:22px;line-height:28px;max-width:88%}.reference-home-skin .hero ul{max-width:83%;position:relative;z-index:1}.reference-home-skin .hero li span{font-size:13px;line-height:20px}.reference-home-skin .reference-hero-art{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 78%);opacity:.45}.reference-home-skin .hero a{position:relative;z-index:2}.reference-home-skin .hero{min-height:280px}.reference-home-skin [data-home-countdown]{display:none}.page-heading{gap:16px;align-items:flex-start;margin-bottom:24px}.page-heading h1{font-size:26px;line-height:32px;white-space:normal}.page-heading .date{display:none}.resource-tabs{width:100%}.resource-tabs img{display:none}.resource-tabs a{font-size:13px;padding:6px 10px}.library-intro{padding:20px 16px}.library-intro h2{font-size:20px;line-height:28px}.library-intro img{width:44px;height:44px}.filter-row{gap:6px}.filter-row .chip{font-size:12px;padding:0 10px}.subject-grid{grid-template-columns:1fr}.row-info strong,.question-preview{font-size:14px;line-height:22px}.row-info small{font-size:12px}.row-number{font-size:12px}.resource-row .btn{padding:0 10px;font-size:12px}.reader-content{padding:20px 12px;height:calc(100% - 56px)}.reader-toolbar strong{font-size:14px}.lab-frame{height:calc(100dvh - 175px)}.question-body{font-size:17px}.question-meta{font-size:12px}.day{padding:10px 2px;font-size:12px}.day b{font-size:20px;line-height:28px}.plan-days{gap:5px}.stat span{font-size:12px}.progress-row{font-size:12px}.helper-header h2{font-size:26px;line-height:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion *{animation:none!important;transition:none!important}
.page-pane{scrollbar-width:auto;scrollbar-color:auto}.reference-menu .nav-link svg{color:var(--sidebar-nav-muted)}.reference-menu .nav-link[aria-current] svg{color:var(--sidebar-nav-selected-foreground)}.subject-card{padding:0!important}.chip.active{background:var(--secondary);color:var(--foreground);border-color:var(--border)}
.reference-menu .nav-link{gap:0}
