:root{
  --bg:#f6f2e8; --paper:#fffdf8; --ink:#30362f; --muted:#6f756d;
  --line:#ddd8cb; --green:#6f8a72; --green-soft:#e8efe5;
  --amber:#a77d48; --amber-soft:#f5ead9; --blue-soft:#e6eef1;
  --shadow:0 8px 24px rgba(54,58,48,.08); --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7}
button,input,textarea{font:inherit} button{cursor:pointer}
.hero{padding:32px 20px 18px;max-width:820px;margin:auto}.hero h1{margin:.1rem 0;font-size:clamp(2rem,7vw,3rem)}.hero p{margin:.25rem 0}
.eyebrow{font-size:.82rem;letter-spacing:.08em;color:var(--green);font-weight:700}
main{max-width:820px;margin:auto;padding:0 16px 60px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:sticky;top:0;z-index:5;background:rgba(246,242,232,.94);backdrop-filter:blur(8px);padding:8px 0 12px}.tab{border:0;border-radius:999px;padding:10px;background:transparent;color:var(--muted)}.tab.active{background:var(--ink);color:white}
.view{display:none}.view.active{display:block}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0;box-shadow:var(--shadow)}.intro-card h2,.card h2{margin:.2rem 0}.muted{color:var(--muted);font-size:.93rem}
.action-grid{display:grid;gap:10px;margin:12px 0}.big-action{text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);color:var(--ink)}.big-action span{display:block;font-size:1.25rem;font-weight:750}.big-action small{display:block;margin-top:4px;color:var(--muted)}.morning{background:var(--blue-soft)}.moved{background:var(--green-soft)}.stuck{background:var(--amber-soft)}
.record-list{display:grid;gap:10px}.record{border:1px solid var(--line);border-radius:14px;padding:13px;background:white}.record-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:.76rem;background:var(--green-soft)}.record time{font-size:.78rem;color:var(--muted)}.record p{margin:.35rem 0}.record-details{font-size:.9rem;color:#4d544d}.empty{color:var(--muted);text-align:center;padding:20px 0}.section-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.primary,.secondary{border-radius:12px;padding:10px 14px}.primary{border:0;background:var(--ink);color:white}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}
dialog{width:min(680px,calc(100% - 24px));border:0;border-radius:22px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(30,34,29,.42)}dialog form{padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:.1rem 0}.icon-btn{border:0;background:transparent;font-size:2rem;line-height:1;color:var(--muted)}.field{margin:18px 0}.field label{display:block;font-weight:700;margin-bottom:6px}.field small{display:block;color:var(--muted);margin-bottom:6px}.field input[type="text"],.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:12px;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.range-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.range-row input{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center}.stat strong{display:block;font-size:1.5rem}.stat span{font-size:.8rem;color:var(--muted)}.reflection{border-left:4px solid var(--green);padding:10px 14px;background:var(--green-soft);border-radius:0 12px 12px 0;margin:12px 0}
@media(min-width:680px){.action-grid{grid-template-columns:1fr 1fr}.stuck{grid-column:1/-1}.hero{padding-top:48px}}
