:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;color:#263d34;background:#fafbf9;font-synthesis:none;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:none;touch-action:manipulation}button:disabled{opacity:.22;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #77a38e;outline-offset:3px}main{max-width:600px;margin:auto;padding:28px 24px calc(125px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.brand{font-size:21px;font-weight:700;letter-spacing:.06em}.tagline{font-size:11px;color:#87918a;margin:5px 0}.icon{font-size:23px;width:44px;height:44px}.save-state{font-size:10px;color:#87978d;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.18em;color:#8b9e90;font-weight:700}h1{font-size:28px;letter-spacing:.02em;margin:4px 0 20px;font-weight:650}h2{font-size:16px;margin:0}h3{font-size:13px;font-weight:600;margin:24px 0 12px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h1{margin-bottom:12px}.subtle{background:#edf1eb;border-radius:8px;font-size:12px;padding:8px 10px}.date-nav{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.date-nav>button{font-size:26px;width:44px;height:44px;border:1px solid #e4e9e2;border-radius:50%;background:#fff}.date-select{text-align:center;position:relative;cursor:pointer}.date-select strong{font-size:19px}.date-select input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.date-note{font-size:10px;color:#6d8878;margin:12px 0 22px}.sleep-panel{background:#ecf2ec;border:1px solid #e0e9df;border-radius:14px;padding:17px 18px;margin-bottom:26px}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:12px}.text-button{font-size:13px;color:#397762;padding:7px 0;font-weight:600}.countdown{font-size:13px;margin:15px 0}.countdown strong{font-size:27px;font-weight:500;letter-spacing:.02em}.time-budget{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #dbe5da;padding-top:12px}.time-budget b{font-weight:600}.sleep-panel small{display:block;color:#819084;font-size:10px;margin-top:10px}.warning,.error{color:#a94736}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.list-heading h2 span{font-size:11px;color:#97a198;font-weight:400;margin-left:8px}.task-list{border-top:1px solid #e6ebe3}.task-row{display:flex;align-items:center;min-height:57px;border-bottom:1px solid #e6ebe3;gap:8px}.check{border:1.5px solid #aec0b2;border-radius:50%;width:23px;height:23px;padding:0;flex-shrink:0;margin:10px 7px 10px 2px;position:relative}.check:before{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px}.task-content{text-align:left;flex:1;padding:12px 0;min-width:0}.task-content span{font-size:14px}.task-content small{display:block;color:#859087;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.done .check{background:#397762;border-color:#397762;color:#fff;font-size:14px}.done .task-content{color:#9da99e}.done .task-content span{text-decoration:line-through}.reorder{display:flex;flex-direction:column}.reorder button{font-size:11px;color:#8b9a8e;width:28px;min-height:25px}.optional{margin:22px 0 30px}.optional h3{color:#879487;font-size:11px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{border:1px solid #e0e6dc;border-radius:20px;padding:8px 12px;background:#fff;font-size:12px}.small{font-size:11px}.muted{color:#89968b}.empty{color:#9ba59c;font-size:13px;text-align:center;padding:20px 4px}.appointments{padding-top:16px;border-top:1px solid #e1e7dd}.appointment{display:flex;text-align:left;align-items:center;gap:12px;width:100%;padding:14px 0;border-bottom:1px solid #e5eae2}.appointment>span:nth-child(2){flex:1}.appointment strong{font-size:14px;font-weight:500}.appointment small{display:block;font-size:10px;color:#839080}.badge{font-size:10px;padding:3px 8px;border-radius:5px}.fixed{background:#eceef6;color:#6d7395}.target{background:#e9f0e4;color:#6d8b5c}.start-link{margin:26px 0;width:100%;font-size:12px;color:#658373}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:12px;background:#fffffff5;border-top:1px solid #e5e9e1;padding:8px 16px calc(9px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.bottom-nav button{width:125px;max-width:30%;display:flex;align-items:center;flex-direction:column;font-size:10px;color:#98a39a;min-height:49px;gap:0}.bottom-nav button>span{font-size:24px;line-height:1.2}.bottom-nav .selected{color:#397762;font-weight:650}.intro{font-size:13px;color:#8c998d;margin-top:-10px;margin-bottom:26px}footer{margin-top:36px;padding-top:20px;border-top:1px solid #e7ebe2;font-size:10px;color:#a5aea2;display:flex;justify-content:space-between}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#263d3466;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fafbf9;max-width:510px;width:100%;padding:22px;border-radius:18px;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #172d3333}.modal .list-heading>button{min-height:44px;min-width:44px}label{display:block;font-size:12px;font-weight:500;margin:15px 0}input,textarea,select{display:block;width:100%;min-width:0;border:1px solid #dee5db;border-radius:9px;background:#fff;padding:12px;color:#344e3f;margin-top:7px;min-height:48px;font-size:16px}input[type=datetime-local]{min-height:49px}textarea{resize:vertical;min-height:83px}input[type=file]{border:none}.primary,.secondary,.import-button{width:100%;display:block;text-align:center;padding:13px 14px;border-radius:9px;min-height:49px;font-size:14px;margin:15px 0}.primary{background:#397762;color:#fff;font-weight:600}.secondary,.import-button{border:1px solid #cadacc;background:#fff;color:#397762}.import-button input{font-size:12px}.danger{color:#aa6354;width:100%;font-size:12px;padding:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.template-row{display:flex;justify-content:space-between;width:100%;padding:12px 0;border-bottom:1px solid #e4eade;font-size:13px;text-align:left}.template-row small{color:#8b9889}.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:max-content;max-width:90%;background:#304e40;color:#fff;border-radius:10px;font-size:12px;padding:13px 18px;z-index:30;box-shadow:0 6px 30px #263d3430}.record-form{padding:6px 0 24px}.weight-input{display:flex;align-items:center;border-bottom:2px solid #d5e2d2;margin-top:10px}.weight-input input{border:none;background:transparent;font-size:52px;letter-spacing:.02em;padding:7px 0;width:100%;margin:0;line-height:1.3}.weight-input span{font-size:17px;color:#82937d}.label-action{text-align:right;margin-top:-26px}.label-action .text-button{font-size:11px}.sleep-result{margin-top:20px;background:#edf3eb;border-radius:9px;padding:15px;font-size:13px;display:flex;justify-content:space-between}.sleep-result strong{color:#397762}.history{border-top:1px solid #e1e7dc;padding-top:15px}.history-row{display:flex;align-items:center;border-bottom:1px solid #e5ebdf;padding:14px 0;gap:4px}.history-row button:first-child{flex:1;text-align:left}.history-row strong{display:block;font-size:13px;font-weight:500}.history-row small{display:block;color:#8c9987;font-size:10px}.history-weight{font-size:20px}.delete-small{color:#a9b3a3;font-size:12px;min-width:36px;min-height:44px}.periods{display:flex;background:#eef2eb;border-radius:10px;padding:4px;margin:25px 0 20px}.periods button{flex:1;font-size:12px;border-radius:7px;min-height:39px;color:#8a9784}.periods .selected{background:#fff;color:#397762;box-shadow:0 1px 6px #30412e12;font-weight:600}.chart-panel{background:#fff;border:1px solid #e5ebdf;border-radius:15px;padding:18px 12px;margin-bottom:30px}.chart-title{display:flex;justify-content:space-between;padding:0 9px;font-size:12px}.chart-title>span:last-child{color:#a0a99a;font-size:10px}.chart-title small{color:#97a491}.chart{width:100%;margin-top:18px;overflow:visible}.chart text{font-size:10px;fill:#97a18f}.chart circle[role=button]{cursor:pointer}.centered{text-align:center}.point-detail{background:#ecf2e8;border-radius:8px;width:100%;padding:14px;font-size:12px;display:flex;justify-content:space-between}.chart-empty{text-align:center;padding:45px 12px;color:#97a58e}.chart-empty>span{font-size:60px;color:#aec5a5}.chart-empty h3{font-size:14px}.chart-empty p{font-size:12px}.trend-row{display:flex;justify-content:space-between;width:100%;border-bottom:1px solid #e4ebdd;padding:16px 0;font-size:13px}.trend-row strong{font-size:20px;font-weight:500}.trend-row small{font-size:10px;color:#98a390}.trend-row strong>span{color:#b0b9a7;margin-left:18px}.error{background:#fff1eb;border-radius:8px;padding:12px;font-size:12px}@media(max-width:380px){main{padding-left:17px;padding-right:17px}.time-budget{font-size:10px}.countdown strong{font-size:24px}.form-grid{grid-template-columns:1fr}.date-note{font-size:9px}}@media(min-width:700px){main{padding-top:40px}.bottom-nav{gap:45px}.overlay{padding:40px}}.weight-picker{margin:15px 0 24px}.weight-label{font-size:12px;font-weight:500}.weight-number{display:flex;align-items:baseline;justify-content:center;gap:8px;min-height:85px}.weight-number button{font-size:52px;font-variant-numeric:tabular-nums;padding:4px 0;line-height:1.4}.weight-number>span{color:#82937d;font-size:17px}.weight-number input{width:210px;text-align:center;font-size:42px;margin:0;padding:0 6px}.ruler-frame{position:relative;width:100%;overflow:hidden;border-bottom:1px solid #e1e8de}.ruler-pointer{position:absolute;left:50%;top:0;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid #8564ad;z-index:1;pointer-events:none}.weight-ruler{width:100%;height:85px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none}.weight-ruler::-webkit-scrollbar{display:none}.ruler-track{position:relative;height:85px}.ruler-tick{position:absolute;top:19px;width:1px;transform:translate(-50%);height:62px;pointer-events:none}.ruler-tick i{display:block;width:1px;height:14px;background:#a8b7a8}.ruler-tick.medium i{height:21px}.ruler-tick.major i{height:30px;width:2px;background:#637e67}.ruler-tick span{position:absolute;top:35px;left:50%;transform:translate(-50%);font-size:12px;color:#73866e;font-variant-numeric:tabular-nums}.ruler-help{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#889782;margin-top:5px}.ruler-help button{font-size:10px;min-height:44px;color:#758c71;padding:0 4px}.swipe-task{position:relative;overflow:hidden;touch-action:pan-y}.swipe-task-front{position:relative;z-index:1;background:#fafbf9;transition:transform .18s ease-out}.swipe-task-front.swiping{transition:none;user-select:none;-webkit-user-select:none}.swipe-delete{position:absolute;right:0;top:0;bottom:0;width:80px;color:#fff;background:#c95650;font-size:13px;font-weight:600}.undo-toast{display:flex;align-items:center;gap:16px;padding:7px 14px}.undo-toast button{color:#e5f1dd;font-weight:600;font-size:12px;min-height:44px;white-space:nowrap}@media(prefers-reduced-motion:reduce){.swipe-task-front{transition:none}}
