.app{--page:var(--tg-secondary-bg,#f1f1f4);--card:var(--tg-section-bg,#fff);--ink:var(--tg-text,#000);--muted:var(--tg-hint,#86868b);--link:var(--tg-accent-text,#2481cc);--accent:var(--tg-button,#2481cc);--accent-ink:var(--tg-button-text,#fff);--alert:var(--tg-destructive,#e5383b);--ok:#25a244;--line:var(--tg-separator,#d9d9de);--press:color-mix(in oklab, var(--ink) 7%, transparent);--fill:color-mix(in oklab, var(--ink) 6%, transparent);--r:12px;--top:max(env(safe-area-inset-top), var(--tg-viewport-content-safe-area-inset-top,0px));--tabs-h:calc(58px + env(safe-area-inset-bottom));--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif}:root[data-scheme=dark] .app{--ok:#4cd26b}html,body{background:var(--tg-secondary-bg,#f1f1f4);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;height:100%;margin:0}.app{padding-top:var(--top);background:var(--page);color:var(--ink);font-family:var(--font);flex-direction:column;font-size:17px;line-height:1.3;display:flex;position:fixed;inset:0}.app *{box-sizing:border-box}.app h1,.app h2,.app p{margin:0}.app button{color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.stage{flex:1;position:relative;overflow:hidden}.screen{overscroll-behavior:contain;background:var(--page);padding:2px 0 calc(var(--tabs-h) + 28px);scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.screen::-webkit-scrollbar{display:none}.title{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px 16px;display:flex}.title h1{letter-spacing:-.02em;text-wrap:balance;font-size:28px;font-weight:700;line-height:1.12}.gone{border-radius:var(--r);background:var(--card);color:var(--muted);margin:0 16px 12px;padding:10px 14px;font-size:15px}.dev-back{height:40px;color:var(--link);align-items:center;gap:2px;padding:0 8px;display:flex}.tabs{z-index:30;height:var(--tabs-h);padding:5px 0 env(safe-area-inset-bottom);background:color-mix(in oklab, var(--card) 97%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.8);box-shadow:0 -.5px 0 var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.app .tab{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:500;display:flex}.app .tab.is-on{color:var(--link)}.tab-ic{place-items:center;height:28px;display:grid;position:relative}.badge{background:var(--alert);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:12px;font-weight:600;line-height:18px;position:absolute;top:-2px;left:calc(100% - 9px)}.app .tab-plus{justify-content:center;padding-bottom:4px}.plus{background:var(--accent);width:46px;height:46px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.toast-zone{left:0;right:0;bottom:calc(var(--tabs-h) + 10px);z-index:40;pointer-events:none;justify-content:center;display:flex;position:absolute}.toast{pointer-events:auto;color:#fff;background:#202023f2;border-radius:14px;align-items:center;gap:18px;max-width:calc(100% - 32px);padding:12px 16px;font-size:15px;display:flex;box-shadow:0 10px 28px -10px #00000073}.app .toast-undo{color:#6cb8ff;font-weight:600}.sheet-wrap{z-index:50;position:fixed;inset:0}.sheet-dim{background:#00000061;position:absolute;inset:0}.sheet{background:var(--page);max-height:90%;padding-bottom:calc(env(safe-area-inset-bottom) + 16px);border-radius:14px 14px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px -12px #0000004d}.grab{background:color-mix(in oklab, var(--muted) 45%, transparent);border-radius:3px;width:36px;height:5px;margin:7px auto 3px;display:block}.state-loading{gap:10px;padding:16px;display:grid}.skeleton{border-radius:var(--r);background:var(--fill);height:56px;animation:1.2s ease-in-out infinite alternate skeleton;display:block}@keyframes skeleton{to{opacity:.45}}.state-empty{text-align:center;color:var(--muted);margin:48px 16px}.state-error{color:var(--muted);justify-items:center;gap:12px;margin:48px 16px;display:grid}.state-error p{margin:0}.state-error button,.state-bar button{color:var(--link);font:inherit;background:0 0;border:0;font-weight:600}.state-bar{border-radius:var(--r);background:var(--fill);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0 16px 8px;padding:8px 12px;font-size:14px;display:flex}.chips{color:var(--muted);gap:6px;font-size:13px;display:inline-flex}.chip{align-items:center;gap:2px;display:inline-flex}.file-photo{border-radius:var(--r);object-fit:cover;background:var(--fill);width:96px;height:96px;display:block}.file-photo.is-failed{outline:1px dashed var(--line)}.file-row{color:var(--ink);align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-size{color:var(--muted);font-size:13px}.app .section{margin:0 16px 16px}.app .section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:0 4px 6px;font-size:13px;font-weight:600}.app .section-body{border-radius:var(--r);background:var(--card);overflow:hidden}.app .row{align-items:center;gap:4px;padding-left:12px;display:flex}.app .row+.row{border-top:.5px solid var(--line)}.app .row-tap{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:10px 12px 10px 4px;display:flex}.app button.row-tap:active{background:var(--press)}.app .row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app .row-title{font-size:16px;font-weight:500}.app .row-meta{color:var(--muted);font-size:13px}.app .row-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.app .row-go{color:var(--muted);flex:none}.app .row.is-struck .row-title,.app .row.is-struck .row-text{color:var(--muted);text-decoration:line-through}.app .tick{border:2px solid var(--muted);width:26px;height:26px;color:var(--accent-ink);background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.app .tick.is-on{border-color:var(--ok);background:var(--ok)}.app .seg{background:var(--fill);border-radius:9px;margin:0 16px 14px;padding:2px;display:flex}.app .seg button{color:var(--ink);font:inherit;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 8px;font-size:14px}.app .seg button.is-on{background:var(--card);font-weight:600}.app .title-action{background:var(--fill);color:var(--link);font:inherit;border:0;border-radius:999px;align-items:center;gap:2px;padding:6px 12px;font-weight:600;display:inline-flex}.app .sheet-title{margin:4px 16px;font-size:20px}.app .sheet-sub{color:var(--muted);margin:0 16px 12px;font-size:14px}.app .field{box-sizing:border-box;border-radius:var(--r);background:var(--card);width:calc(100% - 32px);color:var(--ink);font:inherit;resize:vertical;border:0;margin:0 16px 12px;padding:10px 12px;display:block}.app .pick-file{color:var(--link);align-items:center;gap:8px;margin:0 16px 12px;font-size:15px;display:flex}.app .btn{border-radius:var(--r);background:var(--accent);width:calc(100% - 32px);color:var(--accent-ink);font:inherit;border:0;margin:4px 16px 12px;padding:12px;font-weight:600;display:block}.app .btn:disabled{opacity:.5}.app .links,.app .actions,.app .choices{flex-wrap:wrap;gap:8px;padding:0 16px 10px;display:flex}.app .link{color:var(--link);font:inherit;background:0 0;border:0;padding:0;font-size:14px}.app .action,.app .toggle,.app .choices button{background:var(--fill);color:var(--ink);font:inherit;border:0;border-radius:999px;padding:8px 14px;font-size:15px}.app .action:disabled,.app .toggle:disabled{opacity:.5}.app .toggle.is-on,.app .choices button.is-on{background:var(--accent);color:var(--accent-ink);font-weight:600}.app .field.edit{margin-bottom:8px}.app .pager{justify-content:space-between;align-items:center;padding:0 8px 8px;display:flex}.app .pager button{color:var(--link);background:0 0;border:0;padding:6px}.app .pager-title{font-weight:600}.app .progress{background:var(--fill);border-radius:2px;height:4px;margin:4px 16px 10px;overflow:hidden}.app .progress span{background:var(--accent);height:100%;display:block}.app .hint{color:var(--muted);margin:0 16px 10px;font-size:14px}.app .text{white-space:pre-wrap;margin:0 16px 12px;line-height:1.45}.app .text mark{background:var(--fill);color:inherit;font-weight:600}.app .composer{padding-top:4px}.app .bubble{border-radius:var(--r);background:var(--card);white-space:pre-wrap;margin:0 16px 8px;padding:10px 12px}.app .bubble.is-mine{background:var(--fill);margin-left:48px}.app .photos{grid-template-columns:repeat(3,1fr);gap:4px;padding:0 16px 12px;display:grid}.app .photos .file-photo{aspect-ratio:1;object-fit:cover;width:100%}.app .week-strip{justify-content:space-between;padding:0 12px 10px;display:flex}.app .week-strip button{border-radius:var(--r);min-width:44px;color:var(--ink);font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;padding:6px 0;font-size:13px;display:flex}.app .week-strip button.is-on{background:var(--accent);color:var(--accent-ink)}.app .week-strip button.is-today b{text-decoration:underline}.app .week-strip button.is-changed:after{content:"•";color:var(--alert)}.app .talk{flex-direction:column;gap:8px;margin:0 0 12px;display:flex}.app .talk-line{background:var(--fill);border-radius:12px;max-width:85%;margin:0 16px;padding:8px 0 4px}.app .talk-line.is-me{align-self:flex-end}.app .talk-line.is-ai{align-self:flex-start}.app .talk-line .text{margin:0 12px 4px}.app .talk-line .row-meta{margin:0 12px;font-size:12px;display:block}.app .text h3{margin:14px 0 6px;font-size:16px}.app .text p{margin:0 0 6px}
