@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans JP,sans-serif;color:#25312b;background:#f7f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{max-width:1040px;margin:auto;padding:28px 34px 72px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;letter-spacing:-.07em}.brand-mark{width:27px;height:27px;border-radius:50%;border:7px solid #ec8061;border-left-color:#dce5da;transform:rotate(-32deg)}.top-actions{display:flex;gap:10px}.icon-btn{width:42px;height:42px;border:1px solid #e5e9e2;background:#fff;border-radius:14px;display:grid;place-items:center;color:#526159}.icon-btn:hover,.nav button:hover,.date-arrow:hover{background:#eff2ec}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:24px}.page-title{font-size:13px;color:#85918a;font-weight:700;letter-spacing:.12em;margin:0 0 8px}.date-row{display:flex;align-items:center;gap:10px;margin-bottom:23px}.date-row h1{font-size:32px;letter-spacing:-.055em;margin:0;line-height:1.3}.date-arrow{background:transparent;border:0;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#728078}.today-pill{border:0;border-radius:99px;background:#e8eee7;color:#496455;font-size:12px;font-weight:700;padding:7px 12px}.hero{background:#fff;border:1px solid #edf0e9;border-radius:28px;min-height:292px;padding:27px 30px;box-shadow:0 8px 32px #31433908;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-copy{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.eyebrow{font-size:12px;color:#8a978d;font-weight:700;letter-spacing:.12em}.hero-number{font-size:55px;font-weight:700;letter-spacing:-.075em;line-height:1}.hero-number small{font-size:15px;letter-spacing:0;color:#8d9991;margin-left:7px}.hero-note{font-size:13px;color:#8a978d;line-height:1.7}.hero-note strong{color:#46594c}.ring{width:205px;height:205px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ee8265 var(--angle),#e8eee7 var(--angle));position:relative}.ring:before{content:"";position:absolute;inset:21px;background:#fff;border-radius:50%}.ring-inner{z-index:1;text-align:center}.ring-inner .icon{width:25px;height:25px;color:#ed8063}.ring-caption{font-size:12px;font-weight:600;color:#9ba79f;margin-top:6px}.ring-value{font-size:19px;font-weight:700;letter-spacing:-.04em}.stats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0 26px}.stat{background:#fff;border:1px solid #edf0e9;border-radius:22px;padding:19px 20px}.stat-head{display:flex;align-items:center;gap:8px;font-size:13px;color:#7d8a81;font-weight:600}.stat-dot{width:10px;height:10px;border-radius:50%;background:#ed8063}.stat-dot.green{background:#68a58d}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.055em;margin-top:12px}.stat-value span{font-size:12px;color:#9aa59d;font-weight:500;letter-spacing:0;margin-left:3px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 13px}.section-head h2{font-size:19px;letter-spacing:-.035em;margin:0}.mini-label{font-size:12px;color:#9aa59d}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action{border:0;border-radius:19px;text-align:left;color:#fff;padding:22px 20px;display:flex;align-items:center;justify-content:space-between;min-height:91px;transition:transform .15s,box-shadow .15s}.action:hover{transform:translateY(-2px);box-shadow:0 9px 20px #34483c20}.action.food{background:#ed8063}.action.exercise{background:#65a28a}.action-title{font-size:17px;font-weight:700}.action-sub{font-size:11px;opacity:.85;margin-top:4px}.action .plus{font-size:29px;font-weight:300}.activity-card,.calendar-card,.summary-card,.settings-card{background:#fff;border:1px solid #edf0e9;border-radius:24px;padding:22px}.activity-card{min-height:300px}.entry{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f1f2ee}.entry:last-child{border-bottom:0}.entry-icon{width:40px;height:40px;flex:none;border-radius:13px;background:#fff0e9;color:#dc765b;display:grid;place-items:center}.entry-icon.exercise{background:#e8f4ed;color:#5a9a7b}.entry-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{font-size:11px;color:#a0aaa2;margin-top:3px}.entry-cal{margin-left:auto;font-weight:700;font-size:15px;white-space:nowrap}.entry-cal small{font-size:10px;color:#a1aaa2;font-weight:500}.entry-menu{background:none;border:0;color:#a1aaa2;padding:5px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:210px;color:#a1ada4;gap:10px}.empty-icon{width:64px;height:64px;border-radius:21px;background:#f3f6f0;display:grid;place-items:center;color:#9cb6a6}.empty strong{color:#627267;font-size:14px}.empty span{font-size:12px}.side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.side-head h2{margin:0;font-size:19px;letter-spacing:-.035em}.month-nav{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.month-nav button{border:0;background:#f5f7f3;border-radius:8px;width:25px;height:25px;color:#617165}.calendar-card{margin-bottom:17px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays div{text-align:center;color:#b0bab0;font-size:11px;font-weight:700;margin-bottom:8px}.day{aspect-ratio:1;border:0;background:transparent;border-radius:11px;position:relative;color:#55635a;font-size:12px;display:grid;place-items:center}.day:hover{background:#f0f3ed}.day.out{opacity:.25}.day.selected{background:#334a3b;color:#fff}.day.today:not(.selected){outline:1px solid #a5bdae}.day.has:after{content:"";width:4px;height:4px;background:#ee8c6e;border-radius:50%;position:absolute;bottom:5px}.day.selected:after{background:#fff}.summary-card{padding:22px}.summary-figures{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.summary-figure{background:#f8f9f5;border-radius:16px;padding:14px}.summary-figure span{color:#96a298;font-size:11px}.summary-figure strong{display:block;font-size:22px;letter-spacing:-.04em;margin-top:4px}.summary-figure small{font-size:10px;color:#9da9a0;font-weight:500;margin-left:3px}.legend{display:flex;gap:13px;color:#98a49a;font-size:10px;justify-content:flex-end;margin-bottom:8px}.legend i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:5px}.chart{height:140px;display:flex;align-items:stretch;gap:3px;border-bottom:1px solid #e4eae2;padding:0 0 5px}.chart-day{flex:1;display:flex;gap:2px;align-items:end;justify-content:center;min-width:0}.bar{width:42%;border-radius:3px 3px 0 0;min-height:0}.bar.food{background:#ed8063}.bar.exercise{background:#71ad94}.chart-labels{display:flex;justify-content:space-between;margin-top:6px;color:#a4afa5;font-size:10px}.nav{display:flex;gap:4px;background:#fff;border:1px solid #edf0e9;border-radius:17px;padding:5px}.nav button{border:0;background:transparent;color:#94a197;padding:9px 15px;border-radius:12px;font-size:12px;font-weight:700}.nav button.active{background:#e9f1ea;color:#3e6d51}.month-view{grid-column:1/-1}.month-layout{display:grid;grid-template-columns:330px 1fr;gap:20px}.month-view .summary-card{margin-top:0}.month-view .chart{height:260px;gap:5px}.month-view .summary-figures{grid-template-columns:repeat(3,1fr)}.month-list{margin-top:18px}.month-list-item{display:flex;justify-content:space-between;padding:11px 1px;border-bottom:1px solid #f0f2ed;font-size:13px;color:#7e8c82}.month-list-item strong{color:#34483a}.overlay{position:fixed;inset:0;background:#1b2b2170;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal{background:#fff;border-radius:27px;width:min(100%,440px);padding:25px;box-shadow:0 24px 60px #13271935;max-height:calc(100dvh - 32px);overflow:auto}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.modal-top h2{font-size:21px;margin:0}.close{border:0;background:#f3f5f1;width:32px;height:32px;border-radius:10px;font-size:21px;color:#6d7b70}.kind-switch{display:flex;background:#f3f6f1;border-radius:13px;padding:4px;margin-bottom:19px}.kind-switch button{width:50%;border:0;background:transparent;border-radius:10px;padding:10px;color:#8c9a8f;font-size:13px;font-weight:700}.kind-switch button.active{background:#fff;box-shadow:0 2px 8px #294c3210;color:#344d3b}.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:700;color:#6c7d70;margin-bottom:7px}.field input,.field select{width:100%;background:#fbfcf9;border:1px solid #e4eae2;border-radius:13px;padding:12px 13px;outline:none;color:#28392d}.field input:focus,.field select:focus{border-color:#70a88b;box-shadow:0 0 0 3px #70a88b20}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.save{width:100%;border:0;border-radius:14px;background:#334e3e;color:#fff;font-weight:700;padding:14px;margin-top:6px}.save:hover{background:#243c2e}.delete{border:0;background:transparent;color:#d27668;padding:12px 0 0;font-size:12px;font-weight:700;width:100%}.settings-card{margin-bottom:12px}.settings-title{font-size:13px;font-weight:700;margin-bottom:13px}.settings-copy{font-size:12px;color:#8d9a90;line-height:1.7}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #eef1ec;font-size:13px}.settings-row button,.soft-button{border:1px solid #e1e7df;background:#f8faf6;border-radius:10px;padding:8px 12px;color:#3f6950;font-size:12px;font-weight:700}.settings-row input{width:92px;text-align:right;padding:8px;border:1px solid #e1e7df;border-radius:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#283f30;color:#fff;border-radius:12px;padding:12px 17px;z-index:50;font-size:12px;box-shadow:0 10px 25px #1b2a1b30}.goal-link{border:0;background:none;padding:0;color:#4d8868;text-decoration:underline;text-underline-offset:3px;font-size:12px}.footer-note{text-align:center;color:#a9b2a9;font-size:11px;margin-top:29px}.month-side{display:flex;flex-direction:column;gap:17px}@media(max-width:780px){.shell{padding:21px 18px 95px}.content-grid,.month-layout{grid-template-columns:1fr}.topbar{margin-bottom:28px}.date-row h1{font-size:29px}.hero{min-height:245px;padding:22px}.ring{width:165px;height:165px}.ring:before{inset:17px}.hero-number{font-size:42px}.month-view{grid-column:auto}.month-side{gap:14px}.summary-card{margin-bottom:0}.nav{position:fixed;z-index:10;bottom:calc(13px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);box-shadow:0 7px 27px #21392724;min-width:250px;justify-content:center}.nav button{flex:1}.month-view .chart{height:180px}}@media(max-width:480px){.shell{padding:17px 14px 95px}.topbar{margin-bottom:25px}.brand{font-size:25px}.hero{padding:19px;min-height:221px}.ring{width:137px;height:137px}.ring:before{inset:15px}.ring-value{font-size:15px}.ring-caption{font-size:10px}.hero-number{font-size:36px}.hero-note{font-size:11px}.stat{padding:16px}.stat-value{font-size:24px}.action{padding:18px 16px}.action-title{font-size:15px}.date-row h1{font-size:26px}.month-view .summary-figures{grid-template-columns:1fr 1fr}.month-view .summary-figure:last-child{grid-column:1/-1}}
