*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:#fff6f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:block;min-height:100dvh}#root{min-height:100dvh}.wv-page{max-width:430px;margin:0 auto;min-height:100dvh;background:#fafafa;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.wv-header{background:linear-gradient(135deg,#ff9fb2,#ffb347);color:#fff;display:flex;align-items:center;padding:.75rem;gap:.5rem;box-shadow:0 2px 10px #ff645040;flex-shrink:0}.wv-back-btn{background:#ffffff40;border:none;color:#fff;font-size:1.3rem;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.wv-back-btn:active{background:#fff6}.wv-header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.wv-nav-btn{background:#ffffff40;border:none;color:#fff;font-size:1.4rem;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;line-height:1}.wv-nav-btn:active{background:#ffffff73}.wv-date-block{display:flex;flex-direction:column;align-items:center;min-width:110px}.wv-date-title{font-size:1rem;font-weight:800;line-height:1.2}.wv-date-sub{font-size:.7rem;opacity:.85;font-weight:400}.wv-header-right{flex-shrink:0}.wv-today-btn{background:#ffffff40;border:none;color:#fff;font-size:.75rem;font-weight:700;padding:.35rem .65rem;border-radius:99px;cursor:pointer;white-space:nowrap;transition:background .15s}.wv-today-btn:active{background:#ffffff73}.wv-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.wv-timeline{position:relative;width:100%}.wv-hour-row{position:absolute;left:0;right:0;display:flex;align-items:flex-start;pointer-events:none}.wv-hour-label{font-size:.68rem;color:#bbb;font-weight:500;text-align:right;padding-right:8px;padding-top:2px;flex-shrink:0;line-height:1;letter-spacing:-.02em}.wv-hour-line{flex:1;height:1px;background:#ebebeb;margin-top:8px}.wv-now-line{position:absolute;right:0;display:flex;align-items:center;pointer-events:none;z-index:10}.wv-now-dot{width:10px;height:10px;border-radius:50%;background:#ef5350;flex-shrink:0;margin-left:-5px;box-shadow:0 0 0 2px #fff,0 0 0 3px #ef5350}.wv-now-bar{flex:1;height:2px;background:#ef5350}.wv-event{position:absolute;border-radius:8px;display:flex;align-items:center;gap:6px;padding:0 8px;overflow:hidden;cursor:default;border-left:3px solid var(--clr);box-sizing:border-box}.wv-event--pill{background:var(--bg);align-items:center;justify-content:center;padding:0 6px}.wv-event--block{background:var(--bg);align-items:flex-start;padding-top:6px;flex-direction:column;gap:2px}.wv-event--clipped-top{border-top-left-radius:0;border-top-right-radius:0;border-top:2px dashed var(--clr)}.wv-event--clipped-bottom{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:2px dashed var(--clr)}.wv-event--compact{align-items:center;justify-content:center;flex-direction:row;padding:0;gap:0}.wv-event--block .wv-event-emoji{font-size:1.1rem}.wv-event-emoji{font-size:.95rem;line-height:1;flex-shrink:0}.wv-event-body{display:flex;flex-direction:column;gap:1px;min-width:0}.wv-event-name{font-size:.78rem;font-weight:700;color:var(--clr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wv-event-time{font-size:.65rem;color:#999;white-space:nowrap}.wv-event-dur{font-size:.65rem;font-weight:600;color:var(--clr);opacity:.85}.wv-event-amount{font-size:.72rem;font-weight:700;color:var(--clr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wv-detail-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:1rem;animation:wv-overlay-in .18s ease}@keyframes wv-overlay-in{0%{opacity:0}to{opacity:1}}.wv-detail-sheet{background:#fff;border-radius:24px;width:100%;max-width:400px;overflow:hidden;animation:wv-sheet-in .22s cubic-bezier(.34,1.56,.64,1)}@keyframes wv-sheet-in{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.wv-detail-header{background:var(--bg);padding:1.1rem 1.1rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(0,0,0,.06)}.wv-detail-emoji{font-size:2rem;line-height:1;flex-shrink:0}.wv-detail-title-block{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.wv-detail-name{font-size:1.05rem;font-weight:800;color:var(--clr)}.wv-detail-live{font-size:.72rem;font-weight:700;color:var(--clr);opacity:.75;animation:wv-live-blink 1.2s ease-in-out infinite}@keyframes wv-live-blink{0%,to{opacity:.75}50%{opacity:.25}}.wv-detail-close{background:#00000014;border:none;width:30px;height:30px;border-radius:50%;font-size:.8rem;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.wv-detail-close:active{background:#00000029}.wv-detail-body{padding:.5rem 0 .75rem}.wv-detail-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.25rem;border-bottom:1px solid #F5F5F5}.wv-detail-row:last-child{border-bottom:none}.wv-detail-label{font-size:.8rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.wv-detail-value{font-size:.92rem;font-weight:600;color:#333}.wv-detail-value--accent{color:var(--clr);font-weight:700}.wv-detail-row--note{align-items:flex-start}.wv-detail-note{max-width:60%;text-align:right;white-space:pre-wrap;word-break:break-word;color:#555;font-weight:500}.wv-empty{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2rem 1rem;text-align:center;pointer-events:none}.wv-empty-icon{font-size:2.2rem}.wv-empty p{font-size:.9rem;font-weight:600;color:#ccc}.wv-empty-sub{font-size:.75rem!important;font-weight:400!important;color:#ddd!important}.sp-page{max-width:430px;margin:0 auto;min-height:100dvh;background:#fff6f0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.sp-header{background:linear-gradient(135deg,#ff9fb2,#ffb347);color:#fff;padding:.875rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 10px #ff645040;flex-shrink:0}.sp-back-btn{background:#ffffff40;border:none;color:#fff;font-size:1.3rem;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.sp-back-btn:active{background:#fff6}.sp-title{flex:1;font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.sp-header-spacer{width:38px;flex-shrink:0}.sp-body{flex:1;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.sp-preview-card{background:#fff;border-radius:16px;padding:1rem 1.1rem;display:flex;align-items:center;gap:.875rem;box-shadow:0 2px 10px #ff9fb233;border-left:4px solid #FF9FB2;animation:sp-fade-in .25s ease}@keyframes sp-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sp-preview-icon{font-size:2rem;line-height:1;flex-shrink:0}.sp-preview-text{display:flex;flex-direction:column;gap:.2rem}.sp-preview-label{font-size:.7rem;color:#bbb;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.sp-preview-value{font-size:.95rem;font-weight:700;color:#ff7043}.sp-card{background:#fff;border-radius:20px;padding:1.4rem 1.25rem 1.5rem;box-shadow:0 2px 10px #0000000f;display:flex;flex-direction:column;gap:1.25rem}.sp-card-title{font-size:1rem;font-weight:800;color:#333;letter-spacing:-.01em}.sp-field{display:flex;flex-direction:column;gap:.45rem}.sp-label{font-size:.8rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em}.sp-input{border:2px solid #F0EEF0;border-radius:12px;padding:.8rem .9rem;font-size:1rem;font-family:inherit;color:#222;background:#fafafa;outline:none;transition:border-color .18s,background .18s;width:100%}.sp-input:focus{border-color:#ff9fb2;background:#fff}.sp-input::placeholder{color:#ccc}.sp-input--date{color:#444;-webkit-appearance:none}.sp-save-btn{width:100%;border:none;border-radius:14px;padding:.95rem 1rem;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s,opacity .2s;background:linear-gradient(135deg,#ff9fb2,#ffb347);color:#fff;margin-top:.25rem;letter-spacing:.01em}.sp-save-btn:active:not(:disabled){transform:scale(.97)}.sp-save-btn:disabled{background:#e0e0e0;color:#aaa;cursor:default}.sp-save-btn--saved{background:#66bb6a!important;color:#fff!important}.sp-avatar-card{align-items:center;padding:1.5rem 1.25rem 1.25rem}.sp-avatar-ring{position:relative;width:96px;height:96px;border-radius:50%;overflow:hidden;border:3px solid #FF9FB2;box-shadow:0 2px 10px #ff9fb259;flex-shrink:0}.sp-avatar-ring--clickable{cursor:pointer}.sp-avatar-ring--clickable:active{opacity:.85}.sp-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.sp-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff0f4;font-size:2.8rem;line-height:1}.sp-avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:#00000047;opacity:0;transition:opacity .18s}.sp-avatar-ring--clickable:hover .sp-avatar-overlay{opacity:1}.sp-avatar-overlay--uploading{opacity:1!important;background:#00000073!important}.sp-avatar-hint{font-size:.75rem;color:#ccc;text-align:center}.sp-card-desc{font-size:.85rem;color:#888;line-height:1.5;margin-top:-.5rem}.sp-editor-feedback{font-size:.875rem;font-weight:600;border-radius:10px;padding:.6rem .875rem}.sp-editor-success{color:#2e7d32;background:#e8f5e9}.sp-editor-error{color:#c62828;background:#ffebee}.sp-readonly-note{font-size:.82rem;color:#aaa;text-align:center;font-style:italic}.sp-danger-zone{display:flex;flex-direction:column;gap:.75rem;padding:0 .25rem 1rem}.sp-danger-btn{width:100%;border:2px solid #EF5350;border-radius:14px;padding:.9rem 1rem;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;color:#ef5350;background:transparent;transition:background .18s,color .18s,transform .1s;letter-spacing:.01em}.sp-danger-btn:active:not(:disabled){background:#ffebee;transform:scale(.97)}.sp-danger-btn:disabled{opacity:.5;cursor:default}.sp-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:1rem;animation:sp-overlay-in .2s ease}@keyframes sp-overlay-in{0%{opacity:0}to{opacity:1}}.sp-modal{background:#fff;border-radius:24px;padding:2rem 1.5rem 1.5rem;width:100%;max-width:390px;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:sp-modal-in .25s cubic-bezier(.34,1.56,.64,1)}@keyframes sp-modal-in{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.sp-modal-icon{font-size:2.5rem;line-height:1}.sp-modal-title{font-size:1.1rem;font-weight:800;color:#222;margin:0}.sp-modal-desc{font-size:.875rem;color:#888;line-height:1.5;margin:0}.sp-modal-actions{display:flex;gap:.75rem;width:100%;margin-top:.5rem}.sp-modal-cancel,.sp-modal-confirm{flex:1;border:none;border-radius:14px;padding:.9rem 1rem;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .1s}.sp-modal-cancel{background:#f0eef0;color:#555}.sp-modal-confirm{background:#ef5350;color:#fff}.sp-modal-cancel:active:not(:disabled),.sp-modal-confirm:active:not(:disabled){transform:scale(.97)}.sp-modal-cancel:disabled,.sp-modal-confirm:disabled{opacity:.55;cursor:default}.aim-overlay{position:fixed;inset:0;background:#0000007a;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:aim-fade .18s ease}@keyframes aim-fade{0%{opacity:0}to{opacity:1}}.aim-sheet{background:#fff;border-radius:24px 24px 0 0;padding:.6rem 1.5rem calc(2.25rem + env(safe-area-inset-bottom,0));width:100%;max-width:430px;display:flex;flex-direction:column;gap:1.1rem;animation:aim-slide-up .26s cubic-bezier(.34,1.56,.64,1)}@keyframes aim-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.aim-handle{width:40px;height:4px;border-radius:99px;background:#e0e0e0;margin:0 auto .5rem;flex-shrink:0}.aim-identity{display:flex;align-items:center;gap:.6rem}.aim-emoji{font-size:2rem;line-height:1}.aim-title{font-size:1.2rem;font-weight:800;color:var(--clr);letter-spacing:-.02em}.aim-question{font-size:.95rem;font-weight:600;color:#444;margin:0}.aim-input-wrap{display:flex;align-items:center;background:#f7f7f7;border-radius:14px;border:2px solid #EBEBEB;overflow:hidden;transition:border-color .18s}.aim-input-wrap:focus-within{border-color:var(--clr, #29B6F6);background:#fff}.aim-input{flex:1;border:none;background:transparent;padding:.9rem .75rem .9rem 1rem;font-size:1.5rem;font-weight:700;color:#222;font-family:inherit;outline:none;min-width:0;-moz-appearance:textfield}.aim-input::-webkit-outer-spin-button,.aim-input::-webkit-inner-spin-button{-webkit-appearance:none}.aim-unit{font-size:.9rem;font-weight:600;color:#aaa;padding:0 1rem 0 .25rem;white-space:nowrap;flex-shrink:0}.aim-actions{display:flex;gap:.75rem}.aim-btn{flex:1;border:none;border-radius:14px;padding:.9rem 1rem;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .1s}.aim-btn:active{transform:scale(.97)}.aim-btn--skip{background:#f3f3f3;color:#666}.aim-btn--skip:active{background:#e8e8e8}.aim-btn--log{color:#fff}.aim-btn--log:disabled{background:#d0d0d0!important;cursor:default}.aam-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:200;padding-bottom:env(safe-area-inset-bottom)}.aam-sheet{background:#fff;border-radius:28px 28px 0 0;width:100%;max-width:430px;padding:0 1.25rem 2rem;max-height:90dvh;overflow-y:auto;animation:aam-slide-up .28s cubic-bezier(.32,.72,0,1)}@keyframes aam-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.aam-handle{width:40px;height:4px;background:#e0e0e0;border-radius:2px;margin:.75rem auto .5rem}.aam-title{font-size:1.1rem;font-weight:800;text-align:center;color:#222;margin:.25rem 0 1rem}.aam-preview{background:var(--bg);border-radius:18px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.25rem}.aam-preview-emoji{font-size:2.25rem;line-height:1}.aam-preview-label{font-size:.9rem;font-weight:800;letter-spacing:-.01em}.aam-field-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:.35rem}.aam-input{width:100%;box-sizing:border-box;border:1.5px solid #e8e8e8;border-radius:12px;padding:.75rem .875rem;font-size:1rem;outline:none;margin-bottom:1rem;transition:border-color .15s;background:#fafafa}.aam-input:focus{border-color:#aaa;background:#fff}.aam-emoji-input{font-size:1.6rem;text-align:center;padding:.5rem}.aam-color-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.1rem}.aam-swatch{width:34px;height:34px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s;outline:none}.aam-swatch:active{transform:scale(.9)}.aam-swatch--selected{border-color:#fff;box-shadow:0 0 0 2.5px currentColor,0 0 0 4px #00000014;transform:scale(1.15)}.aam-mode-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.aam-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.7rem .875rem;border:1.5px solid #e8e8e8;border-radius:12px;background:#fafafa;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.aam-mode-btn--selected{background:#fff}.aam-mode-label{font-size:.9rem;font-weight:700}.aam-mode-hint{font-size:.72rem;color:#aaa}.aam-actions{display:flex;gap:.75rem}.aam-btn{flex:1;padding:.85rem 1rem;border-radius:14px;border:none;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.aam-btn:active{opacity:.85;transform:scale(.97)}.aam-btn--cancel{background:#f0f0f0;color:#555}.aam-btn--save{color:#fff}.aam-btn--save:disabled{opacity:.45;cursor:default}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.app{max-width:430px;margin:0 auto;min-height:100dvh;background:#fff6f0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;background:#fff3;border:none;border-radius:10px;width:40px;height:40px;padding:0 9px;cursor:pointer;flex-shrink:0;transition:background .15s}.hamburger-btn:active{background:#ffffff61}.hamburger-btn span{display:block;width:100%;height:2.5px;border-radius:2px;background:#fff}.drawer-overlay{position:fixed;inset:0;background:#0000006b;z-index:300;animation:fade-in .2s ease}.drawer{position:absolute;top:0;left:0;bottom:0;width:280px;background:#fff;display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026;animation:drawer-slide-in .25s cubic-bezier(.25,.46,.45,.94)}@keyframes drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header{background:linear-gradient(135deg,#ff9fb2,#ffb347);color:#fff;padding:2.5rem 1.25rem 1.5rem;display:flex;align-items:center;gap:.875rem}.drawer-logo{font-size:2.2rem;line-height:1}.drawer-app-name{font-size:1rem;font-weight:800;letter-spacing:-.02em}.drawer-app-sub{font-size:.72rem;opacity:.85;margin-top:.15rem}.drawer-header-text{display:flex;flex-direction:column;min-width:0}.drawer-user-name{font-size:.78rem;font-weight:600;opacity:.95;margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user-email{font-size:.68rem;opacity:.75;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-nav{flex:1;padding:.75rem 0}.drawer-item{width:100%;display:flex;align-items:center;gap:.875rem;padding:.95rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s;border-radius:0}.drawer-item:active{background:#fff6f0}.drawer-item-icon{font-size:1.3rem;width:28px;text-align:center}.drawer-item-label{flex:1;font-size:.95rem;font-weight:600;color:#333}.drawer-item-arrow{font-size:1.1rem;color:#ccc}.drawer-section{border-top:1px solid #f0e8e8;border-bottom:1px solid #f0e8e8;margin-bottom:.5rem;padding:.5rem 0}.drawer-section-title{font-size:.68rem;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.08em;padding:.3rem 1.25rem .1rem}.drawer-item--baby{padding-top:.75rem;padding-bottom:.75rem}.drawer-item--active .drawer-item-label{color:#ff7043}.drawer-item-check{font-size:1rem;color:#ff7043;font-weight:700}.drawer-item-badge{font-size:.65rem;font-weight:700;color:#fff;background:#7e57c2;border-radius:8px;padding:.15rem .45rem;text-transform:uppercase;letter-spacing:.04em}.app-header-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.55);box-shadow:0 1px 5px #0000002e}.drawer-item-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid #f0e8e8}.app-header{background:linear-gradient(135deg,#ff9fb2,#ffb347);color:#fff;padding:1rem 1.25rem 1.15rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 10px #ff645040}.app-header-icon{font-size:2.4rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.app-header-text h1{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.app-header-text p{font-size:.78rem;opacity:.88;margin-top:.2rem;font-weight:400}.sleep-banner{margin:1rem 1rem 0;background:#fff;border-radius:18px;padding:1rem 1.1rem 1.1rem;border-left:4px solid #7E57C2;box-shadow:0 2px 14px #7e57c22e;display:flex;flex-direction:column;gap:.65rem}.sleep-banner-top{display:flex;align-items:center;gap:.75rem}.sleep-banner-emoji{font-size:1.9rem;line-height:1}.sleep-banner-title{font-size:.9rem;font-weight:700;color:#5e35b1}.sleep-banner-started{font-size:.74rem;color:#999;margin-top:.15rem}.sleep-banner-elapsed{font-size:2.2rem;font-weight:800;color:#5e35b1;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1}.btn-stop{background:#ef5350;color:#fff;border:none;border-radius:13px;padding:.8rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .18s,transform .1s;letter-spacing:.01em}.btn-stop:active{background:#c62828;transform:scale(.97)}.activities-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;padding:1rem;margin-top:.25rem}.activity-btn{background:var(--bg);border:2px solid transparent;border-radius:22px;padding:1.6rem 1rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer;transition:transform .12s,box-shadow .15s;box-shadow:0 2px 8px #00000012;user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative}.activity-btn:active{transform:scale(.95);box-shadow:0 1px 4px #00000014}.activity-btn--running{border-color:var(--clr);box-shadow:0 0 0 3px color-mix(in srgb,var(--clr) 25%,transparent);opacity:.75;cursor:default}.activity-btn--disabled{opacity:.5;cursor:default}.activity-emoji{font-size:3rem;line-height:1}.activity-label{font-size:1rem;font-weight:800;color:var(--clr);letter-spacing:-.01em}.activity-btn--add{--clr: #bbb;--bg: #f5f5f5;background:var(--bg);border:2px dashed #d0d0d0!important;box-shadow:none!important}.activity-btn--add .activity-emoji{font-size:2rem;color:#bbb}.activity-btn--add .activity-label{color:#bbb;font-weight:700}.activity-count{position:absolute;top:8px;right:10px;font-size:.65rem;font-weight:800;color:var(--clr);background:color-mix(in srgb,var(--clr) 18%,#fff);border-radius:99px;padding:.1rem .42rem;line-height:1.5;letter-spacing:.01em}.activity-hint{font-size:.65rem;color:#bbb;font-weight:400}.log-section{flex:1;padding:.25rem 1rem 1.5rem}.log-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.log-section-header h2{font-size:.8rem;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.1em}.log-count{background:#ffb347;color:#fff;font-size:.7rem;font-weight:700;border-radius:99px;padding:.1rem .45rem;line-height:1.4}.awake-time{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#4da3ff}.log-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem 2rem;gap:.5rem}.log-empty-icon{font-size:2.5rem}.log-empty p{font-size:.95rem;font-weight:600;color:#ccc}.log-empty-sub{font-size:.8rem!important;font-weight:400!important;color:#ddd!important}.log-list{list-style:none;display:flex;flex-direction:column;gap:.625rem}.swipe-wrapper{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 1px 5px #0000000f;animation:slide-in .22s ease}.swipe-delete-action{position:absolute;right:0;top:0;bottom:0;width:160px;display:flex}.swipe-edit-btn{flex:1;background:#5c6bc0;color:#fff;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:0;border-radius:0;transition:background .15s}.swipe-edit-btn:active{background:#3949ab}.swipe-delete-btn{flex:1;background:#ef5350;color:#fff;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:0;border-radius:0 14px 14px 0;transition:background .15s}.swipe-delete-btn:active{background:#c62828}.swipe-delete-icon{font-size:1.3rem;line-height:1}.swipe-delete-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.log-item{position:relative;z-index:1;background:#fff;border-radius:14px;padding:.825rem 1rem;display:flex;align-items:center;gap:.75rem;border-left:3px solid var(--clr);will-change:transform}.log-item--inprogress{background:color-mix(in srgb,var(--clr) 10%,#fff);border-left:4px solid var(--clr);box-shadow:0 0 color-mix(in srgb,var(--clr) 40%,transparent);animation:log-inprogress-glow 2s ease-in-out infinite}.log-item--inprogress .log-name{color:color-mix(in srgb,var(--clr) 80%,#000)}@keyframes log-inprogress-glow{0%,to{box-shadow:0 2px 8px color-mix(in srgb,var(--clr) 20%,transparent)}50%{box-shadow:0 4px 18px color-mix(in srgb,var(--clr) 45%,transparent)}}.log-extra--inprogress{display:flex;align-items:center;gap:.3rem;color:var(--clr);font-weight:700}.log-extra--inprogress:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--clr);animation:live-dot 1.2s ease-in-out infinite;flex-shrink:0}@keyframes live-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.log-emoji{font-size:1.65rem;line-height:1;flex-shrink:0}.log-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.log-name{font-size:.92rem;font-weight:700;color:#333}.log-time{font-size:.77rem;color:#999}.log-extra{font-size:.75rem;font-weight:700;color:var(--clr);margin-top:.05rem}.log-note{font-size:.75rem;font-weight:400;color:#888;margin-top:.15rem;white-space:pre-wrap;word-break:break-word}.log-date{font-size:.7rem;color:#ccc;flex-shrink:0;text-align:right}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:0 0 env(safe-area-inset-bottom,0);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:28px 28px 0 0;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom,0));width:100%;max-width:430px;text-align:center;animation:slide-up .24s cubic-bezier(.34,1.56,.64,1)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-emoji{font-size:3rem;margin-bottom:.75rem}.modal h3{font-size:1.3rem;font-weight:800;color:#222;margin-bottom:.5rem}.modal-duration{font-size:2rem;font-weight:800;color:#7e57c2;margin-bottom:.4rem}.modal-sub{font-size:.88rem;color:#999;margin-bottom:1.75rem}.modal-actions{display:flex;gap:.75rem}.modal-btn{flex:1;border:none;border-radius:14px;padding:.9rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.modal-btn:active{opacity:.85;transform:scale(.97)}.modal-btn--cancel{background:#f3f3f3;color:#555}.modal-btn--confirm{background:#ef5350;color:#fff}.modal-btn--save{background:#5c6bc0;color:#fff}.edit-log-fields{display:flex;flex-direction:column;gap:.875rem;margin:1.25rem 0 1.75rem;text-align:left}.edit-log-field{display:flex;flex-direction:column;gap:.3rem}.edit-log-label{font-size:.75rem;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.06em}.edit-log-input{width:100%;border:1.5px solid #E0E0E0;border-radius:10px;padding:.65rem .85rem;font-size:.95rem;font-family:inherit;color:#333;background:#fafafa;outline:none;transition:border-color .15s}.edit-log-input:focus{border-color:#5c6bc0;background:#fff}.edit-log-textarea{resize:vertical;min-height:72px;line-height:1.5}
