@font-face{font-family:Instrument;src:url('/fonts/instrument-serif-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{font-family:Arial,Helvetica,sans-serif;color:#202625;background:#f7f8f5;font-synthesis:none;--paper:#f7f8f5;--ink:#202625;--muted:#67706d;--blue:#293fdf;--blue-dark:#2033b7;--line:#dfe3dc;--lime:#d5ed8c;--serif:Instrument,Georgia,serif;--mono:'SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;min-width:320px}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{cursor:default;opacity:.42}
button{color:inherit}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #dd7336;outline-offset:4px}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
.icon{display:inline-block;flex:none;vertical-align:middle}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-80px;padding:14px 20px;background:var(--ink);color:white;z-index:20}
.skip-link:focus{top:15px}
.site-header{height:100px;max-width:1600px;margin:auto;padding:0 52px;display:flex;align-items:center;justify-content:space-between;gap:26px;border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:center;gap:16px}
.mark{font-family:var(--serif);font-size:2.625rem;line-height:1;position:relative;letter-spacing:-2px;padding-right:15px}
.mark-dot{width:8px;height:8px;background:var(--blue);position:absolute;right:0;top:4px;border-radius:50%}
.wordmark-name{font-size:0.875rem;letter-spacing:2.7px;font-weight:700;line-height:1.65;border-left:1px solid #cdd2cb;padding-left:17px}
.wordmark-caption{font:0.5625rem/1.2 var(--mono);letter-spacing:1px;display:block;color:var(--muted)}
.main-nav{display:flex;align-items:center;gap:6px;font-size:0.875rem;background:#edf0ea;border:1px solid #e7eae3;padding:5px;border-radius:30px}
.main-nav a{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:22px;min-height:40px;transition:background .15s}
.main-nav a[aria-current]{background:white;box-shadow:0 2px 5px #1c25280a}
.main-nav a:hover{background:#fff}
.nav-count{font:0.6875rem var(--mono);color:var(--muted)}
.publisher{display:flex;align-items:center;gap:12px;font:0.625rem var(--mono);letter-spacing:1.7px;color:var(--muted)}
.publisher .icon{width:15px;height:15px}
.workspace{max-width:1370px;padding:40px 52px 35px;margin:auto}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:29px}
.eyebrow{font:0.625rem/1.6 var(--mono);letter-spacing:1.5px;font-weight:400}
.page-heading>.eyebrow,.page-heading .eyebrow{margin-bottom:7px;color:var(--muted)}
h1{font:normal clamp(2.5rem,4.1vw,3.875rem)/1.02 var(--serif);letter-spacing:-1.6px}
.heading-period{color:var(--blue)}
.today{display:flex;align-items:center;gap:9px;font-size:0.8125rem;color:var(--muted);padding-bottom:8px;flex-shrink:0}
.today-number{font-family:var(--serif);font-size:1.875rem;color:var(--ink)}
.today-rule{height:24px;width:1px;background:var(--line);margin:0 16px}
.today a{display:flex;align-items:center;gap:12px;color:var(--ink);padding:10px 0}
.today a.active{color:var(--blue)}
.today .icon{width:16px;height:16px}
.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px}
.course-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px 15px;display:flex;flex-direction:column;gap:14px;min-height:137px;transition:border-color .15s,background .15s,transform .15s}
.course-tile:hover{border-color:#8793ec;transform:translateY(-2px)}
.course-tile.selected{background:var(--blue);color:#fff;border-color:var(--blue)}
.course-top,.course-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.course-number{font:0.6875rem var(--mono);color:var(--muted)}
.selected .course-number{color:#bdc6ff}
.course-code{font:0.625rem var(--mono);border:1px solid #dce1d7;padding:4px 7px;border-radius:4px;color:var(--muted)}
.selected .course-code{color:#e4e8ff;border-color:#7383ed}
.course-name{font-size:1.1875rem;letter-spacing:-.5px;line-height:1.2}
.course-bottom{font:0.6875rem var(--mono);color:var(--muted)}
.course-bottom .icon{width:17px;height:17px}
.selected .course-bottom{color:#d3daff}
.desk-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:42px}
.deck-sidebar{padding-top:6px}
.deck-heading .eyebrow{color:var(--muted)}
.deck-heading h2{font:normal 1.875rem/1.05 var(--serif);letter-spacing:-.4px;margin:10px 0 8px;max-width:210px}
.muted{font-size:0.8125rem;color:var(--muted)}
.select-label{display:block;font-size:0.75rem;color:var(--muted);margin:24px 0 9px}
select{width:100%;height:44px;padding:0 32px 0 12px;border:1px solid #d3d9d0;border-radius:7px;background:#fff;color:var(--ink);font-size:0.8125rem;text-overflow:ellipsis;cursor:pointer}
.progress-panel{margin-top:27px;padding:21px 20px 18px;background:#eef0e9;border:1px solid #e3e7de;border-radius:10px}
.progress-panel>.eyebrow{color:#525d4e;font-size:0.625rem}
.progress-number{display:flex;align-items:baseline;gap:3px;font:4rem/1.05 var(--serif);margin:8px 0 14px;color:#334132}
.percent{font-size:1.9375rem;color:#6e7868}
progress{display:block;appearance:none;width:100%;height:5px;border:0;border-radius:3px;overflow:hidden;background:#d7ddce;color:#4d6541}
progress::-webkit-progress-bar{background:#d7ddce}
progress::-webkit-progress-value{background:#4d6541;border-radius:3px}
progress::-moz-progress-bar{background:#4d6541;border-radius:3px}
.progress-panel>p{font-size:0.6875rem;line-height:1.6;color:#63705c;margin-top:10px}
.deck-stats{margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #d9dfd1;padding-top:14px}
.deck-stats div{display:flex;align-items:center;justify-content:space-between;gap:5px}
.deck-stats div+div{border-left:1px solid #d9dfd1;padding-left:15px}
.deck-stats dt{font-size:0.6875rem;color:#63705c}
.deck-stats dd{font:0.9375rem var(--mono);margin:0}
.library-link{display:flex;align-items:center;gap:11px;min-height:46px;margin-top:18px;font-size:0.8125rem}
.library-link .icon:last-child{margin-left:auto;width:15px;height:15px}
.library-link:hover{color:var(--blue)}
.save-status{display:block;font-size:0.625rem;color:var(--muted);line-height:1.5;margin-top:8px}
.practice-area{min-width:0}
.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.mode-tabs{display:flex;background:#e9ece5;padding:4px;border-radius:7px}
.mode-tabs button{background:none;border:0;border-radius:4px;padding:8px 13px;min-height:34px;font-size:0.75rem;color:#586153;white-space:nowrap}
.mode-tabs button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000000a}
.tool-actions{display:flex;gap:17px}
.tool-button{display:flex;align-items:center;gap:7px;font-size:0.75rem;background:none;border:0;padding:8px 0;min-height:40px;color:var(--muted)}
.tool-button:hover,.tool-button[aria-pressed=true]{color:var(--blue)}
.tool-button .icon{width:16px;height:16px}
.loading-note{font-size:0.875rem;padding:12px 16px;margin-bottom:12px;background:#fff5d9;border-radius:7px;line-height:1.5}
.ready .loading-note{display:none}
.no-script{padding:14px;background:#e8ecff;font-size:1rem;line-height:1.5;margin-bottom:16px}
.no-script a{text-decoration:underline}
.flashcard{min-height:368px;background:#fff;border:1px solid #d7ddd4;border-radius:14px;position:relative;display:flex;flex-direction:column;box-shadow:0 4px 0 -1px #ebeee7,0 5px 0 -1px #d7ddd4,0 8px 0 -1px #f5f6f2,0 9px 0 -1px #dfe3d9;transition:background .18s,border-color .18s;isolation:isolate}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 28px;color:var(--muted);font:0.625rem/1.5 var(--mono);letter-spacing:.5px;text-transform:uppercase}
.card-number{white-space:nowrap}
.card-content{flex:1;min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 44px 31px;text-align:center}
.prompt-label{font:0.625rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:2px;color:#747e70;margin-bottom:17px}
.card-content h2{font:normal clamp(2.6875rem,5.5vw,4.75rem)/.99 var(--serif);letter-spacing:-1.4px;max-width:700px;color:var(--ink);overflow-wrap:break-word;text-wrap:balance}
.card-content h2.long-term{font-size:clamp(2.125rem,4vw,3.4375rem);line-height:1.05}
.card-content h2.reverse-prompt{font:1.3125rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:-.2px;text-wrap:pretty;text-align:left}
.card-bottom{display:flex;align-items:center;gap:15px;padding:18px 28px;font:0.625rem/1.4 var(--mono);color:#7c8378;border-top:1px solid #eef0ea}
.card-bottom>span:first-child{margin-right:auto}
.card-bottom>a{display:flex;align-items:center;gap:4px;padding:4px 0;color:#535e4f}
.card-bottom .icon{width:13px;height:13px}
.is-revealed{background:#f0f3e9;border-color:#d1d9c8}
.is-revealed .card-content{align-items:flex-start;text-align:left;padding-top:10px;padding-bottom:26px}
.is-revealed .card-content h2{font:normal 1.5rem/1.1 var(--serif);color:#65725b;letter-spacing:0;text-align:left;margin-bottom:15px}
.is-revealed .card-content h2.reverse-prompt{display:none}
.is-revealed .prompt-label{color:#5b6e4a;margin-bottom:12px}
.is-revealed .card-bottom{border-color:#e0e6d7}
.card-answer{font-size:1.3125rem;line-height:1.5;letter-spacing:-.28px;max-width:750px;outline:none;text-wrap:pretty}
.card-answer.answer-term{font:normal 3.375rem/1.07 var(--serif);letter-spacing:-.7px;text-wrap:balance}
.answer-controls{margin-top:24px}
.reveal-button{background:var(--blue);color:#fff;border:1px solid var(--blue);display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;border-radius:9px;padding:12px 23px;font-size:0.9375rem;transition:background .15s}
.reveal-button:hover{background:var(--blue-dark)}
.button-hint{display:flex;align-items:center;gap:17px;color:#d3daff}
kbd{font:0.625rem/1.2 var(--mono);border:1px solid currentColor;border-radius:4px;padding:3px 6px;font-weight:400;opacity:.7}
.button-hint kbd{border-color:#8192f6;color:#fff;opacity:.7}
.ratings{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ratings button{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 21px;border-radius:9px;font-size:0.9375rem}
.ratings button span{margin-right:auto}
.again-button{border:1px solid #d5dace;background:#fff}
.again-button:hover{background:#f2eee4;border-color:#a89b78}
.got-button{border:1px solid var(--blue);background:var(--blue);color:white}
.got-button:hover{background:var(--blue-dark)}
.round-bar{display:flex;align-items:flex-end;justify-content:space-between;margin-top:23px;gap:20px}
.round-progress>.eyebrow{display:flex;align-items:center;gap:14px;font-size:0.5625rem;color:var(--muted);letter-spacing:1px}
.round-progress>.eyebrow span{font:0.625rem var(--mono);color:var(--ink);letter-spacing:0}
.round-dots{display:flex;gap:5px;margin-top:9px}
.dot{width:18px;height:5px;background:#dce1d6;border-radius:2px}
.dot.current{background:var(--blue)}
.dot.got{background:#668648}
.dot.again{background:#c09242}
.round-summary{font-size:0.625rem;color:var(--muted);display:block;margin-top:9px}
.round-tools{display:flex;gap:10px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:7px;background:transparent;color:#606b58}
.icon-button:not(:disabled):hover{background:#e9eee2}
.complete-panel{min-height:450px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d5dec9;border-radius:14px;background:#eef3e7;padding:38px;text-align:center}
.complete-panel>.eyebrow{font-size:0.625rem;color:#647357;margin-bottom:20px}
.complete-symbol{width:55px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d5ed8c;margin-bottom:20px}
.complete-symbol .icon{width:28px;height:28px}
.complete-panel h2{font:normal 3.5625rem/1.02 var(--serif);letter-spacing:-1px;outline:none}
.complete-panel p{font-size:1rem;line-height:1.5;margin:22px 0;max-width:420px}
.complete-stats{display:flex;gap:50px;margin:26px 0}
.complete-stats>div{display:flex;flex-direction:column;gap:5px}
.complete-stats strong{font:2.625rem var(--serif)}
.complete-stats span{font-size:0.75rem;color:var(--muted)}
.complete-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:8px;min-height:46px;padding:12px 20px;font-size:0.875rem;border:1px solid transparent}
.primary-button{background:var(--blue);color:white}
.primary-button:hover{background:var(--blue-dark)}
.secondary-button{background:transparent;border-color:#c9d2be}
.secondary-button:hover{background:#e0e9d3}
.site-footer{max-width:1370px;margin:0 auto;padding:23px 52px 27px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:0.625rem;color:#778071;line-height:1.5}
.site-footer>span:first-child{font-family:var(--serif);font-size:1.0625rem;color:#545f4d}
.site-footer a{display:flex;gap:6px;align-items:center}
.site-footer a:hover{color:var(--blue)}
.site-footer .icon{width:13px;height:13px}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:16px;padding:28px;max-width:520px;width:calc(100% - 32px);box-shadow:0 30px 100px #0a19352e}
dialog::backdrop{background:#1620326b;backdrop-filter:blur(3px)}
.dialog-top{display:flex;align-items:flex-start;gap:24px;justify-content:space-between}
.dialog-top h2{font:normal 2.125rem/1.08 var(--serif);max-width:300px}
.dialog-top button{flex:none}
.shortcut-list{margin:26px 0}
.shortcut-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.shortcut-list dt{font-size:0.875rem}
.shortcut-list dd{margin:0}
dialog p{font-size:0.875rem;line-height:1.6;color:var(--muted)}
.text-link{font-size:0.875rem;display:flex;align-items:center;gap:12px;padding:10px 0}
.text-link:hover{color:var(--blue)}
.library-index{min-height:calc(100svh - 172px);padding-top:56px}
.library-index .page-heading{margin-bottom:38px}
.library-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.library-course{display:flex;flex-direction:column;padding:27px 32px;min-height:235px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:background .18s,border-color .18s}
.library-course:first-child{background:#edf0ff;border-color:#d2d9fa}
.library-course:nth-child(2){background:#edf3e7;border-color:#dce5d2}
.library-course:nth-child(3){background:#f4eee6;border-color:#e8dfd3}
.library-course:nth-child(4){background:#f0eefa;border-color:#dfdbef}
.library-course:hover{border-color:var(--blue);background:#e7ecff}
.library-course-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}
.library-course h2{font:normal 2.75rem/1 var(--serif);letter-spacing:-.6px;margin-top:25px}
.library-course p{font-size:0.75rem;line-height:1.5;color:var(--muted);margin-top:10px}
.library-course-bottom{margin-top:auto;padding-top:28px;display:flex;align-items:center;justify-content:space-between;font:0.6875rem var(--mono);color:#58614f}
.library-note{margin-top:25px;font-size:0.8125rem;line-height:1.7;color:var(--muted)}
.library-note a{text-decoration:underline;text-underline-offset:3px}
.back-link{font-size:0.8125rem;display:inline-block;margin-bottom:25px;color:var(--muted);padding:5px 0}
.back-link:hover{color:var(--blue)}
.subject-library .page-heading{align-items:center;margin-bottom:40px}
.subject-library h1{font-size:clamp(2.625rem,5vw,4.25rem);max-width:720px}
.subject-library .primary-button{white-space:nowrap}
.library-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:42px}
.topic-index{position:sticky;top:28px;align-self:start}
.topic-index>.eyebrow{color:var(--muted);display:block;margin-bottom:16px}
.topic-index nav{display:flex;flex-direction:column}
.topic-index nav a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:15px;font-size:0.8125rem;border-bottom:1px solid var(--line);line-height:1.4}
.topic-index nav a>span:last-child{font:0.6875rem var(--mono);color:var(--muted)}
.topic-index a:hover{color:var(--blue)}
.markdown-link{display:flex;gap:8px;align-items:center;font-size:0.6875rem;color:var(--muted);margin-top:24px}
.markdown-link .icon{width:14px;height:14px}
.library-search{display:flex;align-items:center;gap:14px;background:white;border:1px solid #ccd4c6;border-radius:9px;padding:0 17px;min-height:54px;margin-bottom:28px}
.library-search .icon{color:var(--muted);width:18px;height:18px}
.library-search input{border:0;outline:none;padding:15px 0;width:100%;min-width:0;background:transparent;font-size:0.9375rem;color:var(--ink)}
.library-search:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.library-search input:focus-visible{outline:none}
#search-status{font:0.625rem var(--mono);color:var(--muted);white-space:nowrap}
.topic-group{margin-bottom:35px}
.topic-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.topic-heading h2{font:normal 1.875rem/1.1 var(--serif)}
.topic-heading>a{font-size:0.75rem;color:var(--blue);display:flex;align-items:center;gap:7px;padding:8px 0}
.topic-heading .icon{width:15px;height:15px}
.glossary-card{background:#fff;padding:24px 27px;border:1px solid var(--line);border-radius:9px;margin-top:11px;scroll-margin-top:25px}
.glossary-card:target{border-color:var(--blue);box-shadow:0 0 0 2px #e1e7ff}
.glossary-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.glossary-card h3{font:normal 1.8125rem/1.12 var(--serif);letter-spacing:-.3px}
.glossary-card-top>a{color:var(--muted);padding:3px;flex:none}
.glossary-card-top>a:hover{color:var(--blue)}
.glossary-card>p{font-size:1rem;line-height:1.65;margin-top:13px;color:#4a5547}
.card-references{font-size:0.75rem;color:var(--muted);margin-top:17px;line-height:1.6}
.card-references summary{cursor:pointer;display:list-item;width:fit-content}
.card-references ul{padding-left:18px;margin:12px 0}
.card-references a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.card-references>span{font-size:0.6875rem}
.search-empty{padding:45px;text-align:center;border:1px dashed #cbd4c2;border-radius:10px}
.search-empty h2{font:2.25rem var(--serif);margin-bottom:20px}
.about-page{max-width:920px;padding-top:50px;padding-bottom:70px;min-height:70vh}
.about-page>.eyebrow{color:var(--muted);margin-bottom:8px}
.about-page>h1{margin-bottom:35px}
.about-page>section{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.about-page h2{font:normal 2.125rem/1.2 var(--serif);margin-bottom:15px}
.about-page p,.about-page li{font-size:1rem;line-height:1.7;color:#52604b;margin-bottom:12px}
.about-page section a{text-decoration:underline;text-underline-offset:4px}
.about-page ul{padding-left:23px}
@media(min-width:1500px){.workspace{padding-top:48px}.flashcard{min-height:415px}.card-content{min-height:285px}.course-grid{margin-bottom:38px}}
@media(max-width:1100px){.site-header{padding-inline:30px}.publisher{display:none}.workspace{padding:32px 30px}.site-footer{padding-inline:30px}.desk-grid,.library-layout{grid-template-columns:205px minmax(0,1fr);gap:27px}.course-tile{padding-inline:16px}.course-name{font-size:1.0625rem}.card-content{padding-inline:30px}.card-content h2{font-size:3.875rem}.card-content h2.long-term{font-size:2.6875rem}.course-tile{min-height:131px}.card-answer{font-size:1.1875rem}}
@media(max-width:800px){.site-header{height:82px;padding-inline:22px}.wordmark-caption{display:none}.wordmark-name{font-size:0.75rem;letter-spacing:1.9px}.mark{font-size:2.375rem}.wordmark{gap:12px}.wordmark-name{padding-left:12px}.main-nav{font-size:0.75rem}.main-nav a{padding:9px 14px}.nav-count{display:none}.workspace{padding:30px 22px}.page-heading{margin-bottom:23px}.page-heading .eyebrow{font-size:0.5625rem}.today-rule{margin-inline:5px}.today{font-size:0.6875rem;gap:6px}.today-number{font-size:1.6875rem}.course-grid{gap:8px;margin-bottom:24px}.course-tile{padding:13px;gap:13px;min-height:125px}.course-name{font-size:1rem;max-width:140px}.course-number{font-size:0.625rem}.course-code{display:none}.course-bottom{font-size:0.5625rem}.course-bottom .icon{width:14px}.desk-grid{grid-template-columns:1fr;gap:16px}.deck-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px 24px;padding:0}.deck-heading{display:none}.select-label{margin:0;font-size:0.6875rem;grid-column:1}.deck-sidebar select{grid-row:2;grid-column:1}.progress-panel{margin:0;padding:0;border:0;background:none;grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center}.progress-panel>.eyebrow{font-size:0.5625rem;grid-row:1;grid-column:1}.progress-number{font:1.6875rem var(--serif);margin:0;grid-row:1;grid-column:2}.percent{font-size:1.1875rem}.progress-panel progress{grid-row:2;grid-column:1 / span 2}.progress-panel>p{grid-row:3;grid-column:1 / span 2;margin:0;font-size:0.625rem}.deck-stats,.library-link,.save-status{display:none}.practice-toolbar{margin-bottom:15px}.flashcard{min-height:360px}.card-content{min-height:232px}.card-content h2{font-size:4.125rem}.card-content h2.long-term{font-size:3rem}.card-answer{font-size:1.3125rem}.card-top{padding:21px 25px}.card-bottom{padding:16px 25px}.site-footer{padding:20px 22px;flex-wrap:wrap;font-size:0.625rem}.site-footer>span:nth-child(2){order:3;flex-basis:100%}.subject-library .page-heading{align-items:flex-start;flex-direction:column;gap:20px}.library-layout{grid-template-columns:1fr;gap:25px}.topic-index{position:static}.topic-index nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.topic-index nav a{border:1px solid var(--line);background:white;border-radius:6px;padding:9px 11px;font-size:0.6875rem;gap:7px}.topic-index>.eyebrow{margin-bottom:11px}.markdown-link{display:none}.library-course{padding:24px}.library-course h2{font-size:2.3125rem}.library-course-grid{gap:13px}.library-index{min-height:75vh}.library-note{font-size:0.75rem}.subject-library h1{font-size:3.5625rem}}
@media(max-width:520px){.site-header{padding:0 18px;height:76px;gap:8px}.wordmark{gap:10px}.mark{font-size:2.1875rem;padding-right:11px;letter-spacing:-1.7px}.mark-dot{width:6px;height:6px}.wordmark-name{font-size:0.625rem;letter-spacing:1.2px;padding-left:10px}.main-nav{padding:3px;gap:0}.main-nav a{padding:8px 11px;font-size:0.6875rem;min-height:36px}.workspace{padding:26px 18px 28px}.page-heading{align-items:center;gap:10px;margin-bottom:22px}h1{font-size:3.0625rem;letter-spacing:-1px}.page-heading .eyebrow{font-size:0.5rem;letter-spacing:1.05px;margin-bottom:6px}.today{flex-direction:column;align-items:flex-end;gap:0;padding:0;font-size:0.625rem}.today-number{font-size:1.6875rem;line-height:1}.today-rule{display:none}.today a{font-size:0.625rem;padding:6px 0 0;gap:5px}.today .icon{width:12px;height:12px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:23px}.course-tile{padding:12px 14px;min-height:101px;gap:10px;border-radius:8px}.course-top{display:none}.course-name{font-size:1rem;max-width:120px;min-height:38px;line-height:1.18;letter-spacing:-.3px}.course-bottom{font-size:0.5625rem}.course-bottom .icon{width:15px;height:15px}.desk-grid{gap:18px}.deck-sidebar{gap:6px 22px}.deck-sidebar select{height:42px;font-size:0.75rem;padding-left:10px}.progress-panel>.eyebrow{font-size:0.5rem;letter-spacing:.8px}.progress-number{font-size:1.5625rem}.progress-panel>p{font-size:0.5625rem}.select-label{font-size:0.625rem}.mode-tabs button{padding:7px 11px;font-size:0.6875rem;min-height:31px}.tool-actions{gap:15px}.tool-button{font-size:0.6875rem;gap:5px}.tool-button .icon{width:15px;height:15px}.practice-toolbar{gap:8px;margin-bottom:13px}.flashcard{min-height:310px;border-radius:11px}.card-top{padding:19px 20px;font-size:0.5625rem;letter-spacing:.15px}.card-content{min-height:201px;padding:22px 21px 27px}.card-content h2{font-size:3.5rem;letter-spacing:-.9px}.card-content h2.long-term{font-size:2.4375rem;line-height:1.03}.prompt-label{font-size:0.5625rem;letter-spacing:1.4px;margin-bottom:17px}.card-bottom{padding:15px 20px;font-size:0.5rem;gap:9px}.card-bottom>span:first-child{max-width:125px}.card-bottom>a{font-size:0.5625rem}.card-bottom>span:nth-child(2){display:none}.is-revealed .card-content{padding:12px 23px 24px}.is-revealed .card-content h2{font-size:1.4375rem;margin-bottom:14px}.card-answer{font-size:1.125rem;line-height:1.52;letter-spacing:-.18px}.card-content h2.reverse-prompt{font-size:1.125rem;line-height:1.5}.card-answer.answer-term{font-size:2.75rem}.answer-controls{margin-top:22px}.reveal-button{min-height:55px;padding-inline:20px;font-size:0.875rem}.button-hint{gap:12px}.button-hint kbd{display:none}.ratings{gap:8px}.ratings button{font-size:0.875rem;min-height:55px;padding:12px 16px}.ratings kbd{display:none}.round-bar{margin-top:22px}.round-summary{font-size:0.5625rem}.round-progress>.eyebrow{font-size:0.5rem}.dot{width:14px;height:5px}.round-dots{gap:4px}.round-tools{gap:7px}.icon-button{width:36px;height:36px}.icon-button .icon{width:18px;height:18px}.site-footer{padding:18px;gap:8px;font-size:0.5625rem}.site-footer>span:first-child{font-size:1rem}.site-footer>span:nth-child(2){font-size:0.5625rem}.complete-panel{padding:32px 23px;min-height:375px}.complete-panel h2{font-size:3.0625rem}.complete-panel>.eyebrow{font-size:0.5rem}.complete-actions{flex-direction:column;width:100%}.complete-stats{margin:22px 0}.complete-stats strong{font-size:2.25rem}.complete-panel p{font-size:0.9375rem}.library-index .page-heading{align-items:flex-start;flex-direction:column;gap:15px}.library-index .text-link{font-size:0.8125rem}.library-course-grid{grid-template-columns:1fr}.library-course{min-height:210px;padding:24px 25px}.library-course h2{font-size:2.5rem}.library-course p{font-size:0.75rem}.library-course-top .course-code{display:block}.library-course-bottom{font-size:0.625rem}.library-note{font-size:0.75rem}.subject-library h1{font-size:3.25rem;line-height:1.01}.subject-library .page-heading{margin-bottom:25px}.topic-index nav{gap:6px}.topic-index nav a{font-size:0.625rem;padding:9px}.library-search{gap:10px;padding-inline:13px}.library-search input{font-size:1rem}.library-search #search-status{font-size:0.5625rem}.topic-heading h2{font-size:1.8125rem}.topic-heading>a{font-size:0.6875rem;white-space:nowrap}.glossary-card{padding:22px 21px}.glossary-card h3{font-size:1.8125rem}.glossary-card>p{font-size:1rem;line-height:1.65}.card-references{font-size:0.75rem}.card-references>span{font-size:0.6875rem}.about-page h1{font-size:3.375rem}.about-page h2{font-size:2rem}.about-page p,.about-page li{font-size:1rem}.dialog-top h2{font-size:1.9375rem}.shortcut-list dt{font-size:0.8125rem}dialog p{font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.topic-index,.library-search,.topic-heading>a,.glossary-card-top>a,.back-link,.primary-button{display:none}.workspace{padding:0}.library-layout{display:block}.glossary-card{break-inside:avoid}.glossary-card p{font-size:12pt}.card-references{font-size:10pt}.card-references>summary{display:none}.card-references>ul{display:block}body{background:#fff}}
/* Keep the prompt and its primary action together on ordinary laptop screens. */
@media(min-width:801px) and (max-height:900px){.site-header{height:80px}.workspace{padding-top:26px;padding-bottom:26px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:3.0625rem}.course-tile{min-height:111px;padding-top:12px;padding-bottom:12px;gap:10px}.course-grid{margin-bottom:24px}.practice-toolbar{margin-bottom:15px}.flashcard{min-height:290px}.card-content{min-height:164px;padding-top:14px;padding-bottom:22px}.card-top{padding-top:20px;padding-bottom:20px}.card-bottom{padding-top:14px;padding-bottom:14px}.progress-panel{margin-top:20px;padding-top:17px;padding-bottom:16px}.progress-number{font-size:3.1875rem;margin-bottom:12px}.select-label{margin-top:19px}.answer-controls{margin-top:21px}.round-bar{margin-top:19px}.deck-heading h2{font-size:1.75rem}.complete-panel{min-height:370px}}
@media(max-width:520px){.site-header{height:68px}.workspace{padding-top:21px}.page-heading{margin-bottom:19px}.page-heading h1{font-size:2.6875rem}.course-tile{min-height:75px;padding:11px 13px;gap:7px}.course-name{font-size:0.875rem;min-height:30px;line-height:1.12;max-width:140px}.course-bottom{font-size:0.625rem}.course-grid{margin-bottom:17px}.desk-grid{gap:14px}.flashcard{min-height:275px}.card-content{min-height:163px;padding-block:16px 22px}.card-top{padding-block:16px;font-size:0.625rem}.card-bottom{padding-block:13px;font-size:0.5625rem}.prompt-label{font-size:0.625rem}.answer-controls{margin-top:20px;position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:3}.answer-controls button{box-shadow:0 4px 16px #1724220a}.round-bar{margin-top:19px}.select-label{font-size:0.75rem}.progress-panel>p{font-size:0.625rem}.mode-tabs button{font-size:0.75rem}.tool-button{font-size:0.75rem}.round-summary{font-size:0.625rem}.card-content h2{outline:none}}

.site-header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:20px;row-gap:12px}.page-heading>div{min-width:0}h1{overflow-wrap:anywhere}.card-content h2{outline:none}.storage-unavailable .save-status{display:block;grid-column:1 / -1;padding:10px;background:#fff0cd;color:#6c521c;font-size:.8125rem;border-radius:6px}
@media(min-width:801px) and (max-height:900px){.site-header{min-height:80px;padding-block:14px}}
@media(max-width:800px){.site-header{min-height:82px;padding-block:14px}}
@media(max-width:520px){.site-header{min-height:68px;padding-block:10px}}
/* Reflow at enlarged text sizes instead of shrinking the reading surface. */
.practice-toolbar,.round-bar{flex-wrap:wrap}.card-content h2{width:100%;max-width:100%;overflow-wrap:anywhere}.course-name{max-width:100%;overflow-wrap:anywhere}.glossary-card-top h3{min-width:0;overflow-wrap:anywhere}.topic-heading{flex-wrap:wrap}
.skip-link{top:12px;transform:translateY(-180%)}.skip-link:focus{top:12px;transform:translateY(0)}
@media(max-width:520px){.course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}}
.card-bottom{color:#667260}.prompt-label{color:#606b59}.site-footer{color:#596554}

/* Study utilities stay secondary to the card and its next action. */
textarea{font:inherit;color:inherit}
textarea:focus-visible{outline:3px solid #dd7336;outline-offset:4px}
.tool-actions{align-items:center;gap:18px}
.study-options{position:relative}
.study-options summary{list-style:none;cursor:pointer}
.study-options summary::-webkit-details-marker{display:none}
.options-menu{position:absolute;right:0;top:calc(100% + 8px);width:290px;max-width:calc(100vw - 36px);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 14px 40px #2030291a;z-index:8}
.options-menu>.eyebrow{color:var(--muted);padding:8px 10px 10px}
.option-button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:7px;background:none;padding:13px 10px;font-size:.8125rem;line-height:1.3;min-height:60px}
.option-button:hover{background:#f0f2ec}
.option-button>span:first-of-type{flex:1}
.option-button small{display:block;color:var(--muted);font-size:.6875rem;line-height:1.4;margin-top:4px}
.option-check{visibility:hidden;color:var(--blue)}
.option-button[aria-pressed=true]{background:#edf0ff;color:var(--blue)}
.option-button[aria-pressed=true] .option-check{visibility:visible}
.mode-tabs{max-width:100%;flex-wrap:wrap}
.tab-count{font: .625rem var(--mono);opacity:.68;margin-left:3px}
.study-context{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font: .625rem/1.4 var(--mono);margin:-3px 2px 12px;flex-wrap:wrap}
.progress-panel>.eyebrow>span{display:block;font-size:.5625rem;letter-spacing:.5px;opacity:.8}
.card-utilities{display:flex;align-items:center;gap:14px}
.card-top{padding-block:12px 10px}
.star-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;border-radius:7px;color:#757f71;flex:none;padding:9px}
.star-button:hover{background:#edf0e7;color:#84610d}
.star-button[aria-pressed=true]{color:#8f6710}
.star-button[aria-pressed=true] .icon{fill:#f4df92;stroke:currentColor}
.flashcard:not(.is-revealed):not(.is-writing) .card-content{cursor:pointer}
.recall-content{width:100%;max-width:750px}
.answer-label{display:none}
.rating-label{text-align:left;line-height:1.25}
.rating-label small{display:block;margin-top:4px;font: .6875rem var(--mono);opacity:.83}
.ratings button{min-height:64px}
.schedule-note{font-size:.6875rem;color:var(--muted);line-height:1.5;margin:13px 3px 0}
.writing-panel{text-align:left;margin-top:22px;width:100%;min-width:0}
.writing-panel>label,.is-writing.is-revealed .answer-label{display:block;font: .625rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;color:#5c6857;margin-bottom:10px}
.writing-panel textarea{display:block;resize:vertical;width:100%;min-height:120px;padding:16px 18px;border:1px solid #d1d7ca;border-radius:8px;background:#fbfcf9;font-size:1rem;line-height:1.6}
.writing-panel textarea::placeholder{color:#737d6d}
.writing-panel p{font-size:.6875rem;line-height:1.6;color:var(--muted);margin:9px 0 0}
.is-writing .card-content{align-items:stretch;text-align:left;padding:18px 32px 28px;min-height:0}
.is-writing .card-content h2{font-size:2.5rem;text-align:left;letter-spacing:-.5px;line-height:1.08}
.is-writing .card-content h2.reverse-prompt{font-size:1.0625rem;line-height:1.5}
.is-writing.is-revealed .recall-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;max-width:none}
.is-writing.is-revealed .writing-panel{margin-top:0}
.is-writing.is-revealed .writing-panel p{display:none}
.is-writing.is-revealed textarea{border:0;background:#e7eddf;min-height:155px;resize:vertical;line-height:1.6}
.is-writing.is-revealed .card-answer{font-size:1.0625rem;line-height:1.6}
.is-writing.is-revealed .card-answer.answer-term{font-family:var(--serif);font-size:2.25rem;line-height:1.1}
.is-writing.is-revealed .card-content h2{font-size:1.5rem;margin-bottom:20px}
.glossary-actions{display:flex;align-items:center;gap:8px;flex:none;margin-top:-7px}
.glossary-actions>a{padding:10px 4px;display:inline-flex;color:var(--muted)}
.glossary-actions>a:hover{color:var(--blue)}
.focus-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.focus-heading>div{display:flex;flex-direction:column;gap:6px}
.focus-heading .eyebrow{color:var(--blue)}
#focus-deck{font:1.5rem/1.15 var(--serif)}
.focus-mode .site-header,.focus-mode .page-heading,.focus-mode .course-grid,.focus-mode .deck-sidebar,.focus-mode .site-footer,.focus-mode #focus-toggle{display:none}
.focus-mode .workspace{max-width:980px;padding-top:32px;min-height:100svh}
.focus-mode .desk-grid{display:block}
.focus-mode .flashcard{min-height:390px}
.focus-mode .card-content{min-height:280px}
.focus-mode .is-writing .card-content{min-height:240px}
.focus-mode .complete-panel{min-height:400px}
@media print{.glossary-actions{display:none}}
@media(max-width:1100px){.is-writing.is-revealed .recall-content{grid-template-columns:1fr;gap:24px}.is-writing.is-revealed textarea{min-height:105px}.focus-mode .is-writing.is-revealed .recall-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:800px){.progress-panel>.eyebrow>span{display:none}.tool-actions{gap:14px}.is-writing.is-revealed .recall-content,.focus-mode .is-writing.is-revealed .recall-content{grid-template-columns:1fr}.focus-mode .workspace{padding-top:22px}.focus-mode .flashcard{min-height:360px}.focus-mode .card-content{min-height:230px}.focus-mode .is-writing .card-content{min-height:0}}
@media(max-width:520px){.mode-tabs button{padding-inline:8px}.tab-count{font-size:.5625rem;margin-left:2px}.tool-actions{gap:11px}.focus-button-label{display:none}#focus-toggle{width:28px;justify-content:center}.practice-toolbar{gap:5px;margin-bottom:10px}.study-context{font-size:.5625rem;margin-bottom:9px}.card-utilities{gap:8px}.star-button{height:36px;width:36px;padding:8px}.card-top{padding-block:7px}.card-content{min-height:150px}.ratings button{padding-inline:14px}.rating-label small{font-size:.625rem}.schedule-note{font-size:.6875rem;margin-top:11px}.options-menu{width:274px}.is-writing .card-content{padding:16px 22px 24px}.is-writing .card-content h2{font-size:2.0625rem}.writing-panel{margin-top:18px}.writing-panel textarea{font-size:1rem;padding:13px;min-height:110px}.is-writing.is-revealed .card-answer{font-size:1rem}.focus-heading{margin-bottom:20px}.focus-heading #focus-deck{font-size:1.25rem}#exit-focus{font-size:.75rem;white-space:nowrap}.focus-mode .workspace{padding-top:18px}.focus-mode .flashcard{min-height:320px}.focus-mode .card-content{min-height:208px}.focus-mode .is-writing .card-content{min-height:0}.glossary-actions{gap:2px}.glossary-card-top{gap:9px}}
