*{box-sizing:border-box} :root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#20342e;background:#f2f4f1;font-size:16px;line-height:1.6}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #dce3dd;background:#fff;color:inherit;border-radius:12px;min-height:44px;padding:9px 15px;touch-action:manipulation;transition:background .15s}button:hover{background:#edf2ec}button:disabled{opacity:.5;cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #ae752d;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,5vw,2.25rem);line-height:1.3;letter-spacing:-.035em;margin-bottom:10px}h2{font-size:1.25rem;margin:0}h3{font-size:1rem;margin:0}p{margin-bottom:12px}[hidden]{display:none!important}.muted{color:#64756c}.small{font-size:.875rem}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.1em;color:#597068;margin-bottom:10px}.primary{background:#173b36;color:#fff;border-color:#173b36}.primary:hover{background:#28524b}.primary.done{background:#e3eee5;color:#244738;border-color:#d0e1d4}.subtle{background:transparent}.quiet{border:0;background:transparent;font-size:.875rem;color:#64756c;padding:8px}.brand-mark{width:56px;height:56px;border-radius:17px;background:#173b36;color:#eff2d9;display:grid;place-items:center;font-size:1.7rem;margin-bottom:35px}.brand{font-size:1.125rem;font-weight:700;text-decoration:none;display:flex;align-items:baseline;gap:12px}.brand span{font-size:.7rem;letter-spacing:.13em;color:#6a7a70;font-weight:500}header{max-width:940px;margin:auto;padding:23px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce3dd}.header-right{display:flex;align-items:center;gap:12px}#save-state{font-size:.8125rem;color:#6a7a70}.workspace{max-width:780px;margin:auto;padding:32px 24px 40px}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-heading .subtle{font-size:.875rem;white-space:nowrap}.date-nav{display:flex;align-items:center;gap:8px;margin:20px 0 26px}.date-nav>button{font-size:1.5rem;padding:0;width:44px;background:transparent}.date-wrap{position:relative;flex:1;text-align:center;border-radius:12px;background:#e6ece5;padding:10px 8px;font-size:.9375rem}.date-wrap input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}#cards{display:grid;gap:18px}.card{border:1px solid #dce3dd;border-radius:22px;background:white;overflow:hidden}.card-top{display:flex;gap:13px;align-items:center;padding:22px 24px 17px}.section-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:1.3rem;background:#e9eee3}.card.food .section-icon{background:#fff0dc}.card.fun .section-icon{background:#e9edfa}.card-top .sub{font-size:.875rem;color:#6a7a70;margin:1px 0 0}.tag{margin-left:auto;font-size:.8125rem;border-radius:7px;background:#f0f3ee;padding:4px 9px;white-space:nowrap}.card-body{padding:0 24px 23px}.intro{font-size:.875rem;color:#64756c;margin-bottom:15px}.exercise{border-top:1px solid #e8ece7;padding:12px 0}.exercise:last-child{padding-bottom:0}.ex-head{display:flex;align-items:center;gap:11px}.check{padding:0;min-width:44px;width:44px;height:44px;display:grid;place-items:center;background:#f7f9f5;font-size:1.15rem;flex-shrink:0}.check.checked{background:#173b36;color:white;border-color:#173b36}.ex-head>div{flex:1}.ex-dose{font-size:.875rem;color:#6a7a70}.exercise details{padding-left:55px;margin-top:5px}summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-size:.875rem;color:#4f6c60;list-style:none;gap:6px}summary::before{content:'＋';font-size:1rem}details[open]>summary::before{content:'−'}.guide{background:#f5f7f3;border-radius:14px;padding:14px;margin-top:5px}.guide svg{width:100%;height:auto;max-height:150px;display:block;color:#426653}.guide ol{padding-left:22px;margin:8px 0;font-size:.875rem}.guide p{font-size:.875rem;margin-bottom:8px}.guide .easy-note{border-left:3px solid #b39554;padding-left:10px}.guide .quiet{padding-left:0}.card-actions{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}.meal{padding:14px 0;border-top:1px solid #e8ece7}.meal:last-of-type{padding-bottom:10px}.meal-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.meal-label{font-size:.8125rem;color:#91733d;min-width:32px}.meal-items{list-style:none;padding:0;margin:8px 0 12px;color:#586a5f;font-size:.875rem}.meal-items li{margin-bottom:5px;padding-left:12px;position:relative}.meal-items li::before{content:'·';position:absolute;left:0}.meal-actions{display:flex;gap:7px;flex-wrap:wrap}.meal-actions button{font-size:.875rem;padding:7px 11px}.meal-meta{font-size:.8125rem;color:#7a8279;margin:6px 0}.protein{background:#f5f3e9;border-radius:12px;padding:12px 15px;margin-top:14px;font-size:.875rem;color:#6c634a}.protein strong{font-size:1.1rem;display:block;margin:2px 0;color:#454b36}.leisure-title{font-size:1.2rem;margin:2px 0 8px}.leisure-detail{color:#64756c;font-size:.9375rem;margin-bottom:16px}.leisure-time{font-size:.875rem;color:#64756c}.rest-box{background:#f2f5ee;border-radius:15px;padding:18px;margin-bottom:14px}.rest-box p{color:#64756c;font-size:.9375rem;margin:6px 0 0}footer{font-size:.8125rem;color:#7c877e;margin:27px 0 0}footer details{margin-top:8px}footer details p{margin-top:10px}footer summary{font-size:.8125rem}#login{max-width:460px;margin:9vh auto;padding:30px}#login .muted{font-size:.9375rem}#login-form{margin:30px 0 18px}#login-form label{display:block;font-size:.875rem;margin-bottom:8px}#login-form input{width:100%;border:1px solid #cad6cd;border-radius:12px;padding:13px;background:#fff;margin-bottom:12px;min-height:49px}#login-form button{width:100%;min-height:49px}#login-error{color:#a34030;font-size:.875rem;margin-top:12px}#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:#173b36;color:#fff;padding:12px 20px;border-radius:12px;box-shadow:0 4px 24px #0002;z-index:10;font-size:.875rem}#load-error{padding:25px;background:#fff;border:1px solid #dce3dd;border-radius:18px;margin-bottom:18px}@media(max-width:540px){header{padding:16px}.brand span{display:none}.header-right{gap:3px}.workspace{padding:24px 14px 30px}.card-top{padding:18px 18px 14px}.card-body{padding:0 18px 19px}.card{border-radius:18px}.exercise details{padding-left:0}.guide{margin-left:0}.day-heading .subtle{padding:6px 9px}.tag{font-size:.75rem}.card-top{gap:10px}h2{font-size:1.125rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.quick-nav{display:flex;gap:8px;margin:-8px 0 20px}.quick-nav a{flex:1;text-align:center;text-decoration:none;padding:9px;background:#e6ece5;border-radius:10px;font-size:.9375rem;min-height:44px}.card{scroll-margin-top:16px}

.mode-picker{display:flex;gap:8px;margin-bottom:16px}.mode-picker button{flex:1}
