:root{font-family:Arial,Helvetica,sans-serif;color:#163d30;background:#f5f9f7;font-size:16px;--green:#0a5038;--line:#d8e7df;--muted:#506b5e}*{box-sizing:border-box}body{margin:0}header{background:var(--green);color:white;padding:22px max(24px,calc((100vw - 1040px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand strong{display:block;font-size:1.05rem}.brand span:not(.mark){display:block;font-size:.875rem;margin-top:5px;color:#d2e9df}.mark{font-weight:800;background:white;color:var(--green);border-radius:12px;width:44px;height:44px;display:grid;place-items:center}.course{font-size:.875rem;color:#e2f2e9}main{max-width:1040px;margin:34px auto;padding:0 24px}h1{font-size:clamp(2rem,5vw,2.8rem);margin:12px 0;letter-spacing:-1.2px;line-height:1.1}h2{line-height:1.2}p{line-height:1.6;color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:1.5px;font-weight:700;color:#356b51}.search-panel{background:white;border:1px solid var(--line);border-radius:20px;padding:30px 34px}.search-panel p{margin:0 0 24px}label{font-size:.875rem;font-weight:700;display:block;margin-bottom:8px}.search-row{display:flex;gap:12px}input{min-width:0;flex:1;padding:16px;border:1px solid #92b3a1;border-radius:10px;font:inherit;color:#143c2b;background:white}button{font:inherit;font-weight:700;border:0;border-radius:10px;background:var(--green);color:white;padding:15px 22px;cursor:pointer;min-height:48px}button:hover{background:#146b4c}button:focus-visible,input:focus-visible{outline:3px solid #68ae87;outline-offset:3px}.secondary{background:white;border:1px solid var(--line);color:var(--green);font-size:.875rem}.secondary:hover{background:#e7f3ec}.welcome{text-align:center;padding:55px 15px 35px}.welcome h2{font-size:1.4rem;margin:20px 0 8px}.welcome p{margin-top:0}.line-icon{display:inline-grid;place-items:center;width:54px;height:54px;border:1px solid #9ebfab;border-radius:50%;font-size:1.8rem;color:var(--green)}.legend{display:flex;justify-content:center;gap:25px;font-size:.875rem;margin-top:30px;color:var(--muted)}footer{text-align:center;border-top:1px solid var(--line);margin-top:35px;padding:22px 0;font-size:.8rem;line-height:1.7;color:var(--muted)}#results:empty{display:none}#results{margin-top:20px}.result-list{display:grid;gap:8px}.person{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;color:var(--green);background:#f1f8f4;border:1px solid var(--line);gap:12px}.person:hover{background:#dcefe4}.person small{font-weight:400;font-size:.8rem;display:block;margin-top:4px}.person .view{font-size:.875rem}.message{margin:0!important;padding:12px 0;font-size:.95rem}.record-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 20px;gap:16px}.record-heading h2{font-size:2rem;margin:8px 0}.record-heading p{margin:0;font-size:.875rem}.overview{display:grid;grid-template-columns:1.1fr 1.6fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}.completion{padding:26px;background:#e7f3ec}.big{font-size:3.5rem;letter-spacing:-2px;line-height:1.1;font-weight:700;margin-top:16px}.completion p{font-size:.875rem;margin:8px 0 15px}.completion small{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:10px}progress{display:block;width:100%;height:9px;border:0;border-radius:99px;overflow:hidden;background:#c8dfd0}progress::-webkit-progress-bar{background:#c8dfd0}progress::-webkit-progress-value{background:#0d704b}progress::-moz-progress-bar{background:#0d704b}.stats{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:24px 12px}.stats>div{padding:10px 14px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{display:block;font-size:.875rem;color:var(--muted)}.stats strong{display:block;font-size:2.2rem;margin:15px 0}.stats small{font-size:.75rem;line-height:1.5;display:block;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 16px}.section-heading h2{font-size:1.25rem;margin:0}.section-heading span{font-size:.875rem;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.week{padding:18px 12px;background:white;border:1px solid var(--line);color:var(--green);text-align:left;min-height:120px}.week:hover{background:#eaf4ee}.week.complete{background:#def0e5;border-color:#aacfb9}.week[aria-pressed=true]{outline:2px solid var(--green);outline-offset:1px}.week .date{display:block;font-size:.8rem;font-weight:400;margin-top:7px;color:var(--muted)}.week .state{display:block;font-size:.8rem;margin-top:15px;line-height:1.3}.detail{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:white;padding:26px}.detail-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.detail h3{font-size:1.3rem;margin:8px 0;line-height:1.4}.detail .date{font-size:.875rem;color:var(--muted);white-space:nowrap}.checks{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0}.check span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:8px}.check strong{font-size:1rem}.verse{background:#f3f8f5;border-left:3px solid #3c8a5e;padding:18px 20px}.verse p{color:#214837;margin:10px 0 0}.footnote{font-size:.875rem;color:var(--muted);margin:20px 0;text-align:center}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px 20px}.course{display:none}main{margin:20px auto;padding:0 16px}.search-panel{padding:24px 20px}.search-row{flex-direction:column}.legend{flex-direction:column;gap:12px}.overview{grid-template-columns:1fr}.stats{padding:18px 8px}.stats>div{padding:7px 10px}.stats strong{font-size:1.8rem}.record-heading{align-items:flex-start}.record-heading h2{font-size:1.6rem}.record-heading .secondary{max-width:130px;padding:10px;font-size:.8rem}.week-grid{grid-template-columns:repeat(2,1fr)}.week{min-height:108px}.section-heading{display:block}.section-heading span{display:block;margin-top:8px}.detail{padding:20px}.detail-top{display:block}.detail .date{display:block;margin-top:12px}.welcome{padding:35px 5px 15px}.person{padding:14px}.person .view{font-size:.8rem}h1{letter-spacing:-.8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
