:root{font-family:'Avenir Next','Segoe UI',sans-serif;color:#26382d;background:#f7faf5;line-height:1.65;accent-color:#1b7d45}
*{box-sizing:border-box}
body{margin:0}
a{color:#14663b;text-underline-offset:.22em}
a:hover{color:#0b4448}
a:focus-visible{outline:3px solid #1b7d45;outline-offset:4px;border-radius:3px}
::selection{background:#b5ff73;color:#0b4448}
.shell{max-width:960px;margin:0 auto;padding:24px 30px 80px}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 22px;border-bottom:1px solid #dce8dc}
.brand{display:inline-flex;align-items:center;gap:12px;color:#0b4448;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.03em}
.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#0b4448;color:#b5ff73;font-size:29px;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:20px;font-weight:700;font-size:14px}
.notice{background:#eaf8e4;border:1px solid #c9e8bd;border-radius:12px;padding:13px 18px;margin:34px 0;color:#294c31;font-weight:700}
main{max-width:700px}
h1{font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-.035em;margin:44px 0 18px;color:#0b4448}
h2{font-size:23px;line-height:1.25;margin:42px 0 12px;color:#0b4448}
p,li{font-size:17px}
p{margin:0 0 17px}
ul{padding-left:24px}
li{margin:0 0 9px}
.lead{font-size:21px;color:#3f5948;line-height:1.5}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border-radius:12px;background:#1b7d45;color:#fff;text-decoration:none;font-weight:700;margin:14px 0}
.cta:hover{background:#0b4448;color:#fff}
.muted{color:#566b5b}
footer{border-top:1px solid #dce8dc;margin-top:70px;padding-top:24px;color:#566b5b;font-size:14px}
footer a{margin-right:20px}
@media(max-width:620px){.shell{padding:18px 20px 60px}.top{align-items:flex-start;flex-direction:column}.top nav{gap:16px}h1{margin-top:36px}.lead{font-size:19px}}
.auth-panel{margin:32px 0 22px;padding:28px;border:1px solid #dce8dc;border-radius:16px;background:#fff;max-width:520px}
.auth-panel h2{margin:0 0 22px;font-size:23px}
.auth-panel label{display:block;margin:0 0 8px;font-weight:700;color:#0b4448}
.auth-panel input{display:block;width:100%;min-height:52px;padding:11px 14px;margin:0 0 14px;border:1px solid #789788;border-radius:10px;font:inherit;background:#fff;color:#26382d}
.auth-panel input:focus-visible{outline:3px solid #1b7d45;outline-offset:2px}
.auth-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:12px 18px;border:0;border-radius:10px;background:#1b7d45;color:#fff;font:700 16px/1.3 'Avenir Next','Segoe UI',sans-serif;cursor:pointer}
.auth-button:hover{background:#0b4448}
.auth-button:disabled{opacity:.55;cursor:wait}
.google-button{display:flex;justify-content:center;min-height:44px}
.google-pending{color:#566b5b;text-align:center}
.secondary-button{background:#fff;border:1px solid #789788;color:#0b4448}
.secondary-button:hover{background:#eaf8e4;color:#0b4448}
.auth-divider{display:flex;align-items:center;gap:13px;margin:20px 0;color:#566b5b;font-size:14px}
.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:#dce8dc}
.text-button{min-height:48px;margin-top:10px;padding:8px 0;border:0;background:transparent;color:#14663b;font:700 15px 'Avenir Next','Segoe UI',sans-serif;text-decoration:underline;cursor:pointer}
.auth-status{min-height:28px;color:#294c31;font-weight:700}
.auth-status.error{color:#a3372a}
[hidden]{display:none!important}
@media(max-width:620px){.auth-panel{padding:22px 18px}}
