:root{--bg-top:#fff0f6;--bg-bot:#fff6e5;--card:#ffffff;--card-soft:#fff2f8;--accent:#ff9ec4;--accent-dark:#f4739f;--accent-soft:#ffdcec;--text:#4a3f4a;--text-dim:#9c8fa0;--border:rgba(74,63,74,.08);--green:#8fe0c4;--blue:#a3d8ff;--yellow:#ffe08a;--lavender:#c9b6f0;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--achievement-bg:#FFFDF9;--achievement-mustard:#F6C26B;--achievement-beige:#F8E8C8;--achievement-coral:#F59E8B;--achievement-text:#3F3F46}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,"Rounded Mplus 1c",-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden;background:#000;overscroll-behavior:none;touch-action:manipulation}body{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;width:100%}button{font-family:inherit;border:none;background:none}.stage{position:relative;width:100%;max-width:430px;height:100vh;height:100svh;height:100dvh;overflow:hidden;box-shadow:0 0 60px #00000040;background:linear-gradient(180deg,var(--bg-top),var(--bg-bot))}.screen{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(6px) scale(.99);transition:opacity .22s cubic-bezier(.25,.1,.25,1),transform .22s cubic-bezier(.25,.1,.25,1);padding-top:env(safe-area-inset-top);padding-bottom:calc(70px + env(safe-area-inset-bottom))}.screen.active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);z-index:2}.screen-scroll{flex:1;overflow-y:auto;padding:0 22px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.subpage-header{display:flex;align-items:center;gap:10px;padding:20px 22px 8px}.back-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card);box-shadow:0 2px 8px #0000000f;color:var(--text);font-size:16px;cursor:pointer;flex-shrink:0}.subpage-title{font-size:17px;font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subpage-desc{font-size:12.5px;color:var(--text-dim);line-height:1.7;padding:0 22px 12px}.mypage-hero{position:relative;margin:0 -22px;height:100px;overflow:hidden;background:linear-gradient(180deg,#cdeaf9,#fff6e0)}.mypage-hero svg{position:absolute;inset:0;width:100%;height:100%}.mypage-profile-text{margin:4px 0 6px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0 22px}.mypage-hero-mascot{width:96px;height:96px;flex-shrink:0}.mypage-profile-labels{text-align:left;margin-left:0}.account-field-link{font-size:11.5px;color:var(--accent-dark);margin-top:6px;cursor:pointer}.season-banner{position:relative;margin:4px 0 10px;height:100px;border-radius:20px;overflow:hidden;box-shadow:0 4px 14px #3d332c14}.season-banner svg{position:absolute;inset:0;width:100%;height:100%}.season-banner-label{position:absolute;left:12px;bottom:10px;z-index:2;background:rgba(255,255,255,.85);border-radius:12px;padding:6px 10px;font-size:11.5px;font-weight:700;color:var(--text)}.record-group{margin-bottom:8px}.record-group-title{font-size:11px;color:var(--text-dim);margin:0 0 4px;font-weight:700}.record-row{display:flex;gap:8px}.record-btn{position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;min-height:70px;justify-content:center;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d;color:var(--text);cursor:pointer;transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;touch-action:manipulation}.record-btn:active{transform:scale(.97)}.record-btn.recorded{animation:btn-recorded .55s cubic-bezier(.34,1.56,.64,1)}@keyframes btn-recorded{0%{transform:scale(.94);box-shadow:0 0 #6bcb778c}45%{transform:scale(1.09);box-shadow:0 0 0 6px #6bcb7747}to{transform:scale(1);box-shadow:0 3px 10px #3d332c0d}}.record-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.82);border-radius:var(--radius-md);pointer-events:none;animation:check-pop .85s ease forwards}.record-check svg{width:34px;height:34px}@keyframes check-pop{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.06)}30%{transform:scale(1)}72%{opacity:1}to{opacity:0;transform:scale(1)}}.record-btn .count.bumped{animation:count-bump .7s ease}@keyframes count-bump{0%{transform:scale(1);color:var(--text-dim)}30%{transform:scale(1.5);color:#3fa84f;font-weight:700}to{transform:scale(1);color:var(--text-dim)}}.record-log-item.just-added{animation:row-flash 1.4s ease}@keyframes row-flash{0%{background:rgba(107,203,119,.3);transform:translate(-6px)}25%{transform:translate(0)}to{background:transparent}}.record-btn.pressed{animation:btn-pop .3s ease}.record-btn.sleeping,.record-btn.walking{box-shadow:0 0 0 2px var(--accent-soft),0 3px 10px #3d332c0d}@keyframes btn-pop{0%{transform:scale(.9)}40%{transform:scale(1.08);box-shadow:0 0 0 5px var(--accent-soft)}to{transform:scale(1);box-shadow:0 3px 10px #3d332c0d}}.record-btn .ripple{position:absolute;border-radius:50%;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,rgba(255,157,118,.4),transparent 70%);pointer-events:none;animation:ripple-out .5s ease-out forwards}@keyframes ripple-out{0%{transform:translate(-50%,-50%) scale(0);opacity:.85}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.record-btn[data-record=授乳] .icon-wrap{background:#ffdcec}.record-btn[data-record=ミルク] .icon-wrap{background:#dceeff}.record-btn[data-record=ごはん] .icon-wrap{background:#fff2c9}.record-btn[data-record=おしっこ] .icon-wrap{background:#d8f0ff}.record-btn[data-record=うんち] .icon-wrap{background:#f3e6d0}.record-btn[data-record=おむつ] .icon-wrap{background:#f5e3cc}.record-btn[data-record=寝る] .icon-wrap{background:#e6dcfb}.record-btn[data-record=お薬] .icon-wrap{background:#ffe0e0}.record-btn[data-record=体温] .icon-wrap{background:#ffe9dc}.record-btn[data-record=おさんぽ] .icon-wrap{background:#e2f3df}#walkManualBtn .icon-wrap{background:#eef3ea}.record-btn[data-record=お風呂] .icon-wrap{background:#d6f3f5}.record-btn .icon-wrap{width:38px;height:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;padding:2px}.record-btn .label{font-size:11px;font-weight:700}.record-btn .count{font-size:10px;color:var(--text-dim)}.seasonal-screen{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.seasonal-deco{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.seasonal-header{display:flex;align-items:center;gap:10px;padding:20px 22px 4px;position:relative;z-index:2}.seasonal-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:36px 26px 30px;text-align:center;overflow-y:auto;position:relative;z-index:1}.seasonal-greeting{font-size:16px;font-weight:700;color:#5a4a42;line-height:1.7;margin-bottom:10px}.seasonal-sub{font-size:13px;color:#8a7a72;line-height:1.8;margin-bottom:18px}.seasonal-bubble{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.75);border-radius:18px;padding:16px 18px;max-width:280px;box-shadow:0 4px 14px #5a463c14}.seasonal-bubble-text{font-size:13px;color:#6a5a52;text-align:center;line-height:1.8}.seasonal-input-wrap{width:100%;max-width:280px;margin-top:20px;text-align:left}.seasonal-input-label{font-size:12px;color:#8a7a72;font-weight:700;margin-bottom:6px}.seasonal-textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:14px;border:1px solid rgba(90,70,60,.15);background:rgba(255,255,255,.85);font-family:inherit;font-size:14px;resize:vertical;min-height:64px}.seasonal-save-btn{margin-top:12px;width:100%;max-width:280px;padding:13px;border-radius:999px;background:#ff9ec4;color:#fff;font-weight:700;font-size:14px;text-align:center;box-shadow:0 4px 12px #ff9ec459}.seasonal-save-btn:active{transform:scale(.97)}.seasonal-saved-note{margin-top:10px;font-size:11.5px;color:#8a7a72}.seasonal-past-list{margin-top:22px;padding-top:16px;border-top:1px dashed rgba(90,70,60,.18)}.seasonal-past-title{font-size:11.5px;font-weight:700;color:#8a7a72;margin-bottom:8px}.seasonal-past-row{display:flex;gap:8px;padding:9px 0;font-size:12.5px;color:#6a5a52;line-height:1.6;border-bottom:1px dashed rgba(90,70,60,.1)}.seasonal-past-row:last-child{border-bottom:none}.seasonal-past-year{flex-shrink:0;font-weight:700;color:#8a7a72}.seasonal-past-text{flex:1;word-break:break-word}.sleep-summary{margin:2px 22px 0;padding:8px 16px;border-radius:var(--radius-md);background:var(--card-soft);font-size:12.5px;color:var(--text-dim);text-align:center}.sleep-summary .value{font-size:14px;font-weight:700;color:var(--accent-dark)}.elapsed-time-bar{display:flex;gap:8px;margin:8px 22px;padding:0}.elapsed-time-item{flex:1;padding:8px 6px;border-radius:var(--radius-md);background:var(--card-soft);text-align:center;display:flex;flex-direction:column;justify-content:center;gap:2px}.elapsed-time-label{font-size:9.5px;color:var(--text-dim);font-weight:700}.elapsed-time-item span{font-size:13px;font-weight:700;color:#ff6b9d;font-family:monospace}.record-log{margin:8px 22px 0;padding:14px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d;min-height:200px}.record-log-title{font-size:12px;color:var(--text-dim);font-weight:700;margin-bottom:8px}.record-log-hint{font-size:10.5px;opacity:.7;margin-left:6px;font-weight:400}.record-log-item{font-size:12.5px;color:var(--text);padding:15px 0;border-bottom:1px dashed var(--border);display:flex;align-items:center;gap:8px;min-height:28px;line-height:1.4}.record-log-item .log-label{flex:1}.record-log-item .log-time{color:var(--text-dim);font-size:11.5px}.record-log-item .log-delete{width:38px;height:38px;margin:-8px -8px -8px 0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-dim);background:var(--card-soft);cursor:pointer;flex-shrink:0;transition:background .2s}.record-log-item .log-delete:active{transform:scale(.9);background:#f3d9d9}.record-log-item.editable{cursor:pointer}.log-edit-hint{color:var(--text-dim);font-size:13px}.record-log-empty{font-size:12px;color:var(--text-dim);text-align:center;padding:10px 0}.history-tabs{display:flex;gap:8px;margin:0 22px 14px}.history-tab{flex:1;text-align:center;padding:9px;border-radius:999px;background:var(--card);box-shadow:0 2px 8px #3d332c0d;font-size:12px;color:var(--text-dim);cursor:pointer;font-weight:700}.history-tab.active{background:var(--accent);color:#fff}.history-daylist{display:flex;flex-direction:column;gap:10px}.day-stat-card{padding:14px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d}.day-stat-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.day-stat-date{font-size:13px;font-weight:700;color:var(--text)}.day-stat-sleep{font-size:11px;color:var(--text-dim)}.day-stat-icons{display:flex;flex-wrap:wrap;gap:10px}.day-stat-icon-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.day-stat-icon-item .icon-wrap{width:16px;height:16px}.chart-card{margin:0 22px 14px;padding:14px 14px 6px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d}.sleep-compare{margin:-8px 22px 12px;font-size:11.5px;color:var(--text-dim);text-align:center}.sleep-compare .up{color:#4fc47f;font-weight:700}.sleep-compare .down{color:#f4739f;font-weight:700}.today-summary-card{margin:0 22px 12px;padding:12px 16px;border-radius:var(--radius-lg);background:var(--card);box-shadow:0 4px 14px #3d332c0f;display:flex;gap:16px;align-items:center}.today-summary-title{font-size:11px;font-weight:700;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.today-summary-rows{display:flex;gap:20px;flex:1}.today-summary-row{display:flex;align-items:center;gap:6px;padding:0}.today-summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.today-summary-label{flex:0 0 auto;font-size:12px;color:var(--text);font-weight:600}.today-summary-value{font-size:13px;font-weight:700;color:var(--accent-dark);flex-shrink:0}.since-last-row{display:flex;gap:10px;margin:0 22px 16px;overflow-x:auto}.since-last-chip{flex:1 0 auto;min-width:130px;padding:11px 14px;border-radius:var(--radius-md);background:var(--card-soft);display:flex;align-items:center;gap:8px}.since-last-icon{width:32px;height:32px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px}.since-last-text{font-size:11px;color:var(--text-dim);line-height:1.4}.since-last-text b{display:block;font-size:13px;color:var(--text);font-weight:700}.chart-card-title{font-size:12px;font-weight:700;color:var(--text-dim);margin-bottom:4px}.history-chart{display:flex;flex-direction:column;gap:14px}.history-bar-row{display:flex;align-items:center;gap:10px}.history-bar-icon{width:24px;height:24px;flex-shrink:0}.history-bar-label{width:52px;font-size:12px;color:var(--text-dim);flex-shrink:0}.history-bar-track{flex:1;height:12px;border-radius:999px;background:var(--card-soft);overflow:hidden}.history-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .5s ease}.history-bar-count{width:32px;text-align:right;font-size:12px;color:var(--text);flex-shrink:0}.account-field{margin-bottom:18px}.account-field-label{font-size:11.5px;color:var(--text-dim);margin-bottom:6px;font-weight:700;display:flex;align-items:center;gap:5px}.account-field-emoji{font-size:14px}.account-input{width:100%;padding:11px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:16px;font-family:inherit;outline:none}.account-input:focus{border-color:var(--accent);background:var(--card-soft)}.account-info-note{font-size:11px;color:var(--text-dim);margin-top:6px;line-height:1.5}.role-toggle{display:flex;gap:8px}.role-option{flex:1;text-align:center;padding:10px;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:13px;color:var(--text-dim);cursor:pointer;transition:all .2s ease}.role-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.account-icon-label{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;vertical-align:middle}.account-action-btn{margin-top:8px;padding:9px 14px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;text-align:center;cursor:pointer;transition:transform .15s ease}.account-action-btn:active{transform:scale(.96)}.toggle-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-right:4px}.food-stage-tabs{display:flex;gap:6px;margin:0 22px 16px}.food-stage-tab{flex:1;text-align:center;padding:8px 4px;border-radius:14px;font-size:11px;font-weight:700;color:var(--text-dim);background:var(--card-soft);cursor:pointer;line-height:1.5}.food-stage-tab .stage-sub{display:block;font-size:8.5px;font-weight:400;opacity:.8}.food-stage-tab.active{background:#e0a23a;color:#fff}.food-category-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d;margin-bottom:10px;cursor:pointer}.food-category-icon{width:36px;height:36px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center}.food-category-info{flex:1;min-width:0}.food-category-name{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:7px;display:flex;justify-content:space-between}.food-category-count{font-size:11px;color:var(--text-dim);font-weight:400}.food-progress-track{height:7px;border-radius:99px;background:var(--card-soft);overflow:hidden}.food-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.food-category-row .chevron{color:var(--text-dim);font-size:16px;margin-left:2px}.food-filter-tabs{display:flex;gap:8px;margin:14px 22px 12px}.food-filter-tab{padding:7px 16px;border-radius:999px;font-size:12px;font-weight:700;color:var(--text-dim);background:var(--card-soft);cursor:pointer}.food-filter-tab.active{background:#e0a23a;color:#fff}.food-item-row{display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 2px 8px #3d332c0a;margin-bottom:8px}.food-item-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.food-item-check.checked{background:#6BCB77;border-color:#6bcb77}.food-item-name{flex:1;font-size:13.5px;color:var(--text);font-weight:600;min-width:0}.food-item-stage-tag{font-size:9.5px;color:var(--text-dim);font-weight:400;margin-top:2px}.food-item-date{font-size:10.5px;color:var(--text-dim);text-align:right;flex-shrink:0}.food-item-edit-btn{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.55;margin-left:2px}.food-item-edit-btn:active{opacity:.9}.food-item-edit-btn.has-note{opacity:1;background:#fdf1d9}.food-item-allergy-badge{font-size:9.5px;color:#fff;background:#ff7a6e;padding:2px 7px;border-radius:999px;font-weight:700;flex-shrink:0}.food-note-area{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);font-family:inherit;font-size:13.5px;resize:vertical;min-height:64px;margin-top:4px}.food-age-note{font-size:11.5px;color:var(--text-dim);background:var(--card-soft);border-radius:999px;padding:5px 12px;display:inline-block;margin-top:6px}.food-delete-btn{margin-top:16px;text-align:center;color:#e0685c;font-size:13px;font-weight:700;cursor:pointer;padding:10px}.food-celebrate{position:relative;margin:0 22px 16px;padding:20px 16px;border-radius:var(--radius-md);text-align:center;background:linear-gradient(135deg,#fff3d6,#ffe6c9);box-shadow:0 4px 14px #e6b4642e;overflow:hidden}.food-celebrate-deco{position:absolute;inset:0;pointer-events:none}.food-celebrate-title{position:relative;font-size:15px;font-weight:700;color:#a97a2a;margin-bottom:4px}.food-celebrate-sub{position:relative;font-size:12px;color:#b8935a}.allergy-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 2px 8px #3d332c0a;margin-bottom:8px}.allergy-icon{width:32px;height:32px;flex-shrink:0;border-radius:11px;background:#ffe4e0;display:flex;align-items:center;justify-content:center}.allergy-info{flex:1;min-width:0}.allergy-name{font-size:13.5px;font-weight:700;color:var(--text)}.allergy-note{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.5}.allergy-delete{color:var(--text-dim);font-size:20px;padding:4px 6px;cursor:pointer;flex-shrink:0}.food-add-btn{margin:4px 22px 20px;padding:13px;border-radius:999px;text-align:center;cursor:pointer;font-weight:700;font-size:13.5px}.allergy-warn-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}.allergy-warn-icon{width:38px;height:38px;flex-shrink:0}.allergy-warn-title{font-size:15px;font-weight:700;color:var(--text)}.allergy-warn-body{background:#fff5f3;border-radius:var(--radius-md);padding:13px 15px;margin-bottom:12px}.allergy-warn-item{font-size:12.5px;color:var(--text);line-height:1.7;padding:5px 0}.allergy-warn-item+.allergy-warn-item{border-top:1px dashed rgba(90,70,60,.1)}.allergy-warn-sev{display:inline-block;font-size:9.5px;font-weight:700;color:#fff;padding:2px 8px;border-radius:999px;margin-right:6px}.allergy-warn-note{color:var(--text-dim);font-size:11.5px;margin-top:2px;line-height:1.6}.allergy-warn-caution{font-size:11px;color:var(--text-dim);line-height:1.7;text-align:center;margin-bottom:6px}.allergy-group-hint{margin-top:8px;font-size:11px;color:#c87f2a;background:#fff6e5;border-radius:12px;padding:8px 11px;line-height:1.6}.allergy-sev-tag{display:inline-block;font-size:9.5px;font-weight:700;color:#fff;padding:2px 8px;border-radius:999px;margin-right:6px;vertical-align:middle}.food-safety-note{margin:0 22px 18px;font-size:10.5px;color:var(--text-dim);line-height:1.7;text-align:center;background:var(--card-soft);border-radius:var(--radius-md);padding:11px 14px}.specified-allergen-note{margin:2px 22px 16px;font-size:10.5px;color:var(--text-dim);line-height:1.7;background:var(--card-soft);border-radius:var(--radius-md);padding:11px 14px}.specified-allergen-group-title{margin:0 22px 8px;font-size:12px;font-weight:700;color:var(--text-dim)}.specified-allergen-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 22px 18px}.specified-allergen-chip{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 2px 8px #3d332c0a;cursor:pointer;border:1.5px solid transparent}.specified-allergen-chip.checked{background:#fff5f3;border-color:#ff8a7a}.specified-allergen-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center}.specified-allergen-chip.checked .specified-allergen-check{background:#ff8a7a;border-color:#ff8a7a}.specified-allergen-name{font-size:12.5px;font-weight:600;color:var(--text);min-width:0}.food-recommend-card{position:relative;margin:2px 22px 18px;padding:16px;border-radius:var(--radius-md);box-shadow:0 4px 14px #3d332c0f;overflow:hidden}.food-recommend-label{font-size:11.5px;font-weight:700;color:var(--text-dim);margin-bottom:8px}.food-recommend-body{display:flex;align-items:center;gap:12px}.food-recommend-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.food-recommend-name{font-size:17px;font-weight:700;color:var(--text)}.food-recommend-sub{font-size:11.5px;color:var(--text-dim);margin:6px 0 12px;padding-left:56px}.food-recommend-btn{display:inline-block;padding:9px 22px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:12.5px;cursor:pointer}.food-recommend-another{font-size:11.5px;color:var(--text-dim);text-decoration:underline;cursor:pointer}.food-remain-badge{font-size:10px;font-weight:700;color:#fff;background:#e0a23a;padding:2px 8px;border-radius:999px;margin-left:6px;white-space:nowrap}.food-remain-badge.complete{background:#6BCB77}.food-sort-note{margin:0 22px 10px;font-size:11px;color:var(--text-dim);text-align:right}.food-celebrate.enhanced{padding:24px 16px 20px}.food-celebrate-ribbon{position:relative;display:inline-block;padding:6px 22px;border-radius:999px;background:#e0a23a;color:#fff;font-weight:700;font-size:13px;margin-bottom:10px}.food-celebrate-fraction{position:relative;font-size:30px;font-weight:800;color:#a97a2a;margin:4px 0 2px;font-family:Zen Maru Gothic,sans-serif}.food-celebrate-fraction span{font-size:16px;font-weight:700;opacity:.6}#foodCompleteOverlay .record-modal{text-align:center}.food-complete-card{position:relative;padding:26px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#fff3d6,#ffe6c9);overflow:hidden}.food-complete-deco{position:absolute;inset:0;pointer-events:none}.food-complete-ribbon{position:relative;display:inline-block;padding:8px 26px;border-radius:999px;background:#e0a23a;color:#fff;font-weight:700;font-size:15px;margin-bottom:14px;box-shadow:0 3px 10px #e0a23a59}.food-complete-catname{position:relative;font-size:17px;font-weight:700;color:var(--text);margin-bottom:6px}.food-complete-fraction{position:relative;font-size:40px;font-weight:800;color:#a97a2a;margin:6px 0;font-family:Zen Maru Gothic,sans-serif}.food-complete-fraction span{font-size:18px;opacity:.6}.food-complete-sub{position:relative;font-size:12.5px;color:#b8935a;margin-top:6px}.food-complete-close{margin-top:18px;padding:12px;border-radius:999px;background:#fff;color:#a97a2a;font-weight:700;font-size:13.5px;text-align:center;cursor:pointer;box-shadow:0 2px 8px #0000000f}.onboarding.splash-mode #onbStart,.onboarding.splash-mode #onbSkipAll{display:none}.onboarding.splash-mode .onb-tap-hint{display:block}.onb-tap-hint{display:none;margin-top:20px;font-size:12px;color:var(--text-dim);animation:tap-hint-fade 1.6s ease-in-out infinite}@keyframes tap-hint-fade{0%,to{opacity:.35}50%{opacity:.9}}.mypage-name{font-size:16px;font-weight:700;color:var(--text)}.mypage-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.mypage-list{display:flex;flex-direction:column;gap:6px;margin:0 0 6px;padding:0 22px}.mypage-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:var(--radius-md);background:var(--card);box-shadow:0 3px 10px #3d332c0d;cursor:pointer;transition:transform .15s ease}.mypage-row:active{transform:scale(.98)}.mypage-row .icon-wrap{width:23px;height:23px;flex-shrink:0}.mypage-row .row-label{flex:1;font-size:13.5px;font-weight:700;color:var(--text)}.mypage-row .row-sub{font-size:10.5px;font-weight:400;color:var(--text-dim);margin-top:2px;opacity:.85}.mypage-row .chevron{color:var(--text-dim);font-size:14px}.record-modal-overlay{position:absolute;inset:0;z-index:25;display:flex;align-items:flex-end;justify-content:center;background:rgba(61,51,44,.35);opacity:0;pointer-events:none;transition:opacity .25s ease}.record-modal-overlay.show{opacity:1;pointer-events:auto}.record-modal-overlay.show .record-modal{transform:translateY(0)}.record-modal{width:100%;max-width:430px;padding:10px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -8px 30px #0003;transform:translateY(24px);transition:transform .28s cubic-bezier(.32,.72,0,1)}.record-modal:before{content:"";display:block;width:36px;height:5px;border-radius:3px;background:#d8d0c8;margin:8px auto 14px}.record-modal-title{font-size:15px;font-weight:700;color:var(--text);text-align:center;margin-bottom:16px}.record-modal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.record-modal-row label{font-size:13px;color:var(--text)}.record-modal-row .account-input{width:auto;min-width:110px;padding:9px 10px;text-align:center}.record-modal-actions{display:flex;gap:10px;margin-top:8px}.record-modal-cancel{flex:1;text-align:center;padding:13px;border-radius:999px;background:var(--card-soft);color:var(--text-dim);font-size:13px;cursor:pointer;transition:background .2s}.record-modal-confirm{flex:1;text-align:center;padding:13px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;cursor:pointer;font-weight:700;transition:background .2s}.record-modal-cancel:active,.record-modal-confirm:active{transform:scale(.95);opacity:.9}.record-log-item .log-delete:active{background:#f0d0d0;transform:scale(.9)}.record-modal-row-label{font-size:12px;color:var(--text-dim);margin-bottom:8px;font-weight:700}.modal-choice-row{display:flex;gap:8px;flex-wrap:wrap}.modal-choice-btn{padding:8px 13px;border-radius:999px;background:var(--card-soft);border:1px solid var(--border);font-size:12px;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;gap:6px}.modal-choice-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark);font-weight:700}.nursing-timer-row{display:flex;gap:12px;margin-bottom:16px}.nursing-timer-side{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:var(--radius-md);background:var(--card-soft)}.nursing-timer-label{font-size:12px;font-weight:700;color:var(--text-dim)}.nursing-timer-display{font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.nursing-timer-btn{width:100%;text-align:center;padding:9px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:12.5px;font-weight:700;color:var(--accent-dark);cursor:pointer}.nursing-timer-btn.running{background:var(--accent);border-color:var(--accent);color:#fff}.nursing-timer-btn:active{transform:scale(.96)}.nursing-timer-total{text-align:center;font-size:12.5px;color:var(--text-dim);margin-bottom:16px}.mom-med-toggle{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--card-soft);cursor:pointer;font-size:12.5px;color:var(--text);margin-bottom:6px}.mom-med-toggle-check{width:20px;height:20px;border-radius:7px;border:2px solid var(--border);background:#fff;flex-shrink:0;position:relative}.mom-med-toggle.on .mom-med-toggle-check{background:var(--accent);border-color:var(--accent)}.mom-med-toggle.on .mom-med-toggle-check:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700}.mom-med-panel{padding:12px 2px 4px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-around;align-items:center;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 16px #3d332c14;border-radius:24px 24px 0 0}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--text-dim);cursor:pointer;transition:transform .12s ease,color .15s ease;touch-action:manipulation}.nav-item:active{transform:scale(.88)}.nav-item.active{color:var(--accent-dark)}.nav-item .icon-wrap{width:25px;height:25px}.onboarding{position:absolute;inset:0;z-index:30;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(40px + env(safe-area-inset-top)) 30px calc(40px + env(safe-area-inset-bottom));background:linear-gradient(160deg,#ffe3ef 0%,#fff3d6 35%,#dff3ea 68%,#e0eefc 100%);overflow:hidden}.onboarding.show{display:flex}.onb-blob{position:absolute;border-radius:50%;opacity:.55;filter:blur(2px);pointer-events:none;animation:onb-float 7s ease-in-out infinite}@keyframes onb-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.06)}}.onb-step{display:none;flex-direction:column;align-items:center;width:100%;max-width:320px;animation:onb-fade .4s ease;position:relative;z-index:1}.onb-step.active{display:flex}@keyframes onb-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onb-icon{width:88px;height:88px;margin-bottom:20px;filter:drop-shadow(0 6px 14px rgba(232,126,86,.25))}.onb-title{font-family:Zen Maru Gothic,serif;font-size:44px;font-weight:700;margin-bottom:18px;letter-spacing:.02em;background:linear-gradient(100deg,#ff8fab 0%,#ffb56b 30%,#7fd1a8 65%,#7fb5e6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 3px 0 rgba(255,255,255,.6))}.onb-welcome-text{font-size:15px;font-weight:700;color:#6b5a4e;line-height:2;margin-bottom:32px}.onb-q{font-size:18px;font-weight:700;color:var(--text);margin-bottom:22px}.onb-input{width:100%;padding:13px 16px;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:15px;font-family:inherit;outline:none;text-align:center}.onb-input[type=date],select.onb-input{text-align:center;text-align-last:center}.onb-scroll-select{padding:10px 28px 10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:16px;font-family:inherit;outline:none;text-align:center;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.onb-scroll-select::-webkit-scrollbar{width:8px}.onb-scroll-select::-webkit-scrollbar-track{background:#f5f5f5}.onb-scroll-select::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.onb-hint{font-size:11px;color:var(--text-dim);margin-top:10px}.onb-choice-col{display:flex;flex-direction:column;gap:10px;width:100%}.onb-choice{padding:14px;border-radius:14px;background:#fff;border:1px solid var(--border);color:var(--text);font-size:14px;cursor:pointer;transition:all .15s ease}.onb-choice:active{transform:scale(.98)}.onb-choice.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark);font-weight:700;box-shadow:0 4px 12px #f4739f40}.onb-btn{margin-top:28px;width:100%;padding:17px;border-radius:999px;cursor:pointer;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ffb3d9,#ff8fc4);box-shadow:0 10px 22px #ff8fc466}.onb-btn:active{transform:scale(.98)}.onb-skip{margin-top:16px;font-size:12px;color:var(--text-dim);cursor:pointer;text-decoration:underline}.toast{position:absolute;bottom:100px;left:50%;transform:translate(-50%);background:#3d332c;color:#fff;padding:10px 20px;border-radius:999px;font-size:12px;opacity:0;transition:opacity .3s ease;z-index:20;pointer-events:none;white-space:nowrap}.toast.show{opacity:1}@keyframes onbChoiceActive{0%{transform:scale(1);box-shadow:0 4px 12px #f4739f26}50%{transform:scale(1.12);box-shadow:0 10px 28px #f4739f66}to{transform:scale(1);box-shadow:0 4px 12px #f4739f40}}@keyframes choiceBounce{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{animation-duration:1ms!important;animation-iteration-count:1!important}}.child-switcher{position:relative;margin:10px 22px 0;z-index:5}.child-switcher-current{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--card);border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:700;color:var(--text);cursor:pointer;box-shadow:0 2px 8px #d690a41f}.child-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:160px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px #78505a2e;overflow:hidden}.child-switcher-item{padding:11px 16px;font-size:13px;font-weight:700;color:var(--text);cursor:pointer}.child-switcher-item:active{background:var(--card-soft)}.child-switcher-item.active{background:var(--card-soft);color:#ff6b9d}.child-switcher-item.add{border-top:1px solid var(--border);color:var(--text-dim)}.child-edit-btn{flex:none;font-size:11px;font-weight:700;color:var(--text-dim);padding:5px 10px;border:1px solid var(--border);border-radius:999px;margin-right:2px}
