@font-face{font-family:Poppins;src:url('../design-samples/assets/Poppins-Regular.ttf')}@font-face{font-family:Poppins;src:url('../design-samples/assets/Poppins-SemiBold.ttf');font-weight:600}@font-face{font-family:Poppins;src:url('../design-samples/assets/Poppins-Bold.ttf');font-weight:700}:root{--purple:#7b2cbf;--ink:#382347;--muted:#776883;--line:#e8e0ee;--lav:#f3e7ff;--mint:#d6f6e6}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:14px/1.7 Poppins,sans-serif}button,input,select{font:inherit}button,a,input,summary,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,figure:focus-visible{outline:3px solid #a667d4;outline-offset:4px}main:focus{outline:none}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.3;letter-spacing:-1px}h2{font-size:20px;line-height:1.4;letter-spacing:-.4px}p{color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;border-right:2px solid var(--line);padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;color:var(--purple);font-size:19px;font-weight:700;letter-spacing:-.6px;gap:7px}.brand img{width:42px;height:42px}.sidebar nav{margin-top:45px;display:grid;gap:12px}.nav{display:flex;align-items:center;gap:14px;font-size:22px;border:2px solid transparent;background:#fff;padding:12px 17px;text-align:left;border-radius:14px;color:#75618a}.nav span{text-transform:uppercase;font-weight:700;letter-spacing:.5px;font-size:13px}.nav.active{background:var(--lav);color:var(--purple);border-color:#d8b6ef}.side-bottom{margin-top:auto;padding:20px;font-weight:600}.side-bottom small{font-size:12px;color:var(--muted);font-weight:400}.shell{margin-left:230px}header{height:74px;border-bottom:2px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between}.course-label{font-weight:600;color:var(--purple)}#saved{font-size:12px;color:var(--muted)}.mobile-brand{display:none}main{max-width:1200px;margin:auto;padding:38px 44px 60px;min-height:calc(100vh - 125px)}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.3px;color:var(--purple);margin-bottom:8px}.pill{white-space:nowrap;flex-shrink:0;border:2px solid var(--line);background:#fff;padding:8px 13px;border-radius:12px;font-size:12px;color:var(--purple);font-weight:600;min-height:44px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;min-height:52px;border:0;border-bottom:5px solid #58218a;border-radius:14px;background:var(--purple);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:transform .12s}.button:hover:not(:disabled){filter:brightness(1.06)}.button:active:not(:disabled){transform:translateY(4px)}.white{background:#fff;color:var(--purple);border-color:#d6b5ef}.outline{background:#fff;color:var(--purple);border:2px solid var(--line);border-bottom-width:5px}.full{width:100%}.resume{padding:23px 26px;background:var(--purple);border-radius:17px;border-bottom:6px solid #58218a;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.resume small{font-size:12px;font-weight:700;letter-spacing:1.4px;color:#e7cafa}.resume h2{max-width:460px;margin-top:5px;font-size:21px}.resume p{color:#eddafa;font-size:12px;margin-top:8px}.resume .button{flex-shrink:0}.home-grid{display:grid;grid-template-columns:minmax(350px,1.25fr) minmax(270px,.8fr);gap:50px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.section-title>span{font-size:12px;color:var(--muted)}.path{display:grid;gap:14px}.topic-row{display:flex;gap:22px;align-items:center;text-align:left;background:white;border:0;border-radius:12px;padding:10px 0 20px 15px;min-height:112px;position:relative}.topic-row:nth-child(even){padding-left:52px}.topic-row .node{display:grid;place-items:center;min-width:64px;width:64px;height:61px;background:#9d54d2;border-radius:50%;color:#fff;font-size:19px;font-weight:700;box-shadow:0 7px 0 #73389f,inset 0 0 0 5px #ffffff26;transition:transform .12s}.topic-row:nth-child(3n) .node{background:#c8efde;color:#3d735a;box-shadow:0 7px 0 #86b89f,inset 0 0 0 5px #ffffff50}.topic-row .node.started{background:#7b2cbf}.topic-row:hover .node{filter:brightness(1.08)}.topic-row:active .node{transform:translateY(4px)}.topic-row:after{content:'';width:7px;height:25px;background:#eee3f6;position:absolute;left:63px;bottom:-10px;transform:rotate(-24deg)}.topic-row:nth-child(even):after{left:85px;transform:rotate(24deg)}.topic-row:last-child:after{display:none}.topic-row strong{display:block;font-size:15px;line-height:1.5;max-width:270px}.topic-row small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.home-aside{position:sticky;top:24px;align-self:start}.panel{border:2px solid var(--line);border-radius:18px;padding:24px;background:white;margin-bottom:22px}.panel p{font-size:12px;margin-top:10px}.panel .button{margin-top:22px}.big-number{font-size:34px;font-weight:700;color:var(--purple);margin-top:18px}.big-number small{font-size:16px;color:#776883}.meter{height:13px;border-radius:12px;background:#eee7f4;overflow:hidden}.meter i{display:block;height:100%;background:#aa65dc;border-radius:12px;transition:width .2s}.panel .meter{margin-top:20px}.link{display:inline-block;border:0;background:none;color:var(--purple);font-weight:600;font-size:12px;padding:12px 0;min-height:44px}.back{background:none;border:0;padding:8px 0;color:var(--muted);font-size:13px;min-height:44px;margin-bottom:18px}.topic-title{max-width:720px;margin-bottom:28px}.setup-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.mode-tabs{display:flex;gap:5px;padding:5px;background:#f7f2fc;border:2px solid #eee4f6;border-radius:13px;margin-bottom:27px}.mode-tabs button{flex:1;border:2px solid transparent;border-radius:9px;background:transparent;min-height:44px;font-weight:700;color:#75608a;font-size:12px}.mode-tabs button[aria-pressed=true]{background:#fff;color:var(--purple);border-color:#dbc4ed;border-bottom-width:4px}.checks{display:grid;gap:0}.checks label{display:flex;align-items:center;gap:13px;padding:17px 0;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.checks input{accent-color:var(--purple);width:21px;height:21px;flex-shrink:0}.checks small{display:block;color:var(--muted);font-size:12px}.session-setup{align-self:start;position:sticky;top:20px}.session-setup>small{display:block;font-size:12px;color:var(--muted);text-align:center;margin-top:15px}.field-label{display:block;font-size:12px;font-weight:600;margin-top:25px;margin-bottom:9px}select{width:100%;padding:12px;border:2px solid var(--line);border-radius:11px;color:var(--ink);background:white;min-height:48px}.count-note{font-size:12px!important}.session-header{display:flex;align-items:center;gap:20px;max-width:780px;margin:0 auto 24px}.session-header .back{font-size:22px;margin:0;width:44px}.session-header .meter{flex:1}.session-header>span{font-size:12px;min-width:52px;text-align:right}.study-wrap{max-width:710px;margin:auto}.study-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px;color:var(--muted);font-size:12px}.study-meta span:last-child{font-weight:600;font-size:12px;white-space:nowrap}.card{border:2px solid var(--line);border-bottom-width:6px;border-radius:20px;padding:34px}.question{font-size:23px;line-height:1.7;font-weight:600;overflow-wrap:anywhere}.question em{font-style:normal;color:var(--purple)}.cloze-blank{display:inline-block;min-width:90px;border-bottom:3px solid #b393cb;height:1em}.answer{border-top:2px solid #e9e0f0;margin-top:27px;padding-top:25px;font-size:16px;line-height:1.85}.answer strong{font-weight:700}.answer ol{padding-left:23px}.answer li{padding:5px 0}.source{border-top:1px solid var(--line);margin-top:26px;padding-top:10px}.source summary{color:var(--purple);font-size:12px;cursor:pointer;padding:10px 0;min-height:44px}.source p{font-size:12px;margin:12px 0}.source small{display:block;font-size:12px;color:var(--muted)}figure{margin:24px 0 0;overflow:auto;max-width:100%;padding:4px}figure img{display:block;width:100%;min-width:420px;max-height:520px;object-fit:contain}figcaption{font-size:12px;color:var(--muted);margin-top:12px}.reveal{margin-top:23px}.help{font-size:12px;text-align:center;margin:16px 0;color:var(--muted)}.left{text-align:left}.ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ratings button{border:2px solid var(--line);border-bottom-width:5px;min-height:83px;border-radius:13px;background:white;padding:13px;font-size:17px;transition:transform .12s}.ratings button:hover{background:#faf5ff;border-color:#c6a2e0}.ratings button:active{transform:translateY(3px)}.ratings button:last-child{background:#eaf9f1;border-color:#cce9d9}.ratings strong{display:block;font-size:13px}.ratings small{display:block;font-size:12px;color:var(--muted)}.rating-title{font-size:14px;font-weight:600;margin:23px 0 14px}.skip-mark{display:block;margin:10px auto}.test-nav{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.question-nav{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px;max-height:200px;overflow:auto}.question-nav button{width:44px;height:44px;border:2px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;flex-shrink:0}.question-nav button[aria-current]{border-color:#a765d4;background:#f3e4ff;color:var(--purple)}.results{max-width:580px;margin:40px auto;text-align:center}.result-icon{width:90px;height:84px;background:#d8f4e5;color:#417b5f;border-radius:50%;box-shadow:0 7px 0 #b7ddca;font-size:42px;display:grid;place-items:center;margin:0 auto 35px}.results h1{font-size:29px}.result-counts{display:flex;justify-content:center;gap:35px;margin:35px 0}.result-counts strong{display:block;font-size:30px;color:var(--purple)}.result-counts span{display:block;font-size:12px;color:var(--muted)}.results .button{margin-bottom:15px}.test-breakdown{text-align:left;margin-top:25px}.test-breakdown summary{padding:12px;font-weight:600;color:var(--purple);cursor:pointer}.test-breakdown section{border-top:1px solid var(--line);padding:20px 0;font-size:13px}.test-breakdown section>small{display:block;color:var(--purple);text-transform:uppercase;font-size:12px;margin-bottom:9px}.test-breakdown p{margin-top:12px}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.progress-grid .big-number{margin-top:0}.space-top{margin-top:26px}.test-history>div{display:flex;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.test-history small{margin-left:auto;color:var(--muted)}footer{max-width:1200px;margin:auto;padding:15px 44px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer button{border:0;background:none;color:var(--purple);font-size:12px;padding:10px;min-height:44px}dialog{max-width:470px;width:calc(100% - 36px);padding:28px;border:2px solid var(--line);border-radius:20px;color:var(--ink)}dialog::backdrop{background:#24103177}dialog p{font-size:13px;margin:18px 0}dialog .button{margin-top:15px;margin-right:8px}.danger{background:#a94261;border-color:#7e2c43}.skip{position:absolute;top:-90px;left:10px;z-index:50;background:#fff;padding:12px}.skip:focus{top:8px}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#382347;color:#fff;padding:12px 20px;max-width:90%;font-size:12px;border-radius:10px;display:none;z-index:100}#notice.show{display:block}
@media(max-width:1150px){.sidebar{width:190px;padding:25px 12px}.brand{font-size:16px;gap:2px}.brand img{width:35px;height:35px}.shell{margin-left:190px}main{padding:30px}.home-grid{gap:24px;grid-template-columns:minmax(280px,1fr) minmax(240px,.8fr)}.topic-row:nth-child(even){padding-left:25px}.topic-row{gap:16px;padding-left:0}.topic-row .node{min-width:57px;width:57px;height:55px}.topic-row:after{left:45px}.topic-row:nth-child(even):after{left:58px}.resume h2{font-size:19px}.panel{padding:20px}}
@media(max-width:900px){.sidebar{display:none}.shell{margin:0}.mobile-brand{display:block;color:var(--purple);font-weight:700}.course-label{display:none}header{padding:0 24px;height:65px}.setup-layout{grid-template-columns:1.2fr 1fr}.home-grid{gap:25px}}
@media(max-width:650px){main{padding:26px 20px 40px}.heading h1{font-size:29px}.pill{font-size:12px}.resume{display:block;padding:21px;margin-bottom:28px}.resume h2{font-size:21px;margin:7px 0}.resume .button{margin-top:20px;width:100%}.home-grid{display:flex;flex-direction:column}.home-aside{position:static;order:-1}.home-aside .panel{display:none}.home-aside .panel:first-child{display:block;padding:15px 18px;margin:0}.home-aside .panel h2,.home-aside .panel .big-number,.home-aside .panel>p,.home-aside .panel .meter{display:none}.home-aside .panel .button{margin:0;min-height:45px;font-size:12px}.home-aside:has(button:disabled){display:none}.topic-row{padding-left:15px;gap:19px}.topic-row:nth-child(even){padding-left:43px}.topic-row .node{min-width:61px;width:61px;height:58px}.topic-row strong{font-size:14px}.topic-row:after{left:59px}.topic-row:nth-child(even):after{left:73px}.section-title h2{font-size:20px}.setup-layout{display:block}.session-setup{position:static}.topic-title{font-size:25px}.panel{padding:20px}.checks label{font-size:12px}.session-header{gap:12px;margin-bottom:20px}.session-header>span{font-size:12px}.study-meta{font-size:12px}.card{padding:23px 20px}.question{font-size:20px;line-height:1.65}.answer{font-size:14px}.ratings{gap:7px}.ratings button{padding:12px 7px;font-size:13px}.ratings strong{font-size:12px}.ratings small{font-size:12px}.results{margin-top:20px}.results h1{font-size:25px}.result-counts{gap:22px}.result-counts span{font-size:12px}.progress-grid{gap:10px;grid-template-columns:1fr}.progress-grid .panel{display:flex;align-items:center;gap:25px;margin:0}.progress-grid p{margin:0}.test-history>div{gap:12px;font-size:12px;flex-wrap:wrap}.test-history small{margin:0}footer{padding:12px 20px}.topic-row .node{flex-shrink:0}dialog{padding:23px}.test-nav .button{padding:13px 16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.button:active:not(:disabled),.topic-row:active .node,.ratings button:active{transform:none}}
.mobile-nav{display:none}@media(max-width:900px){.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:2px solid var(--line);padding:7px 14px max(7px,env(safe-area-inset-bottom));gap:7px;justify-content:space-around}.mobile-nav .nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:4px 8px;min-height:54px;font-size:18px}.mobile-nav .nav span{font-size:12px}.shell{padding-bottom:80px}#notice{bottom:85px}}
.review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px}.review-toolbar .back{margin:0;font-size:12px}.review-toolbar small{font-size:12px;color:var(--muted)}.text-only{display:flex;align-items:center;gap:12px;font-weight:600;font-size:13px;margin-top:22px;min-height:44px}.text-only input{accent-color:var(--purple);width:21px;height:21px}.result-mark{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;margin-bottom:15px}.result-mark select{width:170px;font-size:12px;padding:8px}
.subtopic-picker summary{font-size:12px;font-weight:600;color:var(--purple);padding:12px 0;cursor:pointer;min-height:44px}.subtopic-picker .checks{margin-top:8px}

