:root{--bg: #f4f8f5;--surface: #ffffff;--surface-2: #eaf2ec;--text: #17231c;--text-2: #5b6b61;--line: #dbe5de;--primary: #2e7d5b;--primary-soft: #d5efe1;--on-primary: #ffffff;--accent: #d9692e;--danger: #c63d3d;--radius: 16px;--shadow: 0 1px 2px rgb(20 40 30 / 6%), 0 4px 16px rgb(20 40 30 / 6%);--nav-h: 64px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1512;--surface: #18211c;--surface-2: #213029;--text: #e4ece6;--text-2: #9aaba1;--line: #2b3a32;--primary: #7fd2a9;--primary-soft: #1f4434;--on-primary: #06281b;--accent: #ffad80;--danger: #ff8a80;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Pretendard Variable,Pretendard,-apple-system,system-ui,Malgun Gothic,sans-serif;font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.3}.page{max-width:560px;margin:0 auto;padding:0 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(16px + env(safe-area-inset-top)) 0 12px}.page-header h1{font-size:1.5rem;font-weight:700}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px}.spread{display:flex;align-items:center;justify-content:space-between;gap:8px}.grow{flex:1;min-width:0}.muted{color:var(--text-2)}.small{font-size:.85rem}.hint{font-size:.85rem;color:var(--text-2);margin:0}.warn{font-size:.85rem;color:var(--accent);margin:0}.error-text{font-size:.85rem;color:var(--danger);margin:0}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px}.card.link{cursor:pointer;text-decoration:none;color:inherit}.card-title{font-size:1.05rem;font-weight:600}.stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;text-align:center}.stat-value{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{font-size:.78rem;color:var(--text-2)}.big-number{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .3s ease}.bar.over>span{background:var(--danger)}.btn{appearance:none;border:0;border-radius:12px;padding:12px 18px;font-weight:600;cursor:pointer;background:var(--primary);color:var(--on-primary);min-height:48px}.btn:disabled{opacity:.45;cursor:default}.btn.block{width:100%}.btn.tonal{background:var(--primary-soft);color:var(--text)}.btn.text{background:transparent;color:var(--primary);padding:8px 12px;min-height:40px}.btn.danger-text{background:transparent;color:var(--danger);padding:8px 12px;min-height:40px}.icon-btn{appearance:none;border:0;background:transparent;width:44px;height:44px;border-radius:999px;display:inline-grid;place-items:center;cursor:pointer;color:var(--text-2);flex:none}.icon-btn:hover{background:var(--surface-2)}.icon-btn:disabled{opacity:.3;cursor:default;background:transparent}.icon-btn svg{width:22px;height:22px}.fab{position:fixed;right:max(16px,calc(50% - 264px));bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:18px;border:0;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;box-shadow:0 6px 16px #0000002e;cursor:pointer;z-index:5}.fab svg{width:26px;height:26px}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{appearance:none;border:1px solid var(--line);background:transparent;border-radius:10px;padding:6px 12px;white-space:nowrap;cursor:pointer;font-size:.9rem;min-height:36px}.chip.on{background:var(--primary-soft);border-color:transparent;font-weight:600}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:.85rem;color:var(--text-2)}.input-wrap{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 12px;min-height:48px}.input-wrap:focus-within{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 25%,transparent)}.input-wrap.invalid{border-color:var(--danger)}.input-wrap.disabled{background:var(--surface-2);border-color:transparent}.input-wrap input{border:0;outline:0;background:transparent;flex:1;min-width:0;padding:10px 0}.input-wrap .suffix{color:var(--text-2);font-size:.9rem;padding-left:6px}.form-label{font-size:.9rem;font-weight:700;color:var(--primary);margin-top:8px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-row{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer}.radio-row input{accent-color:var(--primary);width:20px;height:20px;margin:0}.list-row{display:flex;align-items:center;gap:8px;min-height:48px}.list-row+.list-row{border-top:1px solid var(--line)}.tabular{font-variant-numeric:tabular-nums}.bottom-nav[data-v-ccc4f570]{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);z-index:10}.tab[data-v-ccc4f570]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-2);font-size:.75rem}.pill[data-v-ccc4f570]{width:52px;height:30px;border-radius:999px;display:grid;place-items:center;transition:background .2s}.pill svg[data-v-ccc4f570]{width:22px;height:22px}.active[data-v-ccc4f570]{color:var(--text);font-weight:600}.active .pill[data-v-ccc4f570]{background:var(--primary-soft)}.login[data-v-258122e9]{max-width:360px;margin:0 auto;padding:12vh 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.login img[data-v-258122e9]{border-radius:18px}.login form[data-v-258122e9]{width:100%}.tabs[data-v-258122e9]{width:100%;display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:12px;padding:4px}.tabs button[data-v-258122e9]{appearance:none;border:0;background:transparent;border-radius:9px;padding:10px 0;font-weight:600;color:var(--text-2);cursor:pointer}.tabs button.on[data-v-258122e9]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.backdrop[data-v-c99f1b3e]{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet[data-v-c99f1b3e]{width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:up-c99f1b3e .2s ease-out}@media(min-width:600px){.backdrop[data-v-c99f1b3e]{align-items:center}.sheet[data-v-c99f1b3e]{border-radius:20px;max-width:440px}}@keyframes up-c99f1b3e{0%{transform:translateY(24px);opacity:0}}.danger-zone[data-v-a93f14a0]{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:4px}.btn.danger[data-v-a93f14a0]{background:var(--danger);color:#fff}.preview[data-v-73667e00]{background:var(--surface-2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.week[data-v-332848f6]{display:flex;flex-direction:column;gap:8px}.dots[data-v-332848f6]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.dot-col[data-v-332848f6]{display:flex;flex-direction:column;align-items:center;gap:2px}.dot[data-v-332848f6]{width:22px;height:22px;border-radius:999px;background:var(--surface-2);box-sizing:border-box}.dot.done[data-v-332848f6]{background:var(--primary)}.dot.today[data-v-332848f6]{border:2px solid var(--primary)}.badges[data-v-08981c71]{display:flex;flex-wrap:wrap;gap:10px}.badge[data-v-08981c71]{appearance:none;border:0;background:var(--primary-soft);border-radius:16px;width:72px;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.emoji[data-v-08981c71]{font-size:1.6rem;line-height:1}.name[data-v-08981c71]{font-size:.72rem;white-space:nowrap}.ring[data-v-a4c427de]{position:relative;flex:none}svg[data-v-a4c427de]{width:100%;height:100%}.track[data-v-a4c427de]{stroke:var(--surface-2)}.value[data-v-a4c427de]{stroke:var(--primary);transition:stroke-dashoffset .4s ease}.value.over[data-v-a4c427de]{stroke:var(--danger)}.center[data-v-a4c427de]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.report-text[data-v-5010a8e2]{width:100%;min-height:50dvh;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:.8rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;background:var(--surface-2);color:var(--text);resize:none}.weather[data-v-033727a4]{gap:10px}.now[data-v-033727a4]{display:flex;align-items:center;gap:10px}.emoji[data-v-033727a4]{font-size:2.4rem;line-height:1}.temp[data-v-033727a4]{font-size:2.2rem;font-weight:800;letter-spacing:-.02em}.detail[data-v-033727a4]{margin-left:6px;display:flex;flex-direction:column;gap:2px}.hourly[data-v-033727a4]{display:grid;grid-template-columns:repeat(6,1fr);text-align:center;background:var(--surface-2);border-radius:12px;padding:8px 4px}.hour[data-v-033727a4]{display:flex;flex-direction:column;align-items:center;gap:2px}.advice[data-v-033727a4]{margin:0;font-size:.9rem;font-weight:600;padding:8px 10px;border-radius:10px}.advice.good[data-v-033727a4]{background:var(--primary-soft)}.advice.caution[data-v-033727a4]{background:color-mix(in srgb,var(--accent) 18%,transparent)}.advice.bad[data-v-033727a4]{background:color-mix(in srgb,var(--danger) 16%,transparent)}.chart[data-v-1afcc1c6]{width:100%;height:auto;display:block;overflow:visible}.empty[data-v-1afcc1c6]{display:grid;place-items:center}.grid line[data-v-1afcc1c6]{stroke:var(--line);stroke-width:1}text[data-v-1afcc1c6]{fill:var(--text-2);font-size:10px;font-variant-numeric:tabular-nums}.goal[data-v-1afcc1c6]{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 5}.line[data-v-1afcc1c6]{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.dot[data-v-1afcc1c6]{fill:var(--primary)}.day-nav[data-v-95773dc7]{display:flex;align-items:center;justify-content:space-between}.tabs[data-v-4cafbda0]{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:12px;padding:4px}.tabs button[data-v-4cafbda0]{appearance:none;border:0;background:transparent;border-radius:9px;padding:10px 0;font-weight:600;color:var(--text-2);cursor:pointer}.tabs button.on[data-v-4cafbda0]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.row-button[data-v-4cafbda0]{appearance:none;border:0;background:transparent;padding:0;text-align:left;flex:1;min-width:0;min-height:48px;display:flex;align-items:center;gap:8px;cursor:pointer}.steps[data-v-5c3f2eae]{display:flex;flex-direction:column;gap:14px}section[data-v-5c3f2eae]{display:flex;flex-direction:column;gap:4px}h3[data-v-5c3f2eae]{font-size:.95rem;font-weight:600;display:flex;justify-content:space-between}h3 b[data-v-5c3f2eae]{font-variant-numeric:tabular-nums}.formula[data-v-5c3f2eae]{background:var(--surface-2);border-radius:10px;padding:8px 10px;font-size:.85rem;font-variant-numeric:tabular-nums}.today h3 b[data-v-5c3f2eae]{color:var(--primary)}.chart[data-v-bb45c548]{width:100%;height:auto;display:block}.steps-bar[data-v-bb45c548]{fill:color-mix(in srgb,var(--primary) 35%,transparent)}.steps-bar.on[data-v-bb45c548]{fill:var(--primary)}.goal[data-v-bb45c548]{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 5}text[data-v-bb45c548]{fill:var(--text-2);font-size:11px}.three-cols[data-v-95ac32e3]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preset-desc[data-v-95ac32e3]{margin:0;background:var(--surface-2);border-radius:10px;padding:8px 10px;font-size:.85rem;line-height:1.55}.results[data-v-4872857e]{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.result[data-v-4872857e]{appearance:none;border:0;background:transparent;text-align:left;padding:12px 14px;cursor:pointer;min-height:48px}.result+.result[data-v-4872857e]{border-top:1px solid var(--line)}.result[data-v-4872857e]:hover{background:var(--surface-2)}.was[data-v-91d9a9e4]{font-size:.75rem;color:var(--accent);text-decoration:line-through}.last[data-v-1b1e24f8]{background:var(--surface-2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.three-cols[data-v-1b1e24f8]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
