:root{color-scheme:light;--ink:#233342;--petrol:#0b2f61;--petrol-dark:#082449;--cream:#f4f1e8;--paper:#fffdf8;--muted:#617587;--line:#d6e0e7;--sage:#dceaf0;--accent:#0472b2;--focus:#0472b2;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--petrol);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:#8f4e36}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;z-index:5;top:-100px;left:16px;background:white;padding:12px}.skip-link:focus{top:12px}.site-header{background:var(--petrol);color:#f7f4ea}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;letter-spacing:.015em}.brand strong{font-weight:650}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #9fb9ad;border-radius:50%;font:18px var(--serif);color:#dce8df}.site-header nav,.site-footer nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:#e4ece5;text-decoration:none;font-size:.91rem}.site-header nav a:hover,.site-footer a:hover{color:#fff}.page-content{min-height:calc(100vh - 160px);padding-block:38px 100px}.hero{padding:85px 0 102px;max-width:760px}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:700;color:#617587;margin:0 0 16px}.hero h1,h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.025em}.hero h1{font-size:clamp(3.3rem,8vw,6rem);margin:0 0 22px;color:var(--petrol);line-height:1.02}.hero h1 em{font-weight:400;color:var(--accent)}.lead{font-size:1.22rem;line-height:1.6;max-width:690px;color:#4c605c;margin:0 0 25px}.text-link{font-size:.95rem;font-weight:650;text-decoration:none;border-bottom:1px solid #91a69c;padding-bottom:3px}.catalog-section{border-top:1px solid #cdd6ce;padding-top:32px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-heading h2{font-size:2.25rem;margin:0;color:var(--petrol)}.section-heading .eyebrow{margin-bottom:7px}.count{font-size:.86rem;color:var(--muted);padding-bottom:5px}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px}.study-card{background:var(--paper);border:1px solid #e2e4dc;padding:25px 27px 21px;min-height:265px;display:flex;flex-direction:column}.card-meta,.intro-meta{display:flex;gap:9px;flex-wrap:wrap}.card-meta span,.intro-meta span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#4f6b64;background:#e8eee8;padding:4px 9px}.study-card h3{font-size:1.8rem;line-height:1.17;margin:19px 0 9px}.study-card h3 a{text-decoration:none}.study-card p{margin:0;color:#55645f}.card-foot{margin-top:auto;padding-top:19px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.84rem}.arrow-link{font-size:1.25rem;text-decoration:none;color:var(--petrol);padding:4px 7px}.quiet-note{margin-top:65px;border-top:1px solid #cdd6ce;padding:28px 0;display:flex;gap:22px;max-width:700px}.quiet-note p{margin:0;font-family:var(--serif);font-size:1.45rem;line-height:1.4}.note-index,.module-number{font:1rem var(--serif);color:#a45e40}.empty-state,.callout{background:#e8eee8;padding:28px;margin:26px 0}.empty-state h2,.callout h2{font:1.5rem var(--serif);margin:0 0 9px}.empty-state p,.callout p{margin:0 0 16px}.study-intro,.private-page,.module-page,.attempt-page{max-width:800px;margin:24px auto}.back-link{display:inline-block;color:#617587;text-decoration:none;font-size:.9rem;margin:0 0 30px}.intro-meta{margin-bottom:18px}.study-intro h1,.private-page h1,.module-page h1,.attempt-page h1,.policy-page h1,.not-found h1{font-size:clamp(2.8rem,7vw,4.65rem);color:var(--petrol);margin:0 0 16px}.study-facts{display:flex;flex-wrap:wrap;gap:20px;padding:16px 0 30px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.88rem}.prose{font-size:1.05rem;line-height:1.8}.prose p{margin:0 0 1.2em}.prose h2,.prose h3{color:var(--petrol)}.objectives{margin-top:50px}.objectives h2,.content-block h2,.sources h2,.history h2{font:2rem var(--serif);color:var(--petrol);margin:0 0 12px}.objectives>p{color:var(--muted)}.module-list{list-style:none;padding:0;margin:25px 0}.module-list>li,.module-row{display:grid;grid-template-columns:42px 1fr;gap:10px;border-top:1px solid var(--line);padding:18px 3px}.module-list h3{font-size:1.35rem;margin:0 0 4px}.module-list p{margin:0;color:#617587;font-size:.94rem}.enroll-panel,.attempt-start{background:var(--petrol);color:#edf1e8;padding:25px 28px;margin:40px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.enroll-panel h2,.attempt-start h2{font:1.6rem var(--serif);margin:0 0 5px}.enroll-panel p,.attempt-start p{margin:0;color:#cad9d1}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--petrol);background:var(--petrol);color:white;padding:11px 19px;font:600 .92rem var(--sans);text-decoration:none;cursor:pointer;min-height:46px;white-space:nowrap}.button:hover{background:var(--petrol-dark);color:white}.enroll-panel .button,.attempt-start .button{background:#f0ede3;color:var(--petrol);border-color:#f0ede3}.enroll-panel .button:hover,.attempt-start .button:hover{background:white}.button-secondary{background:transparent;color:var(--petrol)}.module-list-full{margin-top:38px}.module-row{grid-template-columns:42px 1fr auto;align-items:center;padding:22px 6px}.module-row h2{font:1.55rem var(--serif);margin:0 0 5px}.module-row h2 a{text-decoration:none}.module-page .lead{margin-bottom:45px}.content-block{padding:27px 0;border-top:1px solid var(--line)}.content-block>p{font-size:1.1rem}.content-block .prose{margin-top:25px}.practice-prompt{background:#e8eee8;padding:26px 28px;border:0;margin:28px 0}.practice-prompt h2{margin-bottom:10px}.criteria{color:#617587;font-size:.95rem}.sources{border-top:1px solid var(--line);padding:27px 0}.sources ul{padding-left:20px}.sources li{margin:.55em 0}.history{border-top:1px solid var(--line);padding-top:28px}.history ol{padding:0;list-style:none}.history li{border-top:1px solid var(--line);padding:14px 4px;display:flex;justify-content:space-between;gap:16px}.history li a{text-decoration:none;font-weight:600}.history li span{color:var(--muted);font-size:.85rem}.attempt-start{margin:35px 0}.attempt-form{display:grid;gap:9px}.attempt-form label{font-weight:650;margin-top:12px}.field-help{font-size:.88rem;color:var(--muted);margin:-8px 0 0}.attempt-form textarea{width:100%;resize:vertical;border:1px solid #aebbb3;background:var(--paper);padding:14px;color:var(--ink);font:1rem/1.6 var(--sans);border-radius:0}.attempt-form textarea:read-only{background:#ecebe4;color:#52615b}.form-actions{display:flex;gap:12px;margin-top:17px}.notice{background:#e2eee5;border-left:4px solid #527d68;padding:12px 16px;margin:0 0 24px}.callout-warning{background:#f7e9db;border-left:4px solid #a85834}.progress-list{display:grid;gap:14px;margin-top:34px}.progress-card{background:var(--paper);padding:22px 26px;border:1px solid #e2e4dc;display:flex;justify-content:space-between;align-items:center;gap:20px}.progress-card h2{font-size:1.7rem;margin:0}.progress-card h2 a{text-decoration:none}.progress-card p{margin:4px 0 0;color:var(--muted)}.progress-card .eyebrow{margin:0 0 4px}.private-page>.lead{margin-bottom:36px}.policy-page{max-width:760px;margin:28px auto}.policy-page h1{margin-bottom:14px}.policy-page h2{font-size:1.65rem;margin:1.7em 0 .45em}.site-footer{background:var(--petrol);color:#d9e2dc;padding:23px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.84rem}.site-footer a{color:#d9e2dc;text-decoration:none}.site-footer nav{gap:20px}.not-found{max-width:680px;margin:100px auto;text-align:center}.not-found p{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.shell{width:min(100% - 34px,1120px)}.header-inner{height:66px}.site-header nav{gap:16px}.page-content{padding-block:20px 68px}.hero{padding:65px 0 74px}.hero h1{font-size:clamp(3rem,13vw,4.7rem)}.lead{font-size:1.08rem}.section-heading{align-items:start;gap:10px}.section-heading h2{font-size:1.9rem}.count{white-space:nowrap;padding-top:25px}.study-card{padding:21px}.enroll-panel,.attempt-start{align-items:flex-start;flex-direction:column;padding:23px}.study-facts{gap:8px 18px}.history li{flex-direction:column;gap:4px}.form-actions{flex-direction:column}.form-actions .button{width:100%}.progress-card{align-items:flex-start;flex-direction:column}.module-row{grid-template-columns:32px 1fr auto}.footer-inner{align-items:flex-start;flex-direction:column}.site-footer nav{gap:18px}.quiet-note p{font-size:1.28rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* PHP frontend additions: accessible feedback, responsive saved-version review and Markdown tables. */
.logout-form{display:inline-flex;margin:0}.nav-button{border:0;background:transparent;color:#e4ece5;font:inherit;font-size:.91rem;cursor:pointer;padding:8px 0}.nav-button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.validation-summary:empty{display:none}.validation-summary,.field-error{color:#8f321f}.validation-summary ul{margin:0 0 10px;padding-left:20px}.field-error{font-size:.88rem}.current-version{margin-top:14px;padding-top:12px;border-top:1px solid #ddcbbb}.current-version summary{cursor:pointer;font-weight:650}.current-version h3{font:600 .95rem var(--sans);margin:15px 0 5px}.saved-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fffaf2;padding:10px 12px;max-height:260px;overflow:auto;border:1px solid #ead8c8}.table-scroll{max-width:100%;overflow-x:auto;margin:1.3em 0}.prose table{border-collapse:collapse;min-width:100%;font-size:.94rem;line-height:1.55}.prose th,.prose td{border:1px solid #cad4cc;padding:9px 12px;text-align:left;vertical-align:top}.prose th{background:#e6ece5;color:#294b44;font-weight:650}.prose td{background:rgba(255,253,248,.65)}.error-inline{color:#8f321f}

/* Final Moriah Learn artwork supplied by the owner, October 2026. */
.site-header{background:var(--paper);color:var(--petrol);border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;height:auto;gap:24px;padding-block:12px}
.brand{flex-shrink:0}.brand picture{display:block}.brand-logo{display:block;width:280px;max-width:100%;height:auto}
.site-header nav a,.site-header .nav-button{color:var(--petrol)}
.site-header nav a:hover,.site-header .nav-button:hover,a:hover{color:#0472b2}
.study-card:hover{border-color:#7190a8}
.practice-prompt,.note,.prose th{background:#e7eff4}
.prose th{color:var(--petrol)}
@media(max-width:640px){.header-inner{min-height:76px;gap:16px;padding-block:12px}.brand-logo{width:190px}.site-header nav{gap:12px}}
@media(max-width:380px){.brand-logo{width:160px}.site-header nav{gap:10px;font-size:.84rem}}
@media(max-width:480px){.header-inner:has(.logout-form){flex-wrap:wrap}.header-inner:has(.logout-form) nav{margin-left:auto}}

/* Same-origin handoff to Moriah ID; refresh and explicit actions work without JavaScript. */
.redirect-page{max-width:580px;margin:clamp(48px,10vh,110px) auto;padding:clamp(28px,6vw,54px);background:#fffdf8;border:1px solid #dce2dc;text-align:center;box-shadow:0 18px 54px rgba(11,47,97,.08)}
.redirect-symbol{width:76px;height:76px;margin:0 auto 26px;border-radius:20px;background:#0B2F61;display:grid;place-items:center}
.redirect-symbol img{width:64px;height:64px;object-fit:contain}
.redirect-page .eyebrow{margin-bottom:10px;color:#0472B2}
.redirect-page h1{margin:0 0 15px;color:#0B2F61;font:400 clamp(2.25rem,7vw,3.35rem)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.redirect-copy{max-width:420px;margin:0 auto;color:#4c605c;line-height:1.65}
.redirect-progress{height:4px;overflow:hidden;margin:30px 0 12px;background:#dceaf0}
.redirect-progress span{display:block;width:32%;height:100%;background:#0472B2;animation:redirect-progress 4s ease-out forwards}
.redirect-hint{margin:0 0 22px;color:#667680;font-size:.88rem}
.redirect-page .button{min-width:230px}
.redirect-back{display:block;width:max-content;margin:21px auto 0;color:#0B2F61;font-size:.92rem;text-underline-offset:4px}
@keyframes redirect-progress{to{width:100%}}
@media(prefers-reduced-motion:reduce){.redirect-progress span{animation:none;width:100%}}

/* Study navigation, completion and server-rendered search. */
.learning-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:44px;align-items:start}
.learning-content{min-width:0}.learning-content>.module-page,.learning-content>.attempt-page,.learning-content>.private-page{max-width:100%;margin:26px 0}
.learning-content h1{font-size:clamp(2.5rem,5vw,3.8rem)}
.study-sidebar{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;background:var(--paper);border:1px solid var(--line);padding:22px 18px;font-size:.9rem;scrollbar-width:thin}
.study-sidebar .eyebrow{font-size:.68rem;margin:0 0 9px}.sidebar-title{display:block;font:1.35rem/1.25 var(--serif);text-decoration:none;color:var(--petrol)}
.study-completion{margin:22px 0}.study-completion label{display:flex;justify-content:space-between;gap:8px;font-size:.8rem}.study-completion strong{color:#0472b2}
.study-completion progress{width:100%;height:8px;border:0;margin-top:10px;accent-color:#0472b2;background:#dce6ee}.study-completion progress::-webkit-progress-bar{background:#dce6ee}.study-completion progress::-webkit-progress-value{background:#0472b2}.study-completion progress::-moz-progress-bar{background:#0472b2}.study-completion p,.progress-help{font-size:.77rem;line-height:1.55;color:var(--muted);margin:8px 0 0}
.study-sidebar details{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.study-sidebar summary{font-weight:650;color:var(--petrol);cursor:pointer;line-height:1.5}.study-sidebar ol{list-style:none;margin:9px 0 0;padding:0}.study-sidebar li a{display:flex;gap:9px;padding:9px 7px;color:var(--ink);line-height:1.4;text-decoration:none;border-left:3px solid transparent}.study-sidebar li a:hover{background:#edf3f7}.study-sidebar li a[aria-current=page]{background:#e6f0f6;border-left-color:#0472b2;color:#0b2f61;font-weight:650}.sidebar-module-number{color:#7190a8;font-size:.75rem;min-width:18px;padding-top:2px}.module-status{display:block;font-size:.7rem;color:var(--muted);font-weight:400;margin-top:4px}.module-status.is-complete{color:#236344}.study-sidebar .lesson-index a{font-size:.8rem}.outline-level-3{padding-left:10px}.progress-help{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
.search-form{margin:24px 0}.search-form label{display:block;font-size:.86rem;font-weight:650;margin-bottom:9px;color:var(--petrol)}.search-fields{display:flex;gap:8px}.search-fields input{min-width:0;flex:1;border:1px solid #aabccc;padding:11px 12px;background:var(--paper);font:1rem var(--sans);color:var(--ink);border-radius:0}.search-fields input:focus-visible{outline:2px solid #0472b2;outline-offset:2px}.sidebar-search{margin:18px 0}.sidebar-search .search-fields{flex-wrap:wrap}.sidebar-search input{width:100%;flex-basis:100%;font-size:.85rem}.sidebar-search .button{width:100%;min-height:38px;padding:7px 12px;font-size:.8rem}.catalog-search{max-width:680px}.search-result{padding:16px 0;border-top:1px solid var(--line)}.search-result h3{font:1.5rem var(--serif);margin:0 0 10px}.search-result p{line-height:1.65;margin:0;color:var(--muted)}.study-search-results{margin:30px 0;padding:24px;background:var(--paper);border:1px solid var(--line)}.study-search-results>h2{font:1.6rem var(--serif);color:var(--petrol);overflow-wrap:anywhere}.learning-content [id^=aula-secao-]{scroll-margin-top:25px}.learning-content .sources{overflow-wrap:anywhere}
@media(max-width:960px){.learning-layout{grid-template-columns:minmax(0,1fr);gap:22px}.study-sidebar{position:static;max-height:none;padding:18px}.sidebar-title{font-size:1.25rem}.study-sidebar .study-completion{margin:15px 0}.sidebar-search .search-fields{flex-wrap:nowrap}.sidebar-search input{width:auto;flex:1}.sidebar-search .button{width:auto}.learning-content>.module-page,.learning-content>.attempt-page,.learning-content>.private-page{margin:0}.learning-content h1{font-size:clamp(2.5rem,7vw,3.8rem)}}
@media(max-width:480px){.search-fields .button{padding-inline:14px}.study-search-results{padding:18px}.sidebar-search input{width:100px}}