.subject-switch{display:flex;align-items:center;gap:18px;min-height:44px}.subject-switch>span:last-child{font-size:12px;color:var(--purple);font-weight:600}.upcoming{grid-column:1/-1;margin-top:12px}.upcoming>p{margin:8px 0 18px}.upcoming>div{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.upcoming>div>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.upcoming small{white-space:nowrap;color:var(--muted);font-size:12px}.answer-visual{margin-top:24px;padding:15px;background:#f5faff;border:1px solid #d3e4ef;border-radius:14px}.answer-visual svg{display:block;width:100%;height:auto}.physics .node{background:#e6f5ff;border-color:#b4d9ed;color:#286789}@media(max-width:650px){header .mobile-brand{display:none}.subject-switch{gap:12px}.upcoming>div{grid-template-columns:1fr}.upcoming>div>div{font-size:13px}.answer-visual{padding:8px}}

.physics .node.started{color:#fff;background:#7b2cbf;border-color:#9a5ecb}

.diagram-enlarge{display:block;min-height:44px;margin:8px auto 0}.enlarged-answer{overflow:auto;margin:20px 0}.enlarged-answer svg{display:block;width:100%;min-width:600px;height:auto}dialog:has(.enlarged-answer){width:min(850px,calc(100% - 24px));max-width:none}.enlarged-answer:focus-visible{outline:3px solid #a667d4;outline-offset:3px}

.review-due{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;margin:0 0 30px;background:#f1faf5;border:1px solid #cde8d8;border-radius:16px}.review-due strong{font-size:16px}.review-due p{font-size:12px;margin-top:6px}.review-due .button{flex-shrink:0}@media(max-width:650px){.review-due{display:block}.review-due .button{margin-top:16px;width:100%}}

.marking-note{margin-top:16px;font-size:12px;color:#655271;border-top:1px solid #eee2f4;padding-top:12px}

/* A stable action dock keeps reveal and recall ratings at the same coordinates. */
.revision-session main{padding-bottom:180px}
.revision-actions{position:fixed;bottom:0;left:230px;right:0;z-index:35;background:#fff;border-top:1px solid var(--line);padding:12px 30px max(16px,env(safe-area-inset-bottom))}
.revision-actions-inner{position:relative;max-width:710px;height:116px;margin:auto;padding-top:36px}
.revision-actions .reveal{margin:0;height:80px}
.revision-actions .ratings{height:80px}
.revision-actions .ratings button{min-height:80px;padding:6px 10px}
.revision-actions .rating-title{position:absolute;top:0;left:0;margin:0;font-size:12px;line-height:28px}
.revision-actions .skip-mark{position:absolute;right:0;top:-8px;margin:0;font-size:12px;padding:0;min-height:44px}
.revision-actions .help{position:absolute;top:0;left:0;right:0;margin:0;line-height:28px}
@media(max-width:1150px){.revision-actions{left:190px}}
@media(max-width:900px){.revision-actions{left:0}.revision-session .mobile-nav{display:none}.revision-session .shell{padding-bottom:0}}
@media(max-width:650px){.revision-actions{padding:10px 20px max(12px,env(safe-area-inset-bottom))}.revision-actions .rating-title{font-size:12px}.revision-actions .help{font-size:12px}}
/* Shared study controls: keep actions reachable without covering content. */
.has-dock main{padding-bottom:calc(var(--dock-height,160px) + 40px)}
.has-dock .mobile-nav{display:none}.has-dock .shell{padding-bottom:0}
.action-dock{position:fixed;left:230px;right:0;bottom:0;z-index:35;background:white;border-top:1px solid var(--line);padding:12px 30px max(14px,env(safe-area-inset-bottom))}
.action-dock-inner{max-width:710px;margin:auto}.action-dock .test-nav{margin:0}.action-dock .test-nav .button{flex:1}.action-dock .help{margin:8px 0 0}.action-dock .review-toolbar{margin:0 0 6px}.action-dock .rating-title{margin:0 0 6px;font-size:12px}.action-dock .ratings button{min-height:54px;font-size:13px;padding:8px}.action-dock .skip-mark{margin:0 auto;min-height:44px}.action-dock #eligible{margin:0 0 8px;font-size:12px}.session-header{flex-wrap:wrap}.session-header .undo{margin-left:auto;padding:4px 8px;min-height:44px}.results .undo{display:block;margin:auto}.search-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.search-box{display:flex;gap:8px;margin-bottom:16px}.search-box input{width:100%;min-width:0;min-height:48px;border:2px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--ink);background:white;font-size:16px}.search-box .link{padding:8px}.search-result{text-align:left;border:1px solid var(--line);border-radius:12px;background:#faf7fd;padding:14px;min-height:60px}.search-result strong,.search-result small{display:block}.search-result small{color:var(--muted);font-size:12px;margin-top:5px}.empty-search{padding:16px 0}.session-setup>small{display:none}
@media(max-width:1150px){.action-dock{left:190px}}
@media(max-width:900px){.action-dock{left:0}}
@media(max-width:650px){.action-dock{padding:10px 20px max(10px,env(safe-area-inset-bottom))}.action-dock .ratings{gap:8px}.action-dock .ratings button{font-size:12px}.session-header .undo{font-size:12px}.has-dock .session-setup{margin-bottom:0}.has-dock .field-label{margin-top:12px}}
/* Original KPC mark and consistent, platform-independent navigation icons. */
.brand{gap:10px}.brand img{width:44px;height:38px;object-fit:contain;flex-shrink:0}.brand>span{white-space:nowrap;font-size:17px}.nav-icon{display:block;width:24px;height:24px;flex-shrink:0}.nav{gap:14px}.mobile-brand img{width:34px;height:28px;object-fit:contain}.mobile-nav .nav-icon{width:22px;height:22px}
@media(max-width:1150px){.brand{gap:7px}.brand img{width:36px;height:32px}.brand>span{font-size:14px}}
@media(max-width:900px){.mobile-brand{display:flex;align-items:center;gap:7px}}
@media(max-width:650px){header .mobile-brand{display:flex;font-size:12px;min-height:44px}header{padding:0 16px;gap:10px}header #saved{display:none}.subject-switch>span:last-child{font-size:12px}}

.startup-loader{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;pointer-events:none;overflow:clip}.startup-loader p{font-size:13px;margin-top:18px;color:var(--muted)}

.answer .why{margin:.85rem 0 0;padding-top:.75rem;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);font-size:.92em;line-height:1.55}
.answer .why span{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:.2rem}
.question code,.answer code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.92em;background:color-mix(in srgb,currentColor 7%,transparent);padding:.05em .3em;border-radius:4px}
.question pre.code,.answer pre.code{font-weight:500;margin:.6rem 0;padding:.7rem .9rem;border-radius:8px;background:color-mix(in srgb,currentColor 6%,transparent);overflow-x:auto;white-space:pre;line-height:1.5}
.question pre.code code,.answer pre.code code{background:none;padding:0;font-size:.9em}
.answer-visual img{max-width:100%;height:auto}

/* Dark mode: same KPC look on a deep purple-black, for studying at night. Diagrams stay on light panels. */
@media(prefers-color-scheme:dark){
:root{color-scheme:dark;--bg:#1d1424;--surface:#271b31;--raised:#2f2239;--purple:#c99bf0;--ink:#eadff2;--muted:#b3a2c1;--line:#3f2f4b;--lav:#3a2550;--mint:#1f3a2e;--btn:#8b45cc;--btn-edge:#4e1d7a}
body{background:var(--bg)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,figure:focus-visible,.enlarged-answer:focus-visible{outline-color:#dcbcf7}
.nav{background:transparent;color:var(--muted)}.nav.active{background:var(--lav);color:var(--purple);border-color:#6b4a88}
.nav-icon circle{fill:var(--bg)}.nav.active .nav-icon circle{fill:var(--lav)}
.pill{background:var(--raised)}
.button{background:var(--btn);border-bottom-color:var(--btn-edge);color:#fff}
.white,.outline{background:var(--raised);color:var(--purple);border-color:#5a3f70}
.danger{background:#a94261;border-color:#6e2539;color:#fff}
.resume{background:#4a2370;border-bottom-color:#2f1449}.resume small{color:#e7cafa}.resume p{color:#eddafa}
.resume .button.white,.resume .white{background:#f3e7ff;color:#58218a;border-color:#c9a6e6}
.topic-row{background:transparent;color:var(--ink)}.topic-row:after{background:var(--line)}
.topic-row .node{box-shadow:0 7px 0 #5b2a82,inset 0 0 0 5px #ffffff26}
.panel,.card,dialog,.search-result{background:var(--surface)}
.big-number small{color:var(--muted)}
.meter{background:#3a2b46}.meter i{background:#b77de6}
.mode-tabs{background:var(--raised);border-color:var(--line)}.mode-tabs button{color:var(--muted)}.mode-tabs button[aria-pressed=true]{background:var(--surface);color:var(--purple);border-color:#6b4a88}
select,.search-box input{background:var(--raised);color:var(--ink);border-color:#53406a}
.answer{border-top-color:var(--line)}
.cloze-blank{border-bottom-color:#9a76b8}
figure{background:#f6f1fa;border-radius:14px;padding:10px}figure img{background:#fff;border-radius:6px}
.ratings button{background:var(--raised);color:var(--ink)}.ratings button:hover{background:#3a2a47;border-color:#7b5a96}
.ratings button:last-child{background:#1f3a2e;border-color:#2f5a45}.ratings button:last-child:hover{background:#264536;border-color:#3d7259}
.ratings button:last-child small{color:#b7d8c6}
.question-nav button{background:var(--raised)}.question-nav button[aria-current]{border-color:#a77bc8;background:var(--lav);color:var(--purple)}
.result-icon{background:#1f3a2e;color:#9fe0bf;box-shadow:0 7px 0 #142a20}
dialog{color:var(--ink);border-color:var(--line)}dialog::backdrop{background:#000000b3}
.skip{background:var(--surface);color:var(--ink)}
#notice{background:#eadff2;color:#1d1424}
.mobile-nav{background:var(--bg)}
.answer-visual{background:#f5faff;border-color:#3f566a;color:#382347}.answer-visual .link{color:#7b2cbf}
.answer-visual .link:focus-visible{outline-color:#7b2cbf}
.enlarged-answer{background:#f6f1fa;color:#382347;border-radius:12px;padding:8px}
.review-due{background:#1c3328;border-color:#2c5241}.review-due p{color:#b7d8c6}
.marking-note{color:var(--muted);border-top-color:var(--line)}
.revision-actions,.action-dock{background:var(--bg)}
.startup-loader{background:var(--bg)}
/* The mark PNG has a half-white background: sit it on a white chip so it does not show as a grey box. */
.brand img,.mobile-brand img{background:#fff;border-radius:9px;padding:2px}
.physics .node{background:#1f3447;border-color:#35556e;color:#a9d6f0}
}
