:root{font-family:system-ui,sans-serif;color:#172423;background:#f4f5f0;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{background:#142422;color:#fff;padding:18px max(20px,calc((100vw - 960px)/2));display:flex;justify-content:space-between;gap:20px;font-size:13px}header a{color:#c4f272;font-weight:800;text-decoration:none;letter-spacing:2px}main{max-width:960px;padding:30px 20px 80px;margin:auto}h1{font-size:clamp(30px,6vw,50px);line-height:1.08;margin:12px 0 18px;letter-spacing:-1px}h2{font-size:22px;margin:12px 0}h3{font-size:17px}.sub{max-width:650px;color:#4b5b57}.note{font-size:13px;color:#54645e}.gcard,.plan-day,.setup{background:white;border:1px solid #dde3d9;border-radius:16px;padding:20px;margin:16px 0}.frow,.btnrow,.opts{display:flex;gap:10px;flex-wrap:wrap}.fld{flex:1;min-width:130px;margin:9px 0}label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid #bbc7bb;border-radius:9px;padding:12px;font:inherit;min-width:0;background:white;color:#172423}input[type=checkbox]{width:auto;min-height:20px;min-width:20px;vertical-align:middle}button,.btn{font:inherit;padding:11px 16px;border:1px solid #becaba;border-radius:10px;background:white;cursor:pointer;color:#172423;min-height:44px;margin:4px 0}button:hover{border-color:#405e3f}.selected,.primary{background:#1e4536;color:white;border-color:#1e4536}.sport.selected{background:#c4f272;color:#172423;border-color:#a1c75b}.ghost{background:transparent}details{margin:18px 0}summary{cursor:pointer;font-weight:600;padding:8px 0}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{font-size:13px;padding:8px 4px}#status:not(:empty){background:#e7efde;padding:14px;border-radius:10px;margin:16px 0}.calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calendar-grid .plan-day{margin:0}.kicker{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#58635a}.meta{font-size:13px;color:#58635a}.checkline{font-weight:400;margin:16px 0}.foot{font-size:12px;color:#627061;margin-top:30px}.danger{color:#843c2e}a{color:#24513a}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #78924f;outline-offset:3px}@media(max-width:600px){header{padding:15px 20px;flex-direction:column;gap:3px}main{padding-top:22px}.calendar-grid{grid-template-columns:1fr}.days{grid-template-columns:repeat(4,1fr)}.setup,.gcard,.plan-day{padding:16px}h1{max-width:300px}}@media print{header,button,details,.setup,#status{display:none!important}main{max-width:none;padding:0}.plan-day{break-inside:avoid}}

[hidden]{display:none!important}.step-label{text-transform:uppercase;letter-spacing:1px;font-size:12px;color:#5b6d53}#form-error:not(:empty){border-left:4px solid #93442e;background:#fff1ea;padding:12px;margin:14px 0;color:#743622}input[aria-invalid=true]{border:2px solid #93442e}
body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}button{max-width:100%;overflow-wrap:anywhere}.opts{gap:10px}select{min-height:48px}[role=status]:not(:empty){background:#e8efde;padding:12px;border-radius:10px}a[target=_blank]{overflow-wrap:anywhere}
