/* Mól: paper, ink and the copper colour of the molecular plates. */
:root{--ink:#233c35;--green:#28574b;--dark:#203f39;--copper:#a8472f;--muted:#62695f;--line:#d9d9cd;--paper:#fffefa;--bg:#f6f3eb;--tint:#ecefe5;--lime:#d7e1c9;--radius:5px;--tutor-primary:#28574b;--tutor-ink:#233c35;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}
body{background:var(--bg)}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.8px}
h1{font-size:40px;line-height:1.16}h2{font-size:26px}h3{font-weight:600}
a{color:var(--green)}button,input,select,textarea,.button{border-radius:4px}
button,.button{font-weight:600;min-height:42px;transition:background .15s,border-color .15s}
input,select,textarea{border-color:#bfc5b9;background:var(--paper)}
input::placeholder,textarea::placeholder{color:#72766b;opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.tutor :focus-visible{outline:3px solid #a8472f;outline-offset:3px}
.eyebrow,.little-label,.tutor-eyebrow{font-family:'Courier New',monospace;font-size:11px;font-weight:400;letter-spacing:1.5px;color:var(--copper)}
.sidebar{width:238px;padding:28px 22px 18px;background:#efeee6;border-right:1px solid var(--line);color:var(--ink);overflow:hidden}
.brand{display:block;width:163px;color:var(--ink);letter-spacing:0;line-height:1}
.brand img{display:block;width:150px;height:auto}
.brand-caption{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:9px;letter-spacing:.35px}
.course-label{margin-top:22px;padding:13px 0 20px;border-top:1px solid var(--line);font-family:'Courier New',monospace;font-size:10px;color:#586458}
.course-label>span:last-child{color:#62695f}
.sidebar nav{gap:3px;min-height:0;overflow-y:auto;flex-shrink:1}.brand,.course-label,.sidebar-bottom{flex-shrink:0}
.shelf-link{display:inline-flex;align-items:center;align-self:flex-start;flex-shrink:0;min-height:36px;margin:0 0 8px;color:#586159;font-size:12px;line-height:1.4}.shelf-link:hover{color:var(--dark)}.shelf-link:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.nav-link{min-height:40px;padding:10px 12px;border-radius:3px;font-size:13px;gap:12px;color:#586159;border-left:2px solid transparent}
.nav-link svg{width:18px;height:18px;stroke-width:1.5}
.nav-link:hover{background:#e5e8dc;color:var(--ink)}
.nav-link.active{background:#e1e6d9;color:var(--dark);border-left-color:var(--copper);font-weight:650}
.nav-link.active svg{color:var(--copper)}
.nav-link .nav-count{border-color:#b9c0b0;color:#5e6a57;border-radius:2px}
.nav-separator{height:1px;background:var(--line);margin:13px 10px}
.sidebar-bottom{padding-top:30px}.sidebar-bottom .little-label{color:#656d61;font-size:10px}
.sidebar-bottom p{color:#4e5d50;font-size:11px;line-height:1.7}
.sidebar-bottom progress{height:3px;accent-color:var(--green);background:#d9dfd0}
.sidebar-bottom progress::-webkit-progress-bar{background:#d9dfd0}.sidebar-bottom progress::-webkit-progress-value{background:var(--green)}
.sidebar-bottom small{font-family:'Courier New',monospace;font-size:10px;color:#636c5e}
.storage-link{border-color:var(--line);color:var(--ink);font-size:12px;margin:20px 0 14px}
.workspace{margin-left:238px}
.topbar{height:76px;padding:0 44px;background:transparent;border-bottom:1px solid var(--line);gap:24px}
.topbar>span:first-child{color:#62695f;font-size:12px}
.topbar form{width:315px;padding-left:0;border-radius:0;background:transparent;border-bottom:1px solid #bdc5b5}
.topbar form svg{width:18px;height:18px;flex-shrink:0;color:#62705f}
.topbar input{font-size:12px;background:transparent;padding:10px 24px 10px 10px}
.topbar kbd{border:0;color:#697663;right:3px;font-size:14px}
.topbar-work{font-size:12px;white-space:nowrap;color:var(--ink)}.topbar-work span{margin-left:10px;color:var(--copper)}
main{max-width:1390px;padding:40px 44px 60px;min-height:calc(100vh - 135px)}
.page-intro{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.page-intro h1{font-size:38px}.page-intro p{color:var(--muted);font-size:14px;line-height:1.7}
.badge,.badge.outline{border-radius:2px;font-size:11px;font-weight:500;letter-spacing:.15px}
.badge.outline{border-color:#c7cebd}
.primary,.button.primary{background:var(--green);border-color:var(--green)}
.primary:hover,.button.primary:hover{background:var(--dark);border-color:var(--dark)}
.button.soft{background:transparent;border:1px solid #b6c2b0}
.panel{border-radius:5px;border-color:var(--line);background:var(--paper)}
.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;letter-spacing:-.6px}
.section-heading small{font-size:12px;color:var(--muted)}
.page-footer{padding:21px 44px;font-size:11px;color:#616b5c;gap:20px}.page-footer a{color:inherit}.footer-divider{padding:0 10px;color:#a3aa99}
/* The front page is a working desk with a contents list. */
.desk-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;font-family:'Courier New',monospace;font-size:10px;letter-spacing:1.2px;color:#59695c;text-transform:uppercase}
.desk-heading>span:first-child{color:var(--copper)}
.desk-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:42px;padding:6px 0 32px;border-bottom:1px solid #9da994}
.desk-hero h1{font-size:clamp(42px,4.5vw,67px);letter-spacing:-2px;line-height:1.04;margin:0 0 22px}
.desk-hero h1 span{color:var(--green);font-style:italic;font-weight:400}
.desk-hero p{font-size:15px;line-height:1.75;max-width:430px;color:#5b675a;margin-bottom:25px}
.desk-hero .button{font-size:13px;padding:12px 17px;gap:22px}
.quiet-link{font-size:12px;color:var(--ink);border-bottom:1px solid #aebaa3;padding:5px 0}
.quiet-link:hover{text-decoration:none;border-color:var(--copper)}
.desk-plate{margin:0;transform:rotate(1.5deg);max-width:460px;justify-self:end;width:100%;border:1px solid #d5d5c6;box-shadow:3px 5px 0 #e4e1d7}
.desk-plate img{display:block;width:100%;height:auto}
.desk-plate figcaption{font:10px 'Courier New',monospace;line-height:1.5;letter-spacing:.4px;padding:10px 20px;border-top:1px solid #d5d5c6;background:#faf7f0;color:#5f695b}
.desk-totals{display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding:18px 0 22px;font-size:12px;color:#5c6858}
.desk-totals strong{font-family:Georgia,serif;font-size:20px;font-weight:400;color:var(--ink);margin-right:6px}
.desk-tools{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.85fr);gap:27px;margin:10px 0 36px}
.desk-entry{padding:26px;background:var(--paper);border:1px solid #b6c1ab;border-top:3px solid var(--green)}
.desk-entry h2{font-size:25px;margin-bottom:8px}.desk-entry>p{font-size:13px;color:#606e5b;margin-bottom:18px}
.desk-entry textarea{min-height:106px;padding:12px 14px;font-size:14px;background:#fcfbf6;line-height:1.7}
.desk-entry .row{margin-top:12px;justify-content:space-between;gap:12px}
.desk-entry button{font-size:12px}.desk-entry .text-link{font-size:11px;font-weight:400}
.desk-resume{padding:23px 0 23px 25px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.desk-resume .eyebrow{margin-bottom:15px}.desk-resume h2{font-size:27px;line-height:1.25;margin-bottom:12px}
.desk-resume p{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:18px}.desk-resume a{font-size:12px}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:0;border-top:1px solid var(--line)}
.chapter-card{grid-template-columns:35px minmax(0,1fr) 38px;gap:16px;align-items:start;padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;transition:background .15s;color:var(--ink)}
.chapter-card:hover{transform:none;background:#eeefe5}.chapter-number{width:auto;height:auto;border-radius:0;background:transparent;color:var(--copper);font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2}
.book-guides .chapter-card{grid-template-columns:4.2rem minmax(0,1fr);column-gap:16px}
.chapter-card h3{font-size:16px;font-weight:600;margin:1px 0 8px}.chapter-card p{font-size:12px;line-height:1.75;color:var(--muted);margin-bottom:12px}.chapter-card .small{font-family:'Courier New',monospace;font-size:10px;line-height:1.65;color:#5e6858}
.chapter-symbol{width:36px;height:36px;color:#5f795f;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.home-bottom{margin-top:32px;gap:25px}.home-bottom .panel{background:transparent;padding:23px 0;border:0;border-top:2px solid #b5c0a8;border-radius:0}
.home-bottom h3{font-family:Georgia,serif;font-size:23px;font-weight:400}.home-bottom p{font-size:13px;line-height:1.75}
.mini-tools{gap:8px}.mini-tools a{border-radius:3px;background:#e9ede1;border:1px solid #d4ddc9;padding:8px 10px;font-size:12px}
.notice{color:#656f5e;font-size:12px;line-height:1.8;margin-top:28px}
/* Notes, calculations and the shared tutor use the same paper and type. */
.article{padding:34px 40px}.article h1{font-size:35px}.article .lead{font-family:Georgia,serif;font-size:21px;line-height:1.6;border-left:2px solid var(--copper);color:#47634f;padding-left:19px}
.article-section h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:600;font-size:17px;letter-spacing:0}
.article-section p{font-size:15px;color:#3f5144;line-height:1.85}
.lesson-menu{padding:17px;background:#f0f1e8;border-color:#d6ddcd;border-radius:4px}
.lesson-link{border-radius:3px;font-size:13px;color:#56644f}.lesson-link.active{background:#dfe7d4;color:var(--dark);box-shadow:inset 2px 0 var(--copper)}
.lesson-link .index{color:#63735a}.practice-list button{border-radius:3px}.practice-list button.active{background:#dfe7d4}
.callout,.hint-box{border-radius:3px;background:#edf0e4;border-left:2px solid #9cac87}.callout.amber{border-color:#c69867;background:#f8efdf}
.article .english,.glossary-grid .english{color:#69745f}.source-line{font-size:12px;color:#65735c}
.note-area textarea,.scratch textarea{background:#faf9f3;border-color:#c1c9b7}
.question{font-family:Georgia,serif;font-size:22px;line-height:1.65}.answer-option{border-radius:4px;font-size:15px}.answer-option:has(input:checked){background:#eef2e6;border-color:#879f75}
.segmented{border-radius:4px;background:#e9eddf;box-shadow:none}.segmented button{border-radius:2px}.segmented button.selected{box-shadow:none}
.step-number,.tutor-step-number{background:transparent;border:1px solid #b8c5a9;color:var(--green);border-radius:3px}
.step p{font-size:14px;color:#4f634b}.step h3{font-size:14px}
.result-card,.tutor-result{background:#e9efdf;border:1px solid #b4c3a3;border-radius:3px;border-left:3px solid var(--green)}
.result-number,.tutor-result strong{font-family:Georgia,serif;font-weight:400;font-size:30px}
.result-label,.result-card .result-label,.result-note,.field-hint,.precision{color:#526148}
.empty-solver h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.empty-solver svg{width:58px;height:58px}
.glossary-grid .panel{background:transparent;border:0;border-top:1px solid #c1ccb4;border-radius:0;padding:24px 0}.glossary-grid{gap:12px 35px}.glossary-grid h3{font-family:Georgia,serif;font-size:24px;font-weight:400}
.glossary-grid p{font-size:14px;line-height:1.8}
.ref,.tabs .button{border-radius:3px}.molecule-frame{border-radius:4px;border-color:#b7c6aa}
.tutor{max-width:960px;color:var(--ink)}
.tutor-intro{padding-bottom:23px;margin-bottom:27px;border-bottom:1px solid #bdc7b2}.tutor-intro h1{font-family:Georgia,serif;font-size:43px;font-weight:400;letter-spacing:-1px;line-height:1.2;margin:12px 0 14px}
.tutor-intro p{font-size:15px;line-height:1.75;color:#586b50}.tutor-eyebrow{color:var(--copper)}
.tutor-entry,.tutor-preview:not(:empty),.tutor-part{background:var(--paper);border-color:#c9d0bf;border-radius:4px;padding:28px}
.tutor-entry{border-top:3px solid var(--green);background:var(--paper)}
.tutor-field{font-size:14px;color:var(--ink)}.tutor textarea,.tutor input{border-radius:3px;border-color:#adbda2;background:#fcfbf6;color:var(--ink)}
.tutor #tutor-input{font-size:17px;line-height:1.8;padding:17px;min-height:190px}
.tutor button{font-size:13px;border-radius:3px;border-color:#b9c7ab;color:var(--green);padding:10px 15px}
.tutor button.primary:hover{background:var(--dark)}.tutor-examples button{font-size:12px;padding:6px 12px;min-height:36px;background:#eeefe4}
.tutor-examples>a{font-size:12px;margin-left:auto}.tutor-help,.tutor-counter{color:#5f6a55}.tutor-status{font-size:13px;line-height:1.7}
.tutor h2{font-family:Georgia,serif;font-weight:400;font-size:27px}.tutor-badge{border-radius:2px;background:#e5eddc;color:#3f5d39}
.tutor-givens>div{border-radius:3px;background:#ecefe3;border-bottom:1px solid #becbab}
.tutor-caution{border-radius:3px;background:#fbf0de;border-color:#ddc49d}.tutor-unverified{background:#fbf0de;color:#745124}
.tutor details{border-top:1px solid #e2e4d9;margin-top:14px}.tutor summary{font-size:13px;color:#4b6441}.tutor-extra{border-top:0!important}
.tutor-step p{font-size:15px;line-height:1.8}.tutor-result strong{font-size:30px}.tutor th{background:#e9eedf}
.text-calculator>section>a{display:inline-block;margin:8px 20px 12px 0;font-size:13px;line-height:1.65}
.storage-banner,.feedback,.toast,.fatal{border-radius:4px}.toast{background:var(--dark)}
@media(min-width:1550px){main{padding-top:48px}.desk-hero{gap:65px}.desk-hero h1{font-size:72px}}
@media(max-width:1150px){.sidebar{width:211px;padding:24px 17px}.workspace{margin-left:211px}.topbar{padding:0 28px;gap:17px}main{padding:32px 28px 50px}.topbar form{width:275px}.desk-hero{gap:26px}.desk-hero h1{font-size:48px}.desk-hero p{font-size:14px}.desk-hero .row{gap:17px}.desk-tools{grid-template-columns:minmax(0,1.4fr) minmax(200px,.85fr);gap:22px}.desk-entry{padding:21px}.desk-resume{padding-left:20px}.chapter-grid{column-gap:25px}.chapter-card{gap:11px;grid-template-columns:29px minmax(0,1fr) 28px}.chapter-symbol{width:28px;height:28px}.article{padding:28px}.page-footer{padding:20px 28px}}
@media(max-width:900px){.sidebar{width:auto;position:relative;display:block;padding:17px 24px 8px;overflow:visible;border-right:0;border-bottom:1px solid #bac5af}.brand{width:132px}.brand img{width:124px;height:auto}.brand-caption{font-size:10px;margin-top:5px}.course-label{position:absolute;top:23px;right:25px;margin:0;padding:0;border:0;font-size:10px;gap:12px}.sidebar nav{display:flex;overflow-x:auto;gap:4px;margin-top:17px;padding-bottom:4px}.nav-link{padding:9px 12px;min-height:41px;gap:7px;font-size:12px;border-left:0;border-bottom:2px solid transparent}.nav-link.active{border-left:0;border-bottom-color:var(--copper)}.nav-link svg{width:17px;height:17px}.nav-separator{display:none}.sidebar-bottom{display:none}.workspace{margin-left:0}.topbar{height:62px}.desk-hero h1{font-size:49px}.desk-plate{max-width:350px}.tutor-intro h1{font-size:38px}.page-intro h1{font-size:35px}}
@media(max-width:670px){.sidebar{padding:15px 18px 7px}.course-label{right:18px;top:24px;display:grid;gap:4px;text-align:right}.course-label>span:last-child{margin:0}.sidebar nav{margin-top:15px}.nav-link{padding:8px 10px;font-size:12px}.nav-link svg{width:16px;height:16px}.topbar{padding:0 18px;gap:17px;height:60px}.topbar form{width:auto;flex:1}.topbar-work{font-size:11px}.topbar-work span{margin-left:3px}.topbar input{font-size:12px}.topbar kbd{display:none}main{padding:26px 20px 40px}.desk-heading{font-size:9px;line-height:1.6;gap:12px;letter-spacing:.6px;margin-bottom:22px}.desk-hero{grid-template-columns:1fr;gap:26px;padding-bottom:25px}.desk-hero h1{font-size:53px;letter-spacing:-1.6px;margin-bottom:18px}.desk-hero p{font-size:15px;max-width:410px;margin-bottom:20px}.desk-hero .row{gap:20px}.desk-plate{max-width:420px;justify-self:stretch;transform:rotate(.5deg)}.desk-plate figcaption{font-size:10px;padding:9px 17px}.desk-totals{gap:10px 20px;justify-content:space-between;padding:20px 0;font-size:11px}.desk-totals strong{font-size:20px}.desk-tools{display:block;margin:7px 0 25px}.desk-entry{padding:21px 18px}.desk-entry h2{font-size:26px}.desk-entry textarea{font-size:16px;min-height:128px}.desk-entry .row{gap:15px}.desk-entry button{font-size:13px}.desk-resume{margin-top:25px;padding:7px 0 7px 20px}.desk-resume h2{font-size:26px}.chapter-grid{grid-template-columns:1fr}.chapter-card{grid-template-columns:35px minmax(0,1fr) 34px;padding:23px 0;gap:13px}.chapter-symbol{width:32px;height:32px}.chapter-card p{font-size:13px}.chapter-card .small{font-size:11px}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:25px}.section-heading small{font-size:11px;max-width:128px;text-align:right;line-height:1.5}.page-intro h1{font-size:33px}.page-intro p{font-size:14px}.page-intro{padding-bottom:21px}.home-bottom{display:block}.home-bottom .panel{margin-top:15px}.article{padding:25px 20px}.article h1{font-size:30px}.article .lead{font-size:19px}.article-section p{font-size:15px}.question{font-size:20px}.lesson-link,.practice-list button{font-size:12px}.answer-option{font-size:14px}.tutor-intro h1{font-size:36px}.tutor-intro p{font-size:15px}.tutor-entry,.tutor-preview:not(:empty),.tutor-part{padding:20px 16px}.tutor #tutor-input{font-size:16px;padding:13px;min-height:200px}.tutor-result{padding:18px}.tutor-result strong{font-size:26px}.tutor-examples{gap:8px}.tutor-examples>a{width:100%;margin-top:6px}.page-footer{padding:19px 20px;font-size:10px;align-items:center}.page-footer>span{max-width:190px;text-align:left}.footer-divider{padding:0 5px}.page-footer>a{max-width:120px;text-align:right;line-height:1.6}}
@media(max-width:370px){.desk-hero h1{font-size:46px}.desk-totals{gap:12px}.desk-totals strong{font-size:18px}.topbar-work{display:none}.desk-heading>span:last-child{max-width:145px;text-align:right}}
@media print{body{background:white}.desk-plate{transform:none;box-shadow:none}.desk-entry,.desk-hero .row{display:none}.workspace{margin:0}main{padding:0}.chapter-card{break-inside:avoid}.article{padding:0}}
@media(min-width:901px) and (max-height:850px){.sidebar{padding-top:22px}.brand img{width:128px}.brand-caption{font-size:10px;margin-top:6px}.course-label{margin-top:16px;padding:11px 0 16px}.sidebar nav{gap:2px}.nav-link{padding:8px 10px;min-height:35px;font-size:12px}.nav-separator{margin:8px 10px}.sidebar-bottom{padding-top:17px}.sidebar-bottom .little-label{display:none}.sidebar-bottom p{font-size:10px;margin:6px 0}.storage-link{margin:15px 0 9px;padding-top:12px}}
@media(min-width:901px) and (max-height:710px){.sidebar-bottom #progress-summary,.sidebar-bottom>small{display:none}}
@media(max-width:670px){.desk-heading>span:first-child{white-space:nowrap}.desk-heading>span:last-child{display:none}}

.nav-primary,.nav-secondary{display:contents}.nav-more{display:none}
.home-intro h1{font:42px/1.2 Georgia,serif;letter-spacing:-1px;margin:0 0 10px}.home-intro h1 span{color:#6b765d}.home-intro>p{margin:0 0 24px;color:#586b50}.home-start{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:35px;align-items:center}.home-start .desk-plate{margin:0;width:100%;max-width:330px;justify-self:end}.home-reading{margin:25px 0}.home-reading .desk-resume{padding:5px 0 5px 20px;max-width:800px}.home-reading .desk-resume h2{font-size:25px;margin:8px 0}.home-reading .desk-resume p{margin:8px 0}
@media(max-width:900px){.sidebar #nav{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible;gap:0}.nav-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.nav-primary .nav-link{justify-content:center;padding:9px 4px;gap:5px}.nav-more{display:block;border:0;border-bottom:2px solid transparent;background:transparent;padding:8px;color:var(--ink);font-size:12px}.nav-more.active,.nav-more[aria-expanded=true]{border-bottom-color:var(--copper);background:#e8eddc}.nav-secondary{display:none;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:12px 0;border-top:1px solid #bac5af}.expanded .nav-secondary{display:grid}.nav-secondary .nav-link{white-space:normal}.home-start{gap:20px}}
@media(max-width:670px){.home-intro h1{font-size:31px;letter-spacing:-.7px}.home-intro p{font-size:14px}.home-start{grid-template-columns:1fr}.home-start .desk-plate{display:none}.home-reading .desk-resume{margin-top:0}.nav-primary .nav-link{flex-direction:column;font-size:10px;gap:4px}.nav-primary .nav-link svg{height:16px;width:16px}.nav-more{font-size:11px}.nav-secondary .nav-link{font-size:12px;padding:10px 5px;gap:6px}.tutor-modes{display:grid;grid-template-columns:1fr 1fr}.tutor-modes a{font-size:12px;padding:10px;text-align:center}.tutor-intro{margin-bottom:18px;padding-bottom:15px}.tutor-intro h1{margin-top:8px}.tutor-entry{padding:18px 16px}}
.tutor-preview:empty{display:none}
.nav-label-short{display:none}@media(max-width:900px){.nav-primary .nav-label-long{display:none}.nav-primary .nav-label-short{display:inline}}
