:root{--sky-50:#f2f8ff;--sky-100:#e4f0ff;--sky-200:#cfe4fb;--sky-300:#a9cff5;--sky-400:#7fb6ee;--sky-500:#5f9fe3;--sky-600:#4886c9;--bg:#e9f2fb;--card:#fff;--ink:#2f4257;--muted:#8ea3b8;--line:#dceafa;--mint:#8fd7c2;--peach:#ffc9a8;--lemon:#ffe3a3;--blush:#ffd3dc;--warn-ink:#c07a33;--warn-bg:#fff6ec;--warn-line:#ffe0c4;--shadow-row:0 4px 0 #e6f0fb;--shadow-main:0 4px 0 var(--sky-600)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--sky-50);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,-apple-system,Hiragino Sans,Yu Gothic UI,sans-serif;line-height:1.65}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.app{height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.app__body{flex:1;padding:2px 15px 0;overflow-y:auto}.ob{text-align:center;padding:24px 22px 0}.ob h1{margin-bottom:6px;font-size:19px;font-weight:800}.ob p{color:#7e93a8;margin-bottom:16px;font-size:12.5px;font-weight:600;line-height:1.6}.steps{text-align:left;border:2px solid var(--line);box-shadow:var(--shadow-row);background:#fff;border-radius:22px;padding:14px}.steps__item{color:#617c96;gap:10px;margin-bottom:11px;font-size:12.5px;font-weight:600;display:flex}.steps__item:last-child{margin-bottom:0}.steps__n{background:linear-gradient(165deg, var(--sky-300), var(--sky-500));color:#fff;width:23px;height:23px;box-shadow:0 2px 0 var(--sky-600);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.warnbox{background:var(--warn-bg);border:2px solid var(--warn-line);color:var(--warn-ink);text-align:left;border-radius:18px;margin-top:13px;padding:10px 13px;font-size:11px;font-weight:600;line-height:1.6}.btn-main{background:linear-gradient(165deg, var(--sky-300), var(--sky-500));color:#fff;letter-spacing:.04em;width:100%;min-height:54px;box-shadow:0 5px 0 var(--sky-600);border-radius:22px;place-items:center;font-size:16px;font-weight:800;display:grid}.btn-main:active{box-shadow:0 3px 0 var(--sky-600);transform:translateY(2px)}.btn-main:disabled{color:#a9bccd;cursor:default;background:#dfeaf6;box-shadow:0 5px #cfdded}.btn-main:disabled:active{transform:none;box-shadow:0 5px #cfdded}.ob__action{margin-top:18px;padding-bottom:24px}.ob__status{color:var(--muted);margin-top:12px;font-size:11.5px;font-weight:700;line-height:1.6}.ob__status--error{color:var(--warn-ink)}.appbar{flex:none;padding:10px 20px 14px}.appbar__title{letter-spacing:.03em;font-size:21px;font-weight:800}.appbar__date{color:var(--muted);margin-top:-2px;font-size:12px;font-weight:500}.greet{border:2px solid var(--line);background:#fff;border-radius:22px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex;box-shadow:0 4px #e3eefb}.greet__msg{color:#617c96;font-size:12.5px;font-weight:700;line-height:1.4}.greet__msg b{color:var(--sky-600)}.timegroup{margin-bottom:16px}.timehead{align-items:center;gap:7px;margin-bottom:8px;padding-left:2px;display:flex}.timehead__t{letter-spacing:.03em;color:var(--sky-600);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.timehead__tag{color:#fff;background:var(--sky-300);border-radius:20px;padding:1px 9px;font-size:10px;font-weight:700}.timehead__tag--noon{background:var(--lemon);color:#a97b1e}.timehead__tag--night{background:#b9b6f0}.row{border:2px solid var(--line);box-shadow:var(--shadow-row);background:#fff;border-radius:20px;align-items:center;gap:10px;margin-bottom:9px;padding:9px 10px 9px 13px;display:flex}.row__name{text-align:left;overflow-wrap:anywhere;flex:1;font-size:14.5px;font-weight:700}.btn-check{background:linear-gradient(165deg, var(--sky-300), var(--sky-500));color:#fff;width:56px;height:48px;box-shadow:var(--shadow-main);letter-spacing:.02em;border-radius:16px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.btn-check:active{box-shadow:0 2px 0 var(--sky-600);transform:translateY(2px)}.row--taken{background:#f4f9ff;border-color:#e8f1fb;box-shadow:0 3px #edf4fc}.row--taken .row__name{color:#a9bccd}.row--taken .btn-check{background:linear-gradient(165deg, #c6f0e1, var(--mint));font-size:22px;box-shadow:0 4px #6cc0a8}.undo{justify-content:flex-end;margin:-4px 2px 9px;display:flex}.undo button{color:var(--sky-600);border:2px solid var(--sky-200);background:#fff;border-radius:20px;min-height:30px;padding:4px 14px;font-size:11px;font-weight:700}.alldone{text-align:center;color:#3f9179;background:linear-gradient(165deg,#eafaf4,#d8f4ea);border:2px solid #bfead9;border-radius:22px;margin-top:6px;padding:14px;font-size:13px;font-weight:800}.empty{text-align:center;color:#7e93a8;padding:26px 16px;font-size:12.5px;font-weight:600;line-height:1.7}.field{margin-bottom:16px}.field__label{color:#fff;background:var(--sky-300);border-radius:20px;margin-bottom:7px;padding:2px 12px;font-size:11.5px;font-weight:800;display:inline-block}.input{border:2px solid var(--line);width:100%;box-shadow:var(--shadow-row);color:var(--ink);background:#fff;border-radius:18px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:700}.input:focus{border-color:var(--sky-300);outline:none}.timechip{border:2px solid var(--sky-200);color:var(--sky-600);font-variant-numeric:tabular-nums;background:#fff;border-radius:16px;align-items:center;gap:8px;min-height:48px;margin:0 8px 9px 0;padding:8px 13px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 3px #e0edfb}.timechip__x{color:#bdd6ef;padding:0 2px;font-size:13px}.addtime{border:2px dashed var(--sky-200);color:#9db6d0;background:var(--sky-50);border-radius:16px;align-items:center;gap:6px;min-height:48px;padding:8px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.fold{border:2px solid var(--line);color:#7e93a8;width:100%;box-shadow:var(--shadow-row);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;min-height:48px;padding:11px 14px;font-size:13px;font-weight:700;display:flex}.hintbox{background:var(--sky-50);border:2px solid var(--line);color:var(--muted);border-radius:16px;margin-top:7px;padding:9px 12px;font-size:11px;font-weight:500}.weekdays{gap:6px;margin-top:9px;display:flex}.weekdays button{border:2px solid var(--line);color:#9db2c6;background:#fff;border-radius:14px;flex:1;min-height:48px;font-size:12.5px;font-weight:800}.weekdays button[aria-pressed=true]{background:linear-gradient(165deg, var(--sky-300), var(--sky-500));border-color:var(--sky-500);color:#fff;box-shadow:0 3px 0 var(--sky-600)}.form__actions{flex-direction:column;gap:12px;margin:22px 0 8px;display:flex}.btn-danger{background:var(--warn-bg);min-height:48px;color:var(--warn-ink);border:2px solid #ffe0c4;border-radius:18px;font-size:13px;font-weight:800}.btn-quiet{border:2px solid var(--line);color:#7e93a8;background:#fff;border-radius:18px;min-height:48px;font-size:13px;font-weight:800}.tabbar{flex:none;align-items:center;gap:6px;height:64px;padding:0 12px 10px;display:flex}.tabbar button{color:#9db2c6;border:2px solid var(--line);background:#fff;border-radius:18px;flex:1;place-items:center;gap:1px;height:50px;font-size:10.5px;font-weight:700;display:grid}.tabbar button[aria-current=page]{color:#fff;background:linear-gradient(165deg, var(--sky-400), var(--sky-500));border-color:var(--sky-500);box-shadow:0 3px 0 var(--sky-600)}.tabbar .ic{font-size:17px;line-height:1}.strip{border:2px solid var(--line);box-shadow:var(--shadow-row);background:#fff;border-radius:24px;margin-bottom:14px;padding:14px 8px 12px}.strip__days{justify-content:space-between;display:flex}.strip__d{text-align:center;width:100%}.strip__lbl{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700}.stamp{color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;margin:0 auto;font-size:13px;font-weight:800;display:grid}.stamp--all{background:linear-gradient(165deg, var(--sky-300), var(--sky-500));box-shadow:0 2px 0 var(--sky-600)}.stamp--part{background:linear-gradient(165deg, var(--lemon), #f5c76b);color:#8a6413;box-shadow:0 2px #dba93f}.stamp--none{color:#b8c8d8;background:#eef4fa;box-shadow:0 2px #e0e9f3}.stamp--empty{box-shadow:none;color:#d5e0ea;background:#f7fafd;border:2px dashed #e4edf6}.strip__d--today .stamp{outline:3px solid var(--sky-200);outline-offset:3px}.strip__d--today .strip__lbl{color:var(--sky-600)}.hday{color:#fff;background:var(--sky-300);border-radius:20px;margin:14px 0 7px;padding:2px 12px;font-size:11px;font-weight:800;display:inline-block}.hrow{border:2px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:9px;margin-bottom:7px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.hrow__tm{font-variant-numeric:tabular-nums;color:#9db2c6;flex:none;width:38px;font-size:11.5px}.hrow__nm{overflow-wrap:anywhere;flex:1}.hrow__st{font-size:15px}.hrow--miss{background:#fafcfe;border-color:#eaf2fa}.hrow--miss .hrow__nm{color:#b3c3d2}.cal{border:2px solid var(--line);box-shadow:var(--shadow-row);background:#fff;border-radius:24px;margin-top:6px;padding:12px 10px 14px}.cal__head{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.cal__title{color:var(--sky-600);font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:800}.cal__nav{width:44px;height:44px;color:var(--sky-600);background:var(--sky-50);border:2px solid var(--line);border-radius:14px;place-items:center;font-size:20px;font-weight:800;display:grid}.cal__nav:disabled{color:#d5e0ea;background:#fbfdff}.cal__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal__wd{text-align:center;color:var(--muted);padding-bottom:4px;font-size:10px;font-weight:700}.cal__cell{background:0 0;border:2px solid #0000;border-radius:12px;justify-items:center;gap:2px;min-height:44px;padding:3px 0 5px;display:grid}.cal__cell--today{border-color:var(--sky-200)}.cal__cell--selected{background:var(--sky-50);border-color:var(--sky-400)}.cal__day{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;line-height:1}.cal__cell--today .cal__day{color:var(--sky-600)}.cal__grid .stamp{width:22px;height:22px;font-size:11px}.stamp--future{box-shadow:none;background:0 0;border:none}.cal__note{background:var(--sky-50);border:2px solid var(--line);color:var(--muted);border-radius:14px;margin-top:10px;padding:8px 11px;font-size:10.5px;font-weight:600;line-height:1.6}.cal__detail{border-top:2px solid var(--line);margin-top:12px;padding-top:4px}.cal__empty{color:var(--muted);padding:6px 4px 2px;font-size:12px;font-weight:600}
