




/* Tim's September 8 screenshots specify a white editorial page on parchment,
   black classical type, gold details, and sky blue. His later CTA reference
   explicitly chooses white serif lettering on the sampled gold. */
:root{--background:#e8e3d1;--foreground:#171714;--primary:#756034;--border:#d4cdbb;--muted-foreground:#5f5c52;--card:#fff;--ring:#756034;--gold:#b19a61;--sky:#d5e7ed;--radius:0;color-scheme:light}
/* Sampled from Tim's Vatican Magisterium reference. Keep link text on the
   darker existing primary; this lighter gold is a button surface, not ink. */
:root{--cta-gold:#ae9967;--cta-gold-hover:#baa877;--cta-ink:#ffffff;--cta-font:'Times New Roman',Times,serif;--cta-radius:999px;--incomplete-surface:#f3ded9;--incomplete-ink:#843f37;--incomplete-border:#d7ada4}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--background);color:var(--foreground);font:1rem/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #756034;outline-offset:5px}h1,h2,h3,.brand{font-family:'Times New Roman',Times,serif;font-weight:400}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.08;letter-spacing:-.015em}h2{line-height:1.22}p{max-width:68ch}.site-shell{max-width:1340px;margin:28px auto 0;background:#fff}.wrap{max-width:1220px;margin:auto;padding-left:50px;padding-right:50px}
.masthead{background:#fff}.masthead-inner{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:104px;gap:24px}.brand{display:flex;align-items:baseline;gap:7px;font-size:1.65rem;line-height:1.2;letter-spacing:-.035em}.brand i{font-size:1.15em}.masthead-mark{position:absolute;left:50%;top:25px;transform:translateX(-50%);display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;color:var(--primary);font:2rem 'Times New Roman',serif}.all-modules{font-size:.875rem;text-transform:uppercase;letter-spacing:.07em}.all-modules span{margin-left:10px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:8px;z-index:100}.skip:focus{top:10px}
.library{max-width:none;padding:0 0 48px;background:var(--background)}.intro{background:linear-gradient(120deg,#c4dbe5,#edf5f5);padding:42px max(50px,calc((100% - 1120px)/2)) 44px}.intro h1{text-transform:uppercase}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--primary);font-weight:600;margin-bottom:14px}.intro .eyebrow{color:#3c535c}.lead{font:1.15rem/1.7 Arial,Helvetica,sans-serif;color:var(--muted-foreground);margin-top:16px}.intro .lead{color:#354951}.section-line{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:0 auto;padding:35px 50px 24px;max-width:1220px}.section-line h2{font-size:1.35rem;text-transform:uppercase}.section-line>span{font-size:.875rem;color:var(--muted-foreground)}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1220px;margin:auto;padding:0 50px}.module-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;padding:29px 25px 34px;transition:background .15s}.module-card:hover{background:#fdfcf7}.module-number{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;font:1.45rem 'Times New Roman',serif;color:var(--primary);line-height:1;margin-bottom:15px}.module-card .eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:8px}.module-card h2{font-size:1.45rem;text-transform:uppercase;margin-bottom:14px}.module-card p:not(.eyebrow){font-size:1rem;line-height:1.6;color:var(--muted-foreground)}.text-link{display:inline-flex;gap:18px;color:var(--primary);font-size:.875rem;margin-top:21px}.library-note{font-size:.875rem;color:var(--muted-foreground);margin:28px auto 0;padding:0 50px;max-width:1220px}.site-footer{padding-top:36px;padding-bottom:40px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:.875rem;color:var(--muted-foreground);background:#fff}.footer-name{font:1.2rem 'Times New Roman',serif;color:var(--foreground)}
main.wrap:not(.library){padding-top:30px;padding-bottom:56px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:.875rem;color:var(--muted-foreground);margin-bottom:42px}.breadcrumbs a{color:var(--primary)}.module-intro{max-width:850px;margin-bottom:44px}.module-intro h1{font-size:clamp(2.25rem,4vw,3.3rem);text-transform:uppercase}.reading-list{border-top:1px solid var(--border)}.reading-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:32px;padding:36px 0;border-bottom:1px solid var(--border)}.reading-category{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);padding-top:6px}.reading-category .eyebrow{margin-bottom:6px}.reading-card h2{font-size:1.9rem;margin-bottom:6px}.author{color:var(--muted-foreground);font-size:1rem}.assignment{margin-top:20px;font-size:1rem}.assignment>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);margin-bottom:3px}.reading-note{font-size:.875rem;color:var(--muted-foreground);border-left:2px solid var(--gold);padding-left:14px;margin-top:16px}.reading-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.reading-link{border:1px solid var(--border);border-radius:0;padding:10px 16px;height:auto;min-height:42px;max-width:100%;white-space:normal;text-align:left;font-size:.875rem;background:#fff;color:var(--primary);display:inline-flex;gap:18px;align-items:center}.reading-link:hover{border-color:var(--primary);background:#f6f3e8}.reading-link.primary{background:#e8dfbf;border-color:#b4a375;color:#302918}.reading-link.primary:hover{background:#ded1a6}.edition{font-size:.875rem;color:var(--muted-foreground);margin-top:14px}.module-paging{display:flex;justify-content:space-between;gap:30px;padding-top:32px}.module-paging a{color:var(--primary);font-size:.875rem;max-width:45%}.module-paging a>span{display:block;color:var(--muted-foreground);margin-top:7px}
.reader{max-width:870px}.reader h1{font-size:clamp(2.2rem,4vw,3.3rem);text-transform:uppercase}.reader-header{border-bottom:1px solid var(--border);padding-bottom:28px;margin-bottom:32px}.reader-nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.875rem;color:var(--primary);margin-top:24px}.reader section{margin-top:48px}.reader section h2{font-size:2rem;margin-bottom:18px}.reader-text h3{font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.04em;color:var(--primary);line-height:1.6;margin:30px 0 16px}.reader-text p{font:1.125rem/1.85 Georgia,serif;margin-bottom:1.3em}.reader-text p.eyebrow{font:.75rem Arial,sans-serif;letter-spacing:.15em}.source-note{font-size:.875rem;color:var(--muted-foreground);margin-top:20px}.source-note a{text-decoration:underline;text-underline-offset:3px}.reader .back{display:inline-block;margin-top:25px;color:var(--primary)}
@media(max-width:1400px){.site-shell{margin:20px 24px 0}}@media(max-width:1000px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.masthead-mark{display:none}.section-line{display:block}.section-line>span{display:block;margin-top:10px}}@media(max-width:640px){.site-shell{margin:0}.wrap{padding-left:23px;padding-right:23px}.masthead-inner{min-height:84px;gap:14px}.brand{font-size:1.2rem}.all-modules{font-size:.75rem}.all-modules span{display:none}.intro{padding:32px 23px}.intro .lead{font-size:1rem}.section-line{padding:28px 23px 20px}.module-grid{grid-template-columns:1fr;padding:0 23px;gap:18px}.module-card{padding:26px 24px 32px}.library-note{padding:0 23px}.reading-card{grid-template-columns:1fr;gap:12px;padding:28px 0}.reading-category .module-number{display:none}.site-footer{flex-direction:column;gap:8px}.module-paging{gap:15px}.reader-text p{font-size:1.0625rem}.breadcrumbs{margin-bottom:30px}}
/* The workbook is the primary content; outside books are a supporting shelf.
   The shallow elliptical edge echoes Tim's reference without burying modules. */
.site-shell{max-width:none;margin:0}
.masthead-inner{max-width:1340px;min-height:90px}
.brand{font-size:1.45rem}.site-navigation{display:flex;gap:24px}
/* Equal half-width bottom radii keep the reference's arc centered at every width. */
.intro{padding:40px max(35px,calc((100% - 1120px)/2)) 80px;border-radius:0 0 50% 50% / 0 0 65px 65px}
.intro h1{font-size:clamp(2.7rem,5.5vw,4.8rem)}
.intro blockquote{margin:22px 0 0;max-width:700px;font-family:Georgia,serif;font-style:italic}
.intro cite{display:block;font:.875rem Arial,sans-serif;margin-top:8px}
.foundation-card{grid-column:span 2;flex-direction:row;text-align:left;gap:28px;padding:35px}
.foundation-card .module-number{width:70px;height:70px;flex-shrink:0}.foundation-card h2{font-size:2rem}
/* Tim asked for source artwork on every module, not stock illustrations.
   An inset background layer keeps the cover type out of competition with
   live titles; the overlay protects contrast independently of image color. */
.module-card{isolation:isolate;overflow:hidden}
.module-card::before{content:"";position:absolute;inset:-10px;z-index:-1;background:linear-gradient(rgba(255,253,245,.82),rgba(255,253,245,.82)),var(--module-image,none) var(--module-position,center) / cover no-repeat;filter:blur(5px);pointer-events:none}
.module-card .module-number{background:rgba(255,253,245,.85)}
/* Tim wants time-based emphasis, not locked or disabled past lessons. Fade the
   artwork instead of the entire card so titles and controls remain readable. */
/* Tim asked for stronger Italian-villa dimension after the shallow paper edge.
   A stepped, lit bevel and deeper stone-colored base give the tiles substance
   without tilt or movement that would disturb their aligned actions. Keep the
   current module's existing halo composed with the same architectural depth.
   The old short bottom accent looked like a scrollbar against this full-width
   base; omit that accent so the bevel reads as one continuous tile edge. */
.course-card{--card-depth:inset 0 0 0 1px #ffffffed,inset 0 0 0 5px #cfc7b52e,inset 0 6px 7px -5px #ffffff,inset 0 -6px 8px -5px #75603440,0 2px 0 #eeeae0,0 7px 0 -1px #c8c1b1,0 9px 0 -1px #aaa18e,0 18px 28px -12px #51432845;border:1px solid #c5beae;border-top-color:#e9e4d8;border-radius:3px;box-shadow:var(--card-depth);transition:box-shadow .2s,background .2s;outline:1px solid transparent}
/* The continuous base now carries the old accent's hover feedback: gold light
   on the bevel, not a second strip. Keyboard focus gets the same invitation. */
.course-card:is(:hover,:focus-visible){--card-depth:inset 0 0 0 1px #ffffff,inset 0 0 0 5px #cfc7b538,inset 0 6px 7px -5px #ffffff,inset 0 -6px 8px -5px #75603450,0 2px 0 color-mix(in srgb,var(--cta-gold) 30%,white),0 7px 0 -1px var(--cta-gold),0 9px 0 -1px color-mix(in srgb,var(--cta-gold) 80%,#756034),0 20px 32px -12px color-mix(in srgb,var(--cta-gold) 55%,transparent)}
.course-card[data-status="current"]{outline:2px solid #ac8c39;box-shadow:var(--card-depth),0 0 0 5px rgba(185,151,59,.16),0 0 32px rgba(181,143,45,.38)}
.course-card[data-status="past"]{background:#f0eee7}
.course-card[data-status="past"]::before{opacity:.3;filter:blur(5px) grayscale(1)}
.course-card[data-status="past"] h2{color:#56564f}
.module-cta{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;margin-top:22px;padding:12px 27px;background:var(--cta-gold);border:1px solid var(--cta-gold);color:var(--cta-ink);font:600 1rem Arial,sans-serif;transition:background .2s}
.module-cta>span{font-size:1.4rem;line-height:1}
/* Each grid row stretches its cards equally. Let the content column absorb
   title-height differences so every action shares the same bottom baseline. */
.module-card>div{display:flex;flex-direction:column;align-items:center;align-self:stretch;flex:1;min-width:0}
.module-card>div>p:last-of-type{margin-bottom:22px}
.module-card>div>.module-cta,.module-card>div>.text-link{margin-top:auto}
@media(min-width:641px){.foundation-card{padding-bottom:34px}.foundation-card>div{align-items:flex-start}}
.course-card[data-status="past"] .module-cta{background:var(--cta-gold);border-color:var(--cta-gold);color:var(--cta-ink)}
.course-card[data-status="upcoming"] .module-cta{background:#737373;border-color:#737373;color:var(--cta-ink)}
.course-card:hover .module-cta,.course-card:focus-visible .module-cta{background:var(--cta-gold-hover);border-color:var(--cta-gold-hover);color:var(--cta-ink)}
.course-card[data-status="upcoming"]:hover .module-cta,.course-card[data-status="upcoming"]:focus-visible .module-cta{background:#646464;border-color:#646464;color:var(--cta-ink)}
/* Tim now wants the halo in the button's own muted-gold family, not yellow.
   Derive every shadow from its surface token so future color edits stay in tune. */
/* Tim requested half-speed pulses; retain the bloom's strength and easing. */
.course-card[data-status="current"] .module-cta{background:var(--cta-gold);border-color:var(--cta-gold);color:var(--cta-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--cta-gold) 45%,transparent),0 0 28px 8px color-mix(in srgb,var(--cta-gold) 50%,transparent);animation:current-begin-glow 3.6s ease-in-out infinite}
.course-card[data-status="current"]:hover .module-cta,.course-card[data-status="current"]:focus-visible .module-cta{background:var(--cta-gold-hover);color:var(--cta-ink)}
/* A broad, slow gold bloom makes the active action unmistakable without
   flashing the text or moving the row-aligned buttons. */
@keyframes current-begin-glow{0%,100%{box-shadow:0 0 0 2px color-mix(in srgb,var(--cta-gold) 40%,transparent),0 0 12px 2px color-mix(in srgb,var(--cta-gold) 20%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--cta-gold) 80%,transparent),0 0 38px 20px color-mix(in srgb,var(--cta-gold) 85%,transparent),0 0 75px 30px color-mix(in srgb,var(--cta-gold) 45%,transparent)}}
@media(prefers-reduced-motion:reduce){.course-card[data-status="current"] .module-cta{animation:none}}
.course-card:focus-visible{outline:3px solid #3c6174;outline-offset:5px}
.current-module-label{white-space:nowrap}
/* Separate who made the workbook from whom this edition was developed for:
   RamTell owns the banner's right-hand credit; the school sits below on white. */
.intro-branded{display:grid;grid-template-columns:minmax(0,1fr) clamp(180px,23vw,260px);align-items:center;gap:clamp(24px,4vw,56px)}
.intro-workbook{min-width:0}
/* The white trial belongs to the student homepage, not every reading surface.
   RamTell is the publisher credit; Sacred Heart remains the edition's school. */
.library.workbook-home{background:#fff}
.publisher-mark{display:flex;align-items:center;gap:12px;max-width:100%;padding:26px 0 26px 28px;border-left:1px solid #3c535c40;color:#354951}
.publisher-mark span{font:italic 1.125rem 'Times New Roman',Times,serif}
.publisher-mark img{display:block;width:145px;min-width:0;max-width:100%;height:auto}
.publisher-mark:focus-visible{outline:3px solid #3c6174;outline-offset:6px}
.intro.intro-branded .workbook-title{font-size:clamp(1.8rem,4.5vw,4.25rem)}
/* Keep customization at the preview selector's quiet scale: Tim asked for
   half-height school branding and a 75% tighter text-to-logo gap. */
.school-edition{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 6px}
.school-edition p{font-size:inherit;color:var(--muted-foreground)}
/* The shared preview toolbar supplies the grid gutters for this school credit. */
/* Tim wants the school alone, not its adjacent IB badge. Show the first 264px
   of the official 360px lockup without redrawing or stretching its lettering. */
.school-mark{display:block;width:115px;max-width:100%;aspect-ratio:264/90;overflow:hidden}
.school-mark img{display:block;width:136.363636%;max-width:none;height:auto}
.school-mark:focus-visible{outline:3px solid #3c6174;outline-offset:8px}
/* Stack before the two non-wrapping brand marks compete for reading width. */
@media(max-width:760px){.intro-branded{grid-template-columns:minmax(0,1fr);gap:28px}.publisher-mark{justify-self:end;padding:18px 0 0;border-left:0;border-top:1px solid #3c535c40}.intro.intro-branded .workbook-title{font-size:clamp(1.8rem,5.5vw,4.25rem)}}
.foundation-card::before{background:linear-gradient(100deg,rgba(255,253,245,.91),rgba(255,253,245,.78) 55%,rgba(255,253,245,.50)),var(--module-image,url('/workbook-cover.png')) var(--module-position,center 76%) / cover no-repeat;filter:blur(3px)}
.workbook-cover{display:flex;flex-direction:column;align-items:center;background:#f3efe3;padding:28px;margin:0 0 40px;border-top:3px solid var(--gold)}
.workbook-cover a{display:block;max-width:100%;line-height:0}
.workbook-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:min(78vh,920px);object-fit:contain;box-shadow:0 12px 30px #3b30251a}
.workbook-cover figcaption{font-size:.875rem;color:#6b624e;text-align:center;margin-top:18px;line-height:1.6}
@media(max-width:640px){.foundation-card::before{background:linear-gradient(rgba(255,253,245,.82),rgba(255,253,245,.82)),var(--module-image,url('/workbook-cover.png')) var(--module-position,center 76%) / cover no-repeat}.workbook-cover{padding:16px;margin-bottom:28px}}
.module-dates{font-size:.875rem!important;color:#63512c!important;margin-top:16px;letter-spacing:.015em}
.workbook-page{max-width:1240px}.workbook-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px}
/* Tailwind's .contents utility sets display:contents. Keep the sidebar's box:
   flattening it makes its title/nav occupy grid cells and strands prose below
   in the narrow sidebar column. This also preserves grouping on mobile. */
.contents{display:block;min-width:0;align-self:start;position:sticky;top:25px;padding-right:20px;border-right:1px solid var(--border)}
.contents nav{display:flex;flex-direction:column;gap:12px}.contents a{font-size:.875rem;line-height:1.45}
.contents a:hover{color:var(--primary);text-decoration:underline}.workbook-main{min-width:0}
.workbook-section{border-top:1px solid var(--border);padding:30px 0 40px;scroll-margin-top:25px}
.section-count{font:1rem Georgia,serif;color:var(--primary)}
.workbook-section h2,.supporting-section>h2{font-size:2rem;margin:8px 0 24px}
.workbook-prose p,.workbook-prose li{font:1.125rem/1.85 Georgia,serif;white-space:pre-line;margin-bottom:1em;max-width:72ch}
.workbook-prose h3{font-size:1.45rem;margin:25px 0 15px}.workbook-prose ul{padding-left:22px;list-style:disc}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.concept-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.concept{background:#f3efe2;padding:20px;border-top:3px solid var(--gold)}
.concept h3{margin:0 0 10px;font-size:1.35rem}.concept p{font:1rem/1.7 Arial,sans-serif;margin:0}
.journey-flow{display:flex;list-style:none;gap:10px;flex-wrap:wrap;padding:0;margin:20px 0}
.journey-flow li{flex:1;min-width:125px;font:1rem/1.5 Arial,sans-serif;background:#e4eff2;padding:15px;margin:0;border-bottom:3px solid #90b4bf}
.supporting-section{border-top:4px solid var(--gold);padding-top:30px;scroll-margin-top:20px}.supporting-intro{margin-bottom:24px}
.supporting-section .reading-card{grid-template-columns:120px minmax(0,1fr);gap:20px}.supporting-section h3{font-size:1.6rem}
.status-chip{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;padding:5px 9px;background:#e8e3d1;display:inline-block}
.admin-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px;flex-wrap:wrap}
.admin-note{border-left:3px solid #806634;padding:14px 18px;background:#faf7ee;margin:16px 0;font-size:.875rem}
.teacher-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.teacher-controls button{cursor:pointer}
.teacher-only{background:#f8f6ef;padding:25px}.class-material{border-left:3px solid #93afbb;padding-left:24px}
.sign-in-panel{max-width:750px;margin:60px auto;padding:40px;background:#f2eedf}
.sign-in-panel h1{font-size:2.5rem;margin-bottom:20px}.sign-in-panel p{margin:18px 0}
.section-meta{font:.8125rem/1.6 Arial,sans-serif;color:var(--muted-foreground);margin-top:15px;margin-bottom:18px}
.class-access{padding:18px 22px;background:#eff4f5;margin-top:22px;font-size:.875rem}
.class-access .reading-link{margin-top:12px}.teacher-overview{padding-top:35px;padding-bottom:28px}
.teacher-overview h2{font-size:2rem;margin-bottom:16px}
@media(max-width:900px){.brand{font-size:1.15rem}.site-navigation{gap:14px}.all-modules{font-size:.75rem}.workbook-layout{grid-template-columns:1fr;gap:30px}.contents{position:static;border-right:0;border-bottom:1px solid var(--border);padding-bottom:24px}.contents nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.concept-grid.three{grid-template-columns:1fr}}
@media(max-width:640px){.masthead-inner{flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;padding-bottom:18px}.site-navigation{gap:20px}.intro{padding:30px 23px 65px;border-radius:0 0 50% 50% / 0 0 35px 35px}.foundation-card{grid-column:auto;display:block;text-align:center;padding:28px 24px}.foundation-card .module-number{margin:0 auto 20px}.foundation-card h2{font-size:1.7rem}.concept-grid{grid-template-columns:1fr}.contents nav{grid-template-columns:1fr}.supporting-section .reading-card{grid-template-columns:1fr}.admin-actions{align-items:flex-start;flex-direction:column}.sign-in-panel{padding:25px;margin:25px}.workbook-section h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.masthead,.site-footer,.reading-links,.module-paging,.reader-nav,.contents,.teacher-controls{display:none}.site-shell{margin:0}.wrap{max-width:none;padding:0}.workbook-layout{display:block}.reader-text p,.workbook-prose p{font-size:11pt}.reader section{break-before:auto}body{background:white}}

.source-reference>summary{cursor:pointer;color:var(--gold,#80682f);margin:.5rem 0 1rem}.source-table-scroll{overflow-x:auto;margin:1rem 0}.source-table-scroll table{width:100%;border-collapse:collapse;font-size:1rem}.source-table-scroll th,.source-table-scroll td{text-align:left;vertical-align:top;padding:.75rem;border-bottom:1px solid #deddd5}.source-table-scroll th{background:#edf4f6}.source-table-scroll td p,.source-table-scroll th p{margin:0}

.assessment-shell {
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 36px 70px;
  font-size: 1rem;
}
.demo-strip {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  background: #e9f0f3;
  border-left: 4px solid #63879a;
  padding: 12px 18px;
  font-size: 0.875rem;
}
.demo-strip strong {
  letter-spacing: 0.08em;
}
.assessment-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  margin: 30px 0;
}
/* Keep the return action intact beside a long module title; when space runs
   out, move the whole action below the heading rather than orphan its arrow. */
.assessment-heading > .reading-link {
  flex-shrink: 0;
  white-space: nowrap;
}
.assessment-heading > div {
  flex: 1 1 28rem;
  min-width: 0;
}
.assessment-heading h1 {
  font-size: clamp(2rem, 3.1vw, 3rem);
  margin: 8px 0 14px;
  max-width: 760px;
}
.assessment-heading p {
  max-width: 730px;
}
.assessment-toolbar,
.response-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin: 24px 0;
}
.assessment-toolbar nav {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.assessment-shell button {
  font-size: 0.875rem;
  min-height: 40px;
  cursor: pointer;
}
.assessment-toolbar button[aria-pressed='true'] {
  background: #e7e0c7;
  border-bottom: 3px solid #927331;
}
.assessment-shell select {
  background: white;
  border: 1px solid #bdb7a6;
  padding: 10px;
  max-width: 100%;
  font: inherit;
  margin-left: 9px;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}
.metric-grid article {
  padding: 23px;
  background: #f5f2e9;
  border-top: 3px solid #b59b59;
}
.metric-grid span {
  font-size: 0.875rem;
}
.metric-grid strong {
  display: block;
  font:
    2.9rem Georgia,
    serif;
  margin: 10px 0;
}
.metric-grid p {
  font-size: 0.875rem;
  color: #5e5a50;
}
.metric-grid .metric-percent {
  margin-top: 8px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--primary);
}
.impact-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 22px;
}
.assessment-card {
  background: white;
  border: 1px solid #dcd7c7;
  padding: 28px;
  margin-bottom: 22px;
}
.assessment-card h2 {
  font-size: 1.7rem;
  margin: 7px 0 18px;
}
.assessment-card h3 {
  font-size: 1.1rem;
}
.card-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px;
}
.key {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 0.875rem;
  white-space: nowrap;
}
.key i {
  width: 12px;
  height: 12px;
  background: #bacbd2;
}
.key i:last-of-type {
  background: #9c813f;
}
.comparison {
  margin: 24px 0;
}
.comparison > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.comparison b {
  font-weight: normal;
  color: #5f6c42;
}
.bar-pair {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 10px 0;
}
.bar-pair span {
  height: 11px;
  background: #bacbd2;
  min-width: 2px;
}
.bar-pair span + span {
  background: #9c813f;
}
.comparison p,
.method-note {
  font-size: 0.875rem;
  color: #656158;
  line-height: 1.65;
  margin: 12px 0;
}
.derived-number {
  font:
    4rem Georgia,
    serif;
  color: #876d32;
}
.derived-number span {
  font-size: 1.7rem;
  color: #777;
}
.code-summary {
  border-top: 1px solid #ddd6c6;
  margin: 22px 0;
  padding-top: 12px;
}
.code-summary > div {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
}
.assessment-card details {
  font-size: 0.875rem;
  line-height: 1.7;
}
.assessment-card summary {
  cursor: pointer;
  font-weight: bold;
}
.assessment-card details p {
  margin-top: 12px;
}
.weekly-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.weekly-grid article {
  background: #f4f6f6;
  padding: 22px;
  border-left: 3px solid #9aafb9;
}
.weekly-grid h3 {
  font:
    1.8rem Georgia,
    serif;
  margin: 10px 0;
}
.weekly-grid p {
  margin: 10px 0;
}
.highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}
.highlight-grid article {
  border-top: 3px solid #c3b784;
  padding-top: 16px;
}
.highlight-grid blockquote {
  font:
    1.35rem/1.5 Georgia,
    serif;
  margin: 20px 0;
}
.highlight-grid p {
  font-size: 0.875rem;
}
.table-scroll {
  overflow: auto;
}
.evidence-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.9375rem;
  min-width: 700px;
}
.evidence-table th {
  padding: 13px 10px;
  background: #eee9db;
  font-size: 0.875rem;
}
.evidence-table td {
  padding: 17px 10px;
  border-bottom: 1px solid #e5e0d4;
  vertical-align: top;
  max-width: 350px;
}
.evidence-table small {
  display: block;
  color: #6b665c;
  font-size: 0.8125rem;
  margin: 7px 0;
}
.evidence-table button {
  white-space: normal;
  text-align: left;
  padding-left: 0;
}
.quote-button {
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-color: #c7ba93;
  text-underline-offset: 4px;
}
.response-detail {
  border: 2px solid #a88c47;
  scroll-margin-top: 20px;
  outline-offset: 4px;
}
.full-quote {
  font:
    1.3rem/1.8 Georgia,
    serif;
  background: #f7f4eb;
  padding: 25px;
  margin: 24px 0;
  white-space: pre-wrap;
}
.rating-detail > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #ddd6c6;
  padding: 12px 0;
}
.rating-detail dd {
  white-space: nowrap;
  font-weight: bold;
}
.analysis-evidence {
  background: #edf2f4;
  padding: 22px;
  margin-top: 22px;
}
.analysis-evidence p {
  margin: 10px 0;
}
.assessment-shell .muted {
  color: #736e63;
  font-size: 0.875rem;
}
@media (max-width: 950px) {
  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .impact-grid {
    grid-template-columns: 1fr;
  }
  .highlight-grid {
    grid-template-columns: 1fr;
  }
  .assessment-heading {
    align-items: start;
    flex-direction: column;
  }
  .assessment-heading > div {
    flex-basis: auto;
  }
}
@media (max-width: 600px) {
  .assessment-shell {
    padding: 20px 18px 45px;
  }
  .metric-grid {
    gap: 10px;
  }
  .metric-grid article {
    padding: 15px;
  }
  .assessment-card {
    padding: 19px;
  }
  .weekly-grid {
    grid-template-columns: 1fr;
  }
  .card-heading {
    flex-direction: column;
  }
  .assessment-shell select {
    display: block;
    margin: 8px 0;
  }
  .assessment-toolbar {
    align-items: stretch;
  }
  .demo-strip {
    gap: 7px;
  }
  .comparison > div:first-child {
    flex-wrap: wrap;
  }
}
.checkin-launch {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  background: #f4f0e4;
  border-top: 3px solid #b19852;
  padding: 23px;
  margin-top: 24px;
}
.checkin-launch h2 {
  font-size: 1.5rem;
  margin: 8px 0;
}
.checkin-launch p {
  font-size: 0.9375rem;
}
.checkin-launch nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
}
.checkin-launch nav a {
  text-decoration: underline;
  text-underline-offset: 4px;
  color: #715a28;
}
.checkin-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.checkin-launch nav .checkin-step{display:flex;align-items:center;gap:12px;text-decoration:none;padding:16px 12px;background:#fff;border:1px solid var(--border);height:100%;color:var(--foreground);line-height:1.35}
.checkin-step-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;font:1.3rem Georgia,serif;color:var(--primary)}
.checkin-step small{display:block;font-size:.875rem;color:var(--muted-foreground);margin-top:5px}
.checkin-step>span:last-child{margin-left:auto;color:var(--primary)}
.checkin-launch nav .checkin-step[data-complete=true]{background:#edf3ef;border-color:#8eae99}
.checkin-step[data-complete=true] .checkin-step-number{background:#315d44;color:white;border-color:#315d44}
.checkin-launch nav .checkin-step:hover{border-color:var(--primary)}
@media(max-width:750px){.checkin-steps{grid-template-columns:1fr}}
.student-checkin {
  max-width: 1000px;
}
.checkin-context {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.privacy-note {
  border-left: 3px solid #8b9fa8;
  background: #eef2f3;
  padding: 20px;
  margin: 22px 0;
  line-height: 1.7;
  font-size: 0.9375rem;
}
.rating-question {
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid #ddd6c6;
  min-width: 0;
}
.rating-question legend {
  font-size: 1rem;
  line-height: 1.6;
  padding-top: 20px;
  max-width: 100%;
}
.rating-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 0;
}
/* Tim wanted the scale at the point of choice. Labels and a selection ring
   carry its meaning without requiring color perception or a remembered key. */
.rating-options label {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 16px 8px;
  border: 1px solid var(--scale-accent);
  border-top: 7px solid var(--scale-accent);
  cursor: pointer;
  background: var(--scale-tint);
  color: #17242a;
  min-width: 0;
}
.rating-options [data-rating='1'] {
  --scale-accent: #316b9b;
  --scale-tint: #dbeaf6;
}
.rating-options [data-rating='2'] {
  --scale-accent: #347d89;
  --scale-tint: #d9eef0;
}
.rating-options [data-rating='3'] {
  --scale-accent: #87813d;
  --scale-tint: #eeedda;
}
.rating-options [data-rating='4'] {
  --scale-accent: #ac711e;
  --scale-tint: #fae6c8;
}
.rating-options [data-rating='5'] {
  --scale-accent: #ae4e32;
  --scale-tint: #f8dace;
}
.rating-number {
  font-size: 1.375rem;
  font-weight: 700;
}
.rating-label {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.35;
}
.rating-options label.chosen {
  outline: 3px solid #17242a;
  outline-offset: 2px;
}
.rating-options label:focus-within {
  outline: 3px solid #17242a;
  outline-offset: 2px;
}
.rating-skip {
  grid-column: 1 / -1;
  justify-self: end;
}
.rating-options input {
  accent-color: #17242a;
  width: 16px;
  height: 16px;
}
.voice-panel {
  margin-bottom: 26px;
}
.voice-actions {
  display: block;
}
.student-checkin .record-button {
  width: 100%;
  height: auto;
  min-height: 130px;
  padding: 24px;
  justify-content: flex-start;
  gap: 22px;
  white-space: normal;
  text-align: left;
  border: 2px solid #476d7a;
  background: #e3eff2;
  color: #183e4c;
}
.student-checkin .record-button:hover {
  background: #d3e6ec;
}
.student-checkin .record-button[data-recording='true'] {
  background: #f9e2db;
  border-color: #9e422e;
  color: #702a1b;
}
.student-checkin .record-button svg {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.record-button-copy {
  display: grid;
  gap: 8px;
}
.record-button-copy strong {
  font-size: 1.5rem;
}
.record-button-copy > span {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}
.recording-demo-note {
  font-size: 0.875rem;
  color: #625e54;
  margin: 10px 0;
}
.transcript-demo {
  font-size: 0.875rem;
  margin: 12px 0;
}
.transcript-demo summary {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.reflection-question {
  font:
    400 clamp(1.5rem, 3vw, 2rem)/1.35 Georgia,
    serif;
  margin: 20px 0 28px;
  color: #183e4c;
}
.audio-preview {
  margin-top: 20px;
}
.audio-preview audio,
.student-checkin audio {
  max-width: 100%;
  display: block;
  margin: 14px 0;
}
.reflection-field {
  display: block;
  margin: 24px 0;
  font-size: 1.0625rem;
  line-height: 1.6;
}
.reflection-field span {
  display: block;
  margin-bottom: 12px;
}
.reflection-field small {
  font-size: 0.875rem;
  color: #6b5d3e;
  display: block;
  margin-bottom: 8px;
}
.reflection-field textarea {
  display: block;
  width: 100%;
  padding: 17px;
  border: 1px solid #bcb4a0;
  border-radius: 0;
  font:
    1.0625rem/1.7 Georgia,
    serif;
  background: #fdfcf8;
  resize: vertical;
  min-height: 120px;
}
.submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.submit-row p {
  font-size: 0.875rem;
  color: #625e54;
}
.preview-prompt {
  margin: 24px 0 8px;
}
.student-checkin .reading-link {
  margin: 16px 12px;
}
@media (max-width: 650px) {
  .checkin-launch {
    grid-template-columns: 1fr;
  }
  .submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .rating-options {
    gap: 6px;
  }
  .rating-options label {
    padding: 12px 4px;
  }
  .checkin-context {
    display: block;
  }
  .checkin-context label {
    display: block;
    margin: 14px 0;
  }
}
@media (max-width: 420px) {
  .rating-options {
    grid-template-columns: 1fr;
  }
  .rating-options label {
    grid-template-columns: auto auto 1fr;
    justify-content: start;
    padding: 12px;
    border-top-width: 1px;
    border-left-width: 7px;
  }
  .rating-label {
    grid-column: auto;
    text-align: left;
  }
  .student-checkin .record-button {
    padding: 18px;
    gap: 14px;
  }
}

/* A live-text mark stays crisp at every size without importing the screenshot's
   white rectangle. The italic article belongs beside the first line only. */
.workbook-mark {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  column-gap: 0.28em;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-align: left;
  text-transform: none;
  color: var(--foreground);
}
.workbook-mark .workbook-mark-article {
  font-size: 1.15em;
  font-style: italic;
}
.workbook-mark-title > span {
  display: block;
  white-space: nowrap;
}
.masthead .brand {
  display: block;
  flex-shrink: 0;
  font-size: 1.75rem;
  line-height: 1;
}
.masthead-inner {
  flex-wrap: wrap;
  padding-top: 20px;
  padding-bottom: 20px;
}
.site-navigation {
  flex-wrap: wrap;
}
.intro .workbook-title {
  font-size: clamp(1.8rem, 5.5vw, 4.8rem);
}
.footer-brand {
  display: grid;
  gap: 15px;
}
.footer-mark {
  width: fit-content;
  font-size: 1.4rem;
}
@media (max-width: 900px) {
  .masthead .brand {
    font-size: 1.5rem;
  }
}
@media (max-width: 640px) {
  .masthead .brand {
    font-size: 1.6rem;
  }
}

/* The same visible order numbers the reader and its navigation. Numbering the
   filtered sections avoids advertising unrevealed material to students. */
.contents .section-links {
  gap: 10px;
}
.contents .section-link-card {
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 12px;
  background: #faf8f1;
  border: 1px solid var(--border);
  border-bottom: 3px solid #c5ba87;
  color: var(--foreground);
  text-decoration: none;
  transition:
    background 0.15s,
    border-color 0.15s;
}
.contents .section-link-card:hover,
.contents .section-link-card:focus-visible {
  background: #f0ead8;
  border-color: var(--gold);
  text-decoration: none;
}
.contents-number {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--primary);
  font:
    1.15rem/1 'Times New Roman',
    Times,
    serif;
}
/* Keep the section number as the landmark. The bookmark sits above the Done
   circle so saving something for later stays visible even after reading it. */
.contents-number .contents-bookmark {
  position: absolute;
  z-index: 1;
  top: -7px;
  right: -5px;
  width: 16px;
  height: 19px;
  color: #806429;
  stroke: #faf8f1;
  stroke-width: 1.5;
  filter: drop-shadow(0 1px 1px #51432833);
}
.contents-label {
  font:
    1.0625rem/1.3 'Times New Roman',
    Times,
    serif;
  overflow-wrap: anywhere;
}
.contents-label small {
  display: block;
  margin-top: 6px;
  font:
    0.875rem/1.4 Arial,
    sans-serif;
  color: var(--muted-foreground);
}
.contents-arrow {
  color: var(--primary);
}
@media (min-width: 901px) {
  .contents {
    max-height: calc(100svh - 50px);
    overflow-y: auto;
  }
}

/* Teacher preparation is a distinct locked branch, not another revealable card. */
.teacher-only-mark{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;letter-spacing:.04em;color:#43596a;font-weight:600}
.prep-entry{display:block;margin:28px auto;padding:26px 30px;max-width:1120px;background:#e8eef1;border-left:4px solid #607d8b}
.prep-entry h2{margin:10px 0;font-size:1.8rem}.prep-entry .text-link{margin:0}
.prep-intro{padding:30px 0}.prep-intro h1{margin:12px 0 24px}.prep-intro blockquote{font:1.3rem/1.6 Georgia,serif}.prep-intro cite{display:block;font:1rem Arial,sans-serif;margin-top:8px}
.core-thesis{padding:30px;background:#f2eedf}.core-thesis h2{font-size:2rem;margin-bottom:25px}.core-thesis>p:last-child{margin-top:20px}
.preparation-cycle{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.preparation-cycle li{display:flex;align-items:center;gap:10px;font:1.25rem Georgia,serif}.preparation-cycle span{color:var(--primary)}.preparation-cycle b{margin-left:auto;font-weight:400}
.prep-goals{margin:35px 0 45px}.prep-goals ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px}.prep-goals li{display:flex;align-items:baseline;gap:16px;font:1.2rem/1.5 Georgia,serif}.prep-goals li>span{color:var(--primary);font-size:1.6rem}.prep-goals details{margin-top:24px}
.teacher-prep-zone{border-left:3px solid #607d8b;padding:0 0 0 25px}.prep-section{padding:30px 0;border-top:1px solid var(--border);scroll-margin-top:24px}.prep-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap}.prep-section h2{font-size:1.7rem}.prep-section .workbook-prose p{font-size:1.1rem;line-height:1.7;white-space:pre-line}.in-progress{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:.875rem;background:#f4ead0;color:#705417;padding:7px 10px}.in-progress>span{flex-basis:100%;font-size:.875rem}
.prep-module-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.prep-module-map a{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:14px;line-height:1.4}.prep-module-map .contents-number{flex-shrink:0}
.prep-calendar{list-style:none;padding:0;margin:24px 0;display:grid;gap:0}.prep-calendar li{display:flex;gap:18px;align-items:flex-start;border-left:2px solid var(--gold);padding:12px 0 20px 18px}.prep-calendar p{margin:5px 0;color:var(--primary)}.prep-calendar b{display:block;font-size:.875rem;font-weight:500}.prep-pilot-amount{font-size:1.25rem;color:var(--primary);margin:18px 0}
.teacher-branch-heading{display:flex;align-items:center;gap:12px;margin:25px 0;font-size:1.7rem}.prep-toc-group{padding:16px 0;border-bottom:1px solid var(--border)}.prep-toc-group h3{font:1rem Arial,sans-serif;margin-bottom:14px}.prep-toc-group .section-links{display:grid}
@media(max-width:700px){.preparation-cycle{grid-template-columns:1fr 1fr}.prep-goals ol,.prep-module-map{grid-template-columns:1fr}.teacher-prep-zone{padding-left:16px}.prep-entry{margin:24px 23px;padding:22px}.core-thesis{padding:23px}}

::highlight(workbook-reading){background:#ead89b;color:#171714}
.saved-highlight-notes article+article{border-top:1px solid var(--border);margin-top:20px;padding-top:4px}
.saved-highlight-notes p{white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.7 Georgia,serif}
.saved-highlight-notes audio{display:block;width:100%;margin:14px 0}
.saved-highlight-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.reading-note-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:16px 0;margin-bottom:24px;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--muted-foreground)}
.reading-note-toolbar label{display:flex;gap:10px;align-items:center;color:var(--foreground)}
.reading-note-toolbar select,.reading-log-filters select{font:inherit;background:white;border:1px solid var(--border);padding:10px}
.contents-number.reading-complete{background:#315d44;border-color:#315d44;color:white}
.highlight-comment-action{position:fixed;z-index:40;background:#26261f;color:white;box-shadow:0 3px 18px #0003;min-height:44px}
.highlight-comment-action{display:flex;padding:5px;border-radius:6px;gap:2px;max-width:calc(100vw - 24px)}
.highlight-comment-action button{background:transparent;color:white;border:0;white-space:nowrap}
.highlight-comment-action button:hover{background:#ffffff22}
.highlight-comment-action{flex-wrap:wrap;justify-content:center;width:max-content}
.highlight-comment-action button{min-height:44px;height:auto;gap:9px}
.highlight-action-check{display:inline-grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid currentColor;border-radius:50%;background:transparent}
.highlight-action-check svg{width:18px;height:18px}
/* The halo made the original tall icon crowd the capsule's edges. Keep the
   whole mark compact and reserve real padding in short gold buttons; the
   selection toolbar already has its own taller, checkmark-balanced sizing. */
.thomas-action-icon{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;align-self:center;width:24px;height:24px;flex:0 0 24px}
.thomas-action-icon svg{width:18px;height:18px}
.thomas-action-halo{position:absolute;top:1px;left:7px;width:11px;height:4px;border:1px solid currentColor;border-radius:50%;transform:rotate(-12deg)}
.site-shell [data-slot="button"]:has(.thomas-action-icon):not(.highlight-comment-action *){height:auto;min-height:42px;padding-block:8px}
.reading-progress{position:sticky;top:8px;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 14px;margin:18px 0 30px;background:#fffdf5f5;border:1px solid var(--border);border-top:3px solid var(--gold);box-shadow:0 4px 18px #0001}
.reading-progress>div{display:flex;gap:6px;overflow-x:auto;padding:2px;min-width:0}
.reading-progress-total{white-space:nowrap;font-size:.85rem;color:var(--gold)}
.reading-progress-step{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font:1rem Georgia,serif;color:var(--gold);text-decoration:none}
.reading-progress-step.is-complete{background:#315d44;border-color:#315d44;color:#fff}
.reading-progress~.workbook-layout .workbook-section{scroll-margin-top:95px}
@media(min-width:901px){.reading-progress~.workbook-layout .contents{top:85px}}
.reading-progress output{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.reading-comment-composer{position:fixed;z-index:50;right:24px;bottom:24px;width:min(460px,calc(100vw - 32px));max-height:80svh;overflow:auto;background:#fff;padding:24px;border:1px solid var(--gold);box-shadow:0 8px 40px #0003}
.reading-comment-composer{margin:0;color:var(--foreground);inset:auto 24px 24px auto}
.reading-comment-composer::backdrop{background:#18180f33}
.reading-comment-composer small{display:block;font: .8rem Arial,sans-serif;color:#655f50;margin-top:6px}
.voice-highlight audio,.section-reading-comments audio,.reading-log-entry audio{display:block;width:100%;margin:14px 0}
.voice-highlight{padding:12px 0;border-bottom:1px solid var(--border)}
/* Talking is the invitation, not a small alternate input. The entire centered
   surface is clickable, but recording still starts only on an explicit click.
   The typing field stays visible for access failures and quiet environments. */
.site-shell .reading-comment-composer .voice-highlight .voice-highlight-record{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;height:auto;min-height:222px;padding:26px 18px;border:1px dashed #b19a61;border-radius:28px;background:radial-gradient(ellipse at center,#fff2c4 0%,#fbf8ed 68%);color:#62502c;white-space:normal;text-align:center;font-size:1.2rem;line-height:1.25}
.site-shell .reading-comment-composer .voice-highlight .voice-highlight-record:hover:not(:disabled){background:#faf0d3;border-color:#756034}
.voice-highlight-orb{display:grid;place-items:center;flex:0 0 84px;width:84px;height:84px;border-radius:50%;background:var(--cta-gold);color:#fff;box-shadow:0 0 0 8px #eaca6c33,0 0 30px 9px #efc65b55;animation:voice-invitation-glow 2.4s ease-in-out infinite}
.voice-highlight-orb svg{width:38px;height:38px}
.site-shell .reading-comment-composer .voice-highlight-hint{font:.875rem/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted-foreground);margin-top:-10px}
.voice-highlight-record[data-recording="true"] .voice-highlight-orb{background:#973c36;box-shadow:0 0 0 8px #973c3618,0 0 28px #973c3626;animation:none}
.voice-highlight-record:disabled .voice-highlight-orb{animation:none}
.voice-highlight-timer{display:block;text-align:center;margin:12px 0 0;font:1.2rem/1.4 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#973c36}
.voice-highlight>p[role="alert"]{margin-top:12px;font-size:.875rem}
.reading-comment-composer .highlight-typing{margin-top:16px}
.reading-comment-composer .highlight-typing label{font-size:.875rem;color:var(--muted-foreground);margin:0 0 6px}
.reading-comment-composer .highlight-typing textarea{font-size:.875rem;padding:8px 10px;min-height:64px}
@keyframes voice-invitation-glow{0%,100%{box-shadow:0 0 0 8px #eaca6c33,0 0 26px 8px #efc65b44}50%{box-shadow:0 0 0 13px #eaca6c22,0 0 40px 14px #efc65b77}}
@media(prefers-reduced-motion:reduce){.voice-highlight-orb{animation:none}}
@media(max-width:420px){.site-shell .highlight-comment-action button{font-size:.875rem;padding-left:10px;padding-right:10px;letter-spacing:.02em}}
.thomas-answer{white-space:pre-wrap;line-height:1.7;padding:18px 0;border-top:1px solid var(--border);margin-top:20px}
.comment-composer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.comment-composer-heading h2{font-size:1.65rem}
.reading-comment-composer blockquote,.reading-log-entry blockquote,.section-reading-comments blockquote{border-left:3px solid var(--gold);padding:8px 16px;background:#f8f4e5;margin:16px 0;font:1rem/1.65 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
.reading-comment-composer label{display:block;margin:16px 0 8px}.reading-comment-composer textarea{width:100%;font:1rem/1.6 Arial,sans-serif;border:1px solid var(--border);padding:12px;resize:vertical}
.comment-audience{font-size:.875rem;color:var(--muted-foreground);margin:8px 0 16px}
.section-reading-comments{margin-top:24px;border-top:1px solid var(--border)}.section-reading-comments article{padding:8px 0}.workbook-prose .section-reading-comments p{font:1rem/1.6 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.reading-feedback{margin-bottom:20px}.reading-log-filters{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0}.reading-log-filters label{display:grid;gap:6px;font-size:.875rem}
.reading-log-entry{border-top:1px solid var(--border);padding:28px 0}.reading-log-entry header{display:flex;gap:20px;align-items:center;justify-content:space-between}.reading-log-entry header h2{font-size:1.45rem}.reading-log-entry time{font-size:.875rem;color:var(--muted-foreground)}.reading-log-entry h3{font-size:1.25rem;margin-top:12px}.reading-log-entry .reading-log-comment{white-space:pre-wrap;overflow-wrap:anywhere}.reading-log-entry .text-link{margin-top:12px}
.teacher-log-link{display:inline-flex;align-items:center;gap:10px;margin:20px 0;color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.thomas-heading{justify-content:flex-start}.thomas-heading img{flex:0 0 56px}.thomas-heading h2{flex:1}.thomas-heading h2 small{display:block;font:.75rem/1.4 Arial,sans-serif;color:var(--muted-foreground);margin-top:2px}
.thomas-history{margin:18px 0;border-block:1px solid var(--border);padding:10px 0;font-size:.875rem}.thomas-history summary{cursor:pointer;color:var(--primary)}.thomas-history button{display:block;white-space:normal;text-align:left;width:100%;height:auto;padding:10px 14px;margin-top:6px;overflow-wrap:anywhere}.thomas-history button[aria-current=true]{background:#f3eddd}
.thomas-conversation{display:grid;gap:22px}.thomas-turn{display:grid;gap:16px}.thomas-question{margin-left:28px;padding:12px 16px;background:#edf3f4;border-radius:16px 16px 0 16px}.thomas-reply{padding:0 0 18px;border-bottom:1px solid var(--border)}.thomas-turn span{display:block;font-size:.75rem;color:var(--muted-foreground);margin-bottom:5px}.thomas-turn p{font:1rem/1.7 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}
.thomas-actions{display:flex;align-items:center;gap:16px;margin-top:10px}.thomas-actions>span{font-size:.875rem;color:#41644b}.thomas-new{margin-top:10px}.thomas-error{margin-top:16px}.thomas-error button{margin-top:8px}
@media(max-width:640px){.reading-comment-composer{right:16px;bottom:16px;padding:18px}.reading-log-entry header{align-items:flex-start;flex-direction:column;gap:6px}}
@media print{.reading-progress,.reading-note-toolbar,.highlight-comment-action,.reading-comment-composer{display:none!important}}

/* Keep a passage and a thought together; the recording action must not dwarf the reading. */
.site-shell .private-highlight-composer .voice-highlight .voice-highlight-record{min-height:0;flex-direction:row;gap:12px;padding:10px 18px;border-radius:10px;}
.private-highlight-composer .voice-highlight-orb{width:40px;height:40px;flex-basis:40px;}
.private-highlight-composer .voice-highlight-orb svg{width:24px;height:24px;}

/* Embedded worksheets borrow the workbook's numbered, ruled-paper language.
   Keep their controls distinct from source prose without introducing app chrome. */
.practice-tools{font:1rem/1.5 Arial,sans-serif;background:#faf8f0;border-top:3px solid var(--gold);padding:clamp(16px,3vw,28px);margin:22px 0 36px;min-width:0;color:var(--foreground)}
.workbook-prose .practice-tools p{font:1rem/1.5 Arial,sans-serif;margin:12px 0;white-space:pre-wrap}
.practice-tools .practice-note{font-size:.875rem;color:#625d50}
.practice-tools details{border-bottom:1px solid var(--border);padding:16px 0}
.practice-tools summary{font:1.4rem/1.4 Georgia,serif;cursor:pointer;color:#695323;padding:8px 0}
.practice-tools h3{font:1.65rem/1.3 Georgia,serif;margin:24px 0 16px}.practice-tools h4{font:1.3rem/1.4 Georgia,serif;margin:22px 0 12px}
.practice-tools label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;margin:14px 0;min-width:0}
.practice-tools input,.practice-tools textarea,.practice-tools select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #aaa18a;background:white;padding:10px;color:#171714;font:1rem/1.45 Arial,sans-serif}
.practice-tools input[aria-invalid=true]{border:2px solid #a52c24}.practice-tools textarea{resize:vertical}
.practice-fields,.grant-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.practice-wide{grid-column:1/-1}
.practice-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr) auto;gap:12px;align-items:end}.practice-row button{margin-bottom:14px}
.practice-tools fieldset{border:1px solid var(--border);padding:14px;margin:20px 0;min-width:0}.practice-tools legend{font:1.15rem Georgia,serif;padding:0 8px}
.practice-tools .practice-check{flex-direction:row;align-items:center;gap:12px}.practice-check input{width:20px;min-height:20px;flex:0 0 20px}
.practice-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}
.practice-metric{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:20px 0;border-top:1px solid var(--border);margin-top:22px}.practice-metric strong{font:2rem Georgia,serif}.practice-metric span{font-size:.875rem}
.practice-result{display:block;background:#fff;border-left:3px solid var(--gold);padding:18px;margin:24px 0;overflow-wrap:anywhere;white-space:pre-wrap}.practice-result dt{font-weight:600;margin-top:12px}.practice-result dd{margin:4px 0 16px}
.grant-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grant-steps button{display:flex;align-items:flex-start;gap:8px;text-align:left;padding:10px;border:1px solid var(--border);background:#fff;font:.875rem/1.4 Arial,sans-serif;cursor:pointer}.grant-steps button[aria-current=step]{background:#75602f;color:white;border-color:#75602f}.grant-steps button>span:first-child{font:1.3rem Georgia,serif;min-width:20px}
.spending-bar{height:22px;display:flex;background:#e8e3d6}.spending-bar span:nth-child(1){background:#75602f}.spending-bar span:nth-child(2){background:#7898a4}.spending-bar span:nth-child(3){background:#b8ae95}
@media(max-width:700px){.practice-fields,.grant-comparison{grid-template-columns:1fr}.grant-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-row button{grid-column:1/-1;justify-self:end;margin:0}.practice-metric{flex-wrap:wrap}}

/* Color signals provenance, not validation failure. Text labels preserve the
   distinction in grayscale; original source and real user entries stay plain. */
.authored-example{background:#fff0f0;border:1px solid #e7bcbc;border-radius:3px;padding:10px 12px}
.example-label{display:inline-block;font:400 .875rem/1.4 Arial,sans-serif;color:#844747;background:#fff0f0;border:1px solid #e7bcbc;border-radius:3px;padding:4px 8px;margin:0 0 8px}
legend .authored-example{display:inline-block;margin-bottom:8px}
.authored-example .example-label{border:0;padding:0;display:block}
.journey-flow.authored-example{background:#fff0f0;padding:12px}
.fixture-overview .metric-grid article,.fixture-overview .assessment-card,.fixture-overview .week-card,.fixture-overview .comparison,.fixture-overview blockquote,.fixture-rows tbody tr,.fixture-detail,.fictional-value{background:#fff0f0!important}
.fixture-rows tbody tr td{background:transparent}
textarea.authored-example{background:#fff0f0!important}
.reflection-field>.authored-example{display:block}
@media print{.authored-example,.example-label,.fictional-value{print-color-adjust:exact}}

:root{--masthead-height:100px}
html{scroll-padding-top:calc(var(--masthead-height) + 12px)}
/* Tim wants the workbook to be the default experience; teacher tools belong
   inside their panel, not in the persistent student navigation. */
.masthead{position:sticky;top:0;z-index:30;border-bottom:1px solid #d4cdbb70;box-shadow:0 3px 14px #17171408}
.masthead .masthead-inner{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:16px;padding-top:16px;padding-bottom:16px;min-height:84px}
.masthead .brand{font-size:clamp(1.1rem,3.2vw,1.75rem)}
/* Sign-in is a quiet utility, not another gold capsule competing with Begin.
   The soft inset suggests a recessed control; retain a generous hit target
   and an explicit keyboard focus ring despite removing the resting outline. */
.login-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:#f7f7f4;box-shadow:inset 0 1px 4px #51432814,inset 0 -1px 0 #ffffff;color:var(--primary);font:400 .9375rem/1.3 var(--cta-font);white-space:nowrap;transition:background .15s,box-shadow .15s}
.login-link svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:420px){.masthead .masthead-inner{gap:8px}.login-link{flex-direction:column;gap:3px;padding:8px}}
.login-link:hover{background:#eeeee8;box-shadow:inset 0 1px 5px #51432820,inset 0 -1px 0 #ffffff}
.login-link:focus-visible,.footer-teacher:focus-visible{outline:3px solid #3c6174;outline-offset:4px}
.footer-teacher{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:10px 18px;border:1px solid var(--border);color:var(--primary);margin-left:auto;align-self:flex-end}
.footer-teacher:hover{background:#f3efe3}
.teacher-panel-nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--border);font-size:.875rem}
.teacher-panel-nav a{color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.teacher-panel-nav .teacher-panel-label{font-weight:600;margin-right:auto}
.reading-progress{top:calc(var(--masthead-height) + 8px)}
@media(min-width:901px){.contents{top:calc(var(--masthead-height) + 25px)}.reading-progress~.workbook-layout .contents{top:calc(var(--masthead-height) + 85px)}}
.skip{position:fixed}
@media print{html{scroll-padding-top:0}.teacher-panel-nav{display:none}}

::highlight(teacher-observations){background:#d7e7ed;color:#171714}
.teacher-notebook-toolbar{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;font-size:.875rem;border-bottom:1px solid var(--border);background:#f4f8f9}
.teacher-notebook-toolbar a{color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.teacher-notebook-toolbar output{color:#315d44}
.teacher-note-cards article{padding:24px 0;border-top:1px solid var(--border)}
.teacher-note-cards article header{display:flex;gap:12px 24px;justify-content:space-between;flex-wrap:wrap;font-size:.875rem;color:var(--muted-foreground);margin-bottom:14px}
.teacher-note-cards article header a{color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.teacher-note-cards blockquote{border-left:3px solid #607d8b;padding:12px 18px;margin:14px 0;background:#eef4f6;white-space:pre-wrap;overflow-wrap:anywhere;font:1.05rem/1.7 Georgia,serif}
.teacher-note-cards p{white-space:pre-wrap;overflow-wrap:anywhere}
.teacher-notes-disclosure{padding-top:24px;padding-bottom:32px}
.teacher-notes-disclosure summary{cursor:pointer;color:var(--primary);margin-bottom:16px}
.observations-page{padding-top:32px;padding-bottom:48px}
.observations-page h1{margin:18px 0}
.observations-page .reading-log-filters{align-items:flex-end}
@media print{.teacher-notebook-toolbar{display:none}}

/* Apply the reference's capsule to action buttons, not reading cards, tables,
   progress steps or form fields. Shared primitives remain unmodified. */
.site-shell :is([data-slot="button"],.reading-link,.module-cta,.footer-teacher){border-radius:var(--cta-radius)}
.site-shell :is([data-slot="button"],.reading-link,.module-cta,.footer-teacher):not(.thomas-history *){font-family:var(--cta-font);font-weight:400;font-size:1.0625rem;letter-spacing:.035em;text-transform:uppercase}
.site-shell .highlight-comment-action{border-radius:var(--cta-radius)}

/* Tim explicitly superseded the dark-ink choice with white Roman-style labels.
   Preserve his sampled gold despite its lower white-text contrast; do not claim
   this pair meets WCAG text contrast. Secondary outline/ghost actions keep dark
   ink on white. Recording states and the black selection menu keep their signals.
   History entries are conversation titles, not uppercase action labels. */
.site-shell :is([data-slot="button"].bg-primary,.reading-link.primary):not(.record-button):not(.highlight-comment-action *){
 background:var(--cta-gold);border-color:var(--cta-gold);color:var(--cta-ink);
}
.site-shell :is([data-slot="button"].bg-primary,.reading-link.primary):not(.record-button):not(.highlight-comment-action *):hover:not(:disabled){
 background:var(--cta-gold-hover);border-color:var(--cta-gold-hover);color:var(--cta-ink);
}

/* Tim shortened the selected-passage invitation and asked for gold emphasis
   so the AI action is distinct inside the dark highlight toolbar. */
.site-shell .highlight-comment-action .saint-selection-action{background:var(--cta-gold);color:var(--cta-ink)}
.site-shell .highlight-comment-action .saint-selection-action:hover{background:var(--cta-gold-hover)}

/* Tim wants consequential work to dominate routine checks. A large open
   medallion is a place for human assessment, never an AI-predicted grade. */
/* Keep coaching within reach of the answer without covering the caret.
   Reserved action space prevents the form jumping as focus changes. */
.assignment-field-wrap .assignment-field {
  margin-bottom: 0;
}
.assignment-field-assist {
  min-height: 68px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 6px 0;
}
.assignment-field-assist .assignment-thomas-trigger {
  min-height: 52px;
  height: auto;
  gap: 12px;
  padding: 6px 17px 6px 7px;
  background: #806a38;
  color: #fff;
  box-shadow: 0 3px 14px #8d713629;
  text-transform: none;
}
.assignment-thomas-trigger > span {
  display: grid;
  gap: 3px;
  text-align: left;
}
.assignment-thomas-trigger strong {
  font:
    400 1.1rem/1.1 Georgia,
    serif;
}
.assignment-thomas-trigger small {
  font:
    400 0.875rem/1.2 Arial,
    sans-serif;
}
.assignment-medallion {
  flex-shrink: 0;
  object-fit: contain;
  border-radius: 50%;
}
.assignment-thomas-trigger .assignment-medallion {
  box-shadow:
    0 0 0 3px #e8d3a34d,
    0 0 15px #e8d3a370;
}
.assignment-thomas-trigger:hover {
  background: #6e582e;
}
.assignment-starting-point {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 20px 0;
  margin: 12px 0 4px;
  border-bottom: 1px solid #d2c6a9;
}
.assignment-starting-point h3 {
  font:
    400 1.4rem/1.25 Georgia,
    serif;
  margin: 0 0 8px;
}
.assignment-starting-point p {
  font:
    400 1rem/1.65 Arial,
    sans-serif;
  margin: 0 0 12px;
}
.assignment-write-alone {
  margin-left: 14px;
  font:
    400 0.875rem/1.4 Arial,
    sans-serif;
  color: #65583c;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.assignment-thomas[data-engaged='true'] {
  border-color: #ad925c;
  box-shadow: 0 0 0 3px #b49a6421;
}
.assignment-coach-title .assignment-medallion {
  width: 64px;
  height: 64px;
  box-shadow: 0 0 0 4px #c8b17735;
}
.assignment-coach-title h2:focus {
  outline: none;
}
.assignment-coach-invitation {
  padding: 14px;
  background: #ffffffa6;
  border-left: 2px solid #b49a64;
}
.assignment-coach-working {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  font:
    400 1rem/1.5 Georgia,
    serif;
}
.assignment-thomas > button {
  margin-right: 8px;
  margin-bottom: 8px;
}
@media (max-width: 600px) {
  .assignment-starting-point {
    gap: 12px;
  }
  .assignment-starting-point > .assignment-medallion {
    width: 44px;
    height: 44px;
  }
}
.assignment-launch {
  display: grid;
  grid-template-columns: 148px 1fr;
  gap: 32px;
  align-items: center;
  margin: 28px 0 20px;
  padding: 36px;
  background: linear-gradient(125deg, #f1f6f6, #fffdf7);
  border: 1px solid #c0b49a;
  border-top: 4px solid var(--cta-gold);
  box-shadow:
    inset 0 0 0 5px #ffffff99,
    0 5px 0 -1px #d7cfbe,
    0 16px 32px -20px #63563d55;
}
.assignment-score {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 128px;
  height: 128px;
  border: 2px solid #b3a079;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 6px #fff,
    inset 0 0 0 7px #d8d0bd;
  background: #ffffffb8;
  color: #807050;
}
.assignment-score strong {
  font:
    400 3.25rem/1 Georgia,
    serif;
}
.assignment-score small {
  font:
    400 0.875rem/1.6 Arial,
    sans-serif;
}
.assignment-score[data-filled='true'] {
  background: #f0f6ef;
  border-color: #45694e;
  color: #2d583d;
}
.assignment-launch h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin: 8px 0 12px;
}
.assignment-launch p:not(.eyebrow) {
  max-width: 52rem;
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 20px;
}
.assignment-card-marker {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  padding: 20px 0 24px;
  margin-bottom: 12px;
  border-bottom: 1px solid #b8af9766;
}
.assignment-card-marker .assignment-score {
  width: 82px;
  height: 82px;
  box-shadow:
    inset 0 0 0 4px #fff,
    inset 0 0 0 5px #d8d0bd;
}
.assignment-card-marker .assignment-score strong {
  font-size: 2rem;
}
.assignment-card-marker .assignment-score small {
  font-size: 0.75rem;
}
.assignment-card-marker > span:last-child {
  display: grid;
  gap: 7px;
}
.assignment-card-marker b {
  font:
    400 1.25rem/1.25 Georgia,
    serif;
}
.assignment-card-marker small {
  font:
    400 0.875rem/1.4 Arial,
    sans-serif;
}
.assignment-card-marker + .module-card-progress {
  padding-top: 0;
  border-top: 0;
  gap: 9px;
}
.assignment-card-marker + .module-card-progress .module-progress-check {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}
.assignment-studio {
  max-width: 1220px;
  padding: 28px 40px 64px;
}
.assignment-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 30px 0 18px;
}
.assignment-topline label {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 0.875rem;
}
.assignment-topline select {
  padding: 8px;
  border: 1px solid var(--border);
}
.assignment-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 26px;
}
.assignment-heading h1 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.1;
  margin: 0 0 16px;
}
.assignment-heading p {
  max-width: 48rem;
  line-height: 1.65;
}
.assignment-status {
  font-size: 0.875rem;
  color: #65583c;
  margin-top: 15px;
}
.assignment-journey {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-block: 1px solid var(--border);
  margin: 24px 0;
}
.assignment-journey a {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 4px 8px;
  padding: 18px;
  color: #6b685e;
  text-decoration: none;
}
.assignment-journey a[aria-current='page'] {
  background: #eef4f5;
  color: #284b55;
  box-shadow: inset 0 -3px #728f97;
}
.assignment-journey span {
  grid-row: span 2;
  font:
    1.4rem Georgia,
    serif;
}
.assignment-journey strong {
  font:
    400 1.1rem Georgia,
    serif;
}
.assignment-journey small {
  font-size: 0.875rem;
}
.assignment-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 1fr);
  gap: 28px;
  align-items: start;
}
.assignment-writing,
.assignment-coach {
  min-width: 0;
}
.assignment-coach {
  display: grid;
  gap: 20px;
}
.assignment-sheet,
.assignment-thomas,
.assignment-rubric,
.assignment-review,
.assignment-carry {
  padding: 28px;
  border: 1px solid var(--border);
  background: #fff;
}
.assignment-sheet h2,
.assignment-review h2 {
  font:
    400 2rem/1.2 Georgia,
    serif;
  margin: 8px 0 20px;
}
.assignment-sheet p,
.assignment-review p {
  line-height: 1.65;
}
.assignment-review {
  margin-bottom: 22px;
  background: #f6f8f4;
}
.assignment-review h3 {
  font:
    600 1rem Arial,
    sans-serif;
  margin: 18px 0 8px;
}
.assignment-review p {
  white-space: pre-wrap;
}
.assignment-carry {
  background: #f0f5f6;
  margin-bottom: 20px;
}
.assignment-carry p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 12px;
}
.assignment-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 18px;
}
.assignment-steps button {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid transparent;
  font:
    400 0.875rem Arial,
    sans-serif;
  color: #645b47;
  border-radius: 5px;
}
.assignment-steps button[aria-current='step'] {
  border-color: #b3a079;
  background: #f3eedf;
}
.assignment-steps button > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #b3a079;
  font-size: 0.8125rem;
}
.assignment-field {
  display: grid;
  gap: 8px;
  font:
    600 1rem/1.5 Arial,
    sans-serif;
  margin: 24px 0;
}
.assignment-field > span,
.assignment-field > small {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #5a5c57;
}
.assignment-field :is(input, textarea, select) {
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #bdb8aa;
  border-radius: 3px;
  background: #fffef9;
  font:
    400 1rem/1.65 Arial,
    sans-serif;
  color: #25271f;
}
.assignment-field textarea {
  resize: vertical;
  min-height: 100px;
}
.assignment-field :is(input, textarea, select):focus-visible {
  outline: 2px solid #658b95;
  outline-offset: 3px;
}
.assignment-field :disabled {
  background: #f5f4ef;
  color: #666;
}
.assignment-actions {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}
.assignment-thomas {
  background: #eef4f5;
  border-color: #c3d0d1;
  border-top: 3px solid #9aadac;
}
.assignment-coach-title {
  display: flex;
  align-items: center;
  gap: 16px;
}
.assignment-coach-title > .thomas-action-icon {
  flex-shrink: 0;
}
.assignment-coach-title h2 {
  font:
    400 1.45rem/1.2 Georgia,
    serif;
  margin: 0 0 7px;
}
.assignment-coach-title small {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8125rem;
  color: #465d61;
}
.assignment-thomas > p {
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 16px 0;
}
.assignment-conversation {
  max-height: 550px;
  overflow: auto;
  overscroll-behavior: contain;
}
.assignment-conversation article {
  padding: 18px 0;
  border-top: 1px solid #c5d4d6;
}
.assignment-your-question {
  padding: 12px 14px;
  background: #fff;
  border-radius: 8px;
  font-size: 0.95rem;
  line-height: 1.5;
}
.assignment-thomas-answer {
  font:
    400 1.1rem/1.7 Georgia,
    serif;
  white-space: pre-wrap;
  margin: 18px 0;
}
.assignment-conversation small {
  font-size: 0.8125rem;
  color: #576a6d;
}
.assignment-question-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 20px;
}
.assignment-question-chips button {
  padding: 8px 10px;
  border: 1px solid #b9cacc;
  border-radius: 5px;
  text-align: left;
  font:
    400 0.875rem/1.35 Arial,
    sans-serif;
}
.assignment-question-chips button:hover {
  background: white;
}
.assignment-rubric summary,
.assignment-paper-preview summary,
.assignment-history summary {
  font:
    400 1.25rem/1.4 Georgia,
    serif;
  cursor: pointer;
}
.assignment-rubric > p {
  font-size: 0.875rem;
  line-height: 1.5;
  margin: 14px 0;
}
.assignment-rubric > div {
  border-top: 1px solid var(--border);
  padding-top: 13px;
  margin-top: 13px;
}
.assignment-rubric h3 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font:
    600 0.875rem/1.4 Arial,
    sans-serif;
}
.assignment-rubric h3 span {
  color: var(--primary);
}
.assignment-rubric div p {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #686255;
  margin: 7px 0;
}
.assignment-paper-preview {
  padding: 20px;
  border: 1px solid var(--border);
}
.proposal-paper {
  padding: 28px;
  background: #fffefa;
  border: 1px solid #d8d0bd;
  box-shadow:
    0 4px 0 -1px #ede9df,
    0 7px 0 -2px #d3cdbc;
  margin: 20px 0 28px;
  overflow-wrap: anywhere;
}
.proposal-paper h2 {
  font:
    400 1.9rem/1.2 Georgia,
    serif;
  margin: 12px 0 18px;
}
.proposal-paper section {
  padding-top: 18px;
  border-top: 1px solid #d8d0bd;
  margin-top: 20px;
}
.proposal-paper h3 {
  font:
    400 1.35rem/1.4 Georgia,
    serif;
  margin-bottom: 15px;
}
.proposal-paper h4 {
  font:
    600 0.875rem/1.5 Arial,
    sans-serif;
  margin: 15px 0 5px;
}
.proposal-paper p:not(.eyebrow) {
  white-space: pre-wrap;
  font-size: 0.95rem;
  line-height: 1.7;
}
.proposal-paper .paper-empty {
  color: #817c70;
  font-style: italic;
}
.proposal-paper .proposal-amount {
  font:
    400 2.4rem Georgia,
    serif !important;
  color: #766137;
}
.proposal-amount small {
  display: block;
  font:
    400 0.8125rem Arial,
    sans-serif;
  margin-top: 6px;
}
.assignment-notice {
  min-height: 24px;
  font-size: 0.875rem;
  color: #37604b;
  margin: 10px 0;
}
.assignment-error,
.assignment-missing {
  padding: 16px 20px;
  background: #fcf0ed;
  border: 1px solid #e0bbb1;
  color: #843f35;
  line-height: 1.5;
}
.assignment-error small {
  display: block;
  margin-top: 8px;
}
.assignment-missing ul {
  padding-left: 22px;
}
.assignment-ready {
  display: flex;
  gap: 10px;
  align-items: start;
  color: #37604b;
}
.assignment-confirm {
  padding: 20px;
  background: #f3eedf;
  border: 1px solid #c8b78d;
}
.assignment-confirm h3 {
  font:
    400 1.35rem Georgia,
    serif;
}
.assignment-confirm p {
  margin: 12px 0;
}
.assignment-demo,
.assignment-fine {
  font-size: 0.875rem !important;
  line-height: 1.5;
  color: #6c685e;
}
.assignment-demo {
  margin: 18px 0;
}
.assignment-demo a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.assignment-wording {
  display: inline-block;
  padding: 5px 8px;
  font:
    400 0.8125rem/1.5 Arial,
    sans-serif;
}
.assignment-history {
  margin: 30px 0;
  padding: 20px;
  border: 1px solid var(--border);
}
.assignment-history > div {
  border-top: 1px solid var(--border);
  padding: 15px 0;
  margin-top: 15px;
  font-size: 0.875rem;
}
.assignment-history > div > p {
  white-space: pre-wrap;
  margin: 10px 0;
}
.assignment-history details {
  margin-top: 12px;
}
.assignment-review-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 30px;
  margin-top: 25px;
}
.assignment-inbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.assignment-inbox > button {
  display: grid;
  gap: 8px;
  padding: 20px;
  text-align: left;
  border: 1px solid var(--border);
  background: #fff;
}
.assignment-inbox > button[aria-current='true'] {
  border-color: #78949b;
  background: #edf3f4;
}
.assignment-inbox > button span {
  font-size: 0.95rem;
  line-height: 1.4;
}
.assignment-inbox > button small {
  font-size: 0.875rem;
  color: #696356;
}
.assignment-rubric-scores label {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding: 15px 0;
}
.assignment-rubric-scores label > span:first-child {
  flex: 1;
}
.assignment-rubric-scores small {
  display: block;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #6c685e;
  margin-top: 5px;
}
.assignment-rubric-scores input {
  width: 66px;
  border: 1px solid #bdb8aa;
  padding: 10px;
  font-size: 1rem;
}
.assignment-total {
  display: block;
  font:
    400 3rem Georgia,
    serif;
  padding: 20px 0;
  color: #45694e;
}
.assignment-total small {
  font-size: 1.25rem;
}
.assignment-studio :is(button, a):focus-visible {
  outline: 2px solid #497481;
  outline-offset: 4px;
}
.assignment-studio button:disabled {
  opacity: 0.55;
  cursor: default;
}
.assignment-notice {
  display: block;
}
.assignment-sheet:has(.assignment-wording) {
  background: #fff9f8;
}
.assignment-budget {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid #cabc9d;
  background: #fffdf6;
}
.assignment-budget legend {
  font:
    400 1.4rem Georgia,
    serif;
  padding: 0 8px;
}
.assignment-budget > p {
  font-size: 0.875rem;
  margin-bottom: 18px;
}
.assignment-budget-row {
  display: flex;
  align-items: end;
  gap: 10px;
  margin: 14px 0;
}
.assignment-budget-row label {
  display: grid;
  gap: 6px;
  min-width: 0;
  flex: 1;
  font-size: 0.875rem;
}
.assignment-budget-row label:nth-child(2) {
  flex: 0 1 100px;
}
.assignment-budget input {
  width: 100%;
  padding: 10px 8px;
  border: 1px solid #bdb8aa;
  font-size: 1rem;
  background: #fff;
}
.assignment-budget-row button {
  font-size: 1.5rem;
  padding: 8px;
}
.assignment-budget-total {
  display: grid;
  gap: 8px;
  border-top: 1px solid #cabc9d;
  padding-top: 20px;
  margin-top: 20px;
}
.assignment-budget-total strong {
  font:
    400 2.2rem Georgia,
    serif;
  color: #5b613e;
}
.assignment-budget-total span {
  font-size: 0.875rem;
  line-height: 1.5;
}
.assignment-result-preview {
  padding: 25px;
  border-block: 1px solid #c8b68a;
  background: #fffcf3;
}
.assignment-result-preview h2 {
  font:
    400 1.6rem/1.3 Georgia,
    serif;
  margin: 12px 0;
}
.assignment-result-preview p:not(.eyebrow) {
  white-space: pre-wrap;
  font:
    400 1.1rem/1.65 Georgia,
    serif;
  max-height: 230px;
  overflow: auto;
}
.assignment-result-preview > strong {
  display: block;
  margin-top: 18px;
  font:
    400 2rem Georgia,
    serif;
  color: #766137;
}
.assignment-result-preview small {
  font:
    400 0.8125rem Arial,
    sans-serif;
  display: block;
  margin-top: 8px;
}
.assignment-scenario {
  padding: 25px;
  border: 1px solid #c3d0d1;
  background: #f2f7f6;
}
.assignment-scenario h3 {
  font:
    400 1.5rem/1.3 Georgia,
    serif;
  margin: 12px 0 20px;
}
.assignment-scenario label {
  display: grid;
  gap: 12px;
  margin: 20px 0;
  font-size: 0.95rem;
}
.assignment-scenario input {
  width: 100%;
  accent-color: #6c8b84;
}
.assignment-scenario output {
  display: grid;
  gap: 10px;
  padding: 20px 0;
}
.assignment-scenario output strong {
  font:
    400 2.7rem Georgia,
    serif;
  color: #37604b;
}
.assignment-scenario p:not(.eyebrow),
.assignment-scenario output span {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (max-width: 850px) {
  .assignment-workspace {
    grid-template-columns: 1fr;
  }
  .assignment-coach {
    grid-template-columns: 1fr;
  }
  .assignment-review-layout {
    grid-template-columns: 1fr;
  }
  .assignment-inbox {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (max-width: 600px) {
  .assignment-studio {
    padding: 24px 20px 48px;
  }
  .assignment-launch {
    padding: 24px 20px;
    gap: 20px;
    grid-template-columns: 1fr;
  }
  .assignment-launch > .assignment-score {
    width: 90px;
    height: 90px;
  }
  .assignment-heading {
    align-items: start;
    gap: 12px;
  }
  .assignment-heading > .assignment-score {
    width: 80px;
    height: 80px;
  }
  .assignment-heading > .assignment-score strong {
    font-size: 2rem;
  }
  .assignment-heading > .assignment-score small {
    font-size: 0.75rem;
  }
  .assignment-topline {
    flex-wrap: wrap;
  }
  .assignment-journey a {
    padding: 12px 7px;
    display: flex;
    flex-direction: column;
  }
  .assignment-journey strong {
    font-size: 1rem;
  }
  .assignment-journey small {
    font-size: 0.8125rem;
  }
  .assignment-sheet,
  .assignment-thomas,
  .assignment-rubric,
  .assignment-review {
    padding: 20px;
  }
  .proposal-paper {
    padding: 20px;
  }
  .assignment-actions {
    justify-content: start;
  }
}

/* Tim's review: headline, score, then the work. The rubric and demo controls
   remain available without turning the opening into an administrative dashboard.
   Coaching is invited, not an always-open panel or an automatic API call. */
.assignment-student-studio .breadcrumbs {
  margin-bottom: 24px;
}
.assignment-student-studio .assignment-heading {
  margin-bottom: 18px;
}
.assignment-student-studio .assignment-heading p {
  font-size: 1rem;
  margin: 0;
  max-width: 42rem;
}
.assignment-student-studio .assignment-notice:empty {
  display: none;
}
.assignment-grading {
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #ded8c9;
}
.assignment-grading summary {
  cursor: pointer;
  width: fit-content;
  font:
    400 1rem/1.5 Georgia,
    serif;
  color: #705724;
}
.assignment-grading summary > span {
  margin-left: 16px;
  color: #6a665c;
  font:
    400 0.8125rem Arial,
    sans-serif;
}
.assignment-grading > p {
  margin: 18px 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #655f52;
}
.assignment-grading dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 36px;
}
.assignment-grading dt {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}
.assignment-grading dt span {
  color: #705724;
}
.assignment-grading dd {
  margin: 6px 0 0;
  color: #655f52;
  font-size: 0.875rem;
  line-height: 1.6;
}
.assignment-student-studio .assignment-workspace {
  grid-template-columns: minmax(0, 1fr);
}
.assignment-student-studio .assignment-writing {
  width: 100%;
  max-width: 800px;
}
.assignment-student-studio .assignment-workspace[data-coach-open='true'] {
  grid-template-columns: minmax(0, 1.3fr) minmax(310px, 1fr);
}
.assignment-coach[hidden] {
  display: none;
}
.assignment-student-studio .assignment-sheet {
  border: 0;
  padding: 0;
  background: transparent;
}
.assignment-student-studio .assignment-steps {
  gap: 10px 22px;
  margin-bottom: 8px;
}
.assignment-student-studio .assignment-steps button {
  padding: 7px 0;
  border: 0;
  border-radius: 0;
  background: none;
  border-bottom: 2px solid transparent;
  color: #716c60;
}
.assignment-student-studio .assignment-steps button[aria-current='step'] {
  color: #594722;
  border-bottom-color: #b49a64;
}
.assignment-student-studio .assignment-steps button > span {
  display: none;
}
.assignment-student-studio .assignment-starting-point {
  border: 0;
  align-items: center;
  padding: 18px 0 6px;
  margin: 0 0 8px;
}
.assignment-starting-point .assignment-begin-thomas {
  background: #806a38;
  color: white;
  padding: 10px 20px;
  height: auto;
  min-height: 44px;
  font:
    400 1rem/1.3 Georgia,
    serif;
  text-transform: none;
}
.assignment-starting-point .assignment-begin-thomas:hover {
  background: #6e582e;
}
.assignment-save-state {
  align-self: center;
  margin-right: auto;
  color: #696458;
  font:
    400 0.8125rem/1.5 Arial,
    sans-serif;
}
.assignment-coach-title > div {
  flex: 1;
  min-width: 0;
}
.assignment-coach-title > button {
  align-self: flex-start;
  padding: 6px;
  min-width: 32px;
  height: 32px;
}
.assignment-student-studio .assignment-thomas {
  padding: 22px;
  border: 1px solid #d2dfe0;
  border-radius: 5px;
  box-shadow: none;
}
.assignment-working-tools {
  display: grid;
  gap: 16px;
  margin-top: 30px;
}
.assignment-student-studio .assignment-paper-preview {
  border: 0;
  padding: 0;
}
.assignment-student-studio .assignment-paper-preview summary,
.assignment-quiet-footer summary {
  cursor: pointer;
  color: #6a6252;
  font:
    400 0.875rem/1.6 Arial,
    sans-serif;
}
.assignment-quiet-footer {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #e5e0d4;
  display: grid;
  gap: 14px;
}
.assignment-quiet-footer p,
.assignment-quiet-footer a {
  font-size: 0.875rem;
  line-height: 1.6;
}
.assignment-quiet-footer p {
  margin-top: 12px;
}
.assignment-quiet-footer .assignment-topline {
  margin: 14px 0;
}
.assignment-student-studio summary:focus-visible,
.assignment-student-studio .assignment-steps button:focus-visible {
  outline: 2px solid #658b95;
  outline-offset: 4px;
}
@media (max-width: 850px) {
  .assignment-student-studio .assignment-workspace[data-coach-open='true'] {
    grid-template-columns: minmax(0, 1fr);
  }
  .assignment-student-studio .assignment-writing {
    max-width: none;
  }
}
@media (max-width: 600px) {
  .assignment-grading dl {
    grid-template-columns: 1fr;
  }
  .assignment-student-studio
    .assignment-starting-point
    > .assignment-medallion {
    width: 56px;
    height: 56px;
  }
  .assignment-student-studio .assignment-heading h1 {
    font-size: 1.9rem;
  }
  .assignment-student-studio .assignment-heading > div {
    min-width: 0;
  }
  .assignment-save-state {
    flex-basis: 100%;
  }
  .assignment-write-alone {
    display: block;
    margin: 12px 0 0;
  }
}

/* The student's own book is the organizing surface. Named commitments are
   shared; reading markers and private noticing are deliberately quieter. */
.student-header-links {display:flex;gap:24px;align-items:center;}
.header-journal,.journal-home-link {display:inline-flex;gap:9px;align-items:center;color:#66532d;text-decoration:none;font:400 1rem Georgia,serif;}
.module-activities {width:100%;text-align:left;}
.module-activities .module-checkpoint {margin-top:0;padding-top:0;border-top:0;align-items:center;}
.course-checkpoint {max-width:800px;margin:24px auto 40px;padding:22px 0;border-top:1px solid #d6c9ab;}
.course-checkpoint a {display:flex;align-items:center;gap:13px;color:#715a2d;font:400 1.25rem Georgia,serif;}
.course-checkpoint a>span:last-child {margin-left:auto;}
.module-commitment {display:flex;align-items:flex-start;align-self:stretch;width:100%;gap:13px;padding:20px 0;margin:12px 0 20px;border-top:1px solid #d6cfbd;text-align:left;}
.commitment-check,.quiet-circle {display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border:1px solid #968562;border-radius:50%;flex-shrink:0;}
.commitment-check[data-complete='true'] {background:#395e48;border-color:#395e48;color:white;}
.module-commitment>span:last-child {display:grid;gap:6px;}
.module-commitment small {display:flex;align-items:center;gap:8px;font:600 .8125rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#715a2d;}
.activity-visibility {display:inline-flex;align-items:center;}
.module-commitment strong {font:400 1.1rem/1.35 Georgia,serif;}
.workbook-home .course-card {padding:30px 28px;}
.workbook-home .course-card h2 {font-size:clamp(1.45rem,2.1vw,2rem);margin-bottom:24px;}
.workbook-home .module-number {width:52px;height:52px;font-size:1.5rem;margin-bottom:18px;}
.workbook-home .foundation-card {grid-column:1 / -1;}
.workbook-home .foundation-card h2 {font-size:clamp(1.7rem,2.5vw,2.35rem);}
.workbook-home .foundation-card .module-commitment {max-width:500px;}
.workbook-home .module-dates {font-size:.875rem;}
/* Shared tracks align each row's questions despite different title lengths.
   Fixed heights clipped enlarged text; subgrid grows with the longest card. */
.workbook-home .course-card:not(.foundation-card) {display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;align-items:start;}
.workbook-home .course-card:not(.foundation-card)>div {display:contents;}
.workbook-home .course-card:not(.foundation-card) .module-number {justify-self:center;}
.workbook-home .course-card:not(.foundation-card) .module-cta {justify-self:center;align-self:end;}
.module-art-disclosure {margin:0 0 20px;color:#796e58;font-size:.875rem;}
.module-art-disclosure summary {cursor:pointer;}
.workbook-page .assignment-launch {grid-template-columns:92px 1fr;padding:24px 30px;gap:24px;margin:20px 0 32px;box-shadow:none;border:1px solid #c9bea7;border-left:4px solid #ad9561;background:linear-gradient(100deg,#f2f7f7,#fffdf6);}
.workbook-page .assignment-launch .assignment-score {width:86px;height:86px;}
.workbook-page .assignment-launch .assignment-score strong {font-size:2rem;}
.workbook-page .assignment-launch .assignment-score small {font-size:.75rem;}
.workbook-page .assignment-launch h2 {font-size:2rem;margin:8px 0;}
.workbook-page .assignment-launch p:not(.eyebrow) {font-size:1rem;line-height:1.6;margin:0 0 16px;}
.reading-note-toolbar {margin:22px 0 14px;gap:18px;border:0;background:transparent;font-size:.875rem;}
.reading-note-toolbar p {flex:1;min-width:220px;font-size:.875rem;color:#676558;}
.reading-note-toolbar select {max-width:145px;}
.reading-note-toolbar a {color:#705a32;}
.reading-keeper {position:sticky;top:calc(var(--masthead-height,96px) + 8px);z-index:12;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 20px;margin:0 0 26px;background:#fafbf8f5;border:1px solid #d6d9cc;border-radius:5px;box-shadow:0 4px 16px #3d432a0a;backdrop-filter:blur(10px);}
.keeper-current {display:flex;gap:12px;align-items:center;flex:1;min-width:200px;color:#5d654f;}
.keeper-current span {display:grid;gap:4px;}
.keeper-current small {font:400 .8125rem Arial,sans-serif;}
.keeper-current strong {font:400 1.1rem Georgia,serif;}
.keeper-actions {display:flex;gap:12px;border:0;padding:0;margin:0;min-width:0;}
.keeper-actions button {text-transform:none!important;font:400 .875rem Arial,sans-serif!important;background:transparent!important;color:#5d654f!important;padding:8px!important;}
.keeper-actions .quiet-circle {width:17px;height:17px;}
.reading-card > div > .keeper-actions {margin-top:12px;}
.keeper-actions button[aria-pressed="true"] {background:#e8ede3!important;}
.keeper-actions button:focus-visible {outline:2px solid #658b95;outline-offset:3px;}
.keeper-resume {font-size:.875rem;color:#715a2d;}
.reading-keeper details {font-size:.875rem;}
.reading-keeper details[open] {flex-basis:100%;}
.reading-keeper summary {cursor:pointer;}
.reading-keeper details a {display:block;padding:7px 0;color:#5d654f;}
.reading-private-note {max-width:760px;margin:35px auto;padding:20px 0;border-block:1px solid #d8cfba;}
.reading-private-note summary {font:400 1.25rem Georgia,serif;cursor:pointer;}
.reading-save-status:empty {display:none;}
.reading-save-status {display:block;margin:20px 0;color:#395e48;}
.journal-composer {padding-top:16px;}
.journal-privacy {display:flex;gap:8px;align-items:center;color:#53656a;font:400 .875rem/1.5 Arial,sans-serif;}
.journal-composer>label:not(.journal-type) {display:block;font:400 1.4rem/1.5 Georgia,serif;margin:18px 0;}
.journal-composer textarea {width:100%;background:#fffefb;border:1px solid #c8bea9;border-radius:4px;padding:14px;font:400 1rem/1.6 Arial,sans-serif;resize:vertical;}
.journal-type {display:block;font:400 .875rem Arial,sans-serif;color:#736c5c;margin:15px 0 8px;}
.journal-compose-actions {display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:20px 0;}
.journal-compose-actions output {font-size:.875rem;color:#42654e;}
.journal-composer .voice-highlight {padding:8px 0;}
.journal-composer .voice-highlight-orb {width:68px;height:68px;flex:0 0 68px;}
.site-shell .journal-composer .voice-highlight .voice-highlight-record {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:auto;min-height:190px;padding:24px;border:1px dashed #c4b68f;border-radius:14px;background:#faf8ef;color:#69552e;white-space:normal;font:400 1.05rem Georgia,serif;text-transform:none;letter-spacing:0;}
.journal-composer .voice-highlight-hint {font:400 .8125rem Arial,sans-serif;color:#80735a;}
.site-shell .assignment-student-studio .assignment-field-assist .assignment-thomas-trigger {text-transform:none;letter-spacing:0;}
.module-reflection {max-width:800px;margin:50px auto;border-top:2px solid #b49a64;padding:30px 0;scroll-margin-top:130px;}
.module-reflection h2 {font-size:2rem;margin:12px 0;}
.module-reflection p {font-size:1rem;line-height:1.6;}
.module-reflection summary {cursor:pointer;font:400 1.1rem Georgia,serif;margin:20px 0;color:#705a32;}
.student-journal {max-width:1060px;padding:30px 40px 70px;}
.journal-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:25px 0 28px;border-bottom:1px solid #d6c9ab;}
.journal-heading h1 {display:flex;align-items:center;gap:18px;font-size:clamp(2.2rem,4vw,3.5rem);margin:0;}
.journal-mark {position:relative;display:inline-block;flex-shrink:0;width:32px;height:32px;color:inherit;}
.journal-mark .journal-mark-heart {position:absolute;inset:4% 10% 9% 0;width:90%;height:87%;}
.journal-mark .journal-mark-plus {position:absolute;left:20%;top:24%;width:35%;height:35%;}
.journal-mark .journal-mark-pen {position:absolute;right:0;bottom:0;width:52%;height:62%;background:var(--journal-mark-paper,#fff);border-radius:3px;}
/* Tim's journal heart identifies private work; a share mark still identifies deliberate sharing. */
.journal-mark.journal-mark-private {width:20px;height:20px;--journal-mark-paper:transparent;}
.journal-heading h1>.journal-mark {width:64px;height:64px;color:#9b824d;}
.site-shell .journal-compose-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:8px 18px;border:0;border-radius:12px;background:#f4efe2;color:#715a2d;font:400 1.35rem Georgia,serif;cursor:pointer;--journal-mark-paper:#f4efe2;}
.journal-compose-button>.journal-mark {width:40px;height:40px;}
.site-shell .journal-compose-button:hover {background:#eae0ca;--journal-mark-paper:#eae0ca;}
.site-shell .journal-compose-compact {padding:8px;min-width:44px;min-height:44px;background:transparent;--journal-mark-paper:#fff;}
.journal-compose-compact>.journal-mark {width:28px;height:28px;}
.journal-compose-button:focus-visible,.journal-dialog-close:focus-visible {outline:2px solid #658b95;outline-offset:4px;}
.journal-home-link>.journal-mark,.header-journal>.journal-mark {width:26px;height:26px;}
/* A compose sheet, not another permanent section competing with the entries. */
.reading-comment-composer.journal-compose-dialog {inset:0;margin:auto;width:min(560px,calc(100vw - 32px));height:fit-content;max-height:90svh;padding:28px;border-radius:16px;border-color:#d6c9ab;}
.journal-dialog-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;}
.journal-dialog-heading h2 {display:flex;align-items:center;gap:12px;margin:0;font:400 1.8rem Georgia,serif;}
.journal-dialog-heading .journal-mark {width:42px;height:42px;color:#9b824d;}
.journal-dialog-close {display:grid;place-items:center;min-width:44px;min-height:44px;color:#715a2d;border-radius:8px;cursor:pointer;}
.journal-chapter-select {font:400 .875rem Arial,sans-serif;}
.journal-chapter-select select {border:1px solid #d0c6af;padding:8px;margin-left:10px;max-width:100%;background:#fff;}
.journal-compose-dialog .journal-composer {padding-top:0;}
.journal-compose-dialog .journal-composer>label:not(.journal-type) {font-size:1.25rem;margin:12px 0;}
.site-shell .journal-compose-dialog .journal-composer .voice-highlight .voice-highlight-record {min-height:0;flex-direction:row;gap:12px;padding:10px 18px;border-radius:10px;}
.journal-compose-dialog .journal-composer .voice-highlight-orb {width:40px;height:40px;flex-basis:40px;}
.journal-compose-dialog .journal-compose-actions {margin-bottom:0;}
.journal-compose-status {position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:55;padding:10px 18px;border-radius:8px;background:#395e48;color:white;font:400 .875rem Arial,sans-serif;pointer-events:none;}
.journal-compose-status:empty {display:none;}
@media(max-width:600px){.header-journal>span:not(.journal-mark){display:none;}.header-journal .journal-mark svg{display:block;}.journal-heading{gap:16px;}.journal-heading h1{gap:12px;font-size:2rem;}.journal-heading h1>.journal-mark{width:44px;height:44px;}.site-shell .journal-heading .journal-compose-button{font-size:1.1rem;padding:8px 12px;}.journal-heading .journal-compose-button>.journal-mark{width:30px;height:30px;}.reading-comment-composer.journal-compose-dialog{padding:20px;}}
.journal-chapters {display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 8px;}
.journal-chapters button {padding:8px 12px;border-radius:3px;font-size:.875rem;color:#6f6551;}
.journal-chapters button[aria-current='page'] {background:#f1eadc;color:#594722;}
.journal-chapter {margin:35px 0 55px;}
.journal-chapter-heading {display:flex;gap:18px;align-items:center;margin-bottom:26px;}
.journal-chapter-heading>span {color:#af9864;font:400 2.2rem Georgia,serif;}
.journal-chapter-heading h2 {font:400 1.65rem/1.3 Georgia,serif;margin:5px 0;}
.journal-chapter-heading a {margin-left:auto;display:flex;align-items:center;gap:7px;font-size:.875rem;white-space:nowrap;color:#715a2d;}
.journal-entry {border-left:2px solid #c6b386;padding:5px 0 10px 25px;margin:24px 0 30px;}
.journal-entry-label {display:flex;justify-content:space-between;gap:12px;font:400 .8125rem/1.5 Arial,sans-serif;color:#7a6a4a;margin:5px 0 12px;}
.journal-own-words,.journal-entry>p:not(.journal-entry-label) {font:400 1.2rem/1.7 Georgia,serif;white-space:pre-wrap;}
.journal-entry blockquote {margin:14px 0 18px;padding:18px 22px;background:#f6f3e9;color:#514b3e;font:italic 400 1.2rem/1.65 Georgia,serif;}
.journal-chat summary {display:flex;flex-wrap:wrap;gap:12px;align-items:center;cursor:pointer;color:#5b654f;font:400 1rem/1.4 Georgia,serif;}
.journal-chat summary .journal-chat-question {flex-basis:100%;font-size:1.15rem;color:#25271f;}
.journal-entry-meta {display:inline-flex;align-items:center;flex-wrap:wrap;gap:12px;}
.journal-entry-visibility {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:400 .875rem/1.5 Arial,sans-serif;color:#5b654f;}
.journal-chat>div {margin-top:24px;white-space:pre-wrap;line-height:1.7;}
.journal-chat {margin-top:20px;}
.journal-chat p {margin-bottom:12px;}
.journal-empty {padding:32px 0;color:#726853;line-height:1.7;}
.journal-empty h2 {font:400 2rem Georgia,serif;}
.assignment-starting-point[hidden],.assignment-thomas-trigger[hidden] {display:none!important;}
/* Keep the writing field still when its invitation takes over from the introduction. */
.assignment-starting-point[data-resting='true'] {visibility:hidden;}
.assignment-resume-thomas {height:48px;margin-bottom:14px;}
.assignment-resume-thomas button {display:flex;gap:10px;align-items:center;color:#705a32;font:400 .95rem Georgia,serif;}
.module-expectation {font:400 1rem/1.7 Arial,sans-serif;color:#635e50;max-width:760px;margin-bottom:28px;}
.module-expectation a {color:#715a2d;}
.assignment-student-studio .assignment-field-assist .assignment-thomas-trigger {background:#fffdf5;color:#705a32;border:1px solid #cbb98c;border-radius:12px;box-shadow:0 5px 20px #5e4e2112;position:relative;}
.assignment-field-assist .assignment-thomas-trigger:before {content:'';position:absolute;right:28px;top:-7px;width:12px;height:12px;background:#fffdf5;border-top:1px solid #cbb98c;border-left:1px solid #cbb98c;transform:rotate(45deg);}
.assignment-field-assist .assignment-thomas-trigger:hover {background:#f8f2e3;}
.assignment-student-studio .assignment-coach {position:sticky;top:calc(var(--masthead-height,96px) + 16px);}
.student-journal :is(button,summary,a):focus-visible,.reading-keeper :is(button,summary,a):focus-visible {outline:2px solid #658b95;outline-offset:4px;}
@media(max-width:800px){.module-progress-toolbar .journal-home-link{margin-left:0;}.header-journal{font-size:.875rem;}.student-header-links{gap:12px;}.reading-keeper{position:static;}.journal-chapter-heading{flex-wrap:wrap;}.journal-chapter-heading a{margin-left:0;}.assignment-student-studio .assignment-coach{position:static;}}
@media(max-width:600px){.student-journal{padding:24px 20px;}.workbook-page .assignment-launch{grid-template-columns:1fr;padding:24px;}.workbook-page .assignment-launch .assignment-score{display:none;}.header-journal svg{display:none;}.reading-keeper{padding:14px;}.journal-entry{padding-left:16px;}.journal-heading .eyebrow{font-size:.75rem;}.keeper-actions{flex-wrap:wrap;}}

/* Keep the numbered navigation compact; reveal the source title only when it helps orientation. */
.journal-module-tooltip-positioner{z-index:80;}
.journal-module-tooltip{max-width:min(400px,calc(100vw - 32px));padding:12px 16px;border:1px solid #c9b98f;border-radius:8px;background:#fffdf6;color:#594722;box-shadow:0 5px 18px #3d321d22;font:400 18px/1.4 Georgia,serif;}

/* The complete collection is context for Journal, not a competing heading. */
.journal-history{display:inline-block;color:#827866;font-size:.55em;font-weight:400;vertical-align:baseline;}

/* Source reading keeps its voice; controls and saved-state details stay quiet. */
.work-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.work-controls label{display:flex;align-items:center;gap:8px}.work-meta{font:14px/1.5 Arial,sans-serif;color:#756b52;margin:10px 0}.preserve-lines,.response-thread blockquote>p:last-child,.practice-followup dd{white-space:pre-wrap;overflow-wrap:anywhere}.response-thread{margin:20px 0}.response-thread blockquote{border-left:2px solid #ac975f;margin:16px 0;padding:0 18px}.response-thread label,.practice-history form label,.class-addition-editor label,.checkpoint-page form>fieldset>label{display:block;margin:20px 0;font-size:18px}.response-thread textarea,.practice-history textarea,.class-addition-editor textarea,.checkpoint-page textarea{display:block;box-sizing:border-box;width:100%;font-family:inherit;font-size:18px;line-height:1.5;border:1px solid #d9cfb9;border-radius:6px;padding:12px;margin-top:8px;background:#fff;color:inherit}.practice-history{border-top:1px solid #ddd4c1;margin-top:28px;padding-top:20px}.practice-history h3{font-size:24px}.practice-history details{margin:16px 0}.practice-history summary{cursor:pointer}.practice-history dt,.checkpoint-page dt{font-weight:600;margin-top:16px}.practice-history dd,.checkpoint-page dd{margin:5px 0 16px}.practice-followup{margin:24px 0;padding-left:18px;border-left:2px solid #d3c69f}.practice-history .work-checkbox{display:flex;gap:10px;align-items:center;font:16px/1.5 Arial,sans-serif}.class-addition{border-left:3px solid #ac975f;background:#faf8ef;padding:8px 20px;margin:24px 0}.class-addition-editor{border-top:1px solid #ddd4c1;margin:24px 0;padding:16px 0}.class-addition-editor summary{font:16px/1.5 Arial,sans-serif;cursor:pointer}.checkpoint-page{max-width:850px;padding-top:38px;padding-bottom:60px}.checkpoint-page h1{font-size:clamp(30px,5vw,44px)}.checkpoint-page h2{font-size:24px;margin-top:28px}.checkpoint-page fieldset{border:0;padding:0;margin:24px 0;min-width:0}.checkpoint-page fieldset>legend{font-size:24px}.checkpoint-page .checkpoint-rating{border-bottom:1px solid #e5ddcb;padding-bottom:16px;margin:24px 0}.checkpoint-page .checkpoint-rating>legend{font-size:19px;line-height:1.5}.checkpoint-rating label{display:inline-flex;gap:8px;padding:8px}.checkpoint-rating input{width:18px;height:18px;accent-color:#8e7840}.shared-work h2{font-size:26px}.shared-work select,.work-controls select{max-width:100%;font:16px/1.5 Arial,sans-serif;padding:6px}.shared-work{margin:32px 0!important;padding:24px!important;border:1px solid #ded6c5}.checkpoint-page [role=alert],.practice-history [role=alert],.class-addition-editor [role=alert]{color:#8a2929;font:16px/1.5 Arial,sans-serif}.checkpoint-page button:not([class]),.work-controls button:not([class]){font:16px/1.5 Arial,sans-serif;text-decoration:underline;padding:8px}.response-thread p{overflow-wrap:anywhere}@media(max-width:600px){.work-controls{align-items:stretch}.work-controls>*{max-width:100%}.shared-work{padding:16px!important}.checkpoint-rating .work-controls{gap:0}.checkpoint-rating label{padding:7px}.practice-history{margin-top:20px}}

/* Put the student's action ahead of explanation. Explicit picker selectors
   prevent generic reading form labels from turning portrait choices into blocks. */
.saints-panel{width:min(530px,calc(100vw - 32px));max-width:530px;max-height:min(760px,90svh);inset:0;margin:auto;padding:24px;border:1px solid #e1dcd0;border-radius:20px;box-shadow:0 20px 70px #18180f26}
.saints-panel[open]{display:flex;flex-direction:column;gap:16px}
.saints-panel .thomas-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;flex-shrink:0}
.saints-panel .thomas-heading h2{font:500 1.45rem/1.25 Georgia,serif;margin:0}
/* These are quiet descriptors, not actions or a second layer of headings. */
.saints-status{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.perspective-label{display:inline-flex;align-items:center;width:fit-content;padding:2px 7px;border:0;border-radius:7px;background:#f1f2ee;color:#707369;font:400 11px/1.4 Arial,sans-serif}
.saints-panel .thomas-heading button{padding:6px;min-width:36px;width:36px;height:36px;flex-shrink:0;color:#615e55}
.saints-panel-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:1px 3px}
.saint-picker{display:block;margin:0}
.saint-picker .saint-choices{display:flex;align-items:center;gap:8px;padding:0;margin:0;min-width:0}
.saint-option{display:flex;align-items:center;gap:9px;min-width:0;flex-shrink:0}
.saint-option[data-selected=true]{flex:1;min-width:0;margin-right:8px}
.saint-picker .saint-choice{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:3px;margin:0;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer}
.saint-selected{min-width:0;font:400 13px/1.4 Arial,sans-serif;color:#55584e}
.saint-name-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.saint-picker .saint-about{display:inline;padding:0;border:0;background:none;color:#8b7849;font:400 12px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.saint-picker .saint-choice[data-selected=true]{background:#f5eedc;border-color:#cabb92}
.saint-picker .saint-choice[data-selected=true] .saint-portrait{box-shadow:0 0 0 2px #a18745}
.saint-picker .saint-choice:focus-visible{outline:2px solid #826a30;outline-offset:2px}
.saint-picker .saint-choice:disabled{opacity:.65;cursor:default}
.saint-portrait{display:block;flex-shrink:0;width:36px;height:36px;overflow:hidden;border-radius:50%;border:2px solid #fff;background:#ede7d8;position:relative}
.saint-portrait img{width:100%;height:100%;object-fit:cover}
.saint-angela img{width:128px;max-width:none;height:auto;position:absolute;left:-49px;top:-28px}
.saint-francis img{object-position:50% 20%;transform:scale(1.35);transform-origin:50% 30%}
/* Keep tooltip portals in the modal’s top layer without creating a grid row. */
.saint-picker > [data-base-ui-portal]{position:absolute;width:0;height:0}
.saint-tooltip-positioner{z-index:100}
.saint-tooltip{max-width:220px;background:#292b25;color:white;padding:9px 12px;border-radius:10px;box-shadow:0 5px 18px #0002;font:.8rem/1.4 Arial,sans-serif}
.saint-tooltip strong{display:block;font-weight:500}.saint-tooltip span{display:block;color:#e0d5b7;font-size:.75rem;margin-top:2px}
.saint-picker .saint-bio{grid-column:1/-1;padding:4px 0;margin:0;border:0;min-width:0;font:.78rem/1.5 Arial,sans-serif}
.saint-bio h3{font:500 1.1rem/1.3 Georgia,serif;margin:0 0 2px;color:#30342c}
.saint-characteristic.perspective-label{margin-top:4px;background:#f5f1e7;color:#81734e}
.saint-bio p{font:.82rem/1.55 Arial,sans-serif!important;margin:10px 0!important;color:#68675d}
.saint-works{display:flex;flex-wrap:wrap;gap:5px 14px;margin:0 0 6px}
.saint-biography-link{font-size:.74rem}
.saint-art-credit{display:block;font:.65rem/1.4 Arial,sans-serif!important;color:#888;margin-top:8px!important}
.saint-answer-attribution{font:.75rem/1.4 Arial,sans-serif!important;color:#796431;margin:0 0 7px!important}
.saint-answer-body p{font:1rem/1.65 Georgia,serif!important;white-space:pre-wrap;margin:0 0 12px!important}
.saint-citation{margin:12px 0 0;padding:10px 0 2px 14px;border-left:2px solid #b7a16a}
.saint-citation blockquote{font:italic 1rem/1.5 Georgia,serif!important;background:none!important;padding:0!important;margin:0 0 6px!important;border:none!important;color:#474334}
.saint-citation figcaption{font:.77rem/1.45 Arial,sans-serif}
.saint-citation a,.saint-bio a{text-decoration:underline;text-underline-offset:3px;color:#796431}
.saints-context{font:.82rem/1.4 Arial,sans-serif!important;color:#716b5c}
.saints-panel .thomas-history{margin:16px 0 0;padding:0;border:0;font:.8rem/1.5 Arial,sans-serif}
.saints-panel .thomas-history summary{color:#777366}
.saints-panel .thomas-reply-form{margin:0;flex-shrink:0;padding-top:4px}
/* The reply sheet gives the question the largest quiet surface. Tim's reference
   used light, regular sans-serif text; biography and source must not compete. */
.saints-chat-bar{display:flex;flex-direction:column;gap:12px;padding:15px 16px 10px;background:#fff;border:1px solid #e6e6e3;border-radius:24px;box-shadow:0 1px 6px #20251a04}
.saints-chat-bar:focus-within{border-color:#c4b893;box-shadow:0 0 0 2px #b6a16c12}
.saints-chat-bar textarea,.saints-panel .thomas-reply-form textarea,.assignment-coach .saints-chat-bar textarea{display:block;width:100%;height:auto;min-height:92px;max-height:180px;field-sizing:content;resize:none;border:0;border-radius:0;background:transparent;padding:0;margin:0;font:400 13px/1.5 Arial,sans-serif;color:#525750;box-shadow:none;outline:none;letter-spacing:0}
.saints-chat-bar textarea::placeholder{color:#a0a4a6;opacity:1;font-weight:400}
.saints-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.saints-record-actions{display:flex;align-items:center;gap:2px}
.site-shell .saints-chat-bar [data-slot="button"]{flex-shrink:0;min-height:36px;height:36px;padding:8px 14px;gap:6px;margin:0;font:400 13px/1.2 Arial,sans-serif;text-transform:none;letter-spacing:0;border-radius:22px}
.site-shell .saints-chat-bar .saints-record{padding:8px 4px;background:transparent;color:#797c73;border:0}
.saints-reply-preview{margin:0;padding:0 0 0 9px;border-left:2px solid #c6b587;color:#92938a;font:400 12px/1.4 Arial,sans-serif}
.saints-reply-preview summary{display:block;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;list-style:none}
.saints-reply-preview summary::-webkit-details-marker{display:none}
.saints-reply-preview[open] summary{white-space:normal;max-height:100px;overflow:auto}
.saints-panel .saints-reply-preview blockquote,.saints-reply-preview blockquote{margin:0;padding:0;background:none;border:0;font:400 12px/1.5 Arial,sans-serif;max-height:100px;overflow:auto}
.saints-voice-status,.saints-voice-prompt p{font:400 12px/1.5 Arial,sans-serif!important;color:#777b70;margin:10px 0 0!important}
.saints-voice-prompt [data-slot="button"]{font:400 12px Arial,sans-serif!important;text-transform:none!important;margin:8px 6px 0 0!important}
.saints-panel .thomas-new{align-self:flex-start;margin:0!important;font:.8rem Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;padding:2px!important;min-height:28px}
.assignment-coach-title h2{font-size:1.25rem!important;line-height:1.25}
.assignment-student-studio .assignment-workspace[data-coach-open=true]{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr)}
.assignment-thomas-answer .saint-answer{white-space:normal}
@media(max-width:850px){.assignment-student-studio .assignment-workspace[data-coach-open=true]{grid-template-columns:1fr}}
@media(max-width:540px){.saints-panel{padding:18px;max-height:92svh;border-radius:20px}.saints-panel[open]{gap:14px}.saints-panel .thomas-heading h2{font-size:1.22rem}.saint-picker{margin:0}.saint-picker .saint-choices{gap:3px}.saint-picker .saint-choice{width:40px;height:44px;padding:2px}.saint-selected{font-size:12px}.saint-option{gap:5px}.saint-option[data-selected=true]{margin-right:2px}.saint-name-row{gap:2px 7px}.saint-bio p{font-size:.78rem!important}.site-shell .saints-chat-bar [data-slot="button"]{padding-inline:12px}.saints-chat-bar{padding:14px 12px 9px}}

/* The shared button ring and global outline stacked around the sheet's X.
   A quiet filled focus state keeps keyboard location clear without halos. */
.site-shell :is(.saints-panel,.assignment-coach) button[aria-label="Close AI help"]{outline:none;box-shadow:none;border-color:transparent}
.site-shell :is(.saints-panel,.assignment-coach) button[aria-label="Close AI help"]:focus-visible{background:#eeeae0;color:#514d43}
/* Prevent ordinary selection/copy and dragging of generated perspectives.
   This is authorship friction, not protection from screenshots or retyping. */
.saint-answer-body{-webkit-user-select:none;user-select:none}
.saint-copy-notice{font:400 12px/1.4 Arial,sans-serif!important;color:#796431;margin:8px 0!important}

/* Quiet invitations follow the current action without evaluating private work. */
.site-shell .saint-invitation{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 15px 8px 9px;border:1px solid #e8e6df;border-radius:28px;background:#fff;box-shadow:0 1px 5px #20251a06;color:#868982;font:400 13px/1.4 Arial,sans-serif;text-align:left;cursor:pointer}
.site-shell .saint-invitation[hidden]{display:none}
.saint-invitation img{width:28px;height:28px;object-fit:cover;border-radius:50%;opacity:.9}
.saint-invitation span{flex:1}
.saint-invitation svg{color:#8b7849;flex-shrink:0}
.site-shell .saint-invitation:hover{border-color:#c9bb94;color:#5f635b}
.site-shell .saint-invitation:focus-visible{outline:2px solid #a18745;outline-offset:3px}
.site-shell .saint-invitation:disabled{opacity:.5;cursor:default}
.assignment-sheet>.saint-invitation{margin:0 0 24px}
/* An existing answer gets the reading space; its follow-up composer is smaller. */
.saints-panel:has(.thomas-reply) .saints-chat-bar textarea{min-height:32px}
/* Saved conversations sit outside source paragraph nodes, so the student's
   question cannot become part of a later selection or source quotation. */
.passage-conversations{margin:12px 0 24px;display:grid;gap:8px;}
.passage-conversation{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #e0e6e5;border-radius:18px;background:#f8fbfb;padding:12px 14px;color:#465c62;}
.passage-conversation>img{border-radius:50%;flex-shrink:0;}
.passage-conversation>span{min-width:0;flex:1;}
.passage-conversation>svg{flex-shrink:0;}
.passage-conversation-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:400 .75rem/1.4 Arial,sans-serif;color:#78817a;}
.passage-conversation-question{display:block;margin-top:4px;font:400 .875rem/1.5 Arial,sans-serif;overflow-wrap:anywhere;}
.passage-conversation:hover{background:#edf5f7;border-color:#c6dade;}
.passage-conversation-error{font:400 .8125rem/1.5 Arial,sans-serif;color:#73776c;}
.passage-conversation-error button,.journal-chat-reopen{font:400 .875rem/1.5 Arial,sans-serif;color:#82682e;text-decoration:underline;text-underline-offset:4px;}
.journal-chat-reopen{margin-top:20px;}

.activity-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #ad9456;border-radius:50%;color:#80672f;background:#fbf7e9;position:relative;}
.activity-dots{display:flex;align-items:center;gap:3px;}
.activity-dots i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;}
.activity-mark[data-pending='true'] .activity-dots i{animation:activity-dots 1.8s ease-in-out infinite;}
.activity-mark[data-pending='true'] .activity-dots i:nth-child(2){animation-delay:.18s;}
.activity-mark[data-pending='true'] .activity-dots i:nth-child(3){animation-delay:.36s;}
.activity-mark[data-complete='true']{background:#326548;border-color:#326548;color:white;}
@keyframes activity-dots{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-2px);opacity:1}}
@media(prefers-reduced-motion:reduce){.activity-mark[data-pending='true'] .activity-dots i{animation:none;opacity:1;}}
.contents .activity-contents-link{border:1px solid #b9a56d;border-radius:18px;background:#faf7ed;margin-top:10px;}
.contents .activity-contents-link .contents-label{font-family:Arial,sans-serif;font-size:.95rem;}
.activity-saved-label{color:#326548;}
.module-reflection.activity-sheet{max-width:680px;margin:48px auto;padding:26px;border:1px solid #dfdcd3;border-radius:26px;background:white;box-shadow:0 4px 22px #3a332507;scroll-margin-top:150px;}
.activity-heading{display:flex;align-items:center;gap:16px;}
.activity-sheet .activity-heading h2{font-size:1.6rem;line-height:1.25;margin:0;}
.activity-sheet .activity-status{display:block;font:400 .8125rem/1.5 Arial,sans-serif;color:#737568;margin:6px 0 0;}
.activity-sheet .activity-composer{padding:0;margin-top:20px;}
.activity-sheet .activity-composer>label:not(.sr-only){font:400 .9375rem/1.55 Arial,sans-serif;color:#616457;margin:0 0 16px;}
.activity-sheet .activity-composer textarea{border:1px solid #e0dfd8;border-bottom:0;border-radius:20px 20px 0 0;padding:20px 20px 8px;font:400 .9375rem/1.6 Arial,sans-serif;background:white;min-height:130px;resize:vertical;display:block;}
.activity-composer textarea::placeholder{color:#999c97;font-weight:400;}
.activity-sheet .journal-compose-actions{margin:0;padding:8px 14px 14px;border:1px solid #e0dfd8;border-top:0;border-radius:0 0 20px 20px;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.activity-composer .journal-compose-actions>output:empty{display:none;}
.activity-composer .journal-compose-actions>output{flex-basis:100%;}
.activity-sheet .activity-composer .voice-highlight{border:0;padding:0;flex:1;min-width:0;}
.site-shell .activity-composer .voice-highlight .voice-highlight-record{border:0;background:none;min-height:0;width:auto;padding:8px;display:flex;flex-direction:row;gap:8px;font:400 .9375rem Arial,sans-serif;color:#74776a;}
.activity-composer .voice-highlight-orb{background:none;color:inherit;box-shadow:none;animation:none;width:18px;height:18px;flex:0 0 18px;}
.activity-composer .voice-highlight-orb svg{width:18px;height:18px;}
.site-shell .activity-sheet .activity-composer .journal-compose-actions>button{border-radius:24px;font:400 .9375rem Arial,sans-serif;text-transform:none;letter-spacing:0;padding:12px 20px;}
.activity-composer>.work-meta:empty{display:none;}
.activity-sheet>.saint-invitation{margin-top:16px;}
.activity-sheet .activity-confirmation{margin:20px 0 0 44px;font:400 .9375rem/1.6 Arial,sans-serif;}
.activity-sheet .activity-confirmation p{white-space:pre-wrap;max-height:180px;overflow:auto;font:inherit;color:#51564a;}
.activity-confirmation a{font-size:.875rem;}
@media(max-width:600px){.module-reflection.activity-sheet{padding:20px 16px;margin:30px 0;}.activity-sheet .activity-heading h2{font-size:1.35rem;}.activity-sheet .activity-confirmation{margin-left:0;}}
/* Keep the reading tools visually separate from assignments and source prose. */
.workbook-page .reading-keeper{width:calc(100% + 100px);max-width:none;margin-left:-50px;margin-right:-50px;padding:16px 50px 10px;border:0;border-radius:0;background:linear-gradient(110deg,#c4dbe5,#edf5f5);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;}
.reading-keeper .keeper-current{min-width:0;color:#344f5a;}
.reading-keeper .keeper-resume{grid-column:1/-1;justify-self:end;font:400 .75rem/1.5 Arial,sans-serif;color:#486470;}
.reading-preview-footer{display:flex;justify-content:flex-end;margin:36px 0 0;padding-top:18px;border-top:1px solid #e5e5df;color:#797b73;font:400 .8125rem Arial,sans-serif;}
.reading-preview-footer select{margin-left:12px;padding:8px;border:1px solid #ddd;border-radius:8px;background:white;}
.header-journal-group{display:inline-flex;align-items:center;gap:3px;}
.site-shell .header-journal-group .journal-compose-compact{margin:0;padding:6px;min-width:32px;}
.site-shell .demo-avatar{border:0;border-radius:50%;width:46px;height:46px;background:linear-gradient(135deg,#c4dbe5,#edf5f5);color:#385365;font:500 1rem Arial,sans-serif;cursor:pointer;}
.site-shell button.login-link{cursor:pointer;}
.reading-comment-composer.journal-compose-dialog.activity-sheet{width:min(560px,calc(100vw - 32px));border-radius:26px;}
.journal-compose-dialog.activity-sheet .journal-composer{margin-top:14px;}
.journal-compose-dialog.activity-sheet .journal-composer .saint-invitation{margin-top:16px;}
.journal-compose-dialog .journal-chapter-select{font:400 .8125rem Arial,sans-serif;}
.journal-compose-dialog .journal-chapter-select select{border-radius:9px;padding:6px 10px;}
.journal-compose-dialog.activity-sheet .journal-composer .voice-highlight-orb{width:18px;height:18px;flex-basis:18px;}
.course-checkpoint.activity-sheet{max-width:680px;margin:32px auto;padding:26px;border:1px solid #dfdcd3;border-radius:26px;background:white;scroll-margin-top:150px;}
.course-checkpoint.activity-sheet .checkpoint-open{display:block;margin:18px 0 0 44px;font:400 .9375rem Arial,sans-serif;}
.checkpoint-sheet{max-width:760px;}
.checkpoint-sheet form{padding:24px;border:1px solid #dfdcd3;border-radius:26px;margin-top:24px;}
.checkpoint-sheet .course-inventory{margin-bottom:32px;}
.checkpoint-sheet .course-inventory h2{font:400 1.5rem/1.3 Georgia,serif;margin:0 0 8px;}
.inventory-hint{font:400 .8125rem/1.5 Arial,sans-serif;color:#74776a;}
.inventory-scale{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 16px;margin:16px 0 8px;border-radius:16px;background:#edf4f6;color:#4c6570;font:400 .75rem/1.5 Arial,sans-serif;}
.inventory-scale b{font-weight:600;margin-right:3px;}
.checkpoint-sheet fieldset.inventory-item{position:relative;display:block;margin:0;padding:18px 0;border-bottom:1px solid #eeede7;}
.checkpoint-sheet .inventory-item legend{float:left;width:100%;font:400 .9375rem/1.55 Arial,sans-serif;color:#51584e;padding:0;margin-bottom:12px;}
.inventory-number{color:#91948b;font-variant-numeric:tabular-nums;}
.inventory-options{display:flex;align-items:center;gap:8px;clear:both;}
.inventory-choice{position:relative;cursor:pointer;}
.inventory-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.inventory-choice span{display:grid;place-items:center;width:40px;height:36px;border:1px solid #dfdfd7;border-radius:12px;color:#73776c;font:400 .875rem Arial,sans-serif;background:white;}
.inventory-choice:hover span{background:#f4f8f9;border-color:#b7cfd8;}
.inventory-choice input:checked+span{background:#d5e8ef;border-color:#98bccb;color:#2e5363;}
.inventory-choice input:focus-visible+span{outline:2px solid #486d7d;outline-offset:3px;}
.inventory-choice input:disabled+span{opacity:.6;}
.checkpoint-sheet .inventory-skip{margin-left:4px;padding:8px;color:#888b81;font:400 .75rem Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:400px){.inventory-options{gap:6px;}.inventory-choice span{width:34px;}.checkpoint-sheet .inventory-skip{padding:6px;margin-left:0;}}
.checkpoint-sheet form>fieldset>label{font:400 .9375rem/1.6 Arial,sans-serif;}
.checkpoint-sheet textarea{border:1px solid #e0dfd8;border-radius:20px;padding:18px;font:400 .9375rem/1.6 Arial,sans-serif;}
.checkpoint-sheet .voice-highlight{border:0;background:none;padding:0;}
.site-shell .checkpoint-sheet .voice-highlight .voice-highlight-record{display:flex;flex-direction:row;gap:8px;min-height:0;padding:10px;width:auto;background:none;font:400 .9375rem Arial,sans-serif;}
.checkpoint-sheet .voice-highlight-orb{width:18px;height:18px;flex-basis:18px;box-shadow:none;animation:none;background:none;}
.checkpoint-sheet .voice-highlight-orb svg{width:18px;height:18px;}
@media(max-width:600px){.workbook-page .reading-keeper{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;padding:12px 20px 8px;grid-template-columns:1fr;}.reading-keeper .keeper-actions{justify-self:end;}.course-checkpoint.activity-sheet{padding:20px 16px;}.checkpoint-sheet form{padding:18px;}}

.site-shell .checkpoint-sheet .voice-highlight .voice-highlight-record{border:0;text-transform:none;letter-spacing:0;color:#74776a;}
.checkpoint-sheet .voice-highlight-orb{color:inherit;}
.site-shell .checkpoint-sheet .work-controls>[data-slot="button"]{font:400 .9375rem Arial,sans-serif;text-transform:none;letter-spacing:0;padding:10px 18px;height:auto;}
.checkpoint-sheet>header h1{display:flex;align-items:center;gap:14px;}
.activity-sheet .activity-composer .journal-compose-actions .voice-highlight{flex:0 1 auto;min-width:90px;}
.activity-sheet .activity-composer .journal-compose-actions>button{margin-left:auto;}
.activity-sheet .activity-composer .journal-compose-actions .voice-highlight:has(audio){flex-basis:100%;}
.workbook-page .reading-keeper{position:sticky;width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-left:max(20px,calc((100vw - 1140px)/2));padding-right:max(20px,calc((100vw - 1140px)/2));}

/* The deadline introduces the sequence; each chip replaces a duplicate status marker. */
.module-todo{margin-top:48px;scroll-margin-top:200px;}
.module-todo>h2{border-top:1px solid #d4cbb9;border-bottom:1px solid #d4cbb9;padding:18px 0;font-size:1.4rem;font-weight:400;}
.module-todo .activity-sheet{position:relative;padding-top:54px;}
.activity-chip{position:absolute;top:16px;right:20px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:20px;background:#fbf7e9;color:#80672f;font:400 .75rem/1.4 Arial,sans-serif;}
.activity-chip[data-complete='true']{background:#e9f2eb;color:#326548;}
.module-todo .activity-confirmation,.module-todo .checkpoint-open{margin-left:0;}
.reading-keeper .keeper-task{display:flex;align-items:center;gap:12px;text-decoration:none;}
.keeper-task-count{justify-self:end;color:#486470;font:400 .8125rem/1.5 Arial,sans-serif;}
.workbook-page .reading-keeper:has(.keeper-task){min-height:82px;grid-template-columns:minmax(0,1fr) auto;}
@media(max-width:600px){.activity-chip{right:16px;}.module-todo{scroll-margin-top:180px;}.module-todo>h2{font-size:1.2rem;}}

.reading-keeper .keeper-task .activity-mark{display:inline-flex;gap:0;}
.reading-keeper .keeper-task .activity-dots{display:flex;gap:3px;}

/* A quiet active-page fill locates the journal without adding another label. */
.header-journal[aria-current="page"]{background:linear-gradient(120deg,#c9dfe8,#eaf3f5);color:#355866;border-radius:999px;padding:10px 14px;}

.private-highlight-composer .comment-composer-heading h2{font:400 1.7rem/1.3 Georgia,serif;margin:0 0 8px;}
.private-highlight-composer .highlight-message-box{border:1px solid #e0dfd8;border-radius:22px;padding-top:16px;overflow:hidden;}
.private-highlight-composer .highlight-message-box .saints-reply-preview{margin:0 18px 4px;}
.activity-sheet .highlight-message .highlight-message-box textarea{border:0;border-radius:0;padding:12px 18px;min-height:130px;}
.activity-sheet .highlight-message .journal-compose-actions{border:0;border-radius:0;}
.private-highlight-composer .highlight-message>.saint-invitation{margin-top:16px;}
.site-shell .private-highlight-composer .comment-composer-heading>button{width:32px;height:32px;padding:6px;border-radius:50%;box-shadow:none;}
.site-shell .private-highlight-composer .comment-composer-heading>button:focus:not(:focus-visible){outline:none;box-shadow:none;}
.site-shell .private-highlight-composer .voice-highlight .voice-highlight-record{text-transform:none;letter-spacing:0;}
.site-shell .private-highlight-composer .comment-composer-heading>button:focus-visible{outline:1px solid #8daeba;outline-offset:2px;}

/* Tim asked for every practice surface to inherit the Module 1 reply sheet.
   Keep the work primary; scoring appears only once a teacher has reviewed it.
   Scope to students so the teacher's assessment workspace keeps its own layout. */
.assignment-launch.activity-sheet {
  display:block;max-width:680px;margin:48px auto;padding:54px 26px 26px;
  border:1px solid #dfdcd3;border-radius:26px;background:#fff;
  box-shadow:0 4px 22px #3a332507;
}
.assignment-launch.activity-sheet h2 {margin:0;font:400 1.6rem/1.25 Georgia,serif;}
.assignment-launch.activity-sheet p:not(.eyebrow) {margin:20px 0;font:400 .9375rem/1.65 Arial,sans-serif;color:#5c6055;}
.site-shell .assignment-launch.activity-sheet .reading-link {
  display:flex;width:fit-content;margin-left:auto;gap:12px;padding:10px 20px;
  border:0;border-radius:999px;background:#8b7035;color:white;box-shadow:none;
  font:400 .875rem/1.5 Arial,sans-serif;text-transform:none;letter-spacing:0;
}
.practice-label {display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:4px 9px;border-radius:999px;background:#f5f3ec;color:#80704c;font:400 .75rem/1.4 Arial,sans-serif;}
.practice-label[data-complete=true] {background:#edf4ed;color:#497253;}
.assignment-student-studio {max-width:1160px;padding:28px 32px 64px;}
.assignment-student-studio > :is(.breadcrumbs,.assignment-heading,.assignment-working-tools,.assignment-history,.assignment-quiet-footer,.practice-history,.assignment-review) {max-width:720px;margin-left:auto;margin-right:auto;}
.assignment-student-studio .assignment-heading {display:flex;align-items:start;gap:18px;margin-top:24px;margin-bottom:28px;}
.assignment-student-studio .assignment-heading h1 {font:400 clamp(1.7rem,3vw,2.1rem)/1.2 Georgia,serif;margin:0 0 12px;}
.assignment-student-studio .assignment-heading p {font:400 .9375rem/1.65 Arial,sans-serif;color:#6e7167;}
.assignment-student-studio .assignment-heading > .practice-label {flex-shrink:0;}
.assignment-student-studio .assignment-writing {max-width:720px;margin-inline:auto;}
.assignment-student-studio .assignment-workspace[data-coach-open=true] {grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);gap:20px;}
.assignment-student-studio :is(.assignment-sheet,.assignment-thomas,.assignment-review,.assignment-carry) {
  padding:26px;border:1px solid #dfdcd3;border-radius:26px;background:#fff;box-shadow:0 4px 22px #3a332507;
}
.assignment-student-studio .assignment-thomas[data-engaged=true] {box-shadow:0 4px 22px #3a332507;border-color:#dfdcd3;}
.assignment-student-studio .assignment-steps {gap:6px;margin-bottom:16px;}
.assignment-student-studio .assignment-steps button {
  padding:8px 12px;border:1px solid transparent;border-radius:999px;background:#fff;color:#737568;font:400 .8125rem/1.4 Arial,sans-serif;
}
.assignment-student-studio .assignment-steps button[aria-current=step] {background:#f5f1e7;border-color:#e5dcc4;color:#80682f;}
.assignment-student-studio .assignment-steps button > span {display:inline-flex;width:20px;height:20px;border:0;font-size:.75rem;}
.assignment-student-studio .assignment-field {font:400 .9375rem/1.5 Arial,sans-serif;color:#41453c;margin:0;gap:10px;}
.assignment-student-studio .assignment-field > :is(span,small) {font-size:.8125rem;color:#7b7e74;}
.assignment-student-studio .assignment-field :is(input,textarea,select),
.assignment-student-studio .practice-history textarea,
.assignment-student-studio .assignment-budget input {
  background:#fff;border:1px solid #e0dfd8;border-radius:18px;padding:16px 18px;
  font:400 .875rem/1.65 Arial,sans-serif;color:#40443b;
}
.assignment-student-studio textarea::placeholder {font-weight:400;color:#9b9f99;opacity:1;}
.assignment-student-studio .assignment-field :is(input,textarea):focus-visible {outline:2px solid #acc7d0;outline-offset:2px;}
.assignment-student-studio .assignment-field-wrap {margin-top:16px;}
.assignment-student-studio .assignment-field-wrap:first-child {margin-top:0;}
.assignment-student-studio .assignment-field-assist {min-height:58px;padding:6px 0;}
.assignment-student-studio .assignment-actions {border:0;gap:8px;padding:4px 0 0;align-items:center;}
.site-shell .assignment-student-studio [data-slot=button] {
  font:400 .875rem/1.4 Arial,sans-serif;text-transform:none;letter-spacing:0;
  border-radius:999px;min-height:38px;height:auto;padding:9px 16px;box-shadow:none;
}
.site-shell .assignment-student-studio .assignment-coach-title > button {min-height:32px;padding:6px;}
.assignment-student-studio :is(.assignment-save-state,.practice-meta,.work-meta) {font:400 .8125rem/1.5 Arial,sans-serif;color:#787c70;}
.assignment-student-studio :is(.assignment-sheet,.assignment-review) h2 {font:400 1.6rem/1.3 Georgia,serif;margin:0 0 12px;}
.assignment-student-studio .assignment-sheet > .practice-label {margin-bottom:14px;}
.assignment-student-studio .assignment-review :is(p,small),
.assignment-student-studio .assignment-carry p {font:400 .875rem/1.65 Arial,sans-serif;}
.assignment-student-studio .assignment-review .eyebrow {display:inline-block;background:#f4f3ee;border-radius:999px;padding:4px 9px;font:400 .75rem/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;}
.assignment-student-studio .proposal-paper {padding:0;margin:24px 0;background:transparent;border:0;box-shadow:none;}
.assignment-student-studio .proposal-paper section {border-top:1px solid #ebe8e0;padding-top:18px;margin-top:24px;}
.assignment-student-studio .proposal-paper h3 {font:400 1.2rem/1.4 Georgia,serif;margin:0 0 12px;}
.assignment-student-studio .proposal-paper h4 {font:400 .8125rem/1.5 Arial,sans-serif;color:#7b7e74;margin-top:18px;}
.assignment-student-studio .proposal-paper p:not(.eyebrow) {font:400 .9375rem/1.7 Arial,sans-serif;}
.assignment-student-studio :is(.assignment-ready,.assignment-missing,.assignment-confirm) {padding:16px 18px;border:0;border-radius:18px;background:#f7f7f3;font:400 .875rem/1.6 Arial,sans-serif;}
.assignment-student-studio .assignment-ready {display:flex;gap:8px;align-items:center;color:#527159;background:#f1f6f0;}
.assignment-student-studio :is(.assignment-missing,.assignment-confirm) h3 {font:400 1rem/1.5 Arial,sans-serif;margin:0 0 8px;}
.assignment-student-studio .assignment-confirm p {margin-bottom:14px;}
.assignment-student-studio .assignment-missing ul {padding-left:20px;}
.assignment-student-studio .assignment-working-tools {margin-top:22px;gap:12px;}
.assignment-student-studio :is(.assignment-paper-preview,.assignment-grading,.assignment-history) {padding:16px 20px;border:1px solid #e5e2da;border-radius:18px;background:white;margin-bottom:0;}
.assignment-student-studio :is(.assignment-paper-preview,.assignment-grading,.assignment-history,.practice-history) summary {font:400 .8125rem/1.5 Arial,sans-serif;color:#737568;}
.assignment-student-studio .assignment-quiet-footer {border:0;gap:16px;margin-top:24px;}
.assignment-student-studio .practice-history {border:1px solid #dfdcd3;border-radius:26px;padding:26px;margin-top:28px;font:400 .875rem/1.6 Arial,sans-serif;}
.assignment-student-studio .practice-history h3 {font:400 1.4rem/1.3 Georgia,serif;margin:0 0 18px;}
.assignment-student-studio .practice-history form label {font:400 .875rem/1.5 Arial,sans-serif;}
.assignment-student-studio .practice-history :is(dt,.work-checkbox) {font:400 .8125rem/1.5 Arial,sans-serif;}
.assignment-student-studio .assignment-budget {padding:0;border:0;background:transparent;}
.assignment-student-studio .assignment-budget legend {font:400 .9375rem/1.5 Arial,sans-serif;}
.assignment-student-studio .assignment-budget p,.assignment-student-studio .assignment-budget label {font:400 .8125rem/1.5 Arial,sans-serif;color:#737568;}
.assignment-student-studio .assignment-budget-total {border-radius:16px;background:#f6f7f3;padding:16px;}
.assignment-student-studio .assignment-scenario {border:0;border-radius:18px;background:#f7f8f5;padding:20px;margin-top:20px;}
.assignment-student-studio .assignment-scenario p {font:400 .8125rem/1.6 Arial,sans-serif;}
@media(max-width:850px) {
  .assignment-student-studio .assignment-workspace[data-coach-open=true] {grid-template-columns:minmax(0,1fr);}
  .assignment-student-studio .assignment-coach {position:static;max-width:720px;width:100%;margin-inline:auto;}
}
@media(max-width:600px) {
  .assignment-student-studio {padding:20px 16px 40px;}
  .assignment-student-studio .assignment-heading {display:block;}
  .assignment-student-studio .assignment-heading > .practice-label {margin-top:12px;}
  .assignment-student-studio :is(.assignment-sheet,.assignment-thomas,.assignment-review,.practice-history) {padding:20px;border-radius:22px;}
  .assignment-student-studio .assignment-steps {gap:4px;}
  .assignment-student-studio .assignment-steps button {padding:7px 9px;}
  .assignment-student-studio .assignment-field :is(input,textarea) {padding:14px;font-size:1rem;}
  .assignment-student-studio .assignment-save-state {flex-basis:auto;font-size:.75rem;}
  .assignment-launch.activity-sheet {padding-inline:22px;}
}
.assignment-student-studio > .assignment-notice {display:block;max-width:720px;margin:12px auto;font:400 .8125rem/1.5 Arial,sans-serif;}
.assignment-student-studio .assignment-conversation {max-height:32vh;}
.assignment-student-studio .assignment-coach {max-height:calc(100dvh - var(--masthead-height,96px) - 32px);overflow-y:auto;overscroll-behavior:contain;border-radius:26px;}
@media(max-width:850px){.assignment-student-studio .assignment-coach{max-height:none;overflow:visible;}}
@media(max-width:600px){
  .assignment-student-studio .assignment-actions {justify-content:flex-end;}
  .assignment-student-studio .assignment-save-state {flex-basis:100%;}
}

/* A shared teacher surface: scan rows, then open the work in a quiet sheet.
   Scope every override so classroom reading and student composers retain their design. */
.teacher-workspace{background:#fafbf9;min-height:70vh;padding-bottom:36px;color:#343b37;--teacher-line:#e6e9e5;}
.teacher-workspace main{padding-top:30px;}
.teacher-workspace .teacher-panel-nav{display:flex;align-items:center;gap:4px;border:0;border-bottom:1px solid var(--teacher-line);padding-top:12px;padding-bottom:12px;flex-wrap:wrap;}
.teacher-workspace .teacher-panel-nav a{padding:8px 11px;border:0;border-radius:9px;font:400 12px/1.4 Arial,sans-serif;color:#66726d;text-decoration:none;white-space:nowrap;}
.teacher-workspace .teacher-panel-nav a:hover{background:#e9efed;color:#344f5a;}
.teacher-workspace .teacher-panel-nav .teacher-panel-label{font-weight:600;color:#364b52;margin-right:auto;}
.teacher-workspace .teacher-notebook-toolbar{display:flex;gap:8px;align-items:center;border:0;margin-top:10px;margin-bottom:0;padding-top:0;padding-bottom:0;}
.teacher-workspace .teacher-notebook-toolbar [data-slot=button]{background:transparent;border:0;box-shadow:none;color:#777d74;padding:6px 8px;min-height:30px;height:auto;font:400 12px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:0;}
.teacher-workspace .teacher-notebook-toolbar svg{width:15px;height:15px;}
.teacher-workspace h1,.teacher-workspace .assignment-heading h1{font:400 2rem/1.2 Georgia,serif;letter-spacing:-.025em;text-transform:none;margin:0;}
.teacher-workspace .teacher-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;flex-wrap:wrap;}
.teacher-workspace :is(.teacher-secondary-action,.teacher-row-action){font:400 12px/1.4 Arial,sans-serif;color:#7e693d;text-decoration:none;}
.teacher-workspace button.teacher-row-action{border:0;background:none;cursor:pointer;padding:6px 0;}
.teacher-workspace .teacher-row-action:hover,.teacher-workspace .teacher-cell-link:hover{text-decoration:underline;text-underline-offset:3px;}
.teacher-workspace .teacher-label{display:inline-flex;width:fit-content;align-items:center;gap:4px;border:0;border-radius:7px;padding:3px 7px;background:#f0f1ee;color:#6e766f;font:400 11px/1.4 Arial,sans-serif;white-space:nowrap;}
.teacher-workspace .teacher-label[data-tone=green]{background:#eaf3ec;color:#497454;}
.teacher-workspace .teacher-label[data-tone=gold]{background:#f6f1e6;color:#8b7544;}
.teacher-workspace .teacher-table-frame{border:1px solid var(--teacher-line);border-radius:18px;overflow:auto;background:white;box-shadow:0 3px 14px #22352b03;}
.teacher-workspace .teacher-table{border-collapse:separate;border-spacing:0;width:100%;font:400 13px/1.5 Arial,sans-serif;text-align:left;}
.teacher-workspace .teacher-table th{background:#f6f8f6;color:#808a82;font:400 11px/1.4 Arial,sans-serif;padding:13px 18px;border:0;border-bottom:1px solid var(--teacher-line);white-space:nowrap;}
.teacher-workspace .teacher-table td{padding:15px 18px;border:0;border-bottom:1px solid #edf0ed;vertical-align:middle;color:#56605a;}
.teacher-workspace .teacher-table tr:last-child td{border-bottom:0;}
.teacher-workspace .teacher-table tbody tr:hover{background:#f8faf9;}
.teacher-workspace .teacher-table a{color:inherit;}
.teacher-workspace .teacher-nowrap{white-space:nowrap;font-size:12px!important;color:#879087!important;}
.teacher-workspace .teacher-module-name{display:flex;align-items:center;gap:13px;text-decoration:none;color:#39473f;}
.teacher-workspace .teacher-module-index{flex-shrink:0;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eef3f3;color:#6d8a93;font-size:11px;}
.teacher-workspace .teacher-cell-link{display:block;padding:0;border:0;background:none;text-align:left;font:inherit;color:#3c5045;cursor:pointer;}
.teacher-workspace .teacher-response-preview{min-width:200px;max-width:360px;}
.teacher-workspace .teacher-response-preview span{display:block;}
.teacher-workspace .teacher-response-preview small{display:block;color:#949b95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;margin-top:4px;max-width:340px;}
.teacher-workspace .teacher-table-toolbar,.teacher-workspace .reading-log-filters{display:flex;align-items:center;gap:10px;margin:0 0 16px;flex-wrap:wrap;padding:0;border:0;background:none;font:400 12px Arial,sans-serif;}
.teacher-workspace .teacher-table-toolbar select,.teacher-workspace select{border:1px solid #e2e7e2;border-radius:10px;padding:9px 12px;background:white;font:400 12px Arial,sans-serif;color:#626e65;}
.teacher-workspace .teacher-search{display:flex;align-items:center;gap:8px;border:1px solid #e2e7e2;border-radius:11px;background:white;padding:0 12px;min-width:240px;color:#939c94;}
.teacher-workspace .teacher-search input{width:100%;border:0;background:none;outline:none;padding:10px 0;font:400 12px Arial,sans-serif;color:#48594d;}
.teacher-workspace .teacher-search:focus-within{outline:2px solid #c5d7dd;outline-offset:1px;}
.site-shell .teacher-workspace [data-slot=button]{text-transform:none;letter-spacing:0;font:400 12px/1.4 Arial,sans-serif;border-radius:12px;height:auto;min-height:32px;box-shadow:none;}
.teacher-workspace .teacher-detail-sheet{width:min(640px,calc(100vw - 32px));max-height:88svh;overflow:auto;padding:26px;border:1px solid #e3e5df;border-radius:24px;box-shadow:0 22px 80px #23362a26;background:#fff;}
.teacher-workspace .teacher-sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 25px;}
.teacher-workspace .teacher-sheet-heading h2{font:400 1.5rem/1.3 Georgia,serif;margin:0 0 8px;}
.teacher-workspace .teacher-sheet-heading button{padding:5px;background:transparent;border:0;color:#7a827b;}
.teacher-workspace .teacher-detail-sheet h3{font:500 14px/1.5 Arial,sans-serif;margin:0 0 12px;}
.teacher-workspace .teacher-detail-sheet p,.teacher-workspace .teacher-detail-sheet label{font:400 13px/1.7 Arial,sans-serif;color:#667066;}
.teacher-workspace .teacher-response-body{margin:0 0 24px;}
.teacher-workspace .teacher-detail-sheet textarea{font:400 13px/1.6 Arial,sans-serif;display:block;box-sizing:border-box;width:100%;padding:16px;border:1px solid #e2e6df;border-radius:18px;min-height:120px;background:white;resize:vertical;color:#49564a;margin-top:8px;}
.teacher-workspace .class-addition-editor>.saint-invitation{margin:16px 0;}
.teacher-workspace .response-thread{margin:24px 0;padding:18px 0;border-top:1px solid #ecefe9;}
.teacher-workspace .response-thread form{display:flex;flex-direction:column;gap:10px;}
.teacher-workspace .response-thread form button{align-self:flex-end;border-radius:18px;}
.teacher-workspace .response-thread blockquote{border-left:2px solid #d3dfd7;background:#f7faf7;padding:12px 16px;border-radius:0 12px 12px 0;margin:0 0 16px;}
.teacher-workspace .teacher-detail-sheet .work-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:0;padding:0;margin-top:16px;}
.teacher-workspace .teacher-module-page .module-intro{padding:0;margin:10px 0 25px;}
.teacher-workspace .teacher-module-page .module-intro h1{text-transform:none;font-size:1.8rem;}
.teacher-workspace .teacher-module-page .module-intro .reading-link{border:0;padding:0 20px 0 0;background:none;font:400 12px Arial,sans-serif;text-transform:none;letter-spacing:0;}
.teacher-workspace .module-dates{font:400 12px/1.5 Arial,sans-serif;color:#8b948b;}
.teacher-workspace .teacher-materials-table{margin-bottom:40px;}
.teacher-workspace .teacher-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.teacher-workspace .teacher-controls [data-slot=button]{border:0;background:none;padding:4px;color:#826d3f;}
.teacher-workspace .contents .section-link-card{border:0;border-bottom:1px solid #ebeee9;background:none;padding:10px 6px;box-shadow:none;font:400 12px/1.6 Arial,sans-serif;}
.teacher-workspace .contents .contents-number{border:0;background:#eef2ee;border-radius:8px;width:25px;height:25px;font:400 11px Arial,sans-serif;}
.teacher-workspace .contents :is(h3,.teacher-only-mark){font:500 12px Arial,sans-serif;}
.teacher-workspace .teacher-only-mark{background:#f0f2ed;border:0;border-radius:8px;padding:5px 8px;font:400 11px Arial,sans-serif;}
.teacher-workspace .teacher-prep-zone,.teacher-workspace .prep-section{background:white;border:1px solid #e6e9e2;border-radius:20px;padding:24px;}
.teacher-workspace .teacher-prep-zone .prep-section{padding:0;border:0;}
.teacher-workspace .teacher-branch-heading{font:400 1.3rem Georgia,serif;}
.teacher-workspace .teacher-module-page .workbook-section{padding:24px;border:1px solid #e6e9e2;border-radius:20px;background:white;margin:20px 0;}
.teacher-workspace .teacher-module-page .section-count{font:400 11px Arial,sans-serif;color:#8b957f;}
.teacher-workspace .teacher-module-page .workbook-section h2{font:400 1.5rem/1.3 Georgia,serif;}
.teacher-workspace .admin-actions .status-chip{border:0;background:#eef3ee;border-radius:7px;font:400 11px Arial,sans-serif;padding:4px 7px;}
.teacher-workspace .assessment-heading,.teacher-workspace .assignment-heading{margin:0 0 24px;padding:0;}
.teacher-workspace .assessment-card,.teacher-workspace .assignment-sheet,.teacher-workspace .assignment-inbox{border:1px solid #e3e8e1;border-radius:20px;background:white;box-shadow:none;}
.teacher-workspace .assessment-toolbar{border:0;padding:0;margin:20px 0;gap:12px;}
.teacher-workspace .assessment-toolbar nav{display:flex;gap:3px;flex-wrap:wrap;}
.teacher-workspace .assessment-toolbar button[aria-pressed=true]{background:#eaf1ee;color:#43644e;}
.teacher-workspace .evidence-table{font:400 12px/1.5 Arial,sans-serif;}
.teacher-workspace .evidence-table :is(th,td){border-color:#e8ede7;padding:12px 14px;}
.teacher-workspace .evidence-table th{font:400 11px Arial,sans-serif;background:#f6f8f5;color:#828e81;}
.teacher-workspace .demo-strip{border:0;border-radius:8px;background:#edf2ed;font:400 11px Arial,sans-serif;display:inline-flex;gap:8px;padding:5px 8px;margin:0 0 10px;}
.teacher-workspace .teacher-summary{border:1px solid #e4e8e0;border-radius:16px;background:white;padding:16px;margin-bottom:20px;}
.teacher-workspace .teacher-summary summary{font:400 12px Arial,sans-serif;cursor:pointer;color:#6b796b;}
.teacher-workspace .teacher-summary .metric-grid{margin-top:16px;}
.teacher-workspace .assignment-demo,.teacher-workspace .method-note{font:400 11px/1.5 Arial,sans-serif;color:#879180;}
.teacher-workspace .assignment-inbox button{border:0;border-bottom:1px solid #e9ede6;border-radius:0;background:white;padding:16px;text-align:left;font:400 13px Arial,sans-serif;}
.teacher-workspace .assignment-inbox button[aria-current=true]{background:#eef4ef;box-shadow:inset 3px 0 #a5bcae;}
.teacher-workspace .assignment-inbox :is(strong,span,small){font-family:Arial,sans-serif;font-weight:400;}
.teacher-workspace .assignment-inbox small{font-size:11px;}
.teacher-workspace .assignment-sheet h2{font:400 1.4rem Georgia,serif;}
.teacher-workspace .assignment-field{font:400 13px/1.6 Arial,sans-serif;}
.teacher-workspace .assignment-field textarea{border:1px solid #e2e7dd;border-radius:16px;padding:14px;font:400 13px/1.6 Arial,sans-serif;}
.teacher-workspace .teacher-reading-detail summary{cursor:pointer;color:#435e4a;}
.teacher-workspace .teacher-reading-detail blockquote{border-left:2px solid #d2dbcc;padding:8px 14px;margin:14px 0;font:400 13px/1.6 Georgia,serif;}
@media(max-width:700px){.teacher-workspace .teacher-panel-nav{flex-wrap:nowrap;overflow-x:auto;}.teacher-workspace .teacher-panel-nav .teacher-panel-label{margin-right:0;}.teacher-workspace .teacher-table{min-width:640px;}.teacher-workspace .teacher-detail-sheet{padding:20px;}.teacher-workspace .teacher-table-toolbar{align-items:stretch;}.teacher-workspace .teacher-search{min-width:0;flex-basis:100%;}.teacher-workspace .teacher-page-heading h1{font-size:1.7rem;}.teacher-workspace .teacher-notebook-toolbar{flex-wrap:wrap;}}

.teacher-workspace .teacher-row-action{white-space:nowrap;}
.teacher-workspace .teacher-panel-nav{flex-wrap:nowrap;overflow-x:auto;}
.teacher-workspace .teacher-notebook-toolbar{background:transparent;}

.teacher-workspace .teacher-detail-sheet{inset:0;margin:auto;max-width:calc(100vw - 32px);}
.teacher-workspace .teacher-sheet-heading button:focus-visible{outline:2px solid #bfd0c2;outline-offset:1px;box-shadow:none;}
.teacher-workspace .teacher-table td:first-child .teacher-cell-link{white-space:nowrap;}
.teacher-workspace .teacher-panel-nav a[aria-current=page]{background:#e7eeea;color:#3f6050;}
@media(min-width:701px) and (max-width:1000px){.teacher-workspace .teacher-response-preview,.teacher-workspace .teacher-response-preview small{max-width:230px;}.teacher-workspace .teacher-responses .teacher-table tr>:last-child{display:none;}}

.teacher-workspace .teacher-discard-choice{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0 0 18px;border-radius:12px;background:#f8f3e8;font:400 12px Arial,sans-serif;}
.teacher-workspace .teacher-discard-choice span{margin-right:auto;}

.teacher-workspace .assessment-heading .teacher-label{margin-top:10px;}
.teacher-workspace .response-filters{font:400 12px Arial,sans-serif;gap:12px;margin-bottom:18px;}
.teacher-workspace .evidence-table .quote-button{font:400 12px/1.6 Arial,sans-serif;color:#657060;padding:0;}
.teacher-workspace .evidence-table small{font:400 11px/1.5 Arial,sans-serif;color:#8e9889;margin-top:5px;}
.teacher-workspace .teacher-detail-sheet .full-quote{font:400 15px/1.7 Georgia,serif;border-left:2px solid #cdd8c9;padding:12px 18px;margin:18px 0;}

/* Fictional data keeps its explicit label; whole-table pink competed with the work. */
.teacher-workspace .fixture-rows tbody tr,.teacher-workspace .fixture-detail{background:#fff!important;}
.teacher-workspace .fixture-rows tbody tr:hover{background:#f7faf7!important;}
.teacher-workspace .fixture-overview :is(.metric-grid article,.assessment-card,.week-card,.comparison,blockquote){background:#fff!important;}
.teacher-workspace .example-label{font:400 11px/1.4 Arial,sans-serif;border:0;border-radius:7px;background:#f6eee6;color:#8a7157;padding:4px 7px;}
.site-shell .teacher-workspace .reading-link{font:400 12px/1.5 Arial,sans-serif;text-transform:none;letter-spacing:0;border-radius:12px;}

.scripture-callout{display:block;margin:18px 0;padding:18px 22px;border:1px solid #e4ddcf;border-left:3px solid #b29b60;border-radius:0 14px 14px 0;background:#f8f6ef;color:#514b3c;break-inside:avoid}
.scripture-quotation{font-style:italic;font-weight:400}
.scripture-callout .scripture-citation{display:block;margin-top:8px;font:12px/1.6 Arial,sans-serif;color:#777063}
.scripture-inline{padding:2px 5px;border-radius:4px;background:#f8f6ef;box-shadow:inset 0 -1px #e4ddcf;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.scripture-inline .scripture-citation{font-style:normal}
.intro-workbook blockquote.lead,.prep-intro>blockquote{padding:18px 22px;border:1px solid #d8d3c5;border-left:3px solid #b29b60;border-radius:0 14px 14px 0;background:#f8f6ef;font-style:italic}
.intro-workbook blockquote.lead cite,.prep-intro>blockquote cite{font-style:normal}
@media print{.scripture-callout,.scripture-inline{print-color-adjust:exact;-webkit-print-color-adjust:exact}.scripture-callout{padding:12px 16px}}

.source-heading-block{display:block;margin:16px 0 6px}
.source-heading-block:empty{display:none}
.source-field-block{display:block;margin:6px 0}

.full-workbook{max-width:1440px;padding-bottom:64px!important;color:#252823}
.full-workbook-heading{margin:35px 0 45px}.full-workbook-heading h1{font:400 clamp(36px,5vw,54px)/1.15 Georgia,serif;margin:0 0 22px}.full-workbook-heading>p{font:14px/1.65 Arial,sans-serif;color:#616b6d;max-width:900px}
.review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-actions a,.review-actions button{font:14px/1.5 Arial,sans-serif;padding:9px 15px;border:1px solid #dce3e3;border-radius:20px;background:#fff;color:#3d565e;cursor:pointer}.review-actions [aria-current=page]{background:#dfedf1;border-color:#c0d5de}
.full-workbook-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:50px}.full-workbook-toc{position:sticky;top:calc(var(--masthead-height,96px) + 20px);align-self:start;max-height:calc(100vh - var(--masthead-height,96px) - 40px);overflow:auto;padding-right:18px;font:13px/1.5 Arial,sans-serif}.full-workbook-toc h2{font:600 14px Arial,sans-serif;margin:0 0 15px}.full-workbook-toc ol{list-style:none;padding:0;margin:0}.full-workbook-toc>ol>li{margin-bottom:20px}.full-workbook-toc>ol>li>a{font-weight:600;color:#315662}.full-workbook-toc ol ol{border-left:1px solid #dce5e8;padding-left:12px;margin-top:8px}.full-workbook-toc ol ol li{margin:6px 0}.full-workbook-toc a{color:#637077;text-decoration:none}.full-workbook-toc a:hover{text-decoration:underline}
.full-workbook-body{min-width:0;max-width:900px}.full-workbook-module{scroll-margin-top:calc(var(--masthead-height,96px) + 24px);margin:0 0 75px}.full-module-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;border-bottom:2px solid #c8dce2;padding:0 0 25px;margin-bottom:35px}.full-module-heading h2{font:400 clamp(28px,4vw,39px)/1.2 Georgia,serif;margin:0;text-transform:none}.full-module-number{display:block;font:13px/1.5 Arial,sans-serif;color:#687a7d;margin-bottom:12px}.full-module-heading img{width:90px;max-height:125px;object-fit:contain;height:auto}.full-reading{scroll-margin-top:calc(var(--masthead-height,96px) + 24px);margin:0 0 40px}.full-reading h3{font:400 26px/1.3 Georgia,serif;margin:0 0 14px}.full-reading h4{font:600 18px/1.5 Georgia,serif;margin:22px 0 10px}.full-reading p{font:400 18px/1.8 Georgia,serif;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 16px}.full-reading>header{margin-bottom:16px}.full-reading p:has(>del:only-child){margin-top:14px}
.full-workbook ins{background:#e5f1e7;color:#234c2f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.full-workbook del{background:#f9e9e5;color:#8b3f36;text-decoration:line-through}.full-workbook .review-chip{display:inline-block;font:12px/1.4 Arial,sans-serif;color:#747471;background:#eeeeec;padding:4px 9px;border-radius:12px;margin:8px 6px 0 0}.full-workbook .review-edit-note,.full-workbook .review-date-change{font:13px/1.6 Arial,sans-serif;color:#617078;margin:10px 0}.review-legend{display:flex;gap:16px;align-items:center}.review-legend .review-chip{margin:0}.review-provenance{font:12px/1.6 Arial,sans-serif;color:#677476;border-top:1px solid #dae3e4;padding-top:20px}.review-table{overflow:auto;margin:20px 0}.review-table table{border-collapse:collapse;width:100%}.review-table th,.review-table td{vertical-align:top;text-align:left;border:1px solid #dbe2df;padding:9px 12px}.review-table th{background:#eef4f5}.review-table p{font:14px/1.6 Arial,sans-serif;margin:0}.review-table th:first-child,.review-table td:first-child{min-width:80px}
@media(max-width:900px){.full-workbook-layout{grid-template-columns:1fr;gap:25px}.full-workbook-toc{position:static;max-height:none;padding:20px;border:1px solid #dce5e8;border-radius:20px}.full-workbook-toc>ol{columns:2;column-gap:28px}.full-workbook-toc li{break-inside:avoid}.full-workbook-heading{margin-top:20px}}
@media(max-width:550px){.full-workbook-toc>ol{columns:1}.full-module-heading img{width:65px}.full-reading p{font-size:17px}}
@media print{
 @page{margin:18mm 17mm;@bottom-center{content:counter(page);font:9pt Arial,sans-serif;color:#677476}}
 body:has(.full-workbook){background:white;font-size:11pt}
 body:has(.full-workbook) :is(.masthead,.site-footer,.teacher-panel-nav,.teacher-observation-toolbar,.teacher-notebook-toolbar,.skip,.review-actions,.review-print-button,.review-print-tools,.review-print-options){display:none!important}
 .full-workbook{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.full-workbook-heading{margin-top:0}.full-workbook-layout{display:block}.full-workbook-toc{position:static;overflow:visible;max-height:none;border:0;padding:0;break-after:page}.full-workbook-toc>ol{columns:2;column-gap:24px}.full-workbook-toc li{break-inside:avoid}.full-workbook-toc a{color:#222}.full-workbook-body{max-width:none}.full-workbook-module{break-before:page;margin-bottom:0}.full-module-heading h2{font-size:25pt}.full-reading h3{font-size:18pt}.full-reading h4{font-size:12pt}.full-reading p{font-size:11pt;line-height:1.55}.full-reading h3,.full-reading h4,.full-reading>header{break-after:avoid}.full-reading p{orphans:3;widows:3}.full-reading{margin-bottom:25px}.review-table{overflow:visible}.review-table tr{break-inside:avoid}.review-table p{font-size:9pt}.review-table thead{display:table-header-group}.full-workbook ins,.full-workbook del,.review-chip{print-color-adjust:exact;-webkit-print-color-adjust:exact}.review-provenance{margin-top:25px}
}

.review-actions{align-items:center}
.review-changes-control{display:inline-flex;align-items:center;max-width:100%;min-width:0}
.review-changes-control>a{display:block;min-width:0;text-align:center}
.review-actions .review-changes-control>a{padding-top:6px;padding-bottom:6px}
.review-comparison-date{display:block;font:12px/1.4 Arial,sans-serif;color:#718189}
.review-changes-control.is-active{gap:5px}
.review-actions .review-changes-control.is-active>a{background:#dfedf1;border-color:#bfd5de}
.review-filter-control{position:relative;display:flex;align-items:center;flex-shrink:0}
.review-filter-control>svg{position:absolute;right:9px;color:#738489;pointer-events:none}
.review-changes-control .review-change-select{appearance:none;-webkit-appearance:none;display:block;min-width:58px;max-width:155px;box-sizing:border-box;font:12px/1.5 Arial,sans-serif;color:#60767d;background:transparent;border:0;border-radius:12px;box-shadow:none;margin:0;padding:6px 27px 6px 10px;cursor:pointer}
.review-changes-control .review-change-select:hover{background:#edf2f3}
.review-change-select:focus-visible{outline:2px solid #547e91;outline-offset:-3px}
.review-location:focus-visible{outline:2px solid #547e91;outline-offset:3px}
.review-results{max-width:900px;margin:auto}.review-results-heading{font:16px/1.5 Arial,sans-serif;color:#536b73;margin:0 0 25px}
.review-result{padding:26px 30px;border:1px solid #dce5e7;border-radius:24px;background:white}
.full-workbook .review-location{display:inline-block;font:13px/1.5 Arial,sans-serif;color:#446879;margin:0 0 10px;text-underline-offset:3px}
.full-workbook .review-checkpoint-link{font:15px/1.7 Arial,sans-serif;color:#526970}
@media(max-width:550px){.review-result{padding:20px}}
@media print{.review-result{padding:0;border:0;border-radius:0}.review-location{color:#333!important}.review-result{break-inside:auto}.review-results{max-width:none}}
.review-editorial-exclusion{border-left:2px solid #dbb5a8;padding:4px 18px;margin:20px 0}.review-editorial-exclusion p:not(.review-edit-note){font-size:16px}

.full-workbook-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px 24px;margin-bottom:22px}
.full-workbook-title-row h1{margin:0}
.review-print-button{display:inline-flex;align-items:center;gap:7px;font:13px/1.5 Arial,sans-serif;color:#536b73;background:none;border:0;padding:6px 0;cursor:pointer;text-underline-offset:3px}
.review-print-button:hover{text-decoration:underline}
.review-version-control{position:relative;font:14px/1.5 Arial,sans-serif;color:#3d565e}
.review-version-control>summary{list-style:none;padding:9px 15px;border:1px solid #dce3e3;border-radius:20px;background:white;cursor:pointer}
.review-version-control>summary::-webkit-details-marker{display:none}
.review-version-control>summary::after{content:'⌄';margin-left:14px}
.review-version-control.is-active>summary{background:#dfedf1;border-color:#c0d5de}
.review-version-control[open]>summary::after{content:'⌃'}
.review-version-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:5;min-width:180px;padding:6px;background:white;border:1px solid #dce3e3;border-radius:16px;box-shadow:0 8px 24px #253d4814}
.review-actions .review-version-menu a{display:block;border:0;border-radius:10px;text-decoration:none}
.review-version-menu a:hover{background:#edf5f7}
.review-version-control summary:focus-visible,.review-print-button:focus-visible{outline:2px solid #547e91;outline-offset:3px}
.review-summary{max-width:900px;margin-top:24px;font:14px/1.65 Arial,sans-serif;color:#616b6d}
.review-summary h2{font:600 15px/1.5 Arial,sans-serif;color:#354b50;margin:0 0 8px}
.review-summary ul{list-style:disc;margin:0;padding-left:20px}.review-summary li{margin:5px 0}

.full-workbook-toc .manual-toc-entry{border-top:2px solid #c8dce2;padding-top:20px}
.full-instructor-manual{border-top:3px solid #c8dce2;padding-top:40px}
.full-instructor-manual>.full-module-heading h2{font-size:clamp(34px,4.5vw,46px)}
@media print{.full-instructor-manual{break-before:page}.full-instructor-manual>.full-module-heading h2{font-size:28pt}}

.review-print-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;font:13px/1.5 Arial,sans-serif}
.review-print-tools>a{color:#536b73;text-underline-offset:3px}.review-print-tools p{flex-basis:100%;max-width:440px;color:#616b6d;margin:0}
.review-edition-label{display:none}
@media print{.full-workbook .review-edition-label{display:block}}
@media screen{
 body:has(.workbook-print-preview){background:#edf0f1}
 body:has(.workbook-print-preview) :is(.masthead,.site-footer,.teacher-panel-nav,.teacher-observation-toolbar,.teacher-notebook-toolbar,.skip){display:none!important}
 .workbook-print-preview{box-sizing:border-box;width:min(100%,210mm)!important;max-width:210mm!important;background:white;margin:24px auto!important;padding:18mm 17mm!important;box-shadow:0 2px 20px #253d4814}
 .workbook-print-preview .review-actions{display:none}.workbook-print-preview .review-edition-label{display:block}
 .workbook-print-preview .full-workbook-layout{display:block}.workbook-print-preview .full-workbook-toc{position:static;max-height:none;overflow:visible;border:0;padding:0;margin-bottom:40px}
 .workbook-print-preview .full-workbook-toc>ol{columns:2;column-gap:24px}.workbook-print-preview .full-workbook-toc li{break-inside:avoid}
 .workbook-print-preview .full-workbook-body{max-width:none}.workbook-print-preview .full-module-heading h2{font-size:25pt}
 .workbook-print-preview .full-reading h3{font-size:18pt}.workbook-print-preview .full-reading h4{font-size:12pt}
 .workbook-print-preview .full-reading p{font-size:11pt;line-height:1.55}.workbook-print-preview .review-table p{font-size:9pt}
 .workbook-print-preview .review-result{padding:0;border:0;border-radius:0}.workbook-print-preview .full-workbook-title-row{align-items:start}
}
@media print{.full-reading .review-table-caption{break-after:avoid;page-break-after:avoid}}

.full-workbook-title{flex:1 1 440px;min-width:0}
.full-workbook-title-row .full-workbook-title h1{font-size:clamp(28px,3.4vw,44px)}
.workbook-complete{font-size:.65em;color:#637077;white-space:nowrap}
.full-workbook-title .workbook-updated{font:12px/1.5 Arial,sans-serif;color:#6b7779;margin:8px 0 0}
@media print{.full-workbook-title .workbook-updated{font-size:9pt;color:#555}}
.full-workbook .module-example-dates{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font:14px/1.6 Arial,sans-serif;color:#617078;margin:14px 0 0}
.module-example-dates .example-date-tag{font-size:12px;font-weight:400;line-height:1.2;padding:2px 6px;border-radius:5px;background:#eeeeec;color:#747471;print-color-adjust:exact;-webkit-print-color-adjust:exact}

@media screen{
 .full-workbook-toc a{display:block;border-radius:5px;padding:3px 6px;margin-left:-6px}
 .full-workbook-toc a[aria-current="location"]{background:#dfedf2;color:#244c5a;box-shadow:inset 3px 0 #81aab8;text-decoration:none}
 .full-workbook-toc .is-current-module>a{color:#244c5a}
}

.full-workbook .review-chip-moved{color:#8b3f36;background:#f9e9e5}
.full-workbook .review-chip-added{color:#234c2f;background:#e5f1e7}

.review-print-options{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px}
.review-print-edits{font:11px/1.5 Arial,sans-serif;color:#778184;background:none;border:0;padding:0 0 2px 23px;cursor:pointer;text-decoration:none;text-underline-offset:3px}
.review-print-edits:hover{text-decoration:underline}
.review-print-edits:focus-visible{outline:2px solid #547e91;outline-offset:3px}

.readonly-label{font:12px/1.5 Arial,sans-serif;color:#6b7779}.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}
