:root{color-scheme:light;--bg: #f4fbff;--surface: #ffffff;--surface-2: #e5f7ff;--text: #12303d;--muted: #5d7580;--border: #cfeaf5;--accent: #00bfff;--accent-strong: #008dc2;--accent-soft: #d9f5ff;--danger: #b34040;--shadow: 0 14px 36px rgba(0, 132, 180, .1)}*{box-sizing:border-box}html,body,#app{min-height:100%}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,input,select{font:inherit}.app-shell{width:min(100%,540px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom))}.app-shell .app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 18px}.app-shell .app-header h1{margin:2px 0 0;font-size:26px;line-height:1.15;font-weight:760;letter-spacing:0}.app-shell .app-main{display:grid;gap:14px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--accent);font-size:12px;font-weight:760;letter-spacing:0;text-transform:uppercase}.icon-button{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent-strong);box-shadow:0 8px 22px #17201d0d}.primary-button,.secondary-button{display:inline-flex;width:100%;min-height:64px;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:17px;font-weight:760}.primary-button{border:0;background:var(--accent);color:#fff}.primary-button:disabled{background:#b9dfea;color:#ffffffe0;box-shadow:none;cursor:not-allowed}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.app-icon{width:1.34em;height:1.34em;flex:0 0 auto;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}.intro-panel,.form-panel,.summary-hero,.metric-card,.calorie-panel,.explain-panel,.report-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.intro-panel{padding:22px 20px}.intro-panel h2{margin:8px 0;font-size:28px;line-height:1.12;letter-spacing:0}.intro-panel p,.muted{margin:0;color:var(--muted);line-height:1.6}.plan-generation-shell{position:relative}.plan-generation-shell.generating .form-panel{opacity:.24;transform:scale(.995);filter:blur(1px)}.plan-generation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:#f4fbffd1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.plan-generation-card{display:grid;gap:14px;justify-items:center;width:min(100%,300px);padding:28px 22px;border:1px solid rgba(0,141,194,.16);border-radius:22px;background:#fffffff5;box-shadow:0 24px 48px #0084b429;text-align:center}.plan-generation-card strong{font-size:20px;line-height:1.2}.plan-generation-card p{margin:0;color:var(--muted);line-height:1.55}.plan-generation-spinner{width:42px;height:42px;border:4px solid rgba(0,191,255,.18);border-top-color:var(--accent-strong);border-radius:50%;animation:plan-spinner-rotate .85s linear infinite}.form-panel{padding:18px 18px 76px;transition:opacity .24s ease,transform .24s ease,filter .24s ease}.form-panel .field-grid{display:grid;gap:14px}.form-panel label,.form-panel .target-period{display:grid;gap:7px}.form-panel label>span,.form-panel .target-period>span{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:14px;font-weight:700}.form-panel label>span .app-icon,.form-panel .target-period>span .app-icon{color:var(--accent-strong)}.form-panel .plain-field{align-content:start}.form-panel input,.form-panel select{width:100%;min-height:48px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fbfcfa;color:var(--text);padding:0 13px}.form-panel input:focus,.form-panel select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-panel input[type=range]{min-height:28px;padding:0;border:0;background:transparent;accent-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-panel input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:var(--accent-soft)}.form-panel input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-8px;border:3px solid #ffffff;border-radius:50%;background:var(--accent);box-shadow:0 4px 12px #0084b438;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-panel input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--accent-soft)}.form-panel input[type=range]::-moz-range-thumb{width:20px;height:20px;border:3px solid #ffffff;border-radius:50%;background:var(--accent);box-shadow:0 4px 12px #0084b438}.form-panel .input-with-unit{position:relative}.form-panel .input-with-unit input{padding-right:48px}.form-panel .input-with-unit em{position:absolute;top:50%;right:13px;color:var(--muted);font-style:normal;transform:translateY(-50%)}.form-panel .number-ruler .number-ruler__slider{display:grid;gap:2px;padding:4px 2px 0}.form-panel .number-ruler .number-ruler__scale{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.form-panel .target-period{padding:14px;border:1px solid var(--border);border-radius:8px;background:#fbfcfa}.form-panel .target-period .target-period__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-panel .target-period .target-period__header span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.form-panel .target-period .target-period__header strong{color:var(--accent-strong);font-size:14px}.form-panel .target-period .target-period__slider{display:grid;gap:4px;margin-top:8px}.form-panel .target-period .target-period__slider.disabled{opacity:.48}.form-panel .target-period .target-period__ticks{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;text-align:center}.form-panel .target-period .target-period__ticks span{min-width:0}.form-panel .target-period .target-period__help{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.form-panel .form-error{min-height:0;margin:8px 2px 6px;color:var(--danger);font-size:14px;line-height:1.45}.form-panel .form-actions{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:1fr;gap:10px;width:min(100%,540px);margin:0 auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(244,251,255,.82),rgba(244,251,255,.96) 18%,var(--surface));box-shadow:0 -12px 28px #0084b41f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.form-panel .form-actions .primary-button,.form-panel .form-actions .secondary-button{width:100%}.form-panel .form-actions .primary-button:active{background:var(--accent-strong)}.summary-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:20px}.summary-hero h2{margin:8px 0;font-size:28px;line-height:1.12;letter-spacing:0}.summary-hero .bmi-badge{display:grid;width:78px;height:78px;align-content:center;justify-items:center;border-radius:50%;background:var(--surface-2);color:var(--accent-strong);font-size:13px;font-weight:760;text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-grid .metric-card{min-height:118px;padding:14px}.metric-grid .metric-card span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.metric-grid .metric-card.metric-card--bmi span{color:#2a86d1}.metric-grid .metric-card.metric-card--intake span{color:#ef7b2d}.metric-grid .metric-card.metric-card--target span{color:#14a06f}.metric-grid .metric-card.metric-card--bmr span{color:#d94d7b}.metric-grid .metric-card.metric-card--tdee span{color:#8c5cf6}.metric-grid .metric-card.metric-card--speed span{color:#0f9ba8}.metric-grid .metric-card strong{display:block;margin-top:8px;font-size:25px;line-height:1.1;letter-spacing:0}.metric-grid .metric-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.calorie-panel{padding:17px;background:var(--surface-2)}.calorie-panel h3{margin:0 0 8px;font-size:17px;letter-spacing:0}.calorie-panel strong{display:block;margin:6px 0;font-size:30px;line-height:1.15;letter-spacing:0}.calorie-panel p{margin:0;color:var(--muted);line-height:1.55}.calorie-panel.warning{border-color:#e8c9a8;background:#fff6eb}.calorie-panel.danger{border-color:#ebb9b9;background:#fff1f1}.explain-panel{padding:18px}.explain-panel h3{margin:0 0 8px;font-size:17px;letter-spacing:0}.explain-panel dl{display:grid;gap:14px;margin:0}.explain-panel dl div{display:grid;gap:4px}.explain-panel dt{font-weight:760}.explain-panel dd{margin:0;color:var(--muted);line-height:1.58}.report-panel{padding:18px}.report-panel .report-panel__header{display:grid;gap:8px;margin-bottom:14px}.report-panel .report-panel__header .section-kicker{color:#7a5af8!important}.report-panel .report-panel__header .section-kicker .app-icon{color:#7a5af8!important;stroke:#7a5af8}.report-panel .report-panel__header h3{margin:0;font-size:19px;letter-spacing:0}.report-panel .report-panel__header p{margin:0;color:var(--muted);line-height:1.58}.report-panel dl{display:grid;gap:14px;margin:0}.report-panel dl div{display:grid;gap:4px}.report-panel dl dt{font-weight:760}.report-panel dl dd{margin:0;color:var(--muted);line-height:1.58}.report-panel .report-panel__actions{margin-top:18px}.app-main--plan{padding-bottom:96px}.plan-actions{position:fixed;right:0;bottom:0;left:0;z-index:20;width:min(100%,540px);margin:0 auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(244,251,255,.82),rgba(244,251,255,.96) 18%,var(--surface));box-shadow:0 -12px 28px #0084b41f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-main--home .metric-card{border-radius:16px;background:linear-gradient(180deg,#fffffffa,#eef9ffeb);box-shadow:0 14px 28px #0084b414}.app-main--home .metric-card strong{margin-top:10px;font-size:28px}.app-main--home .metric-card p{margin-top:10px}.home-entry-panel{display:flex;justify-content:center;margin-top:-2px}.home-entry-panel .home-entry-button{width:auto;min-height:44px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:700;box-shadow:0 6px 16px #0084b414}.home-entry-panel.home-entry-panel--danger{margin-top:0}.home-entry-panel .home-entry-button--danger{border-color:#b340402e;color:var(--danger)}.home-entry-panel .home-entry-button--danger .app-icon{color:var(--danger)}.section-kicker .app-icon{color:var(--accent)}.icon-button .app-icon{color:var(--accent-strong)}.report-home-button .app-icon{color:#fff}.home-entry-button .app-icon{color:var(--accent-strong)}@keyframes plan-spinner-rotate{to{transform:rotate(360deg)}}.plan-list-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:#12303d47;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.plan-list-modal{width:min(100%,420px);max-height:min(72vh,620px);padding:18px;border:1px solid var(--border);border-radius:22px;background:#fffffffa;box-shadow:0 24px 52px #0084b42e;overflow:auto}.plan-list-modal__header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.plan-list-modal__header h3{margin:8px 0 0;font-size:22px;line-height:1.2}.plan-list-close-button{width:auto;min-height:40px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:700}.plan-list{display:grid;gap:12px}.plan-list__item{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#eef9ffeb)}.plan-list__item.active{border-color:#008dc257;box-shadow:0 10px 22px #0084b41a}.plan-list__meta strong{display:block;font-size:16px;line-height:1.25}.plan-list__meta p{margin:6px 0 0;color:var(--muted);line-height:1.45}.plan-list__title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-list__badge{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#008dc21f;color:var(--accent-strong);font-size:12px;font-weight:760;line-height:1}.plan-list__actions{display:flex;gap:10px}.plan-list__button{min-height:42px;font-size:14px}.plan-list__button--danger{border-color:#b340402e;color:var(--danger)}@media (min-width: 480px){.form-panel .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel .full-span{grid-column:1/-1}}@media (max-width: 360px){.app-shell{padding-left:12px;padding-right:12px}.summary-hero{grid-template-columns:1fr}.summary-hero .bmi-badge{width:100%;height:54px;border-radius:8px}.metric-grid{grid-template-columns:1fr}}
