:root{
  --bg:#fff8f3; --bg2:#f6eadf; --card:#fffdf9; --text:#3f3834; --muted:#8b8179;
  --rose:#d8797e; --rose2:#f5d9d6; --sage:#799665; --sage2:#edf4e9; --line:#eaded4;
  --shadow:0 14px 40px rgba(92,62,50,.12); --radius:24px;
}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;background:linear-gradient(160deg,var(--bg),#fff);color:var(--text);}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 5%,rgba(121,150,101,.16),transparent 28%),radial-gradient(circle at 88% 18%,rgba(216,121,126,.14),transparent 24%);pointer-events:none;}
.app-shell{position:relative;max-width:430px;min-height:100dvh;margin:0 auto;padding:18px 16px 92px;background:rgba(255,248,243,.82);backdrop-filter:blur(12px);}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 18px}.eyebrow{margin:0 0 8px;font-size:12px;color:var(--muted);letter-spacing:.04em}h1{font-size:22px;margin:0;font-weight:650;letter-spacing:.08em}h2{margin:0;font-size:18px}.icon-button{border:0;background:#fff;border-radius:999px;width:44px;height:44px;box-shadow:var(--shadow);font-size:20px}.greeting{font-weight:700;margin:0 0 4px}.subtle,.hint{color:var(--muted);font-size:13px;margin:0 0 16px}.screen{display:none}.screen.active{display:block}.card{background:rgba(255,253,249,.94);border:1px solid rgba(234,222,212,.72);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.section-title{display:flex;gap:10px;align-items:center;margin-bottom:14px}.section-title.center{justify-content:center}.weight-input-wrap{display:flex;align-items:baseline;justify-content:center;border:1px solid #ead5ce;border-radius:18px;background:#fff;max-width:260px;margin:0 auto 8px;padding:10px 14px}.weight-input{border:0;outline:0;width:160px;background:transparent;text-align:center;font-size:54px;font-weight:750;color:#2f2a27}.weight-input-wrap span{font-size:18px}.memo-label,.tag-area p,.settings-card label{display:block;font-size:13px;font-weight:700;margin:14px 0 8px}.memo-input,.settings-card input{width:100%;border:1px solid #ead5ce;border-radius:16px;padding:13px 14px;font-size:16px;background:#fff;color:var(--text)}.tag-buttons{display:flex;flex-wrap:wrap;gap:10px}.pill{border:1px solid #e6d3ca;background:#fff;border-radius:999px;padding:10px 18px;min-height:42px;color:var(--text);font-weight:700}.pill.selected{background:var(--sage);color:white;border-color:var(--sage)}.primary-button{width:100%;border:0;border-radius:18px;min-height:54px;background:linear-gradient(180deg,#df8a8d,var(--rose));color:#fff;font-size:17px;font-weight:800;box-shadow:0 12px 22px rgba(216,121,126,.22);margin-top:16px}.praise-card{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#fffdf9,#fff1ec)}.avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#f6dfd6;color:#8f6252;font-size:34px}.praise-title{font-weight:800;color:var(--rose);margin:0 0 6px}.praise-card p,.advice-card p,.backup-card p{margin-top:0;line-height:1.7}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.mini-card{background:#fff;border:1px solid rgba(234,222,212,.8);border-radius:18px;padding:14px 8px;text-align:center;box-shadow:0 8px 22px rgba(92,62,50,.08)}.mini-card span{font-size:12px;color:var(--muted);font-weight:700}.mini-card strong{display:block;font-size:23px;margin:7px 0;color:var(--sage)}.mini-card small{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:8px;margin:6px 0 16px}.tabs button{flex:1;border:0;border-radius:999px;padding:10px;background:#f2e9e0;color:var(--text);font-weight:700}.tabs button.selected{background:var(--sage);color:#fff}.chart-card{padding-bottom:8px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-head button{border:0;background:#fff;border-radius:14px;width:42px;height:42px;font-size:28px;color:var(--muted)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.calendar-weekdays{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:10px}.day{height:42px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;color:var(--text)}.day.out{color:#c7bdb6}.day.logged{background:#fae5e1}.day.today{outline:2px solid var(--sage)}.day.selected{background:var(--sage);color:#fff}.day small{font-size:7px;line-height:1;color:var(--rose)}.history-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 10px}.history-title button,.backup-buttons button,.danger-card button{border:1px solid #dccac0;background:#fff;border-radius:999px;padding:8px 12px;color:var(--text);font-weight:700}.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid rgba(234,222,212,.8);border-radius:18px;padding:12px 14px}.history-item strong{display:block}.history-item small{color:var(--muted)}.history-actions{display:flex;gap:6px}.history-actions button{border:0;border-radius:12px;padding:8px 9px;background:#f4ebe4;color:var(--text)}.settings-card label{margin-bottom:12px}.backup-buttons{display:flex;gap:10px}.backup-buttons button{flex:1;border-color:#aac09b;background:var(--sage2)}.import-label input{display:block;margin-top:8px}.danger-card button{width:100%;border-color:#e5b0aa;color:#a34d52;background:#fff4f2}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);max-width:430px;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(255,253,249,.96);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(92,62,50,.08)}.bottom-nav button{border:0;background:transparent;color:#6f6862;font-size:22px;display:flex;flex-direction:column;gap:2px;align-items:center}.bottom-nav span{font-size:11px;font-weight:800}.bottom-nav button.selected{color:var(--rose)}.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%) translateY(12px);max-width:360px;width:calc(100% - 32px);background:#3f3834;color:#fff;border-radius:18px;padding:13px 16px;opacity:0;pointer-events:none;transition:.25s;line-height:1.5}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:700px){.app-shell{box-shadow:0 0 60px rgba(92,62,50,.12)}}
