:root{color:#13221d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}:root{--page-bg:#fff8ef;--surface:#fff8f0eb;--surface-solid:#fff7ec;--surface-warm:#fff1df;--surface-hover:#fff3e3;--ink:#4b392c;--ink-strong:#10201b;--muted:#7b6757;--muted-soft:#8e7160;--line:#ead2b8;--line-soft:#e7cdaed9;--brand:#5b4636;--brand-2:#7a5a43;--cream:#fff8ef;--honey:#ffd789;--peach:#f19a80;--peach-strong:#e07a5f;--mint-bg:#dff4df;--mint-ink:#3f7649;--apricot-bg:#ffe5bf;--apricot-ink:#a16022;--sky-bg:#dfeeff;--sky-ink:#3b6fa0;--lilac-bg:#f1e3ff;--lilac-ink:#7551a5;--pink-bg:#ffe0eb;--pink-ink:#9d4d69;--tone-1:#fff1d6;--tone-1-line:#f2d39a;--tone-2:#eaf6df;--tone-2-line:#c8e2b5;--tone-3:#e5f1ff;--tone-3-line:#c2daf6;--tone-4:#f4e8ff;--tone-4-line:#ddc3f4;--tone-5:#ffe8ef;--tone-5-line:#f3c4d2;--shadow-soft:0 18px 44px #7c5c3e1a;--shadow-button:0 8px 18px #7c5c3e21}.app-shell{background:url(/paw-watermark.svg) right 34px top 72px / 220px 220px no-repeat, url(/paw-watermark.svg) left 290px bottom 54px / 180px 180px no-repeat, radial-gradient(circle at 12% 8%, #ffdfba8c, transparent 28%), radial-gradient(circle at 92% 18%, #c6efdba6, transparent 26%), var(--page-bg);grid-template-columns:248px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{background:var(--brand);color:var(--cream);flex-direction:column;gap:28px;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--honey);width:44px;height:44px;color:var(--ink);border-radius:16px 16px 18px 18px;place-items:center;display:grid;box-shadow:inset 0 -3px #6b4b2f2e}.brand strong,.brand span{display:block}.brand span{color:#ead9c9;margin-top:2px;font-size:13px}.side-nav{gap:6px;display:grid}button{font:inherit;transition:transform .16s,box-shadow .16s,background .16s}button:not(:disabled):active{transform:scale(.97)}.side-nav button,.bottom-nav button,.login-button,.checkin,.quick-card,.icon-upload-button,.task-row,.habit-pill,.small-action,.plan-card,.habit-card,.segmented button{cursor:pointer;border:0}.side-nav button{color:#f2dfce;text-align:left;background:0 0;border-radius:14px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.side-nav button.active,.side-nav button:hover{color:#fff;background:#fff8ef29;box-shadow:inset 0 -2px #ffd78947}.main{width:min(1040px,100%);min-width:0;margin:0 auto;padding:42px 32px 112px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.topbar p{color:var(--muted-soft);margin-bottom:4px}.topbar h1{color:var(--ink);margin:0;font-size:34px;line-height:1.1}.cloud-status{color:#865d22;background:#fff0cc;border:1px solid #f4d48c;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin-bottom:16px;padding:9px 12px;display:flex}.cloud-status.online{color:#356242;background:#e7f6e9;border-color:#bfe4c5}.cloud-status strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-reset{color:#775317;cursor:pointer;background:#7753171f;border:0;border-radius:6px;min-height:28px;padding:0 10px}.login-button,.small-action,.checkin{min-height:42px;box-shadow:inset 0 2px 0 #ffffff61, var(--shadow-button);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.login-button{color:var(--brand);background:linear-gradient(#fff3dc,#ffdca8);box-shadow:0 8px 20px #7c5c3e17}.login-button:not(:disabled):hover,.small-action:not(:disabled):hover,.primary-action:not(:disabled):hover,.row-actions button:not(:disabled):hover,.weekday-picker button:not(:disabled):hover,.icon-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 2px #ffffff70,0 10px 22px #7c5c3e29}.grid-layout,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.hero-panel,.panel,.stat-card{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px}.hero-panel{background:linear-gradient(135deg,#ffd8899e,#ffebd4e6),#fff1df;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;min-height:170px;padding:24px;display:flex}.hero-panel strong{color:var(--ink-strong);margin:4px 0 10px;font-size:64px;line-height:1;display:block}.hero-panel span,.panel-title span,small,.settings-list span,.stat-card span{color:var(--muted)}.eyebrow{color:#3f554d;margin:0;font-weight:700}.checkin{color:#fff;background:#10201b;min-width:110px}.checkin.done{background:#2d7d55}.panel,.stat-card{padding:24px}.panel.full,.panel.wide{grid-column:1/-1}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-title h2{color:var(--ink);margin:0;font-size:18px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:18px;display:grid}.quick-card{min-height:126px;color:var(--ink);box-shadow:none;background:0 0;border-radius:20px;align-content:center;place-items:center;gap:12px;padding:16px 10px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.quick-card:after{content:none}.quick-card:disabled{cursor:not-allowed;opacity:.48}.quick-card .cute-badge{border-radius:24px;width:64px;height:64px}.quick-card .cute-badge svg{width:48px;height:48px}.quick-card span{font-weight:800}.quick-card:not(:disabled):hover{background:#ffffff57;transform:translateY(-2px);box-shadow:0 12px 24px #7c5c3e14}.quick-card.green{color:var(--mint-ink)}.entry-icon.green{background:var(--mint-bg);color:var(--mint-ink)}.quick-card.orange{color:var(--apricot-ink)}.entry-icon.orange{background:var(--apricot-bg);color:var(--apricot-ink)}.quick-card.blue{color:var(--sky-ink)}.entry-icon.blue{background:var(--sky-bg);color:var(--sky-ink)}.quick-card.violet{color:var(--lilac-ink)}.entry-icon.violet{background:var(--lilac-bg);color:var(--lilac-ink)}.entry-icon.pink{background:var(--pink-bg);color:var(--pink-ink)}.list,.entry-list,.plan-list,.habit-list,.settings-list{gap:10px;display:grid}.task-row,.plan-card,.habit-card{background:var(--surface-solid);width:100%;min-height:58px;color:var(--ink);text-align:left;border:1px solid #0000;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;display:flex}.plan-card.read-only{cursor:default}.plan-card p{color:#7b6757;margin:6px 0 0}.task-row strong,.plan-card strong,.habit-card strong,.entry-item strong{color:var(--ink);display:block}.box{color:#fff;border:1px solid #d0b69b;border-radius:8px;flex:none;place-items:center;width:22px;height:22px;display:grid}.box.checked{background:#6aa86f;border-color:#6aa86f}.habit-stack{flex-wrap:wrap;gap:10px;display:flex}.habit-pill{text-align:left;color:#13221d;background:#f6f8f6;border-radius:8px;gap:2px;min-height:46px;padding:7px 12px;display:grid}.habit-pill.done{background:#e6f6d0}.entry-item{background:var(--surface-solid);border:1px solid #0000;border-radius:16px;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff8c}.entry-icon{border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.cute-badge{background:linear-gradient(145deg,#fffffff0,#ffe2c25c),#ffe5bf73;border-radius:20px;place-items:center;width:54px;height:54px;display:grid;box-shadow:inset 0 2px #ffffffc7,0 8px 18px #7c5c3e1f}.cute-badge.small{width:32px;height:32px;box-shadow:none;background:#fff6e759;border-radius:12px}.cute-badge svg{width:42px;height:42px;overflow:visible}.cute-badge.small svg{width:25px;height:25px}.cute-badge .pad,.cute-badge .bowl,.cute-badge .book-left,.cute-badge .book-right,.cute-badge .game{fill:currentColor;opacity:.9}.cute-badge .toe,.cute-badge .rim,.cute-badge .line,.cute-badge .steam{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.78}.cute-badge .toe,.cute-badge .dot{fill:currentColor;stroke:none}.cute-badge .spark{fill:var(--honey);stroke:#fff;stroke-width:1.5px}.cute-badge .rim{fill:none}.cute-badge .steam{stroke-width:3px}.cute-badge.exercise{background:linear-gradient(145deg, #fff, var(--mint-bg));color:#4d9560}.cute-badge.food{background:linear-gradient(145deg, #fff, var(--apricot-bg));color:#cf7a32}.cute-badge.study{background:linear-gradient(145deg, #fff, var(--sky-bg));color:#5a83ba}.cute-badge.entertainment{background:linear-gradient(145deg, #fff, var(--lilac-bg));color:#8a68b8}.entry-item p{color:var(--muted);margin:5px 0 0}.segmented{background:#fff1df;border-radius:999px;padding:4px;display:inline-flex}.segmented button{color:#7b6757;background:0 0;border-radius:999px;min-height:30px;padding:0 10px}.segmented button:first-child{color:#13221d;background:#ffe2bd}.small-action{background:linear-gradient(180deg, var(--brand-2), var(--brand));color:#fff;position:relative;overflow:hidden}.primary-action{background:linear-gradient(180deg, var(--peach), var(--peach-strong));color:#fff;cursor:pointer;min-height:44px;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex;position:relative;overflow:hidden}.small-action:disabled{cursor:not-allowed;opacity:.45}.empty-state{background:var(--surface-solid);text-align:center;border-radius:18px;align-content:center;place-items:center;gap:12px;min-height:120px;padding:18px;display:grid}.empty-state p,.empty-copy{color:var(--muted-soft);margin:0}.habit-card{justify-content:space-between}.mini-calendar{grid-template-columns:repeat(7,8px);gap:5px;display:grid}.mini-calendar span{background:#d7dfda;border-radius:2px;width:8px;height:8px}.mini-calendar span.filled{background:#2d7d55}.stat-card{align-content:center;gap:8px;min-height:112px;display:grid}.stat-card strong{color:var(--ink);font-size:28px}.gauge-panel{overflow:hidden}.calorie-gauge-wrap{grid-template-columns:280px minmax(0,1fr);justify-content:center;align-items:center;gap:28px;min-height:260px;display:grid}.calorie-gauge{background:radial-gradient(circle at center, var(--surface) 0 48%, transparent 49%), conic-gradient(from 210deg, #9fdc91 0deg 160deg, #ffd978 160deg 205deg, #f48b7d 205deg 300deg, transparent 300deg 360deg);border-radius:50%;width:260px;height:260px;padding:18px;box-shadow:inset 0 2px #ffffff94,0 18px 36px #7c5c3e1f}.gauge-face{background:radial-gradient(circle,#fffaf2 0 48%,#fffaf2b3 49% 52%,#0000 53%);border-radius:50%;place-items:center;width:100%;height:100%;display:grid;position:relative}.gauge-needle{background:var(--brand);transform-origin:50% 100%;width:5px;height:92px;transform:translate(-50%, -100%) rotate(var(--needle-angle));border-radius:999px;position:absolute;top:50%;left:50%;box-shadow:0 4px 10px #4b392c33}.gauge-needle:after{content:"";background:var(--peach-strong);border:4px solid #fffaf2;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.gauge-center{z-index:1;background:#fffaf2;border-radius:50%;align-content:center;place-items:center;gap:2px;width:118px;height:118px;display:grid;position:relative;box-shadow:0 8px 20px #7c5c3e1f}.gauge-center span,.gauge-summary span,.gauge-summary small{color:var(--muted)}.gauge-center strong{color:var(--ink);font-size:34px;line-height:1}.gauge-summary{gap:6px;display:grid}.gauge-summary strong{color:var(--ink);font-size:42px;line-height:1}.gauge-summary em{color:var(--peach-strong);font-style:normal;font-weight:800}.bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:220px;padding-top:20px;display:grid}.bars span{background:#2d7d55;border-radius:7px 7px 0 0;min-height:24px}.settings-list>div{background:#fff7ec;border-radius:16px;gap:4px;padding:14px;display:grid}.bottom-nav{display:none}.modal-backdrop{z-index:40;background:#10201b6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface-warm);border:1px solid var(--line);border-radius:20px;width:min(640px,100%);max-height:calc(100svh - 36px);padding:18px;overflow:auto;box-shadow:0 24px 80px #10201b42}.icon-button{width:36px;height:36px;color:var(--brand);cursor:pointer;background:#fff0df;border:0;border-radius:999px;place-items:center;display:grid}.form-grid{gap:14px;display:grid}.form-grid label,.task-editor{gap:7px;display:grid}.form-grid label span,.task-editor>span{color:#6f5644;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.task-editor input{background:var(--surface-solid);width:100%;min-height:42px;color:var(--ink);font:inherit;border:1px solid #dec4aa;border-radius:14px;padding:9px 11px}.form-grid textarea{resize:vertical;min-height:84px}.form-segment{justify-self:start}.segmented button.selected{color:#13221d;background:#ffdca8}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-editor{background:var(--surface-solid);border-radius:16px;padding:12px 12px 18px}.task-rule-card{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;background:#fff4e4;border:1px solid #f0d9bf;border-radius:16px;gap:14px;padding:14px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid}.plan-card.tone-1,.entry-item.tone-1,.task-rule-card.tone-1{background:var(--tone-1);border-color:var(--tone-1-line)}.plan-card.tone-2,.entry-item.tone-2,.task-rule-card.tone-2{background:var(--tone-2);border-color:var(--tone-2-line)}.plan-card.tone-3,.entry-item.tone-3,.task-rule-card.tone-3{background:var(--tone-3);border-color:var(--tone-3-line)}.plan-card.tone-4,.entry-item.tone-4,.task-rule-card.tone-4{background:var(--tone-4);border-color:var(--tone-4-line)}.plan-card.tone-5,.entry-item.tone-5,.task-rule-card.tone-5{background:var(--tone-5);border-color:var(--tone-5-line)}.task-rule-card input,.task-rule-card select,.task-rule-card textarea,.task-rule-card button{-webkit-user-select:auto;user-select:auto;touch-action:auto}.task-rule-card.is-moving{animation:.26s task-pop}.task-rule-card.is-dragging{z-index:2;cursor:grabbing;border-color:#e7a486;transform:rotate(-1deg)scale(1.015);box-shadow:0 18px 36px #7c5c3e2e}@keyframes task-pop{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-8px)scale(1.015)}to{transform:translateY(0)scale(1)}}.task-rule-header{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:10px;display:grid}.task-rule-header strong{color:var(--ink);overflow-wrap:anywhere}.weekday-picker{gap:7px;display:grid}.weekday-picker>span{color:#6f5644;font-weight:700}.weekday-picker>div{flex-wrap:wrap;gap:7px;display:flex}.weekday-picker button,.row-actions button{color:#7a4e35;cursor:pointer;min-height:34px;font:inherit;background:linear-gradient(#fff0df,#ffdcb6);border:0;border-radius:18px 18px 20px 20px;justify-content:center;align-items:center;gap:6px;padding:0 13px;display:inline-flex;box-shadow:inset 0 1px #ffffffa6,0 5px 12px #7c5c3e14}.row-actions.compact{flex-wrap:nowrap;gap:6px;margin-top:0}.row-actions button:disabled{cursor:not-allowed;opacity:.42}.weekday-picker button.selected{color:#fff;background:#e07a5f}.row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.row-actions button:last-child{color:#a44c44;background:linear-gradient(#ffe1df,#ffc6be)}.icon-action{border-radius:999px;width:34px;min-width:34px;height:34px;padding:0}.icon-action.danger{color:#a44c44;background:linear-gradient(#ffe1df,#ffc6be)}.plan-actions{z-index:5;background:linear-gradient(180deg, #fff1df00, var(--surface-warm) 28%);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px -2px -18px;padding:14px 2px 18px;display:grid;position:sticky;bottom:-18px}.photo-actions{align-items:center;gap:10px;display:flex}.icon-upload-button{color:#7a4e35;cursor:pointer;background:linear-gradient(#fff0df,#ffdcb6);border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 1px #ffffffa6,0 5px 12px #7c5c3e14}.icon-upload-button input{display:none}.camera-box{background:#fff7ec;border:1px solid #f0d9bf;border-radius:16px;gap:10px;padding:12px;display:grid}.camera-box video{object-fit:cover;background:#4b392c;border-radius:14px;width:100%;max-height:260px}.food-preview{object-fit:cover;border-radius:16px;width:100%;max-height:240px}.food-thumb{object-fit:cover;border-radius:14px;width:96px;height:72px;margin-top:8px}@media (width<=860px){.app-shell{display:block}.sidebar{display:none}.main{padding:28px 14px 104px}.topbar h1{font-size:28px}.login-button{padding:0 11px}.grid-layout,.stats-grid{grid-template-columns:1fr}.hero-panel{flex-direction:column;align-items:flex-start;min-height:148px;padding:18px}.hero-panel strong{font-size:52px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calorie-gauge-wrap{text-align:center;grid-template-columns:1fr;justify-items:center}.calorie-gauge{aspect-ratio:1;width:min(260px,100%);height:auto}.bottom-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff1dff0;border-top:1px solid #dce4df;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#6a7a74;background:0 0;align-content:center;place-items:center;gap:4px;min-height:62px;font-size:12px;display:grid}.bottom-nav button.active{color:#10201b}.modal-backdrop{place-items:stretch stretch;padding:0}.modal{width:100%;height:100svh;max-height:none;padding:20px 16px max(22px, env(safe-area-inset-bottom));border:0;border-radius:0;overflow:hidden auto}.modal .panel-title{z-index:6;background:var(--surface-warm);margin:-20px -16px 18px;padding:18px 16px 12px;position:sticky;top:-20px}.plan-form{min-height:calc(100svh - 88px);padding-bottom:88px}.task-editor{padding:12px 10px}.task-rule-card{touch-action:pan-y;padding:14px 12px}.task-rule-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.row-actions.compact{grid-template-columns:repeat(3,34px);display:grid}.plan-actions{padding:12px 14px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff1dff5;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;position:fixed;bottom:0;left:0;right:0}.habit-card{display:grid}.two-cols{grid-template-columns:1fr}}
