:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6f9}*{box-sizing:border-box}body{margin:0;padding-bottom:85px;line-height:1.5}main{max-width:900px;margin:auto;padding:17px 17px 80px}.header{display:flex;gap:17px;align-items:center;background:white;border-bottom:1px solid #d7dbe5;padding:15px max(17px,calc((100vw - 880px)/2))}.header a{text-decoration:none;font-weight:800;color:#5348c9}.header strong,.header span{display:block}.header span{color:#697386;font-size:13px}.intro{padding:15px 0 18px}.intro h1{font-size:36px;margin:10px 0}.intro p{font-size:17px}.eyebrow{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#594bd4;font-weight:900}.small{color:#626e81;font-size:14px}.panel{background:white;border:1px solid #dde1e7;border-radius:20px;padding:21px;margin-bottom:17px}.panel h2{margin:0 0 13px}select{width:100%;padding:13px;border-radius:12px;border:1px solid #a9b2c0;background:white;font:inherit;min-height:49px}label{font-weight:750}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}button{font:inherit;padding:12px 16px;border-radius:12px;background:white;color:#1c2839;border:1px solid #aeb6c5;font-weight:800;cursor:pointer;min-height:45px}button.primary{background:#273449;color:white;border-color:#273449}button:disabled{opacity:.45}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:#6656fa}.topline{display:flex;justify-content:space-between;gap:9px;color:#667085;font-weight:750;font-size:13px}.meter{height:8px;border-radius:99px;background:#eee;margin:14px 0}.meter i{display:block;background:#6656fa;height:100%;width:0;border-radius:99px}.flashcard{display:flex;width:100%;min-height:320px;padding:25px 20px;background:#f8f5ff;border:2px solid #d7cffd;border-radius:22px;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;white-space:normal;color:#1e293b}.flashcard strong{font-size:clamp(23px,5vw,31px);line-height:1.26}.flashcard span:not(.eyebrow){font-size:16px;line-height:1.55}.flashcard .fact{display:block;text-align:left;border-radius:11px;background:#fff;padding:12px;width:100%}.flashcard small{color:#5b6172}.grades{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.grades button{padding:11px 5px;font-size:14px}.grades #wrong{background:#ffe5e5}.grades #almost{background:#fff1c5}.grades #right{background:#e0f5e8}[hidden]{display:none!important}.stats{display:flex;gap:9px;flex-wrap:wrap}.stat{padding:10px;background:#f4f4f8;border-radius:10px;font-weight:800;font-size:13px}.chapter-line{border-top:1px solid #e5e7eb;padding:11px 0}.chapter-line span{display:block;color:#667085;font-size:13px}.bottom{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;z-index:60;height:auto!important;min-height:64px;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;background:#fff!important;border-top:1px solid #d9dde5;padding:11px 4px calc(11px + env(safe-area-inset-bottom))!important}.bottom a{display:block!important;text-align:center!important;padding:5px 1px!important;text-decoration:none!important;color:#172033!important;font-size:12px!important;font-weight:900!important;background:transparent!important}@media(max-width:580px){.panel{padding:17px}.grades{gap:5px}.grades button{font-size:12px}.flashcard{min-height:330px}.toolbar button{flex:1 1 auto}}
.term-links{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;width:100%;align-items:center}.term-links .small{width:100%;text-align:center}.term-chip{border:1px solid #bcb2f5;background:#fff;color:#4939aa;font-size:13px;min-height:38px;padding:7px 11px;border-radius:999px}.term-overlay{position:fixed;inset:0;z-index:120;background:#16233bab;display:flex;align-items:center;justify-content:center;padding:17px}.term-modal{width:min(100%,450px);max-height:82vh;overflow:auto;border-radius:20px;background:#fff;padding:22px;box-shadow:0 18px 55px #0005}.term-modal h2{margin:0 0 12px}.term-modal p{line-height:1.6}.flashcard .fact{font-weight:600}

#distinction.fact{border-left:4px solid #ab78d8;background:#f9f4ff}.source-reference{font-size:12px;color:#5e687b;font-weight:700;line-height:1.45}.flashcard .fact{text-align:left;width:100%;white-space:normal}


/* NOTE-STYLE FLASHCARD BACK — same front/back behaviour, readable study outline */
.flashcard.is-back{align-items:stretch;justify-content:flex-start;text-align:left;background:#fff;border:2px solid #dedafa;padding:21px 19px 24px;gap:0;min-height:320px}
.flashcard.is-back #side{text-align:center;display:block;padding-bottom:7px;letter-spacing:.06em;color:#685ad6}
.flashcard.is-back #term{display:block;text-align:center;margin:6px 0 18px;font-size:clamp(24px,5.6vw,31px);line-height:1.27}
.flashcard.is-back .note-block{display:block;width:100%;margin:0 0 20px;padding:0;border:none;background:transparent;text-align:left;color:#172033;font-weight:500;font-size:16px;line-height:1.62;white-space:normal}
.flashcard.is-back .note-block::before{display:block;font-size:16px;font-weight:900;color:#172033;line-height:1.4;margin-bottom:8px}
.flashcard.is-back #definition::before{content:"Definition"}
.flashcard.is-back #function::before{content:"Key facts"}
.flashcard.is-back #connection::before{content:"What it does / why it matters"}
.flashcard.is-back #distinction::before{content:"Don't confuse it with"}
.flashcard.is-back .note-list{display:grid;gap:7px}
.flashcard.is-back .note-bullet{display:block;position:relative;padding-left:19px;text-align:left;font-size:16px;line-height:1.5;font-weight:500}
.flashcard.is-back .note-bullet::before{content:"•";position:absolute;left:3px;font-weight:800}
.flashcard.is-back #distinction{font-style:italic}
.flashcard.is-back .source-reference{display:block;text-align:left;font-size:12px;line-height:1.5;color:#697182;padding-top:7px;border-top:1px solid #e7e8ed;font-weight:600}
.flashcard.is-back #tap-hint{font-size:12px;text-align:center;display:block;margin-top:17px}
.flashcard:not(.is-back) .note-block{display:none}
#deck option[value^="ch2-"],#deck option[value^="ch3-"]{font-weight:600}
@media(max-width:580px){.flashcard.is-back{padding:20px 17px 23px}.flashcard.is-back .note-block{margin-bottom:19px}.flashcard.is-back .note-bullet{font-size:15px}}
