@font-face{font-family:Lilita;src:url('/assets/LilitaOne-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Source;src:url('/assets/SourceSans3-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Source;src:url('/assets/SourceSans3-Semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--plum:#360034;--ink:#24002C;--bronze:#9C6114;--paper:#F5EFE8;--line:#CCD2DB;--muted:#635C53;--accent:#9C6114;--soft:#F5EFE8;--mid:#E9D0A8;--dark:#9C6114;color:var(--ink);font-family:Source,Arial,sans-serif;font-size:18px;font-synthesis:none;background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:var(--plum)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--plum);outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Lilita,Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:36px}h2{font-size:28px}h3{font-size:23px}p{line-height:1.55}small,.small{font-size:14px}strong,b{font-weight:600}img{max-width:100%}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.loading{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}.loading img{width:80px}.error-start{max-width:600px;margin:80px auto;padding:30px}
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--plum);color:white;position:fixed;inset:0 auto 0 0;width:220px;z-index:30;padding:28px 18px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:13px;padding:0 10px}.brand img{width:56px;height:50px;object-fit:contain}.brand span{font-family:Lilita;font-size:29px}.course-mark{display:flex;align-items:center;gap:12px;padding:16px 10px;background:#9C6114;border-radius:8px;margin-top:2px}.course-mark>b{font-family:Lilita;font-size:31px;font-weight:400}.course-mark>span{font-size:16px;line-height:1.2}.side-nav{display:grid;gap:6px}.nav-button{display:flex;align-items:center;gap:13px;background:transparent;color:white;text-align:left;padding:13px 14px;border-radius:6px;min-height:48px}.nav-button svg{width:23px;height:23px}.nav-button:hover{background:#FFFFFF16}.nav-button.active{background:#FFFFFF;color:var(--plum);font-weight:600}.sidebar .side-bottom{margin-top:auto;display:grid;gap:12px}.save-note{font-size:13px;line-height:1.35;color:#ECE6F1;padding:0 12px}.side-setting{color:white;background:#FFFFFF12;display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;text-align:left;min-height:44px}.side-setting svg{width:20px;height:20px}.main-column{grid-column:2;min-width:0}.topbar{min-height:76px;background:white;padding:15px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px}.crumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.crumb span{color:var(--muted);font-size:16px}.crumb strong{font-size:18px}.topbar-actions{display:flex;align-items:center;gap:12px}.today{text-align:right;font-size:14px;color:var(--muted)}.menu-toggle{display:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:6px;background:var(--paper)}.icon-button svg{width:22px;height:22px}.workspace{padding:30px 32px 50px;max-width:1600px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading .page-sub{margin-top:8px;font-size:16px;color:var(--muted)}.button{background:white;border:1px solid var(--line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 17px;font-weight:600;line-height:1.25;text-decoration:none}.button svg{width:20px;height:20px}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.plum{background:var(--plum);border-color:var(--plum);color:white}.button.soft{background:var(--soft);border-color:var(--mid);color:var(--dark)}.button.small{font-size:15px;min-height:40px;padding:8px 12px}.text-button{background:transparent;padding:9px 4px;min-height:44px;color:var(--dark);text-decoration:underline;text-underline-offset:4px}.muted{color:var(--muted)}.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spaced{justify-content:space-between}.stack{display:grid;gap:16px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.metrics{display:flex;align-items:center;gap:0;flex-wrap:wrap}.metric{padding:0 25px 0 0;margin-right:25px}.metric strong{font-family:Lilita;font-size:32px;font-weight:400;display:block;line-height:1.1}.metric span{font-size:15px;color:var(--muted)}.metric:last-child{margin-right:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px}.study-start{position:relative;overflow:hidden;background:var(--bronze);color:white;border-radius:8px;padding:25px 28px;margin-bottom:26px}.study-start:after{content:'';position:absolute;right:-35px;top:-20px;bottom:-30px;width:260px;background:url('/assets/mikrobiologi.svg') center/210px repeat;filter:brightness(0) invert(1);opacity:.13;pointer-events:none;transform:rotate(-12deg)}.study-start>*{position:relative;z-index:1}.study-start h2{font-size:31px;margin-bottom:10px}.study-start p{max-width:580px;color:white;margin:0 0 20px}.study-start .button{color:var(--bronze);background:white;border-color:white}.study-start .metrics{margin-bottom:20px}.study-start .metric span{color:white}.study-start .metric strong{font-size:28px}.section-title{margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font-size:27px}.units{display:grid;gap:0;background:white;border:2px solid var(--bronze);border-radius:8px;overflow:hidden}.unit-row{width:100%;padding:17px 20px;background:white;text-align:left;display:grid;grid-template-columns:56px minmax(0,1fr) 70px 24px;gap:16px;align-items:center;border-bottom:1px solid #CCD2DB80}.unit-row:last-child{border-bottom:0}.unit-row:hover{background:var(--soft)}.unit-icon{width:56px;height:56px;background:var(--accent);border-radius:8px;display:flex;justify-content:center;align-items:center}.unit-icon img{width:48px;height:48px;object-fit:contain;filter:brightness(0) invert(1)}.unit-title{font-family:Lilita;font-size:23px;font-weight:400;line-height:1.15;display:block;margin-bottom:4px;color:var(--dark)}.unit-desc{font-size:15px;line-height:1.3;color:var(--ink)}.unit-time{font-size:14px;text-align:right;color:var(--muted)}.unit-arrow{font-size:25px;color:var(--dark)}.mini-progress{height:5px;background:var(--soft);width:100%;margin-top:9px;border-radius:2px;overflow:hidden}.mini-progress>span{display:block;height:100%;background:var(--accent);min-width:0}.right-rail{display:grid;align-content:start;gap:26px}.rail-panel{background:#FFFFFF;padding:20px;border-radius:8px}.rail-panel h2{font-size:23px;margin-bottom:16px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}.day{text-align:center;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:6px}.day strong{font-size:17px;font-weight:600;width:29px;height:32px;display:grid;place-items:center;background:var(--paper);border-radius:4px}.day:first-child strong{background:var(--bronze);color:white}.rail-list{padding:0;margin:0;list-style:none}.rail-list li{padding:10px 0;display:flex;justify-content:space-between;gap:10px;align-items:start}.rail-list li>span{font-size:15px;line-height:1.3}.rail-list b{font-size:15px;color:var(--bronze);white-space:nowrap}.priority-link{font:inherit;background:transparent;text-align:left;padding:0;color:var(--plum);text-decoration:underline;text-underline-offset:3px}.source-note{font-size:13px;color:var(--muted);line-height:1.45}.frequency{display:inline-flex;gap:6px;align-items:center;color:var(--dark);font-size:14px;white-space:nowrap}.freq-bars{display:inline-flex;gap:2px;height:15px;align-items:flex-end}.freq-bars i{display:block;width:4px;background:var(--mid)}.freq-bars i:nth-child(1){height:5px}.freq-bars i:nth-child(2){height:8px}.freq-bars i:nth-child(3){height:11px}.freq-bars i:nth-child(4){height:15px}.freq-bars i.on{background:var(--accent)}.area-summary{margin-top:28px}.area-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:white;color:var(--dark);border:1px solid var(--mid);border-radius:6px;padding:8px 12px;text-align:left;font-size:15px;min-height:40px}.chip.active{background:var(--accent);color:white;border-color:var(--accent)}
.theme-lila{--accent:#5B328F;--soft:#EBE6F2;--mid:#BBA1F4;--dark:#5B328F}.theme-rosa{--accent:#B53768;--soft:#FDE3EB;--mid:#F8B7CF;--dark:#B53768}.theme-magenta{--accent:#91236D;--soft:#F9CFED;--mid:#F5ADE0;--dark:#91236D}.theme-gron{--accent:#245B42;--soft:#E5EBE8;--mid:#A6DDB6;--dark:#245B42}.theme-orange{--accent:#A75421;--soft:#F4EAE4;--mid:#F8C79B;--dark:#A75421}.theme-rod{--accent:#8F2637;--soft:#F2E5E7;--mid:#F3A0A8;--dark:#8F2637}.theme-turkos{--accent:#176B7B;--soft:#E3EDEF;--mid:#A2DED9;--dark:#176B7B}.theme-hallon{--accent:#942146;--soft:#F6EDF0;--mid:#E4B3C3;--dark:#942146}.theme-bla{--accent:#000080;--soft:#E6E6F2;--mid:#9ED5F4;--dark:#000080}.theme-brons{--accent:#9C6114;--soft:#F5EFE8;--mid:#E9D0A8;--dark:#9C6114}
.unit-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px}.panel{border:2px solid var(--accent);border-radius:8px;background:white;overflow:hidden}.panel-head{background:var(--accent);color:white;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head h2{font-size:28px;color:white}.panel-content{padding:25px}.lesson-steps{display:flex;gap:8px;margin-bottom:22px}.lesson-steps button{height:8px;border-radius:2px;flex:1;background:var(--mid);padding:0;min-height:8px;position:relative}.lesson-steps button:after{content:'';position:absolute;inset:-10px 0}.lesson-steps button.active,.lesson-steps button.done{background:var(--accent)}.lesson-page{min-height:180px}.lesson-page h3{font-size:27px;margin:0 0 15px;color:var(--dark)}.lesson-page p{font-size:21px;line-height:1.6;max-width:800px}.lesson-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.lesson-count{font-size:14px;color:var(--muted)}.source-disclosure{margin-top:22px;font-size:14px;color:var(--muted)}.source-disclosure summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.source-disclosure a{display:block;margin:8px 0;overflow-wrap:anywhere}.source-disclosure p{font-size:14px}.read-linked{padding:0;list-style:none;margin:0}.read-linked li+li{margin-top:12px}.read-linked button{background:transparent;padding:2px 0;text-align:left;text-decoration:underline;text-underline-offset:4px;color:var(--dark)}.scene-selector{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:15px}.scene-wrap{position:relative;background:var(--soft);line-height:0;width:100%;overflow:hidden;border-radius:6px}.scene-wrap img{width:100%;display:block;height:auto}.scene-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid white;outline:2px solid var(--plum);border-radius:50%;width:44px;height:44px;background:var(--plum);color:white;line-height:1;font-weight:600;font-size:16px;padding:0;z-index:2;box-shadow:0 2px 6px #24002C33}.scene-pin:hover,.scene-pin.selected{background:#9C6114;outline-color:#9C6114;z-index:4}.scene-pin.correct{background:#245B42;outline-color:#245B42}.scene-pin.incorrect{background:#8F2637;outline-color:#8F2637}.scene-caption{font-size:15px;line-height:1.4;margin-top:12px}.scene-explore{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px}.scene-explore-list{max-height:440px;overflow:auto;display:grid;align-content:start;gap:5px}.scene-explore-list button{text-align:left;background:var(--soft);padding:10px 12px;border-radius:6px;font-size:15px;min-height:44px}.scene-explore-list button.active{color:white;background:var(--accent)}.scene-explanation{background:var(--soft);padding:18px;margin-top:18px;border-radius:6px}.scene-explanation strong{display:block;margin-bottom:8px;font-size:20px}.scene-explanation a{font-size:14px;display:inline-block;margin-top:8px}.reading-body{max-width:850px}.reading-points{margin:0;padding:0;list-style:none;counter-reset:points}.reading-points li{counter-increment:points;display:grid;grid-template-columns:29px minmax(0,1fr);gap:13px;margin-bottom:19px;line-height:1.6}.reading-points li:before{content:counter(points,decimal-leading-zero);font-size:14px;padding-top:4px;color:var(--dark);font-weight:600}.reading-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.reading-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;text-align:left;background:transparent;border-bottom:1px solid #CCD2DB80}.reading-entry strong{font-family:Lilita;font-weight:400;font-size:22px;line-height:1.15;display:block}.reading-entry small{display:block;margin-top:5px;color:var(--muted)}.reading-toolbar{margin-bottom:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.session-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.session-top .progress{flex:1;max-width:340px;height:7px;background:#E9D0A8;border-radius:2px;overflow:hidden}.session-top .progress>span{height:100%;display:block;background:var(--bronze)}.session-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:white}.question-meta>span:last-child{text-align:right}.question-heading{font-family:Source;font-weight:600;font-size:24px;line-height:1.35;margin:0 0 24px;color:var(--ink)}.question-html{font-size:21px;line-height:1.55;margin-bottom:24px}.question-html p+p{margin-top:15px}.question-html em{font-style:normal}.question-html table{border-collapse:collapse;font-size:17px;max-width:100%}.question-html th,.question-html td{padding:7px;border:1px solid var(--line)}.question-images{display:grid;gap:12px;margin-bottom:22px}.question-images img{max-height:500px;object-fit:contain;background:#F1F3F6;cursor:zoom-in;border-radius:4px}.options{display:grid;gap:10px}.option{display:flex;gap:14px;align-items:center;text-align:left;background:#FFFFFF;border:1px solid var(--line);border-radius:6px;padding:15px 17px;min-height:58px;width:100%;font-size:19px;line-height:1.3}.option .letter{width:29px;height:29px;flex-shrink:0;background:var(--soft);color:var(--dark);display:grid;place-items:center;font-size:15px;font-weight:600;border-radius:4px}.option.selected{border:2px solid var(--accent);padding:14px 16px;background:var(--soft)}.option.correct{border:2px solid #245B42;background:#E5EBE8;padding:14px 16px}.option.incorrect{border:2px solid #8F2637;background:#F2E5E7;padding:14px 16px}.option .option-state{margin-left:auto;font-size:14px;font-weight:600;white-space:nowrap}.option p{line-height:1.35}.option:not(:disabled):hover{border-color:var(--accent)}.question-controls{margin-top:25px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.question-controls .hint{font-size:14px;color:var(--muted)}.feedback{padding:20px;background:var(--soft);margin-top:22px;border-radius:6px}.feedback.wrong{background:#F2E5E7;color:#24002C}.feedback.right{background:#E5EBE8;color:#24002C}.feedback h3{font-family:Source;font-weight:600;font-size:20px;margin-bottom:8px}.feedback p{font-size:18px}.feedback p+p{margin-top:9px}.feedback .expected{font-weight:600}.rate-title{font-size:16px;font-weight:600;margin:23px 0 10px}.ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rating{background:var(--soft);border:1px solid var(--mid);border-radius:6px;min-height:68px;padding:10px 5px;font-size:16px;line-height:1.15}.rating small{font-size:13px;display:block;margin-top:6px;color:var(--muted)}.rating.again{background:#F2E5E7;border-color:#E4B3C3}.rating.good{background:#E5EBE8;border-color:#ADCAB8}.rating.easy{background:#E6E6F2;border-color:#9ED5F4}.rating:hover:not(:disabled){outline:2px solid var(--accent);outline-offset:-2px}.study-context{background:white;border-radius:8px;padding:21px;align-self:start}.study-context h2{font-size:23px;margin-bottom:15px}.study-context p{font-size:16px}.study-context .context-row{font-size:14px;margin:16px 0 0;display:grid;gap:7px}.context-link{font-size:15px;text-align:left;min-height:42px;background:var(--soft);color:var(--dark);padding:10px 12px;border-radius:6px}.context-link:disabled{opacity:.65}.question-count{font-weight:600;font-size:16px}.recall-cover{min-height:170px;background:var(--soft);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:25px;border-radius:6px;gap:15px}.recall-cover p{font-size:19px}.number-answer{display:flex;align-items:center;gap:12px}.number-answer input{font-family:Source;font-size:30px;width:170px;padding:13px;border:2px solid var(--accent);border-radius:6px;color:var(--ink)}.morph-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.morph-option{border:1px solid var(--line);background:var(--soft);border-radius:6px;padding:13px 7px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:16px;min-height:135px}.morph-option svg{width:100%;max-width:160px;height:80px;color:var(--accent)}.morph-option.selected{outline:3px solid var(--accent);outline-offset:-3px}.morph-option.correct{outline:3px solid #245B42;outline-offset:-3px;background:#E5EBE8}.morph-option.incorrect{outline:3px solid #8F2637;outline-offset:-3px;background:#F2E5E7}.match-help{font-size:15px;color:var(--muted);margin-bottom:16px}.match-tokens{display:flex;flex-wrap:wrap;gap:9px;min-height:52px;margin-bottom:19px}.match-token{background:var(--soft);border:1px solid var(--mid);border-radius:6px;padding:10px 14px;font-size:17px;min-height:44px;cursor:grab}.match-token.selected{outline:2px solid var(--accent)}.match-token.placed{opacity:.4}.match-rows{display:grid;gap:11px}.match-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);align-items:stretch;gap:15px}.match-target{min-height:58px;border:1px dashed var(--accent);background:var(--soft);color:var(--dark);border-radius:6px;padding:12px;text-align:left;font-size:17px}.match-label{padding:13px 0;font-size:18px;line-height:1.35}.match-target.filled{border-style:solid;background:white;font-weight:600}.match-target.correct{border:2px solid #245B42;background:#E5EBE8}.match-target.incorrect{border:2px solid #8F2637;background:#F2E5E7}.order-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.order-item{display:flex;align-items:center;gap:15px;background:var(--soft);border-radius:6px;padding:12px 15px;font-size:20px}.order-item>span{flex:1}.order-item b{font-family:Lilita;font-size:25px;font-weight:400;color:var(--dark)}.axis-board{position:relative;width:min(100%,440px);aspect-ratio:1;margin:0 auto;background:var(--soft);border-radius:8px}.axis-board>svg{width:100%;height:100%;color:var(--accent)}.axis-sector{position:absolute;width:33%;min-height:80px;background:white;border:1px solid var(--mid);border-radius:6px;padding:9px;font-size:16px}.axis-sector:nth-of-type(1){right:8%;bottom:16%}.axis-sector:nth-of-type(2){right:8%;top:16%}.axis-sector:nth-of-type(3){left:8%;bottom:16%}.axis-sector:nth-of-type(4){left:8%;top:16%}.axis-sector.selected{background:var(--mid);outline:2px solid var(--accent)}.axis-sector.correct{background:#E5EBE8;outline:2px solid #245B42}.axis-sector.incorrect{background:#F2E5E7;outline:2px solid #8F2637}.bank-controls{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,.65fr) minmax(150px,.6fr);gap:12px;margin-bottom:19px}.input{background:white;border:1px solid var(--line);border-radius:6px;padding:12px 14px;min-height:47px;max-width:100%;min-width:0;color:var(--ink)}.bank-info{font-size:14px;color:var(--muted);margin-bottom:16px}.bank-list{background:white;border-radius:8px;overflow:hidden}.bank-row{display:grid;grid-template-columns:90px minmax(0,1fr) 30px;gap:18px;align-items:center;background:white;padding:17px 20px;border-bottom:1px solid #CCD2DB80;width:100%;text-align:left}.bank-row:hover{background:var(--soft)}.bank-row .question-ref{font-size:13px;color:var(--dark);font-weight:600}.bank-row .stem{font-size:17px;line-height:1.4}.bank-row small{display:block;color:var(--muted);font-size:13px;margin-top:6px}.bank-row .bank-status{font-size:24px;text-align:right;color:var(--accent)}.bank-row .image-missing{color:#8F2637}.pagination{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}.empty{padding:35px 15px;text-align:center}.empty h2{margin-bottom:12px}.empty p{margin-bottom:20px}.progress-summary{background:white;border-radius:8px;padding:25px;margin-bottom:24px}.progress-summary .metrics{margin-bottom:20px}.progress-table{border-collapse:collapse;width:100%;font-size:16px;background:white;border-radius:8px;overflow:hidden}.progress-table th,.progress-table td{padding:15px 18px;text-align:left}.progress-table th{background:var(--bronze);color:white;font-weight:600;font-size:15px}.progress-table tr+tr td{border-top:1px solid #CCD2DB80}.progress-table td:nth-child(n+2){font-variant-numeric:tabular-nums}.history{margin-top:25px}.history li{padding:10px 0;display:flex;justify-content:space-between;gap:15px;line-height:1.4}.history small{white-space:nowrap;color:var(--muted)}.complete{max-width:850px;margin:20px auto}.complete .panel-content{padding:32px}.complete .metrics{margin:25px 0}.complete p{margin-bottom:15px}.completion-icon{color:var(--bronze);width:50px;height:50px;margin-bottom:15px}.resume{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;padding:16px 20px;border-radius:8px;border:2px solid var(--bronze);margin-bottom:20px}.resume p{font-size:16px}.storage-warning{padding:12px 18px;background:#F2E5E7;font-size:15px}.pill{display:inline-flex;padding:4px 8px;background:var(--soft);color:var(--dark);border-radius:4px;font-size:13px}.original-meta{font-size:14px;color:var(--muted);margin-bottom:15px}.source-code{font-size:12px;overflow-wrap:anywhere}
dialog{border:2px solid var(--plum);border-radius:8px;padding:0;color:var(--ink);width:min(820px,calc(100vw - 32px));max-height:90dvh;box-shadow:0 15px 80px #24002C44}dialog::backdrop{background:#24002C70}dialog .dialog-header{padding:18px 24px;background:var(--plum);color:white;display:flex;justify-content:space-between;align-items:center;gap:15px}dialog .dialog-header h2{font-size:26px}dialog .dialog-header .icon-button{background:#FFFFFF1C;color:white}dialog .dialog-body{padding:24px}dialog .dialog-body>p{margin-bottom:16px}dialog .dialog-body .question-html{font-size:19px}dialog .dialog-body img{max-height:70vh;object-fit:contain}dialog .source-list{margin:12px 0 20px;padding-left:20px;font-size:15px}dialog .source-list li{margin:8px 0}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.setting-row label{font-weight:600;font-size:17px}.setting-row select{min-width:100px}.settings-note{font-size:15px;color:var(--muted);margin-bottom:24px}.settings-section{margin-top:27px}.settings-section h3{margin-bottom:14px}.settings-section p{font-size:15px;margin:10px 0 15px}.file-input{max-width:100%;font-size:15px}.toast{position:fixed;bottom:22px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--plum);color:white;border-radius:6px;padding:12px 20px;font-size:16px;z-index:80;box-shadow:0 3px 20px #24002C33;max-width:calc(100vw - 32px)}.danger{color:#8F2637}.notice{padding:16px;background:var(--soft);border-radius:6px;font-size:16px;margin:18px 0}.kbd{border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:12px;color:var(--muted)}
@media(min-width:1500px){.workspace{padding:36px 44px}.topbar{padding-left:44px;padding-right:44px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 315px}.study-start{padding:28px 32px}.unit-row{padding:20px 24px}}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:23px 13px}.brand{gap:10px}.brand img{width:48px}.brand span{font-size:26px}.workspace{padding:25px 23px}.topbar{padding:15px 23px}.dashboard-grid,.unit-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.session-layout{grid-template-columns:minmax(0,1fr)}.study-context{display:none}.unit-row{padding:15px;gap:12px;grid-template-columns:52px minmax(0,1fr) 58px 18px}.unit-icon{width:52px;height:52px}.unit-title{font-size:21px}.scene-explore{grid-template-columns:minmax(0,1fr)}.scene-explore-list{display:flex;max-height:none;overflow:auto;gap:8px}.scene-explore-list button{min-width:160px}.bank-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bank-controls>.input:first-child{grid-column:1/-1}.bank-row{grid-template-columns:75px minmax(0,1fr) 20px;gap:12px}.page-heading{align-items:flex-start}.metric{padding-right:10px;margin-right:18px}.right-rail .rail-panel{padding:17px}}
@media(max-width:900px){.dashboard-grid,.unit-layout{grid-template-columns:minmax(0,1fr)}.right-rail{grid-template-columns:1fr 1fr;gap:18px}.reading-list{grid-template-columns:minmax(0,1fr)}.unit-layout>.right-rail{grid-template-columns:1fr 1fr}.unit-row{padding:17px 20px}.panel-content{padding:22px}.bank-row{padding:15px}.page-heading h1{font-size:32px}.today{display:none}.progress-table{font-size:15px}.progress-table th,.progress-table td{padding:12px}}
@media(max-width:650px){:root{font-size:17px}.shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .18s;width:245px}.nav-open .sidebar{transform:none;box-shadow:0 0 0 100vmax #24002C55}.nav-open .sidebar .brand{position:relative;z-index:1}.main-column{display:block}.topbar{padding:12px 16px;min-height:69px;gap:10px}.menu-toggle{display:inline-flex;background:white;flex-shrink:0}.crumb{gap:4px;display:block}.crumb strong{font-size:17px}.crumb>span{display:block;font-size:13px}.topbar-actions{gap:0}.workspace{padding:23px 16px 35px}.page-heading{display:block;margin-bottom:20px}.page-heading .actions{margin-top:15px}.page-heading h1{font-size:32px}.page-heading .page-sub{font-size:15px}.study-start{padding:24px 21px;margin-bottom:24px}.study-start h2{font-size:30px}.study-start p{font-size:17px}.study-start:after{right:-100px;width:220px}.metric{margin-right:16px;padding-right:0}.metric strong{font-size:30px}.metric span{font-size:14px}.right-rail,.unit-layout>.right-rail{grid-template-columns:minmax(0,1fr)}.right-rail .rail-panel{padding:21px}.unit-row{grid-template-columns:52px minmax(0,1fr) 19px;gap:12px;padding:16px 14px}.unit-time{display:none}.unit-title{font-size:22px}.unit-desc{font-size:14px}.section-title h2{font-size:25px}.panel-head{padding:16px 18px}.panel-head h2{font-size:26px}.panel-content{padding:21px 17px}.lesson-page p{font-size:20px}.lesson-page{min-height:210px}.lesson-page h3{font-size:25px}.lesson-controls{margin-top:24px}.session-top{gap:12px}.session-top .progress{max-width:100px}.question-meta{align-items:start;font-size:12px}.question-heading{font-size:22px}.question-html{font-size:19px}.question-html p+p{margin-top:12px}.option{font-size:18px;padding:14px 12px;gap:11px}.option.selected,.option.correct,.option.incorrect{padding:13px 11px}.option .letter{width:26px;height:26px;font-size:14px}.option-state{max-width:54px;white-space:normal!important}.question-controls{margin-top:20px}.question-controls>.button.primary{min-width:150px}.question-controls .hint{display:none}.ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rating{min-height:64px;font-size:17px}.rating small{font-size:14px}.morph-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.morph-option{font-size:15px;min-height:123px}.morph-option svg{height:72px}.match-row{grid-template-columns:minmax(0,1fr);gap:0;background:var(--soft);border-radius:6px;padding:10px}.match-label{padding:1px 2px 10px;font-size:17px}.match-target{min-height:49px;background:white}.match-token{font-size:16px;padding:10px}.feedback{padding:17px}.feedback p{font-size:17px}.bank-controls{gap:9px}.input{font-size:16px;padding:11px;min-height:46px}.bank-row{grid-template-columns:minmax(0,1fr) 20px;gap:7px;padding:17px 14px}.bank-row .question-ref{grid-column:1;grid-row:1}.bank-row .stem{grid-column:1;grid-row:2;font-size:17px}.bank-row .bank-status{grid-column:2;grid-row:1/3}.bank-info{font-size:13px}.pagination{font-size:13px}.pagination .button{padding:8px 10px;font-size:14px}.progress-table th:nth-child(3),.progress-table td:nth-child(3){display:none}.progress-table th,.progress-table td{padding:12px 10px;font-size:14px}.progress-table td:first-child{min-width:145px}.progress-summary{padding:21px 17px}.progress-summary .metrics{gap:16px}.complete .panel-content{padding:24px 20px}.complete .metrics{gap:20px}.scene-pin{width:40px;height:40px;font-size:15px}.scene-explore-list button{min-width:145px}.source-disclosure{margin-top:20px}.source-disclosure summary{line-height:1.4}.reading-points li{gap:9px}.reading-entry strong{font-size:21px}.reading-toolbar>.input{width:100%}.resume{align-items:start;padding:15px}.resume .button{font-size:15px;padding:9px 12px}.history li{font-size:15px;display:block}.history small{display:block;margin-top:3px}.toast{left:50%;width:max-content;max-width:calc(100vw - 32px);bottom:18px}.setting-row{gap:15px}.setting-row label{font-size:16px}.dialog-body{padding:20px!important}.dialog-header{padding:15px 18px!important}.axis-sector{font-size:14px;min-height:70px}.crumb+ .topbar-actions{margin-left:auto}.order-item{padding:10px;font-size:18px}.order-item .icon-button{width:40px;height:42px}.button{font-size:17px}.button.small{font-size:15px}.question-images img{max-height:350px}.page-heading .actions .button{flex:1}.reading-entry .frequency{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.panel-head .frequency{color:#FFFFFF}.panel-head .freq-bars i.on{background:#FFFFFF}.panel-head .freq-bars i{background:#FFFFFF55}

@media(min-width:651px){.menu-toggle{display:none}}

.ecg-figure{margin-bottom:24px;overflow:auto}.ecg-figure svg{width:100%;min-width:520px;height:auto}.ecg-figure .source-note{margin-top:7px}
