:root{color:#26332f;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f2ea;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#c6dfd573,#f7f2ea00 240px),#f7f2ea;width:100%;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0}.app-shell{width:min(100%,760px);max-width:100%;min-height:100vh;margin:0 auto;padding-bottom:92px}.app-header{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f2eaeb;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 10px;display:flex;position:sticky;top:0}.app-header>div:first-child{min-width:0}.account-bar{justify-items:end;gap:6px;min-width:0;display:grid}.account-bar span{color:#718075;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.eyebrow{color:#6f7f73;margin:0 0 4px;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:26px;line-height:1.15}h2{letter-spacing:0;margin-bottom:12px;font-size:18px}h3{letter-spacing:0;margin-bottom:8px;font-size:16px}.page-content{padding:12px 14px 24px}.stack{gap:14px;display:grid}.hero-panel,.form-panel,.section-block,.metric-card{background:#fffcf6db;border:1px solid #6677682e;border-radius:8px;box-shadow:0 10px 30px #3b453d14}.hero-panel{background:#e5efe7;padding:18px}.hero-panel p{color:#657568;margin-bottom:8px}.hero-panel h2{margin-bottom:0;font-size:24px}.hero-panel .hero-greeting{font-size:19px;line-height:1.35}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{min-height:98px;padding:14px}.metric-card span,.metric-card small,.item-meta{color:#718075;font-size:13px}.metric-card strong{color:#20352e;margin-top:10px;font-size:26px;display:block}.metric-card.compact-metric{min-height:84px}.metric-card.compact-metric strong{font-size:22px}.section-block{padding:14px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-header h2{white-space:nowrap;flex:none;margin-bottom:0}.form-panel{gap:12px;padding:14px;display:grid}.form-row{gap:10px;display:grid}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:#536359;gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#26332f;background:#fffefa;border:1px solid #d8d2c5;border-radius:8px;outline:none;width:100%;min-width:0;min-height:42px;padding:10px 11px}textarea{resize:vertical;min-height:82px}input:focus,select:focus,textarea:focus{border-color:#7ca08a;box-shadow:0 0 0 3px #7ca08a2e}.primary-button{color:#fff;background:#2f5d50;border-radius:8px;min-height:44px;font-weight:800}.secondary-button{color:#2f5d50;background:#e5efe7;border-radius:8px;min-height:42px;padding:0 14px;font-weight:800}.text-button{color:#8a4a38;background:#f2e7dc;border-radius:8px;align-self:flex-start;min-width:52px;min-height:34px;font-weight:700}.list{gap:10px;display:grid}.list-item{background:#fffefa;border:1px solid #66776824;border-radius:8px;grid-template-columns:1fr auto;gap:12px;padding:12px;display:grid}.list-item.compact{grid-template-columns:1fr;gap:4px}.list-item p{color:#526258;margin-bottom:6px;line-height:1.55}.inline-add,.form-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.quick-picks{flex-wrap:wrap;gap:8px;margin-top:-4px;display:flex}.quick-picks button{color:#2f5d50;background:#e5efe7;border-radius:999px;min-height:34px;padding:0 12px;font-size:13px;font-weight:800}.tabs.health-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:3px}.tabs.health-tabs button{text-overflow:clip;white-space:nowrap;border-radius:6px;min-width:0;min-height:34px;padding:0 2px;font-size:14px;line-height:1;overflow:hidden}.tabs.schedule-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}.tabs.schedule-tabs button{text-overflow:clip;white-space:nowrap;border-radius:6px;min-width:0;min-height:34px;padding:0 2px;font-size:14px;line-height:1;overflow:hidden}.daily-energy-setting{color:#536359;grid-template-columns:minmax(92px,130px) auto auto;align-items:center;gap:8px;display:grid}.daily-energy-setting input{min-width:0}.compact-save-button{min-width:46px;min-height:34px;padding:0 10px;font-size:13px}.compact-controls{margin-bottom:10px}.date-groups,.daily-summary-list{gap:20px;display:grid}.date-group{gap:8px;display:grid}.date-group-header{border-bottom:1px solid #66776824;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:7px;display:flex}.date-group-header h3{color:#40554c;margin-bottom:0;font-size:14px}.date-group-header span,.daily-summary span{color:#718075;font-size:12px}.health-record{background:#fffefa;border:1px solid #66776824;border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:10px;padding:10px;display:grid}.health-record strong{color:#30433b;font-size:14px;line-height:1.45}.health-record .item-meta{margin:5px 0 0;font-size:12px}.record-actions{align-items:flex-start;gap:8px;display:flex}.record-actions button{border-radius:8px;width:58px;min-width:58px;min-height:34px;padding:0;font-size:13px}.record-thumb{object-fit:cover;border-radius:8px;width:92px;height:92px;margin-top:8px;display:block}.sleep-row{color:#536359;grid-template-columns:auto minmax(60px,1fr) auto minmax(60px,1fr) auto;align-items:center;gap:8px;font-size:13px;font-weight:800;display:grid}.sleep-row input{min-width:0}.daily-summary{background:#fffefa;border:1px solid #66776824;border-radius:8px;gap:5px;padding:12px;display:grid}.daily-filter{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.day-grid{gap:6px;display:grid}.memo-tools{gap:8px;margin-bottom:14px;display:grid}.overview-toolbar-panel{box-shadow:none;padding:8px 10px}.overview-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.overview-toolbar strong{color:#40554c;font-size:15px}.overview-toolbar input,.overview-toolbar select{width:auto;max-width:100%;min-height:34px;padding:6px 9px;font-size:13px}.overview-inline-controls{flex:180px;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.overview-toolbar>input{flex:160px}.overview-toolbar>select{flex:0 92px}.range-hint{color:#8a9288;margin:6px 0 0;font-size:12px}.pie-layout{grid-template-columns:138px 1fr;align-items:center;gap:16px;display:grid}.category-pie{aspect-ratio:1;border:8px solid #fffefa;border-radius:50%;width:138px;box-shadow:inset 0 0 0 1px #66776824,0 8px 18px #3b453d14}.pie-legend{gap:9px;display:grid}.legend-row{grid-template-columns:12px 1fr;align-items:start;gap:8px;display:grid}.legend-row i{border-radius:999px;width:12px;height:12px;margin-top:3px}.legend-row strong{color:#30433b;font-size:13px;display:block}.legend-row span{color:#718075;font-size:12px}.time-grid-legend{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.time-grid-legend span{color:#526258;background:#f4efe6;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;font-weight:800;display:inline-flex}.time-grid-legend i{border-radius:999px;width:9px;height:9px}.hour-grid{gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.hour-grid-row{gap:6px;min-width:500px;display:grid}.hour-grid-date{color:#718075;font-size:12px;font-weight:800}.hour-cells{grid-template-columns:repeat(24,minmax(18px,1fr));gap:3px;display:grid}.hour-cell{color:#7a8177;background:#eee9df;border:1px solid #6677681f;border-radius:5px;min-width:18px;min-height:28px;padding:0;font-size:10px;font-weight:800}.hour-cell.filled{color:#fff}.hour-detail{color:#526258;background:#f4efe6;border-radius:8px;gap:5px;margin-top:12px;padding:10px;font-size:13px;display:grid}.month-grid{gap:6px;padding-bottom:4px;display:grid;overflow-x:auto}.month-grid-row{grid-template-columns:42px 1fr;align-items:center;gap:6px;min-width:420px;display:grid}.month-grid-row>span{color:#718075;font-size:11px;font-weight:800}.month-hour-cells{grid-template-columns:repeat(24,1fr);gap:2px;display:grid}.month-cell{background:#eee9df;border:1px solid #6677681f;border-radius:3px;min-width:12px;height:12px;display:block}.day-grid-row{background:#fffefa;border:1px solid #6677681f;border-radius:8px;grid-template-columns:54px 1fr;gap:10px;min-height:38px;padding:8px;display:grid}.day-grid-row>span{color:#718075;font-size:12px;font-weight:800}.day-grid-row div{gap:5px;display:grid}.day-grid-row strong{color:#30433b;font-size:13px}.day-grid-row em{color:#b0a89a;font-size:12px;font-style:normal}.schedule-row strong{word-break:break-word}.metric-grid.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-block>h2,.section-header h2{color:#26332f;font-size:18px}.helper-text{color:#49695a;background:#edf4ed;border-radius:8px;margin:0;padding:10px 12px;font-weight:700}.timeline-groups{gap:16px;display:grid}.timeline-day h3{color:#40554c;margin-bottom:10px}.timeline-list{gap:10px;display:grid}.timeline-item{background:#fffefa;border:1px solid #66776824;border-left:4px solid #7ca08a;border-radius:8px;grid-template-columns:96px 1fr auto;gap:12px;padding:12px;display:grid}.timeline-item.simple{grid-template-columns:96px 1fr}.timeline-time{align-content:start;gap:4px;display:grid}.timeline-time strong{color:#2f5d50;font-size:14px}.timeline-time span{color:#718075;font-size:12px}.image-preview{gap:10px;display:grid}.image-preview img,.timeline-image{object-fit:cover;border-radius:8px;width:100%;max-height:220px}.image-preview img{border:1px solid #6677682e}.timeline-image{margin-top:8px}.bar-list,.chart-list,.weight-trend{gap:12px;display:grid}.bar-row,.chart-row,.weight-point{background:#fffefa;border:1px solid #66776824;border-radius:8px;padding:12px}.bar-label,.chart-label{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.bar-label span,.chart-label span,.mini-bar span,.mini-bar small,.weight-point span{color:#718075;font-size:12px}.bar-track{background:#eee5d8;border-radius:999px;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;background:#7ca08a;height:100%}.bar-fill.intake{background:#d09263}.bar-fill.burned{background:#6090a0}.bar-fill.time{background:#7ca08a}.mini-bar{grid-template-columns:40px 1fr 46px;align-items:center;gap:8px;margin-top:6px;display:grid}.review-tabs{grid-template-columns:repeat(4,1fr)}.weight-point{border-left:4px solid #d09263;justify-content:space-between;align-items:center;gap:10px;display:flex}.empty-state,.form-error,.form-success{border-radius:8px;margin:0;padding:12px}.empty-state{color:#798176;background:#f4efe6}.form-error{color:#923f2f;background:#f7dfd7;font-weight:700}.form-success{color:#2f5d50;background:#e1f0e3;font-weight:700}.auth-page{place-items:center;min-height:100vh;padding:24px 14px;display:grid}.auth-panel{background:#fffcf6e6;border:1px solid #6677682e;border-radius:8px;gap:16px;width:min(100%,420px);padding:22px;display:grid;box-shadow:0 18px 48px #3b453d1f}.auth-panel h1{margin-bottom:0}.auth-copy{color:#607066;margin-bottom:0;line-height:1.65}.auth-form{gap:12px;display:grid}.primary-button:disabled{cursor:not-allowed;opacity:.56}.auth-switch{color:#2f5d50;background:#e5efe7;border-radius:8px;min-height:40px;font-weight:800}.tabs{background:#e7ded2;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;display:grid}.tabs button{color:#6c665d;background:0 0;border-radius:7px;min-height:40px;font-weight:800}.tabs button.active{color:#2f5d50;background:#fffefa}.bottom-nav{z-index:10;width:min(100%,760px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffcf6f5;border-top:1px solid #6677682e;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{color:#74786f;background:0 0;border-radius:8px;justify-items:center;gap:3px;min-height:54px;font-size:11px;font-weight:800;display:grid}.nav-icon{width:21px;height:21px}.nav-item.active{color:#2f5d50;background:#e5efe7}@media (width>=720px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.three,.metric-grid.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-header{padding-top:28px}}@media (width<=420px){.app-shell{width:100%}.app-header{padding:14px 12px 8px;display:grid}h1{font-size:24px}.page-content{padding:10px 10px 22px}.stack{gap:10px}.form-panel,.section-block{padding:11px}label{gap:4px;font-size:12px}input,select,textarea{min-height:36px;padding:6px 8px;font-size:16px;line-height:1.2}input[type=date],input[type=time],input[type=month]{appearance:none;min-width:0}textarea{min-height:72px}.form-row,.form-row.two{gap:7px}.account-bar{grid-template-columns:1fr auto;justify-items:start;width:100%}.account-bar span{align-self:center;max-width:100%}.daily-filter,.memo-tools .inline-add,.overview-inline-controls{grid-template-columns:1fr}.overview-toolbar{align-items:stretch;gap:6px}.overview-toolbar strong{flex:0 0 100%}.overview-toolbar input,.overview-toolbar select,.overview-toolbar>input,.overview-toolbar>select{flex-basis:100%;width:100%;min-height:34px;padding:5px 8px;font-size:16px}.overview-toolbar-panel{padding:8px}.pie-layout{grid-template-columns:96px 1fr;gap:10px}.category-pie{border-width:6px;width:96px}.legend-row strong{font-size:12px}.legend-row span{font-size:11px}.hour-grid-row{min-width:0}.hour-cells{grid-template-columns:repeat(24,minmax(0,1fr));gap:1px}.hour-cell{border-radius:3px;min-width:0;min-height:18px;font-size:8px}.month-grid-row{grid-template-columns:34px 1fr;gap:4px;min-width:0}.month-grid-row>span{font-size:10px}.month-hour-cells{gap:1px}.month-cell{border-radius:2px;min-width:0;height:8px}.metric-grid.three{grid-template-columns:1fr}.metric-grid.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-summary-grid .metric-card{min-height:78px;padding:10px}.health-summary-grid .metric-card strong{font-size:18px}.health-summary-grid .metric-card span,.health-summary-grid .metric-card small{font-size:11px}.list-item,.timeline-item,.timeline-item.simple,.inline-add,.form-actions,.health-record{grid-template-columns:1fr}.record-actions{width:100%}.record-actions button{flex:1}.date-group-header{display:grid}.sleep-row{grid-template-columns:auto minmax(52px,1fr) auto minmax(52px,1fr) auto}}
