#root{min-height:100vh}:root{--ink:#17252b;--muted:#58676c;--paper:#f8f3e8;--deep:#eee4d2;--blue:#b9d9ec;--blue-dark:#195875;--green:#b9d8ae;--green-dark:#356443;--yellow:#f4d75f;--orange:#b94d25;--line:#cfc4b2;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:ui-rounded,Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--paper);min-width:320px;min-height:100%}body{margin:0;overflow-x:hidden}button,time{font:inherit}button{color:inherit}button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}main{min-height:100svh;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background-color:var(--paper);background-image:radial-gradient(#cfc5b3 .65px,#0000 .65px);background-size:9px 9px}.mast{border-bottom:2px solid;justify-content:space-between;align-items:end;gap:12px;padding-bottom:10px;display:flex}.eyebrow{letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:.62rem;font-weight:800}.brand{letter-spacing:-.04em;margin:0;font:800 1.75rem/.95 Georgia,serif}.clock{color:#fff;background:var(--ink);box-shadow:3px 3px var(--yellow);flex:none;padding:7px 9px}.clock small,.clock b{display:block}.clock small{letter-spacing:.05em;text-transform:uppercase;font-size:.55rem}.clock b{font-variant-numeric:tabular-nums;font-size:.82rem}.view-tabs{z-index:20;top:env(safe-area-inset-top);background:color-mix(in srgb,var(--paper) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:repeat(3,1fr);gap:5px;margin:0 -2px 14px;padding:8px 2px;display:grid;position:sticky}.view-tabs button,.filters button{background:var(--paper);cursor:pointer;border:1.5px solid;border-radius:4px;min-height:44px;font-weight:800}.view-tabs button[aria-pressed=true],.filters button[aria-pressed=true]{color:#fff;background:var(--ink)}.view-content{min-width:0}.view-heading,.view-kicker{margin:18px 0 12px}.view-heading p,.view-kicker{color:var(--blue-dark);letter-spacing:.11em;text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:900}.view-heading h1{letter-spacing:-.05em;margin:0;font:800 2.6rem/.92 Georgia,serif}.curriculum-detail{box-shadow:5px 5px var(--ink);background:#fffdf8;border:2px solid;padding:14px}.detail-topline{justify-content:space-between;align-items:start;gap:8px;display:flex}.detail-topline>time{font-size:.76rem;font-weight:900}.badges{flex-wrap:wrap;justify-content:end;gap:4px;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid;align-items:center;min-height:23px;padding:3px 7px;font-size:.6rem;font-weight:900;display:inline-flex}.badge-regular{background:var(--blue)}.badge-review{background:var(--yellow)}.badge-seasonal{background:#e8c7a9}.badge-special{color:#fff;background:var(--orange)}.badge-no-school{color:#fff;background:var(--ink)}.badge-combined{background:var(--green)}.series{color:var(--blue-dark);letter-spacing:.07em;text-transform:uppercase;margin:15px 0 3px;font-size:.7rem;font-weight:900}.curriculum-detail h1,.curriculum-detail h2{overflow-wrap:anywhere;letter-spacing:-.035em;margin:0;font:800 clamp(2rem,10vw,3rem)/.96 Georgia,serif}.passage{margin:10px 0 0;font-size:.84rem}.passage b{font-size:1rem;display:block}.catechism{border-left:5px solid var(--yellow);background:#fff7c9;margin:16px 0 0}.catechism-toggle{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;min-height:44px;padding:12px;display:block}.catechism-toggle>span{display:block}.catechism-toggle:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.catechism-number{letter-spacing:.09em;text-transform:uppercase;font-size:.67rem;font-weight:900}.question{margin-top:6px;font-weight:900;line-height:1.3}.answer{margin-top:5px;font-size:.84rem;line-height:1.45}.scripture-cue{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.05em;margin-top:10px;font-size:.72rem;font-weight:900}.scripture-panel{background:#fffbed;border-top:1.5px dashed #b8a548;padding:12px}.scripture-panel p{margin:0}.scripture-label{letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:900}.scripture-reference{font:800 1.05rem Georgia,serif;margin-top:4px!important}.scripture-text{font-size:.86rem;line-height:1.55;margin-top:7px!important}.lesson-note,.secondary-detail{border-top:1px dashed var(--line);margin:12px 0 0;padding-top:10px;font-size:.78rem;line-height:1.4}.secondary-detail{color:var(--muted)}.closure{border-color:var(--orange);box-shadow:5px 5px var(--orange)}.closed-message{background:var(--ink);color:#fff;text-align:center;margin:14px 0 0;padding:12px;font-weight:900}.day-flow{margin-top:28px}.flow-heading p,.flow-heading h2{margin:0}.flow-heading p{letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:900}.flow-heading h2{font:800 2rem Georgia,serif}.now{box-shadow:4px 4px var(--ink);background:#fffdf8;border:2px solid;margin:12px 0}.now-label{background:var(--yellow);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;font-size:.62rem;font-weight:900;display:inline-block}.now>div{padding:11px 12px}.now h3,.now p{margin:0}.now h3{font:800 1.3rem Georgia,serif}.now p{color:var(--muted);margin-top:3px;font-size:.76rem}.now time{margin-top:7px;font-size:.86rem;font-weight:900;display:block}.now aside{border-top:1px dashed var(--line);padding:8px 12px;font-size:.75rem}.filters{z-index:15;background:color-mix(in srgb,var(--paper) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:repeat(3,1fr);gap:5px;margin:0 -2px 12px;padding:6px 2px;display:grid;position:sticky;top:60px}.filters button{min-width:0;padding:5px 2px;font-size:clamp(.68rem,3.4vw,.8rem)}.layout{grid-template-columns:25px minmax(0,1fr);gap:8px;display:grid}.ribbon{color:#fff;background:var(--ink);flex-direction:column;align-items:center;padding:8px 2px;font-size:.58rem;display:flex}.ribbon i{background:#ffffff80;flex:1;width:1px;min-height:18px;margin:7px 0}.ribbon b{writing-mode:vertical-rl;letter-spacing:.18em;font-size:.6rem}.services{gap:16px;min-width:0;display:grid}.service{background:#fffdf8;border:1.5px solid;min-width:0}.service>header{justify-content:space-between;align-items:center;min-height:58px;padding:8px 10px;display:flex}.second>header{background:var(--blue)}.third>header{background:var(--green)}.service header small,.service header h3{margin:0;display:block}.service header small{font-size:.66rem;font-weight:900}.service header h3{font:800 1.4rem Georgia,serif}.service header>b{display:none}.service ol{margin:0;padding:5px 9px;list-style:none}.service li{border-bottom:1px dashed var(--line);padding:10px 3px 10px 15px;position:relative}.service li:before{border:2px solid var(--blue-dark);content:"";background:#fffdf8;border-radius:50%;width:7px;height:7px;position:absolute;top:16px;left:1px}.third li:before{border-color:var(--green-dark)}.service li:not(:last-child):after{background:var(--line);content:"";width:1px;position:absolute;top:26px;bottom:-6px;left:5px}.service li:last-child{border:0}.service li time{color:var(--muted);margin-bottom:3px;font-size:.72rem;font-weight:900;display:block}.service li h4,.service li p{overflow-wrap:anywhere;margin:0}.service li h4{font-size:.9rem;line-height:1.2}.service li p{color:var(--muted);margin-top:3px;font-size:.74rem;line-height:1.35}.service li.yellow{background:#fff3b0;margin:2px -4px;padding-right:6px}.service li.active{outline-offset:-1px;background:#fff;outline:3px solid}.service em{color:#fff;background:var(--orange);margin-top:5px;padding:3px 6px;font-size:.6rem;font-style:normal;font-weight:900;display:inline-block}.service li.completed{color:#687276;background:color-mix(in srgb,var(--paper) 72%,#d8ded8)}.service li.completed:before{border-color:var(--green-dark);background:var(--green-dark)}.service li.completed h4{text-decoration:line-through;text-decoration-thickness:1.5px}.complete-status{color:var(--green-dark);text-transform:uppercase;align-items:center;gap:4px;margin-top:5px;font-size:.61rem;font-weight:900;display:inline-flex}.complete-status>span{color:#fff;background:var(--green-dark);border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.service>footer{border-top:1.5px solid;padding:8px 10px;font-size:.69rem;font-weight:800}.home{border-top:2px solid;margin-top:18px;padding-top:14px}.home h3{margin:0 0 8px;font:800 1.2rem Georgia,serif}.home>div{gap:6px;display:grid}.home p{background:var(--deep);margin:0;padding:9px 10px}.home b,.home span{display:block}.home b{font-size:.78rem}.home span{margin-top:2px;font-size:.72rem}.countdown-value{color:var(--blue-dark);font-variant-numeric:tabular-nums;margin-top:6px;font-size:.9rem;display:block}.grade-filter{border:0;min-width:0;margin:0 0 14px;padding:0}.grade-filter legend{letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900}.grade-filter>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.grade-filter button{cursor:pointer;background:#fffdf8;border:1.5px solid;min-width:0;min-height:44px;padding:4px;font-size:clamp(.65rem,3vw,.76rem);font-weight:800}.grade-filter button[aria-pressed=true]{color:#fff;background:var(--blue-dark)}.block-duration{background:var(--deep);margin-left:6px;padding:2px 4px;font-size:.59rem;font-weight:800;display:inline-block}.service .grade-moves{gap:4px;margin:7px 0 0;padding:0;list-style:none;display:grid}.service .grade-moves li{background:#fff6bd;border:1px solid #bcaa49;justify-content:space-between;align-items:center;gap:6px;margin:0;padding:6px;display:flex}.service .grade-moves li:before,.service .grade-moves li:after{display:none}.service .grade-moves b,.service .grade-moves span{font-size:.65rem}.service .grade-moves span{text-align:right}.selected-detail{margin-bottom:18px}.close-detail,.show-all{background:var(--ink);color:#fff;cursor:pointer;border:1.5px solid;min-height:44px;font-weight:800}.close-detail{width:100%;margin-bottom:7px}.curriculum-list,.year-map ol{margin:0;padding:0;list-style:none}.curriculum-list{gap:7px;display:grid}.curriculum-list>li{min-width:0}.curriculum-list li>button{text-align:left;cursor:pointer;background:#fffdf8;border:1.5px solid;grid-template-columns:64px minmax(0,1fr) auto 12px;align-items:center;width:100%;min-height:68px;padding:8px;display:grid}.curriculum-list li.open>button{border-bottom-color:var(--line);background:#fffaf0}.curriculum-list time span,.curriculum-list time small,.list-copy b,.list-copy small{display:block}.curriculum-list time span{font-weight:900}.curriculum-list time small,.list-copy small{color:var(--muted);font-size:.68rem}.list-copy{min-width:0}.list-copy b{overflow-wrap:anywhere;font-size:.82rem;line-height:1.2}.list-copy small{margin-top:3px}.curriculum-list>li>button .badge{justify-self:end}.arrow{font-size:1.4rem;transition:transform .2s}.curriculum-list li.open .arrow{transform:rotate(90deg)}.accordion-panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .22s,opacity .18s,transform .22s;display:grid;transform:translateY(-4px)}.accordion-panel.open{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.accordion-panel.closing{opacity:0;grid-template-rows:0fr;transform:translateY(-4px)}.accordion-inner{min-height:0;overflow:hidden}.accordion-inner .curriculum-detail{box-shadow:none;border-top:0}.show-all{width:100%;margin-top:10px}.year-map{gap:22px;display:grid}.year-map section>h2{z-index:5;background:var(--blue);border-bottom:2px solid;margin:0;padding:8px 10px;font:800 1.35rem Georgia,serif;position:sticky;top:60px}.year-map li button{border:0;border-bottom:1px dashed var(--line);text-align:left;cursor:pointer;background:#fffdf8;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:58px;padding:7px 8px;display:grid}.year-map time{font-weight:900}.year-map button>span:not(.badge) b,.year-map button>span:not(.badge) small{display:block}.year-map button>span:not(.badge) b{overflow-wrap:anywhere;font-size:.78rem;line-height:1.2}.year-map button>span:not(.badge) small{color:var(--muted);margin-top:2px;font-size:.65rem}@media (width>=650px){main{padding:28px}.brand{font-size:2.3rem}.clock{padding:9px 13px}.clock b{font-size:1rem}.view-tabs{grid-template-columns:repeat(3,150px);justify-content:center}.view-content{max-width:900px;margin:auto}.curriculum-detail{padding:22px}.curriculum-detail h1,.curriculum-detail h2{font-size:3.2rem}.catechism-toggle,.scripture-panel{padding:16px}.now>div{justify-content:space-between;align-items:center;gap:18px;display:flex}.now time{flex:none;margin:0}.layout{grid-template-columns:48px minmax(0,1fr);gap:16px}.ribbon{padding-inline:7px}.service header>b{letter-spacing:.1em;font-size:.6rem;display:block}.service li{grid-template-columns:135px minmax(0,1fr) auto;align-items:center;gap:10px;padding-left:20px;display:grid}.service li:before{left:3px}.service li:not(:last-child):after{left:7px}.service li time,.complete-status,.service em{margin:0}.home>div{grid-template-columns:repeat(3,1fr)}.curriculum-list li>button{grid-template-columns:100px minmax(0,1fr) auto 20px;padding:11px 14px}.list-copy b{font-size:.92rem}.year-map{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.year-map section>h2{top:62px}}@media (width>=980px){main{max-width:1120px;margin:auto;padding:40px 54px}.view-content{max-width:960px}.curriculum-detail{padding:26px}.year-map{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.test-mode-shell{max-width:960px;margin:12px auto 0}.test-mode-banner{border:2px solid var(--orange);box-shadow:4px 4px var(--orange);background:#fff0d8;gap:10px;padding:11px 12px;display:grid}.test-mode-banner>div:first-child{min-width:0}.test-mode-banner strong,.test-mode-banner span{display:block}.test-mode-banner strong{letter-spacing:.12em;font-size:.78rem}.test-mode-banner span{margin-top:3px;font-size:.76rem;font-weight:800;line-height:1.35}.test-mode-actions,.test-mode-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.test-mode-actions button,.test-mode-form-actions button{border:1.5px solid var(--ink);cursor:pointer;background:#fffdf8;min-height:44px;padding:7px;font-weight:900}.test-mode-actions button:last-child,.test-mode-form-actions button:first-child{background:var(--ink);color:#fff}.test-mode-panel{border:2px solid var(--ink);box-shadow:4px 4px var(--ink);background:#fffdf8;gap:12px;margin-top:8px;padding:14px;display:grid}.test-mode-panel h2,.test-mode-panel p{margin:0}.test-mode-panel h2{font:800 1.35rem Georgia,serif}.test-mode-panel p{color:var(--muted);margin-top:3px;font-size:.75rem}.test-mode-panel label{letter-spacing:.06em;text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900;display:grid}.test-mode-panel input{border:1.5px solid var(--ink);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:0;padding:7px 9px;font:800 1rem system-ui}.test-mode-banner:focus-visible{outline:3px solid var(--blue-dark);outline-offset:3px}@media (width>=650px){.test-mode-shell{margin-top:16px}.test-mode-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center}.test-mode-actions{grid-template-columns:auto auto}.test-mode-panel{grid-template-columns:minmax(0,1fr) 180px 150px auto;align-items:end}.test-mode-form-actions{grid-template-columns:auto}.test-mode-form-actions button{padding-inline:14px}}.test-mode-panel .test-mode-error{border-left:5px solid var(--orange);color:var(--ink);background:#fff0d8;padding:9px 10px;font-size:.76rem;font-weight:800;line-height:1.4}@media (width>=650px){.test-mode-error{grid-column:2/-1}}.layer-label{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.7rem;font-weight:900}.day-flow>.filters{margin-top:0}.day-flow>.now{margin-top:14px}.flow-heading{margin-top:22px}.lesson-resources{border-top:3px solid var(--ink);margin-top:28px;padding-top:16px}.live-curriculum-summary{border:2px solid var(--ink);box-shadow:4px 4px var(--blue-dark);background:#fffdf8}.live-curriculum-summary>button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:68px;padding:11px;display:grid}.live-curriculum-summary>button>span:first-child>small,.live-curriculum-summary>button>span:first-child>strong,.live-curriculum-summary>button>span:first-child>span{display:block}.live-curriculum-summary small{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:900}.live-curriculum-summary strong{overflow-wrap:anywhere;margin-top:3px;font:800 1.25rem/1.05 Georgia,serif}.live-curriculum-summary>button>span:first-child>span{color:var(--muted);margin-top:4px;font-size:.72rem;font-weight:800}.summary-cue{color:var(--blue-dark);text-transform:uppercase;justify-items:center;gap:3px;font-size:.62rem;font-weight:900;display:grid}.summary-cue i{border:1.5px solid var(--ink);border-radius:50%;place-items:center;width:28px;height:28px;font-size:1rem;font-style:normal;display:grid}.live-curriculum-detail{border-top:1.5px dashed var(--line);padding:0 10px 10px}.live-curriculum-detail .curriculum-detail{box-shadow:none;margin-top:10px}@media (width>=650px){.grade-filter>div{grid-template-columns:repeat(4,minmax(0,1fr))}.live-curriculum-summary>button{padding:14px 18px}.live-curriculum-detail{padding:0 16px 16px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
