:root{--navy:#101d59;--ink:#182957;--muted:#5e6c86;--teal:#183b96;--mint:#e2e9fa;--paper:#f5f7fc;--line:#dbe2ef;--coral:#bd910e;--white:#fff;--green:#236347;--red:#9b4639;--shadow:0 18px 65px #122a3412}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c9804b;outline-offset:4px}a{color:var(--teal)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.app{display:flex;min-height:100vh}.sidebar{background:var(--navy);color:#f2f4ff;width:275px;flex-shrink:0;position:fixed;inset:0 auto 0 0;overflow:auto;padding:34px 27px 25px;display:flex;flex-direction:column;z-index:20}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:21px;font-weight:600;letter-spacing:3px}.brand-mark{display:grid;place-items:center;width:41px;height:46px;border:1px solid #9aa9d5;border-radius:50% 50% 4px 4px;font-family:Georgia,serif;font-size:29px;letter-spacing:0}.brand small{display:block;font-weight:400;font-size:9px;letter-spacing:1.1px;color:#c0c9ea}.course-label{font-size:10px;letter-spacing:2px;color:#aebce0;margin-top:45px}.sidebar h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.25;margin:13px 0 24px}.rail-progress{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#bec8e4}.rail-progress span:first-child{font-size:21px;color:#fff;font-family:Georgia,serif}.progress-track{height:3px;background:#344775;margin:11px 0 26px}.progress-track>div{background:#f1c62d;height:100%;width:0;transition:width .4s}#course-nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;gap:11px;align-items:center;text-align:left;border:0;background:transparent;color:#c5ceea;padding:10px 9px;width:100%;border-radius:5px;font-size:12px;line-height:1.35}.nav-item.active{background:#263d7b;color:#fff}.nav-item.done{color:#e1e7fb}.nav-item:hover:not(:disabled){background:#20356e}.nav-item:disabled{opacity:.47}.nav-num{border:1px solid #7e8eb4;border-radius:50%;height:22px;min-width:22px;display:grid;place-items:center;font-size:10px}.done .nav-num{background:#f1c833;color:#101d59;border:0}.rail-bottom{font-size:10px;color:#c4cde7;margin-top:30px;padding-top:20px;border-top:1px solid #354775}.small-dot{display:inline-block;width:6px;height:6px;background:#f1c833;border-radius:50%;margin-right:5px}.text-button{background:none;border:0;color:inherit;padding:9px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}.workspace{margin-left:275px;width:calc(100% - 275px)}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center;padding:0 5%;background:var(--paper)}.breadcrumb{font-size:10px;letter-spacing:1.35px;color:#65728c;flex:1}.breadcrumb>span{margin:0 10px;color:#9ca8bf}.review-flag{font-size:9px;letter-spacing:1.4px;border:1px solid #d5c5ae;color:#856748;padding:5px 9px;border-radius:2px}.help-button{border:0;background:none;color:var(--ink);font-size:12px;padding:10px 0}.help-button>span{margin-left:13px}.mobile{display:none}main{max-width:1350px;margin:auto;padding:50px 5% 26px;min-height:calc(100vh - 142px)}main:focus{outline:0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--teal);font-weight:700;text-transform:uppercase;margin-bottom:18px}.eyebrow:before{content:'';width:24px;height:1px;background:var(--teal);display:inline-block;vertical-align:middle;margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4vw,60px);font-weight:400;line-height:1.07;letter-spacing:-1.8px;margin-bottom:22px;max-width:950px}h2{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.25;letter-spacing:-.5px}h3{font-size:16px;line-height:1.35;font-weight:600}.lead{font-size:17px;color:var(--muted);max-width:710px;margin-bottom:34px;line-height:1.65}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:0;align-items:stretch;border-radius:7px;overflow:hidden;background:#e8edfb;box-shadow:var(--shadow);margin-bottom:30px;min-height:440px}.hero-copy{padding:42px 36px;position:relative;z-index:1}.hero h1{font-size:clamp(40px,4.2vw,65px);max-width:500px;letter-spacing:-2px}.hero p{color:#506084;font-size:15px;line-height:1.75}.hero-art{width:100%;height:100%;object-fit:cover;object-position:62% center;min-height:440px}.hero-sub{display:flex;gap:18px;font-size:11px;flex-wrap:wrap;color:#4c5d81;margin-top:24px}.hero-sub span:before{content:'✓';margin-right:6px}.start-box{display:grid;grid-template-columns:1fr 1fr auto;gap:17px;align-items:end;background:white;border:1px solid var(--line);padding:24px 27px;border-radius:7px}.field label{font-size:11px;color:#52636b;display:block;margin-bottom:7px;font-weight:600}.field input{border:1px solid #c8d2cd;background:#fbfcf9;border-radius:4px;width:100%;padding:12px;color:var(--ink);min-height:48px}.button{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:13px 24px;border-radius:4px;font-size:13px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:18px;line-height:1.4;min-height:47px;text-decoration:none}.button.secondary{background:transparent;color:var(--ink);border-color:#aebeb7}.button.light{background:white;color:var(--ink);border-color:var(--line)}.button.tertiary{background:transparent;color:var(--teal);border:0;padding-left:0}.privacy-note{font-size:11px;color:var(--muted);margin:11px 0 0}.intro-lower{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;padding-top:40px}.intro-lower h2{font-size:25px}.intro-lower p{font-size:14px;color:var(--muted)}.course-facts{border-left:1px solid var(--line);padding-left:35px;font-size:13px}.course-facts div{margin-bottom:10px}.lesson-top{display:flex;gap:30px;align-items:flex-start;justify-content:space-between}.lesson-step{color:#8a9c99;font-family:Georgia,serif;font-size:40px;line-height:1;white-space:nowrap;margin-top:5px}.lesson-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:38px;margin-top:10px;align-items:start}.prose p{font-size:15px;line-height:1.8;color:#475e68;margin-bottom:20px}.prose p:first-child{font-size:17px;color:var(--ink)}.visual{border:1px solid var(--line);border-radius:8px;background:#fff;padding:26px;box-shadow:var(--shadow)}.visual .overline{font-size:10px;letter-spacing:1.4px;font-weight:600;color:var(--teal);margin-bottom:18px}.quote{font-family:Georgia,serif;font-size:24px;line-height:1.35;margin:15px 0;color:var(--ink)}.quote small{font-family:Arial,sans-serif;display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:16px}.good{border-left:3px solid #5b9b7d;padding-left:17px}.bad{border-left:3px solid #c08670;padding-left:17px}.example-pair{display:grid;gap:24px}.small-label{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.swap-controls{display:flex;gap:8px;margin-bottom:18px}.swap-controls button{padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:#fafbf8;color:var(--ink);font-size:12px}.swap-controls button.selected{background:var(--navy);color:white;border-color:var(--navy)}.teaching-note{font-size:13px;line-height:1.7;background:#edf1fc;border-left:3px solid #d3ad2c;padding:18px 21px;margin:28px 0;color:#294576}.details-stack{margin:32px 0 10px}.details-stack details{border-top:1px solid var(--line);padding:18px 0}.details-stack details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:15px;font-weight:600}details .detail-body{padding:15px 0 0;max-width:850px}details p{font-size:14px;line-height:1.8;color:#475e68;margin-bottom:15px}.traits{display:grid;grid-template-columns:1fr 1fr;gap:0}.trait{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.trait:nth-child(odd){padding-right:10px}.trait span{font-size:18px;margin-right:9px;color:#5f8f80}.threshold{background:var(--navy);color:#fff;border:0;padding:32px}.threshold .overline{color:#f1d461}.threshold h2{font-size:37px;margin:0 0 22px}.threshold p{font-size:14px;color:#cdd7ef}.threshold .rule-line{height:2px;background:#f1c833;margin:25px 0}.boundary-chain{display:flex;gap:0;align-items:flex-start}.boundary-step{flex:1;padding:0 12px;text-align:center;position:relative}.boundary-step:not(:last-child):after{content:'→';position:absolute;right:-7px;top:15px;color:#8e9dbd}.boundary-step b{display:grid;place-items:center;background:#e7edfb;border:1px solid #c8d2eb;border-radius:50%;width:48px;height:48px;margin:0 auto 12px;font-family:Georgia,serif;font-size:24px;font-weight:400}.boundary-step strong{font-size:12px;display:block}.boundary-step p{font-size:11px;color:var(--muted);margin:6px 0}.chat{background:#f5f7f4;border:1px solid #e1e6e1;border-radius:7px;overflow:hidden}.chat-head{font-size:12px;padding:13px 17px;border-bottom:1px solid #dfe5df;background:#fff;font-weight:600}.chat-msg{display:flex;gap:9px;padding:15px 16px 0}.avatar{width:30px;height:30px;border-radius:50%;background:#d3e5dc;color:#2d574b;display:grid;place-items:center;font-size:10px;font-weight:600;flex-shrink:0}.avatar.warm{background:#ecdacb;color:#83624b}.chat-bubble{font-size:12px;background:#fff;border:1px solid #e5e8e0;padding:12px;border-radius:0 7px 7px 7px;flex:1}.chat-bubble b{font-size:10px;display:block;color:#657b7a;margin-bottom:5px}.chat-caption{padding:16px;font-size:11px;color:var(--muted)}.message-flag{border-bottom:2px solid #c18468;padding-bottom:2px}.practice{border:1px solid #c8d3ef;background:#fff;border-radius:8px;margin:35px 0 12px;overflow:hidden}.practice-header{padding:22px 28px;background:#e8edfb;border-bottom:1px solid #ccd5ed}.practice-header .eyebrow{margin-bottom:10px}.practice-header h2{font-size:28px;margin:0}.practice-body{padding:25px 28px}.practice-prompt{font-size:16px;line-height:1.75;max-width:850px;margin-bottom:22px}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid #c9d3eb;border-radius:5px;background:#fff;padding:14px 18px;color:var(--ink);font-size:14px;line-height:1.5}.option:hover:not(:disabled){border-color:#4762ab;background:#f1f4fc}.option .letter{display:grid;place-items:center;border:1px solid #c6d0e9;border-radius:50%;height:28px;min-width:28px;font-size:11px;color:#607190}.option.selected{border:2px solid #223f9a;background:#edf1ff;padding:13px 17px}.option.selected .letter{background:#223f9a;color:white;border-color:#223f9a}.option.correct{border-color:#679980;background:#f1f7ef}.option.incorrect{border-color:#bd816a;background:#fbf2ec}.feedback{padding:17px 21px;margin:19px 0 0;border-left:3px solid #5b9476;background:#edf4eb;font-size:14px;line-height:1.75}.feedback strong{display:block;color:var(--green);margin-bottom:5px}.feedback.review{border-left-color:#ba7b5c;background:#fbf1e8}.feedback.review strong{color:#85563e}.lesson-actions{display:flex;align-items:center;gap:18px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:35px}.lesson-actions .action-note{font-size:11px;color:var(--muted);flex:1;text-align:right}.report-flow{list-style:none;padding:0;margin:0}.report-flow li{display:flex;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.report-flow li:last-child{border:0}.report-flow .num{font-family:Georgia,serif;font-size:24px;color:#2b4b99;line-height:1.3}.report-flow b{font-size:14px;display:block}.report-flow p{font-size:12px;margin:5px 0 0;color:var(--muted)}.contact-box{margin-top:28px;padding:26px;border:1px solid #c3cfea;border-radius:7px;background:#eef2fc}.contact-box h3{margin-bottom:5px}.contact-box p{font-size:13px;margin-bottom:15px}.pending{color:#80583b;font-size:11px;background:#f3e9dc;border:1px solid #e1d0b8;border-radius:4px;padding:10px 13px}.decision-board{padding:22px;background:#f7f7f2;border:1px solid var(--line);border-radius:5px}.assignment{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.assignment:last-child{border:0}.assignment .status{font-size:10px;background:#dceadf;padding:3px 8px;border-radius:3px;white-space:nowrap}.assignment .status.removed{background:#f0ded1;color:#8c513e}.assignment b{font-size:13px;display:block}.assignment small{font-size:11px;color:var(--muted)}.response-script{font-family:Georgia,serif;font-size:26px;line-height:1.5;padding:18px 0}.resources-list a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;text-decoration:none}.resources-list small{font-size:11px;color:var(--muted);display:block;margin-top:3px}.quiz-wrap{max-width:880px;margin:auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:15px}.quiz-track{display:flex;gap:5px;margin-bottom:35px}.quiz-track span{height:5px;background:#dce3dc;flex:1;border-radius:5px}.quiz-track span.answered{background:#76a58e}.quiz-track span.current{background:var(--navy)}.quiz-question{font-family:Georgia,serif;font-size:31px;line-height:1.35;margin:0 0 29px;letter-spacing:-.5px}.quiz-panel{padding:35px;background:white;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.score-summary{display:flex;gap:25px;align-items:center;background:#edf2fc;border:1px solid #ccd8ef;padding:25px;border-radius:6px;margin:25px 0}.score-summary .score{font-family:Georgia,serif;font-size:57px;line-height:1}.score-summary h3{margin:0 0 7px}.score-summary p{font-size:13px;margin:0;color:var(--muted)}.remediation{padding:20px 0;border-bottom:1px solid var(--line)}.remediation h3{font-size:17px;margin:0 0 14px}.remediation p{font-size:14px;color:var(--muted)}.ack{display:flex;gap:12px;align-items:flex-start;background:#eef2fc;padding:20px;border:1px solid #ccd6ed;border-radius:5px;margin:24px 0;font-size:14px}.ack input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--teal)}.completion{max-width:900px;margin:auto}.completion h1{margin-top:20px}.completion-mark{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:#e4eafb;border:1px solid #c5d1ed;font-family:Georgia,serif;font-size:34px;color:#2a6548}.completion-record{background:white;border:1px solid #cdd7ec;padding:35px;margin:25px 0;box-shadow:var(--shadow);position:relative;border-radius:4px}.completion-record:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:#1c3896}.completion-record .person{font-family:Georgia,serif;font-size:35px;margin:12px 0}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:13px;border-top:1px solid var(--line);padding-top:23px;margin-top:20px}.record-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.record-grid dd{margin:4px 0 0}.button-row{display:flex;gap:12px;flex-wrap:wrap}.course-footer{padding:20px 5%;border-top:1px solid var(--line);font-size:10px;color:#697f7b;display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid var(--line);border-radius:9px;padding:38px;max-width:620px;width:90%;box-shadow:0 40px 150px #0003;color:var(--ink)}dialog::backdrop{background:#112b3b99;backdrop-filter:blur(4px)}dialog h2{font-size:35px;margin-bottom:25px}dialog p{font-size:14px;color:var(--muted)}.dialog-close{position:absolute;top:10px;right:15px}.icon-button{background:transparent;border:0;color:var(--ink);padding:6px;font-size:26px;line-height:1.2}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;border:1px solid #8a9cc5;background:#fff;box-shadow:var(--shadow);z-index:50;font-size:13px;border-radius:5px;max-width:90%}.toast[hidden]{display:none}.source-note{font-size:11px;color:var(--muted);margin-top:24px}.source-note a{margin-right:12px}.callout-strip{display:flex;gap:15px;align-items:center;margin:25px 0;background:#edf1fb;border-radius:5px;padding:18px 22px}.callout-strip b{font-family:Georgia,serif;font-weight:400;font-size:30px}.callout-strip p{font-size:12px;margin:0;line-height:1.6}.storage-warning{color:#99513d!important}.error-text{color:#9b4639;font-size:12px;margin-top:10px}.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}@media(min-width:1600px){main{padding-top:60px}.hero{min-height:490px}.hero-art{min-height:490px}.hero-copy{padding:50px}}@media(max-width:1200px){.sidebar{width:238px;padding:30px 20px}.workspace{margin-left:238px;width:calc(100% - 238px)}h1{font-size:44px}.hero{grid-template-columns:1.1fr .9fr}.hero-copy{padding:30px 26px}.hero h1{font-size:48px}.lesson-grid{gap:25px}.start-box{grid-template-columns:1fr 1fr}.start-box .button{grid-column:1/-1}.breadcrumb{font-size:9px}.topbar{gap:12px}.visual{padding:21px}}@media(max-width:900px){.sidebar{transform:translateX(-100%);width:275px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 80px #102b3b55}.workspace{margin:0;width:100%}.mobile{display:block}.topbar{height:70px}.breadcrumb{font-size:9px}.review-flag{display:none}.hero{min-height:390px}.hero-art{min-height:390px}.hero h1{font-size:47px}.lesson-grid{grid-template-columns:1fr 1fr}.lesson-step{font-size:33px}}@media(max-width:650px){main{padding:30px 6% 22px}.topbar{padding:0 6%;gap:12px}.breadcrumb{font-size:8px;letter-spacing:.5px}.breadcrumb>span{margin:0 3px}.help-button{font-size:10px}.help-button>span{margin-left:4px}.hero{display:flex;flex-direction:column-reverse}.hero-art{height:225px;min-height:225px;object-position:50% 42%}.hero-copy{padding:28px}.hero h1{font-size:45px;margin-bottom:19px}.hero-sub{gap:10px;font-size:10px}.start-box{grid-template-columns:1fr;padding:22px}.intro-lower{grid-template-columns:1fr;gap:20px}.course-facts{padding:0;border:0}.lesson-grid{grid-template-columns:1fr;gap:20px}h1{font-size:40px;letter-spacing:-1px}.lead{font-size:15px;margin-bottom:25px}.lesson-step{font-size:25px}.lesson-actions{flex-wrap:wrap}.lesson-actions .action-note{order:3;text-align:left;flex-basis:100%}.lesson-actions .button{font-size:12px}.practice-header,.practice-body{padding:20px}.practice-header h2{font-size:26px}.option{padding:13px;font-size:13px}.quiz-panel{padding:23px}.quiz-question{font-size:25px}.completion-record{padding:24px}.record-grid{gap:17px}.course-footer{font-size:9px;flex-direction:column;gap:6px}.eyebrow{font-size:9px}.contact-box{padding:22px}.score-summary{padding:20px;gap:17px}.score-summary .score{font-size:45px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.sidebar,.topbar,.course-footer,.lesson-actions,.button-row,.privacy-note,.toast{display:none!important}.workspace{width:100%;margin:0}main{padding:0;min-height:auto}.completion-record{box-shadow:none;break-inside:avoid}.completion-mark{display:none}.completion h1{font-size:34px}.completion .lead{font-size:13px}}

.lesson-art{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:7px;margin-bottom:20px;border:1px solid #d8dfd6}.lesson-grid>div{min-width:0}

.policy-section{margin:32px 0;padding:28px;border:1px solid #c6d0eb;background:#fff;border-radius:8px}.policy-section>p{font-size:14px;color:var(--muted);max-width:800px}.contact-person{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid #ccd7ed;font-size:14px}.contact-person span{font-size:12px;color:var(--muted)}

/* Caelum Research Corporation brand: original blue/yellow logo, corporate blue interface. */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-decoration:none;letter-spacing:0}
.logo-window{position:relative;display:block;flex-shrink:0;width:210px;height:60px;overflow:hidden;background:#fff;border-radius:5px}
.logo-window img{position:absolute;display:block;max-width:none;width:600px;height:auto;left:-195px;top:-148px}
.company-name{display:block;color:#eef2ff;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.25px;max-width:220px}
.course-label{margin-top:31px;color:#ced6ef}
.breadcrumb strong{font-size:10px;letter-spacing:1px;font-weight:600;color:#253d79}
.breadcrumb .descriptor{margin:0 0 0 8px;font-size:9px;font-weight:400;color:#71809c}
.eyebrow:before{background:#d5ad20;height:2px}
.hero{background:linear-gradient(120deg,#eef2fc,#e3e9f9)}
.hero-copy .eyebrow{font-size:9px;letter-spacing:1.5px}
.hero-sub span:before{color:#9b7800}
.completion-record .logo-window{margin-bottom:25px}
.completion-record:before{background:linear-gradient(90deg,#162b8f 0%,#162b8f 82%,#f1c833 82%,#f1c833 100%)}
.topbar{background:#fff}
@media(min-width:901px) and (max-width:1200px){.logo-window{width:182px;height:52px}.logo-window img{width:520px;left:-167px;top:-127px}.company-name{font-size:11px;letter-spacing:0}.completion-record .logo-window{width:210px;height:60px}.completion-record .logo-window img{width:600px;left:-195px;top:-148px}}
@media(max-width:650px){.breadcrumb strong{font-size:8px;letter-spacing:.35px}.breadcrumb .descriptor{display:none}.company-name{font-size:12px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.1px}}
@media print{.completion-record .logo-window{-webkit-print-color-adjust:exact;print-color-adjust:exact}.completion-record:before{background:#162b8f}}
