.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:0 14px calc(20px + env(safe-area-inset-bottom))}@media(min-width:560px){.guide-overlay{align-items:center}}.guide-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;animation:fade-in .2s ease}.guide-spot{position:absolute;border-radius:20px;box-shadow:0 0 0 9999px #00000073,0 0 24px #ffffff40;pointer-events:none;animation:spot-in .35s ease}.guide-spot-fallback{left:50%;top:38%;width:220px;height:90px;transform:translate(-50%,-50%)}@keyframes spot-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.guide-card{position:relative;width:100%;max-width:520px;background:var(--card);-webkit-backdrop-filter:blur(28px) saturate(1.8);backdrop-filter:blur(28px) saturate(1.8);border:.5px solid var(--sep);border-radius:20px;box-shadow:inset 0 1px 0 var(--card-hi),0 18px 48px #00000047;padding:18px 18px 16px;animation:sheet-in .3s cubic-bezier(.32,.72,.35,1)}.guide-title{margin:0 0 8px;font-size:1.15rem}.guide-step-no{font-size:.75rem;color:var(--accent);font-weight:600;margin-right:6px}.guide-body{margin:0 0 10px;line-height:1.7;font-size:.94rem}:root{--bg: #f2f2f7;--fill: rgba(120, 120, 128, .16);--card: rgba(255, 255, 255, .66);--card-solid: #ffffff;--card-hi: rgba(255, 255, 255, .7);--sheet: rgba(245, 245, 247, .86);--field: rgba(255, 255, 255, .55);--sep: rgba(60, 60, 67, .1);--sep-strong: rgba(60, 60, 67, .18);--ink: #000000;--ink-soft: rgba(60, 60, 67, .6);--ink-faint: rgba(60, 60, 67, .35);--accent: #007aff;--accent-strong: #0063e0;--accent-soft: rgba(0, 122, 255, .12);--danger: #ff3b30;--ok: #34c759;--switch-bg: #e9e9ea;--ambient-1: rgba(0, 122, 255, .08);--ambient-2: rgba(191, 90, 242, .06);--shadow: 0 1px 3px rgba(0, 0, 0, .04);--radius: 18px;--radius-sm: 12px;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--tabbar-h: 56px}html[data-theme=dark]{--bg: #000000;--fill: rgba(120, 120, 128, .24);--card: rgba(34, 34, 38, .62);--card-solid: #1c1c1e;--card-hi: rgba(255, 255, 255, .09);--sheet: rgba(24, 24, 26, .86);--field: rgba(255, 255, 255, .05);--sep: rgba(84, 84, 88, .55);--sep-strong: rgba(84, 84, 88, .7);--ink: #ffffff;--ink-soft: rgba(235, 235, 245, .6);--ink-faint: rgba(235, 235, 245, .32);--accent: #0a84ff;--accent-strong: #0a84ff;--accent-soft: rgba(10, 132, 255, .18);--danger: #ff453a;--ok: #30d158;--switch-bg: #39393d;--ambient-1: rgba(10, 132, 255, .14);--ambient-2: rgba(120, 120, 255, .11);--shadow: 0 1px 3px rgba(0, 0, 0, .3)}html[data-large-text=true]{font-size:19px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(130% 55% at 50% -8%,var(--ambient-1),transparent 62%),radial-gradient(110% 55% at 85% 108%,var(--ambient-2),transparent 62%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3{font-family:var(--font-body);font-weight:700;letter-spacing:-.01em}button{font-family:inherit;color:inherit}input,textarea,select{font-family:inherit;font-size:1rem;color:var(--ink)}::placeholder{color:var(--ink-faint)}.app-shell{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;position:relative}.page{flex:1;padding:16px 16px calc(var(--tabbar-h) + 48px);animation:page-in .22s ease}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-title{font-size:2rem;margin:2px 0}.page-sub{color:var(--ink-soft);font-size:.88rem;margin:0 0 14px}.section{margin-top:22px}.section-title{font-size:.82rem;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;padding:0 4px}.card{background:var(--card);-webkit-backdrop-filter:blur(24px) saturate(1.7);backdrop-filter:blur(24px) saturate(1.7);border:.5px solid var(--sep);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--card-hi),var(--shadow);padding:14px 16px}.card+.card{margin-top:10px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--fill);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);color:var(--accent);border-radius:999px;padding:9px 18px;font-size:.95rem;font-weight:500;cursor:pointer;transition:transform .12s ease,opacity .12s ease,filter .12s ease}.btn:active{transform:scale(.96);filter:brightness(.92)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:color-mix(in srgb,var(--accent) 88%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.6);backdrop-filter:blur(10px) saturate(1.6);color:#fff;font-weight:600;box-shadow:inset 0 1px #ffffff47,inset 0 0 0 .5px #ffffff2e,0 6px 18px color-mix(in srgb,var(--accent) 26%,transparent)}.btn-ghost{background:transparent;color:var(--accent);padding:9px 10px}.btn-danger{color:var(--danger);background:transparent}.btn-sm{padding:6px 13px;font-size:.85rem}.btn-block{width:100%}.input,.textarea{width:100%;border:.5px solid var(--sep);background:var(--field);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-radius:var(--radius-sm);padding:10px 12px;outline:none}.input:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:none;line-height:1.5}.label{display:block;font-size:.85rem;color:var(--ink-soft);margin:14px 0 6px}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:51px;height:31px;border-radius:16px;background:var(--switch-bg);position:relative;cursor:pointer;transition:background .2s ease;flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026,0 0 1px #0000001a;transition:transform .2s ease}.switch:checked{background:var(--ok)}.switch:checked:after{transform:translate(20px)}.tag-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 12px;font-size:.82rem;border:.5px solid var(--sep);background:var(--fill);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .12s ease}.tag-chip .dot{width:7px;height:7px;border-radius:50%}.tag-chip.on{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent);font-weight:600}.tag-chip.static{cursor:default}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tabbar{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 10px);left:12px;right:12px;height:var(--tabbar-h);background:#ffffff6b;-webkit-backdrop-filter:blur(32px) saturate(2);backdrop-filter:blur(32px) saturate(2);border:.5px solid rgba(255,255,255,.6);border-radius:999px;box-shadow:inset 0 1px #fff9,0 10px 30px #0000001f;overflow:hidden;display:flex;z-index:40;transition:height .3s cubic-bezier(.32,.72,.35,1)}.tabbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 38%)}html[data-theme=dark] .tabbar{background:#1e1e2280;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff24,0 10px 30px #00000073}html[data-theme=dark] .tabbar:before{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 38%)}.tabbar.collapsed{height:44px}.tabbar-inner{position:relative;max-width:536px;width:100%;margin:0 auto;display:flex;z-index:1}.tab-indicator{position:absolute;top:6px;bottom:6px;left:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.8);backdrop-filter:blur(14px) saturate(1.8);border:.5px solid color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:inset 0 1px #ffffff59;transition:transform .5s cubic-bezier(.3,1.25,.4,1),width .5s cubic-bezier(.3,1.25,.4,1),opacity .2s ease;pointer-events:none}html[data-theme=dark] .tab-indicator{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 36%,transparent)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.66rem;color:var(--ink-faint);text-decoration:none;transition:color .15s ease}.tabbar-item .tab-icon{font-size:1.15rem;line-height:1;display:flex}.tabbar-item.active{color:var(--accent);font-weight:600}.tab-collapsed{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px 0 14px}.tab-collapsed-left{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;display:flex;align-items:center;gap:7px;color:var(--accent);font-weight:600;font-size:.88rem;cursor:pointer;padding:4px 6px}.tab-collapsed-name{line-height:1}.tab-collapsed-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:600;border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap}.empty{text-align:center;color:var(--ink-faint);padding:34px 20px;font-size:.9rem;line-height:1.8}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:.84rem}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.grow{flex:1;min-width:0}.divider{height:.5px;background:var(--sep);border:0;margin:14px 0}.toast-wrap{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 26px);transform:translate(-50%);z-index:90;pointer-events:none;width:min(92vw,480px)}.toast{background:#28282aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f2f2f7;border-radius:14px;padding:11px 18px;font-size:.88rem;text-align:center;box-shadow:0 8px 24px #00000040;animation:toast-in .25s ease;line-height:1.5}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:70;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease}@media(min-width:560px){.modal-mask{align-items:center}}.modal-sheet{background:var(--sheet);-webkit-backdrop-filter:blur(30px) saturate(1.8);backdrop-filter:blur(30px) saturate(1.8);box-shadow:inset 0 1px 0 var(--card-hi);width:100%;max-width:560px;max-height:86vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));animation:sheet-in .26s cubic-bezier(.32,.72,.35,1)}@media(min-width:560px){.modal-sheet{border-radius:20px}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-faint);font-size:1.05rem;cursor:pointer;padding:4px 8px;border-radius:8px}.icon-btn:active{background:var(--fill)}.energy-card{animation:energy-pop .45s cubic-bezier(.2,.9,.3,1.2);border-color:var(--accent)}@keyframes energy-pop{0%{opacity:0;transform:rotate(-1.5deg) translateY(14px) scale(.96)}to{opacity:1;transform:none}}.todo-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0}.todo-item+.todo-item{border-top:1px dashed var(--sep)}.todo-check{flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;border:2px solid var(--ink-faint);background:transparent;color:transparent;font-size:.85rem;line-height:1;cursor:pointer;transition:all .15s ease}.todo-check.done{background:var(--accent);border-color:transparent;color:#fff}.todo-text{flex:1;line-height:1.55;padding-top:2px}.todo-text.done{text-decoration:line-through;color:var(--ink-faint)}.todo-role{font-size:.72rem;color:var(--ink-faint);border:1px solid var(--sep);border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}.todo-edit-input{flex:1}.guide-progress{display:flex;gap:6px;margin-bottom:12px}.guide-dot{width:7px;height:7px;border-radius:50%;background:var(--fill)}.guide-dot.past{background:color-mix(in srgb,var(--accent) 45%,transparent)}.guide-dot.on{background:var(--accent);width:18px;border-radius:4px}.guide-why{margin:0;line-height:1.7;font-size:.86rem;color:var(--ink-soft);background:var(--accent-soft);border-radius:12px;padding:10px 12px}.guide-why-tag{display:inline-block;font-size:.7rem;font-weight:700;color:var(--accent);background:var(--card);border:.5px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;padding:1px 6px;margin-right:8px;vertical-align:1px}.guide-actions{display:flex;align-items:center;gap:10px;margin-top:16px}
