*{box-sizing:border-box}body{margin:0;background:#f6f5f1;color:#272b28;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}main{width:min(100% - 32px,560px);margin:64px auto 32px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;color:#6d776b;font-weight:700;margin:0 0 8px}h1{font-size:30px;letter-spacing:-1px;margin:0;font-weight:650}button,select,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #638274;outline-offset:3px}.today-button{border:1px solid #d7dcd3;border-radius:20px;padding:9px 15px;color:#425b4d;background:transparent;font-size:13px;font-weight:600}.card{background:#fff;border:1px solid #e2e5dd;border-radius:24px;padding:24px;box-shadow:0 12px 40px #253d2510}.navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:6px}.arrow{width:40px;height:40px;border:1px solid #e7e8e2;border-radius:50%;background:white;color:#425b4d;font-size:28px;line-height:1}.period{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}select,input{border:0;border-bottom:1px solid #e7e8e2;border-radius:0;background:white;color:#272b28;font-size:19px;font-weight:600;padding:5px 1px;min-width:0}input{width:79px}select{width:137px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{margin-bottom:12px;font-size:11px;font-weight:600;color:#8a9088;text-align:center}.calendar{min-height:286px;align-content:start}.day{aspect-ratio:1;border:0;border-radius:13px;background:#f6f7f3;color:#30372f;font-size:25px;font-weight:750;position:relative;min-width:0;padding:0}.day:hover{box-shadow:inset 0 0 0 1px #aebcac}.day[data-state="1"]{background:#d94d48;color:#fff}.day[data-state="2"]{background:#d94d48;color:#ffe066}.day[data-state="3"]{background:#f6f7f3;color:#e0ad00;font-weight:850}.day.is-today:after{content:"";position:absolute;bottom:6px;left:calc(50% - 2px);height:4px;width:4px;border-radius:50%;background:currentColor}.day:disabled{cursor:wait;opacity:.65}.arrow:disabled{opacity:.3;cursor:default}.status-line{display:flex;align-items:center;justify-content:center;gap:12px;min-height:32px;margin-top:16px;font-size:12px;color:#6c7b69;text-align:center}#status.error{color:#b2322c}#retry{font-size:12px;border:0;color:#a32d27;background:transparent;text-decoration:underline;padding:4px}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin:24px 0 18px}.legend>span{display:flex;align-items:center;gap:7px;color:#737a70;font-size:11px}.sample{display:inline-flex;justify-content:center;align-items:center;width:23px;height:23px;border-radius:7px;font-style:normal;font-size:10px;font-weight:650}.sample.red{background:#d94d48;color:#fff}.sample.red-yellow{background:#d94d48;color:#ffe066}.sample.yellow{background:#e9ece4;color:#e0ad00;font-weight:850}.sample.plain{background:#e9ece4;color:#64725e}.hint{color:#92988d;text-align:center;font-size:12px;line-height:1.8}.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:440px){main{margin-top:32px;width:calc(100% - 24px)}h1{font-size:26px}.card{padding:18px 12px;border-radius:20px}.weekdays,.calendar{gap:5px}.calendar{min-height:252px}.day{font-size:23px;border-radius:10px}.navigation{margin-bottom:22px}select,input{font-size:17px}select{width:123px}input{width:74px}.legend{gap:10px}.legend>span{font-size:10px}.status-line{font-size:11px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,box-shadow .15s}}
.status-line[hidden]{display:none}.capture-actions{margin-top:22px;text-align:center}#screenshot{border:1px solid #d7dcd3;border-radius:22px;padding:11px 20px;color:#425b4d;background:#f6f7f3;font-size:14px;font-weight:650}#screenshot:hover{background:#e9eee6}#screenshot:disabled{opacity:.5;cursor:wait}#capture-status{font-size:12px;color:#6c7b69;line-height:1.6;margin:12px 0 0}
