:root{--bg-main: #f4f2ee;--bg-accent: #e8ece7;--surface: #fffdf8;--surface-subtle: #f7f5ef;--surface-muted: #eeebe3;--ink: #1e2827;--muted: #66716d;--line: #ded8cc;--primary: #315f63;--primary-hover: #23484b;--soft-chip: #e7eee9;--success: #2f6f4f;--warning: #8a6424;--focus: #7a9c99;--radius: 12px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{min-height:100vh;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:var(--bg-main)}body.exam-body{background:var(--bg-main)}body.modal-open{overflow:hidden}.site-header,.page-content,.site-footer{width:min(1120px,calc(100% - 2rem));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid rgba(222,216,204,.72)}.brand{font-size:1.05rem;font-weight:700;color:var(--ink);text-decoration:none}.top-nav a{color:var(--muted);text-decoration:none;font-weight:600}.top-nav a.is-active,.footer-links a.is-active{color:var(--ink);text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:.35em}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-150%);border:1px solid var(--primary);border-radius:8px;padding:.55rem .8rem;background:var(--surface);color:var(--ink);font-weight:700;text-decoration:none;transition:transform .18s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}.page-content{padding:.5rem 0 3rem;display:grid;gap:1.25rem}.page-content-wide{width:min(1440px,calc(100% - 1.4rem));padding-top:1rem}.hero{background:var(--surface);border:0;border-top:3px solid var(--primary);border-radius:0;padding:2.25rem 0 1.75rem}.hero-home{background:var(--surface)}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:2rem;align-items:end}.home-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.home-metrics div{padding:.65rem 0 .7rem;border-top:1px solid rgba(49,95,99,.26);background:transparent}.home-metrics strong,.home-metrics span{display:block}.home-metrics strong{font-family:IBM Plex Mono,monospace;font-size:1.55rem;line-height:1;font-variant-numeric:tabular-nums}.home-metrics span{margin:.35rem 0 0;color:var(--muted);font-size:.86rem}.hero-tight{padding-bottom:1.5rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--primary);font-weight:700}.hero h1{margin:.65rem 0;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;line-height:1;letter-spacing:-.01em;font-size:clamp(2rem,5vw,3.55rem)}.lead{margin:0;max-width:68ch;color:var(--muted)}.meta{margin:.8rem 0 0;color:var(--muted);font-size:.95rem}.meta-tight{margin-top:1rem}.panel{background:var(--surface);border:0;border-top:1px solid var(--line);border-radius:0;padding:1.15rem 0 0}.panel-ledger{background:transparent}.dashboard-resume{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem;border:0;border-left:4px solid var(--primary);border-radius:0;background:var(--surface);box-shadow:none}.dashboard-resume h2,.dashboard-resume p{margin:0}.dashboard-resume h2{margin-top:.3rem;font-size:1.25rem}.panel-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.panel-top h2{margin:0;font-size:1.35rem}.panel-top-ledger{align-items:end;padding-bottom:.85rem;margin-bottom:0;border-bottom:1px solid var(--line)}.panel-top span{color:var(--muted);font-size:.95rem}.semester-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.semester-grid-large{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.semester-card{display:block;background:var(--surface-subtle);border:1px solid rgba(222,216,204,.82);border-radius:10px;padding:.95rem;text-decoration:none;color:var(--ink);transition:transform .18s ease,border-color .18s ease}.semester-card:hover{transform:translateY(-3px);border-color:#315f635c}.term-ledger{display:grid}.term-row{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(180px,.85fr) auto;gap:1.2rem;align-items:center;min-height:104px;padding:1rem 0;border-bottom:1px solid var(--line)}.term-row h3,.term-row p{margin:0}.term-row h3{font-size:1.12rem;letter-spacing:-.005em}.term-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.term-row-actions{justify-content:flex-end}.semester-card h3,.semester-card p{margin:0}.semester-card p{margin-top:.35rem;color:var(--muted);font-size:.95rem}.semester-card-stack{display:flex;flex-direction:column;gap:1rem;justify-content:space-between}.semester-card-strong{background:var(--surface);min-height:220px}.semester-card-minimal{min-height:140px}.semester-card-minimal .semester-actions{margin-top:auto}.dashboard-semester-card{min-height:178px}.semester-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.term-progress-wrap{display:grid;gap:.45rem}.term-progress-track{height:.45rem;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.term-progress-fill{display:block;width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .28s ease}.term-progress-label{font-size:.86rem}.semester-stats{display:flex;gap:.45rem;flex-wrap:wrap}.dashboard-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1.1rem}.dashboard-card{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#ffffffd1}.dashboard-card strong,.dashboard-card p{display:block}.dashboard-card strong{margin-top:.3rem;font-size:1.4rem}.dashboard-card p{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}.dashboard-label{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.semester-sub{font-size:.85rem}.semester-actions{display:flex;gap:.55rem;flex-wrap:wrap}.search-wrap{display:grid;gap:.45rem;margin:0 0 1rem}.search-wrap span{font-size:.95rem;color:var(--muted)}.search-wrap input{height:2.75rem;border:1px solid var(--line);border-radius:6px;padding:0 .85rem;font:inherit;background:var(--surface)}.search-wrap input:focus,.search-wrap select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.search-wrap select{height:2.75rem;border:1px solid var(--line);border-radius:6px;padding:0 .85rem;font:inherit;background:var(--surface);color:var(--ink)}.material-browser-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.material-browser-header h2,.material-browser-header p{margin:0}.material-browser-header h2{margin-top:.35rem;font-size:1.25rem}.material-browser-header>span{color:var(--muted);font-size:.95rem;white-space:nowrap}.material-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px);gap:.75rem;margin-bottom:1rem}.material-tools .search-wrap{margin:0}.material-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}.material-list{display:grid;border-top:1px solid var(--line)}.material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}.material-row h3,.material-row p{margin:0}.material-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.material-row-main .chip{justify-self:start}.material-row-actions{justify-self:end}.material-card{border:1px solid rgba(222,216,204,.82);border-radius:10px;padding:.9rem;background:var(--surface);display:grid;gap:.7rem}.material-header{display:flex;gap:.45rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--soft-chip);color:var(--primary);font-size:.78rem;font-weight:600}.chip-muted{background:var(--surface-muted);color:var(--muted)}.material-card h3{margin:0;font-size:1.05rem}.material-card-minimal{gap:.5rem;background:var(--surface)}.material-card-top{display:flex;justify-content:flex-start}.hint{margin:0;color:var(--muted);font-size:.93rem}.open-link,.back-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:6px;padding:.5rem .8rem;text-decoration:none;background:var(--primary);color:#fffdf8;font-weight:600;transition:background .18s ease}.ghost-link,.ghost-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:6px;padding:.5rem .8rem;text-decoration:none;border:1px solid var(--line);background:var(--surface);color:var(--primary);font-weight:600;font:inherit;cursor:pointer}.open-link:hover,.back-link:hover{background:var(--primary-hover)}.ghost-link:hover,.ghost-button:hover{background:var(--surface-subtle)}.text-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.5rem .15rem;color:var(--primary);font-weight:600;text-decoration:none;transition:color .18s ease,transform .15s ease}.text-link:hover{color:var(--primary-hover)}.mark-done-button{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--primary);padding:.5rem .8rem;font:inherit;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .15s ease}.mark-done-button:hover{background:var(--surface-subtle)}.mark-done-button.is-done{border-color:#2f6f4f6b;background:#2f6f4f14;color:var(--success)}.mark-done-dot{width:.62rem;height:.62rem;border-radius:999px;border:1px solid currentColor;opacity:.58}.mark-done-button.is-done .mark-done-dot{background:currentColor;opacity:1}.button-reset{border:0;cursor:pointer;font:inherit}.mark-done-button.button-reset{border:1px solid var(--line)}.mark-done-button.button-reset.is-done{border-color:#2f6f4f6b}.hero-actions{margin-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap}.exam-block{display:grid;gap:1rem}.exam-list{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;color:var(--muted)}.exam-meta-row{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.question-card{border:1px solid rgba(222,216,204,.86);border-radius:10px;padding:1rem;background:var(--surface)}.question-card h3,.question-card p{margin:0}.question-card p{margin-top:.6rem}.answer-wrap{display:grid;gap:.45rem}.answer-wrap span{color:var(--muted)}.answer-wrap textarea{resize:none;min-height:120px;overflow:hidden;border:1px solid var(--line);border-radius:10px;padding:1rem;font:inherit;font-size:1.02rem;line-height:1.75;background:var(--surface)}.answer-wrap textarea:focus{outline:2px solid var(--focus);outline-offset:1px}.exam-actions{display:flex;gap:.55rem;flex-wrap:wrap}.result-list{display:grid;gap:.75rem}.result-card{border:1px solid rgba(222,216,204,.86);border-radius:10px;padding:.95rem;background:var(--surface)}.result-card h3,.result-card p{margin:0}.result-card p+p{margin-top:.65rem}.empty-state{margin:.9rem 0 0;color:var(--muted);font-weight:500}.empty-state-box{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle)}.empty-state-box h3,.empty-state-box p{margin:0}.empty-state-box p{margin-top:.35rem}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:0 0 2rem;color:var(--muted);font-size:.92rem}.site-footer p{margin:0}.footer-links{display:flex;gap:.8rem;flex-wrap:wrap}.footer-links a{color:var(--muted);text-decoration:none;font-weight:600}.footer-links a:hover{color:var(--primary)}.prose-panel{display:grid;gap:.7rem;max-width:760px}.prose-panel h2,.prose-panel p{margin:0}@media(max-width:720px){.site-header,.page-content,.site-footer{width:min(1120px,calc(100% - 1.2rem))}.home-hero-grid,.home-metrics{grid-template-columns:1fr}.dashboard-resume{align-items:stretch;flex-direction:column}.hero{padding:1.3rem}.panel{padding:.95rem}.panel-ledger{padding-left:0;padding-right:0}.panel-top-ledger,.term-row,.material-row,.material-row-main{display:grid;grid-template-columns:1fr}.term-row{gap:.85rem;align-items:stretch}.term-row-actions,.material-row-actions{justify-content:flex-start;justify-self:start}.material-browser-header,.material-tools{grid-template-columns:1fr}.material-browser-header{display:grid}.material-browser-header>span{white-space:normal}}.hero-exam{background:var(--surface)}.exam-view-shell{display:grid;gap:1rem}.exam-topbar{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.6rem .8rem;position:sticky;top:0;z-index:20;background:#f4f2eee6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:0;border-bottom:1px solid var(--line);box-shadow:none;margin-bottom:.25rem}.exam-topbar h1,.exam-topbar p{margin:0}.exam-topbar h1{margin-top:.3rem;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.15rem,3vw,1.6rem);letter-spacing:-.01em}.exam-topbar-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.exam-shell{padding:0;overflow:hidden}.exam-shell-full{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:none}.exam-intro-card,#exam-summary,#exam-result{padding:1.2rem}.exam-runner{grid-template-columns:minmax(250px,300px) minmax(0,1fr);align-items:start;gap:0}.exam-runner-direct{grid-template-columns:1fr}.session-sidebar{display:grid;gap:1rem;padding:1.1rem;background:var(--surface-subtle);border-right:1px solid var(--line)}.session-main{display:grid;gap:1.15rem;padding:1.15rem 1.25rem 1.35rem;background:var(--surface)}.session-main-minimal{max-width:980px;width:100%;margin:0 auto}.session-overview-bar{display:grid;gap:.9rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:#fffdf8e6}.session-overview-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}.session-status-card h2,.session-status-card h3,.review-card h4,.review-source-card h4{margin:0}.panel-top-tight{margin-bottom:0}.progress-bar-wrap{padding:0 0 .25rem}.progress-bar{width:100%;height:.45rem;border-radius:999px;background:var(--surface-muted);overflow:hidden}.progress-bar-fill{width:0%;height:100%;background:var(--primary);border-radius:inherit;transition:width .3s ease}.question-overview{display:grid;gap:.8rem;padding:.8rem 0 .95rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.question-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.question-overview-stats div{padding:.55rem 0;border-radius:0;background:transparent;border-top:1px solid rgba(49,95,99,.22)}.question-overview-stats strong,.question-overview-stats span{display:block}.question-overview-stats strong{font-family:IBM Plex Mono,monospace;font-size:1.15rem;line-height:1;font-variant-numeric:tabular-nums}.question-overview-stats span{margin-top:.25rem;color:var(--muted);font-size:.78rem}.question-nav-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.35rem;max-height:7.45rem;overflow:auto;padding-right:.15rem}.question-nav-item{min-width:2rem;height:2rem;border-radius:5px;border:1px solid var(--line);background:var(--surface);color:var(--primary);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;transition:transform .15s ease,background .18s ease,border-color .18s ease,color .18s ease}.question-nav-item:hover{border-color:#315f6361;background:var(--surface-subtle)}.question-nav-item.is-current{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:none}.question-nav-item.is-draft:not(.is-current){border-color:#8a64246b;background:#f7efe0;color:var(--warning)}.question-nav-item.is-submitted:not(.is-current),.question-nav-item.is-revealed:not(.is-current){border-color:#2f6f4f61;background:#edf4ed;color:var(--success)}.question-nav-item.is-unsure{box-shadow:inset 0 -3px 0 var(--warning)}.exam-meta-row-strong{align-items:start}.toggle-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;padding:.55rem .9rem;border:1px solid var(--line);background:var(--surface);color:var(--primary);font-weight:600}.toggle-chip.is-active{background:#f7efe0;border-color:#8a64246b;color:var(--warning)}.question-card-strong{padding:1.35rem 1.45rem;background:var(--surface);border-left:4px solid var(--primary);animation:fade-rise .22s ease}.question-card-strong,.answer-panel{transition:opacity .12s ease,transform .12s ease}.question-card-strong.is-transitioning,.answer-panel.is-transitioning{opacity:0;transform:translateY(6px)}.question-prompt{font-size:1.18rem;line-height:1.8}.question-excerpt{padding-top:.5rem;border-top:1px dashed var(--line)}.answer-panel,.review-panel{display:grid;gap:1rem;animation:fade-rise .22s ease}.answer-meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.word-count-wrap{display:grid;gap:.3rem}.word-goal-bar{width:120px;height:3px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.word-goal-fill{width:0%;height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease,background .3s ease}.word-goal-fill.is-complete{background:var(--success)}.word-goal-label{font-size:.8rem;transition:color .25s ease}.word-goal-label.is-complete{color:var(--success)}.shortcuts-heading{margin-bottom:.6rem}.exam-actions-spread{justify-content:space-between}.review-header{display:grid;gap:.35rem}.review-header h3{margin:0;font-size:1.35rem}.review-stage{display:grid;gap:.9rem}.review-grid{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.review-card,.review-source-card,.summary-item{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.review-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.1rem}.review-card-header h4{margin:0}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:6px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.95rem;color:var(--muted);transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.copy-btn:hover{background:var(--surface-subtle);border-color:#315f6357;color:var(--primary)}.copy-btn.copy-success{background:#edf4ed;border-color:#2f6f4f61;color:var(--success)}.review-card-answer{background:#f3f7f1;border-left:3px solid var(--success)}.review-card-answer h4{color:var(--success);font-size:1rem}.exam-summary-panel,.exam-result-panel{animation:fade-rise .24s ease}.result-header{display:grid;gap:.35rem}.result-header h2,.result-header p{margin:0}.review-card,.review-source-card{padding:1rem}.review-card{display:flex;flex-direction:column;min-height:180px}.review-source-card{display:grid;gap:.7rem;background:var(--surface-subtle)}.review-card-answer{background:#f3f7f1}.review-copy{margin-top:.75rem;color:var(--ink);line-height:1.7;max-width:72ch}.summary-list{display:grid;gap:.7rem}.summary-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;padding:.95rem 1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.summary-item:hover{background:var(--surface-subtle);border-color:#315f6357}.summary-item-unsure{border-color:#8a64246b;background:#f7efe0}.summary-item-unanswered span{color:var(--muted)}.summary-item-unsure span{color:var(--warning)}.summary-item strong,.summary-item span,.result-card-top h3{margin:0}.result-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.result-toggle{width:100%;text-align:left;background:transparent}.result-toggle .hint{margin-top:.35rem}.result-card-body{display:grid;gap:.7rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.result-card.is-open{background:var(--surface);box-shadow:none}.chip-success{background:#edf4ed;color:var(--success)}.chip-warm{background:#f7efe0;color:var(--warning)}.exit-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:80}.exit-modal[hidden]{display:none!important}.exit-modal-backdrop{position:absolute;inset:0;background:#0c182580;backdrop-filter:blur(4px)}.exit-modal-card{position:relative;z-index:1;width:min(560px,calc(100% - 1.4rem));padding:1.45rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 28px 60px #2b302d2e;animation:fade-rise .18s ease}.exit-modal-card h2{margin:.45rem 0 .55rem;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;font-size:1.6rem;letter-spacing:-.01em}@keyframes fade-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.exam-topbar{flex-direction:column}.exam-runner{grid-template-columns:1fr}}@media(max-width:720px){.review-grid{grid-template-columns:1fr}.exam-actions-spread,.summary-item,.answer-meta-row,.exam-topbar-actions,.session-overview-actions{flex-direction:column;align-items:stretch}}button,a.open-link,a.ghost-link,a.back-link,a.text-link{transition:transform .15s ease,background .18s ease,border-color .18s ease,opacity .18s ease!important}button:active,a.open-link:active,a.ghost-link:active,a.back-link:active,a.text-link:active{transform:scale(.96)}body.exam-body{transition:background .4s ease}body.exam-body:has(.answer-wrap textarea:focus){background:var(--bg-main)}.session-overview-bar{position:sticky;top:1rem;z-index:10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 12px #00000008}@media(prefers-color-scheme:dark){:root{--bg-main: #101513;--bg-accent: #1b2521;--surface: #18211e;--surface-subtle: #141c19;--surface-muted: #26302c;--ink: #e6ece7;--muted: #a1aaa5;--line: #2f3a35;--primary: #8fb9b3;--primary-hover: #b4d2cc;--soft-chip: #23342f;--success: #4ade80;--warning: #f3c46f;--focus: #94c5bd}body,body.exam-body{background:var(--bg-main)}.panel,.dashboard-card,.dashboard-resume,.material-card,.question-card,.question-overview,.question-overview-stats div,.exam-shell-full,.session-main,.result-card,.review-card,.review-source-card,.summary-item,.prose-panel{background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)}.panel-ledger,.question-overview,.question-overview-stats div{background:transparent!important}.hero,.hero-home,.session-sidebar{background:var(--surface)!important;border-color:var(--line)!important}.semester-card,.search-wrap input,.search-wrap select,.answer-wrap textarea,.mark-done-button{background:var(--surface-subtle)!important;border-color:var(--line)!important;color:var(--ink)!important}.home-metrics div{background:transparent!important;border-color:var(--line)!important}.term-progress-track{background:var(--surface-muted)!important}.text-link{color:var(--primary-hover)!important}.semester-card:hover{border-color:var(--primary)!important}.ghost-link,.ghost-button,.toggle-chip{background:var(--surface-subtle)!important;border-color:var(--line)!important;color:var(--primary-hover)!important}.ghost-link:hover,.ghost-button:hover,.toggle-chip:active{background:var(--surface-muted)!important}.review-card-answer{background:#064e3b59!important;border-color:#0f6648!important}.review-card-answer h4{color:#4ade80!important}.chip-soft,.chip-muted{background:var(--surface-muted)!important;color:var(--ink)!important}.exam-topbar{background:#101513e6!important}.copy-btn:hover{background:var(--surface-muted)!important;color:var(--primary-hover)!important}.summary-item:hover{background:var(--surface-subtle)!important}.summary-item-unsure{background:#7a4f1226!important}.progress-bar{background:var(--surface-muted)!important}.question-nav-item{background:var(--surface-subtle)!important;border-color:var(--line)!important;color:var(--ink)!important}.question-nav-item:hover{background:var(--surface-muted)!important;border-color:var(--primary)!important}.question-nav-item.is-current{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.question-nav-item.is-draft:not(.is-current){background:#7a4f1238!important;border-color:#d7a23f!important;color:#f7d391!important}.question-nav-item.is-submitted:not(.is-current),.question-nav-item.is-revealed:not(.is-current){background:#064e3b59!important;border-color:#0f6648!important;color:#86efac!important}.word-goal-bar{background:var(--surface-muted)!important}.shortcuts-popover{background:var(--surface)!important;border-color:var(--line)!important}.shortcuts-popover kbd{background:var(--surface-muted)!important;border-color:var(--line)!important;color:var(--ink)!important}.shortcuts-popover span{color:var(--muted)!important}.exit-modal-card{background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)!important;box-shadow:0 28px 60px #00000073!important}.exit-modal-backdrop{background:#000000b3!important}}.shortcut-hint-btn{width:2rem;height:2rem;padding:0;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}.shortcuts-popover{position:absolute;top:calc(100% + .5rem);right:0;z-index:40;width:260px;background:#fffffff7;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #0c1c2b24;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fade-rise .15s ease}.exam-view-shell{position:relative}.shortcuts-popover-inner{padding:1rem 1.1rem}.shortcuts-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.shortcuts-list li{display:flex;align-items:center;gap:.6rem}.shortcuts-list span{color:var(--muted);font-size:.88rem}kbd{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .4rem;border-radius:5px;border:1px solid var(--line);background:var(--surface-subtle);font-family:inherit;font-size:.78rem;font-weight:600;color:var(--ink);white-space:nowrap}.semester-question-count{margin-top:.2rem;font-size:.88rem}.done-badge{color:var(--success);background:#1a7a4c1a;padding:.1rem .4rem;border-radius:4px;white-space:nowrap}@media(max-width:980px){.exam-topbar{position:relative;border-radius:0;box-shadow:none;background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(max-width:720px){.shortcuts-popover{right:0;width:calc(100vw - 2rem);max-width:320px}.question-overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.question-nav-list{grid-template-columns:repeat(auto-fill,minmax(2.15rem,1fr));max-height:6.8rem}.exam-actions-spread .open-link,.exam-actions-spread .ghost-button,.exam-actions-spread .ghost-link{flex:1;justify-content:center}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
