:root{color:#493f43;font-synthesis:none;background:#f8f1e8;font-family:Nunito Sans,sans-serif}*{box-sizing:border-box}html{background:#f8f1e8}body{background:#f8f1e8;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.page{width:min(100% - 32px,620px);margin:0 auto;padding:72px 0 40px}.hero{text-align:center}.kicker{color:#a96872;margin:0 0 4px;font-family:Gaegu,cursive;font-size:1.35rem;font-weight:700}h1,h2{font-family:Gaegu,cursive}h1{letter-spacing:-.045em;color:#5b4a52;margin:0;font-size:clamp(4.5rem,15vw,6.8rem);font-weight:700;line-height:.88}.intro{color:#786b70;max-width:430px;margin:20px auto 0;font-size:.98rem;line-height:1.65}.sleep-card{z-index:20;background:#f3dedc;border:1px solid #ead4d2;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding:20px 22px;display:flex;position:relative}.sleep-label{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.sleep-label label{color:#5d5055;font-weight:700}.sleep-label p{color:#9a858b;margin:0;font-size:.72rem;line-height:1.3}.time-picker{position:relative}.time-input-wrap{align-items:center;display:flex;position:relative}#sleep-time{color:#51454a;font-variant-numeric:tabular-nums;cursor:text;background:#fffaf5;border:1px solid #d8b9bb;border-radius:12px;outline:none;width:132px;height:42px;padding:0 42px 0 13px;font-weight:700}#sleep-time:hover{border-color:#cba5a9}#sleep-time:focus{border-color:#a96872;box-shadow:0 0 0 3px #a968721f}.time-picker-button{color:#98747b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.time-picker-button:hover{color:#7d5961;background:#f4e2e1}.time-picker-button:focus-visible{outline-offset:1px;outline:2px solid #b97b84}.time-picker-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;display:block}.time-picker-panel{z-index:100;background:#fffaf5;border:1px solid #e1c8c9;border-radius:16px;width:230px;padding:17px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 14px 32px #5b424c1c,0 2px 6px #5b424c0d}.time-picker-panel[hidden]{display:none}.time-picker-title{text-align:center;color:#675159;margin:0 0 13px;font-family:Gaegu,cursive;font-size:1.45rem;font-weight:700;line-height:1}.time-picker-controls{justify-content:center;align-items:center;gap:9px;display:flex}.time-column{grid-template-rows:28px 48px 28px;gap:4px;width:64px;display:grid}.time-step{color:#a27c83;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:100%;padding:0;font-size:1rem;font-weight:700;line-height:1;display:grid}.time-step:hover{color:#79565e;background:#f4e2e1}.time-step:active{background:#ecd4d4}.time-step:focus-visible{outline-offset:1px;outline:2px solid #b97b84}.time-part{color:#59484f;font-variant-numeric:tabular-nums;text-align:center;background:#f9eee8;border:1px solid #e1ceca;border-radius:11px;outline:none;width:64px;height:48px;padding:0;font-family:Gaegu,cursive;font-size:1.75rem;font-weight:700}.time-part:focus{background:#fffaf5;border-color:#b97b84;box-shadow:0 0 0 3px #a968721a}.time-separator{color:#806970;margin-top:1px;font-family:Gaegu,cursive;font-size:2rem;font-weight:700}.time-picker-done{color:#68484f;cursor:pointer;background:#efd0d2;border:1px solid #d5aeb2;border-radius:10px;width:100%;margin-top:14px;padding:9px 14px;font-size:.84rem;font-weight:700}.time-picker-done:hover{background:#e9c4c7}.time-picker-done:active{background:#e3babe}.time-picker-done:focus-visible{outline-offset:2px;outline:2px solid #a96872}.section-heading{margin-bottom:18px}.section-heading h2{color:#5b4a52;margin:0;font-size:2.2rem;line-height:1}.section-heading p{color:#897b80;margin:7px 0 0;font-size:.87rem;line-height:1.5}.schedule{z-index:1;margin-top:42px;position:relative}.routine{gap:10px;display:grid}.routine-item{width:100%;min-height:72px;color:inherit;text-align:left;background:#fffaf3;border:1px solid #e7ddd6;border-radius:16px;grid-template-columns:70px minmax(0,1fr) auto 20px;align-items:center;gap:12px;margin:0;padding:12px 16px;display:grid}button.routine-item{appearance:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;transition:border-color .14s,background .14s,opacity .14s}button.routine-item:nth-child(2n){background:#f1edf2}button.routine-item:hover{border-color:#d7c2c3}button.routine-item:active{cursor:grabbing}button.routine-item:focus-visible{outline-offset:2px;outline:3px solid #a9687238}.routine-item.selected{border-color:#c8848d;background:#f5dfe0!important}.routine-item.drag-source{opacity:.25}.routine-item.drag-over{border-color:#c8848d;background:#f5dfe0!important}.routine-time{color:#66535b;font-family:Gaegu,cursive;font-size:1.65rem;font-weight:700;line-height:1}.routine-activity{align-items:center;gap:12px;min-width:0;display:flex}.activity-icon{flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.activity-icon img{object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;width:32px;max-width:32px;height:32px;max-height:32px;display:block}.activity-text{min-width:0;font-size:.94rem;font-weight:700;line-height:1.3}.routine-offset{white-space:nowrap;color:#9a858b;font-size:.77rem;font-weight:700}.drag-handle{color:#b19fa4;text-align:center;font-size:1.15rem;line-height:1}@media (pointer:coarse){button.routine-item{touch-action:pan-y}.drag-handle{touch-action:none;cursor:grab;place-items:center;width:36px;height:44px;margin:-10px -10px -10px -8px;display:grid}}.bedtime{cursor:default;background:#efd0d2;border-color:#d9aeb2;grid-template-columns:70px minmax(0,1fr);margin-top:6px}.bedtime .routine-time{color:#7d5159}.bedtime .activity-text{color:#68484f}.drag-ghost{z-index:9999;pointer-events:none;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;margin:0;position:fixed;top:0;left:0;box-shadow:0 10px 24px #5b424c24}.status{color:#93858a;min-height:1.4em;margin:13px 4px 0;font-size:.8rem}.reset-routine{color:#9a858b;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:8px 0 0 auto;padding:4px 2px;font-size:.75rem;font-weight:600;text-decoration:underline #cfbfc1;display:block}.reset-routine:hover{color:#7d6269;text-decoration-color:#a98289}.reset-routine:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #b97b84}.calendar-schedule{z-index:1;border-top:1px solid #e6dbd2;margin-top:42px;padding-top:32px;position:relative}.schedule-modes{background:#f3ebe3;border:1px solid #e7d8d4;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;display:grid}.schedule-mode{color:#958288;cursor:pointer;background:0 0;border:0;border-radius:10px;min-width:0;padding:9px 10px;font-size:.76rem;font-weight:700;line-height:1.25;transition:background .15s,color .15s}.schedule-mode:hover{color:#705d63}.schedule-mode.active{color:#72545b;background:#efd0d2}.schedule-mode:focus-visible{outline-offset:2px;outline:2px solid #b97b84}.schedule-settings{margin-top:16px}.schedule-panel{background:#fffaf3;border:1px solid #e7ddd6;border-radius:16px;gap:15px;padding:18px;display:grid}.schedule-panel[hidden]{display:none}.schedule-field{gap:7px;display:grid}.schedule-field>span{color:#7d6b71;font-size:.76rem;font-weight:700}.schedule-field input,.schedule-field select{color:#594c51;background:#fffdf9;border:1px solid #ddceca;border-radius:11px;outline:none;width:100%;height:42px;padding:0 12px;font-size:.84rem;font-weight:600}.schedule-field input:focus,.schedule-field select:focus{border-color:#b97b84;box-shadow:0 0 0 3px #a968721a}.weekday-picker{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.weekday{color:#8b777d;cursor:pointer;background:#f8f0e9;border:1px solid #e2d4d0;border-radius:9px;min-width:0;height:38px;padding:0 4px;font-size:.7rem;font-weight:700;transition:border-color .15s,background .15s,color .15s}.weekday:hover{color:#705d63;border-color:#d5babe}.weekday.active,.weekday[aria-pressed=true]{color:#72545b;background:#efd0d2;border-color:#d3a9ad}.weekday:focus-visible{outline-offset:2px;outline:2px solid #b97b84}.calendar-note{color:#95868a;margin:13px 3px 0;font-size:.74rem;line-height:1.55}.add-calendar{color:#68484f;cursor:pointer;background:#efd0d2;border:1px solid #d9aeb2;border-radius:14px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:18px;padding:13px 18px;font-size:.82rem;font-weight:700;transition:transform .15s,background .15s;display:flex}.add-calendar:hover{background:#e9c3c7}.add-calendar:active{transform:scale(.99)}.add-calendar:focus-visible{outline-offset:3px;outline:2px solid #b97b84}.calendar-status{color:#4f6953;text-align:center;background:#e8f3e8;border:1px solid #b9d8bd;border-radius:14px;margin:14px 0 0;padding:12px 14px;font-size:.9rem;font-weight:700;line-height:1.45}.calendar-sync-note{text-align:center;opacity:.65;max-width:460px;margin:10px auto 0;font-size:.78rem;line-height:1.45}.calendar-status[hidden]{display:none}footer{border-top:1px solid #e6dbd2;margin-top:48px;padding-top:20px}footer p{color:#9a8d91;text-align:center;margin:0;font-size:.76rem;line-height:1.6}@media (width<=480px){.page{width:min(100% - 24px,620px);padding-top:48px}.sleep-card{gap:14px;margin-top:32px;padding:17px 16px}.sleep-label{min-width:0}.sleep-label label{font-size:.9rem}.sleep-label p{font-size:.67rem}#sleep-time{width:120px}.time-picker-panel{width:220px;right:0}.routine-item{grid-template-columns:58px minmax(0,1fr) auto 16px;gap:8px;min-height:68px;padding:11px 12px}.routine-time{font-size:1.45rem}.routine-activity{gap:8px}.activity-icon{flex-basis:27px;width:27px;height:27px}.activity-icon img{width:27px;max-width:27px;height:27px;max-height:27px}.activity-text{font-size:.84rem}.routine-offset{font-size:.7rem}.bedtime{grid-template-columns:58px minmax(0,1fr)}.calendar-schedule{margin-top:36px;padding-top:28px}.schedule-mode{padding:9px 5px;font-size:.7rem}.schedule-panel{padding:15px}.weekday-picker{gap:4px}.weekday{height:36px;padding:0 2px;font-size:.65rem}}@media (prefers-reduced-motion:reduce){button.routine-item,.schedule-mode,.weekday,.add-calendar{transition:none}}
