:root,:root[data-theme=light]{--bg:var(--tg-theme-secondary-bg-color,#eef2ee);--surface:var(--tg-theme-section-bg-color,#fff);--surface-2:#f2f5f2;--fg:var(--tg-theme-text-color,#15231a);--muted:var(--tg-theme-hint-color,#5a685e);--line:#dde5df;--accent:#1d7741;--accent-ink:#fff;--accent-soft:#e2f0e7;--accent-deep:#135a30;--hero:#16613a;--hero-ink:#f2fbf5;--hero-muted:#b8dcc6;--hero-tile:#1f7346;--warn:#94570a;--warn-soft:#fcefd8;--info:#235fa3;--info-soft:#e3edf9;--done:#5a685e;--done-soft:#eaedea;--danger:#b8352b;--danger-soft:#fbe5e2;--bubble-me:#dcf3e3;--bubble-them:var(--surface);--f-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--f-mono:ui-monospace,Menlo,monospace;--ease:cubic-bezier(.2,.8,.2,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:var(--tg-theme-secondary-bg-color,#0e1621);--surface:var(--tg-theme-section-bg-color,#17212b);--surface-2:#1f2b37;--fg:var(--tg-theme-text-color,#e8edf1);--muted:var(--tg-theme-hint-color,#8c9aa7);--line:#253342;--accent:#43b874;--accent-ink:#04200e;--accent-soft:#17321f;--accent-deep:#7fd6a2;--hero:#143a27;--hero-ink:#eaf7ef;--hero-muted:#93c4a6;--hero-tile:#1b4a32;--warn:#f0b357;--warn-soft:#382c16;--info:#6ea9ef;--info-soft:#1a2c42;--done:#8c9aa7;--done-soft:#212d39;--danger:#f0756a;--danger-soft:#3a1d1b;--bubble-me:#1f4a33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-ui);padding-bottom:env(safe-area-inset-bottom);margin:0;font-size:15px;line-height:1.45}button{touch-action:manipulation;color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font-size:16px}.gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.gate p{max-width:32ch;margin:0;font-size:16px}.gate button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:12px;height:46px;padding:0 20px;font-size:16px;font-weight:600}.screen{background:var(--bg);height:var(--tg-viewport-stable-height,100dvh);flex-direction:column;display:flex;position:relative;overflow:hidden}.scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.scroll>.body{flex:none;overflow:visible}.tg{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.tg.on-hero{background:var(--hero);color:var(--hero-ink);border-color:#0000}.tg .x{color:var(--info);cursor:pointer;text-align:left;background:0 0;border:0;min-width:64px;padding:6px 2px;font-size:15px}.tg.on-hero .x{color:var(--hero-ink)}.tg .t{text-align:center;flex:1;font-size:15px;font-weight:600}.tg .t small{opacity:.7;font-size:12px;font-weight:400;display:block}.tg .help{justify-content:flex-end;min-width:64px;display:flex}.icon-btn{background:var(--surface-2);cursor:pointer;width:34px;height:34px;color:var(--fg);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex}.on-hero .icon-btn{background:var(--hero-tile);color:var(--hero-ink)}.body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 14px 24px;display:flex;overflow-y:auto}.body.has-tabs{padding-bottom:20px}.foot{background:var(--bg);flex:none;padding:10px 12px 14px}.mainbtn{background:var(--accent);width:100%;height:50px;color:var(--accent-ink);cursor:pointer;transition:transform .12s var(--ease),opacity .2s;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.mainbtn:active{transform:scale(.98)}.mainbtn[disabled]{opacity:.45;cursor:not-allowed}.tabs{background:var(--surface);border-top:1px solid var(--line);flex:none;grid-template-columns:1fr 64px 1fr;align-items:center;padding:6px 10px 14px;display:grid}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-height:44px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.tab[aria-current=page]{color:var(--accent);font-weight:600}.fab{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);cursor:pointer;transition:transform .12s var(--ease);border:0;border-radius:16px;justify-content:center;align-items:center;margin:0 auto;display:flex}.fab:active{transform:scale(.94)}.hero{background:var(--hero);color:var(--hero-ink);flex:none;padding:18px 16px}.hero h2{text-wrap:balance;margin:0;font-size:22px;font-weight:700;line-height:1.2}.hero p{color:var(--hero-muted);margin:4px 0 14px;font-size:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--hero-tile);text-align:left;cursor:pointer;color:var(--hero-ink);border:1.5px solid #0000;border-radius:14px;padding:10px 12px}.stat[aria-pressed=true]{border-color:var(--hero-ink)}.stat b{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1;display:block}.stat span{color:var(--hero-muted);font-size:12px}.stat.hot b{color:#ffd58a}.search{background:var(--surface);height:42px;color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{font:16px var(--f-ui);color:var(--fg);background:0 0;border:0;flex:1;min-width:0;height:100%}.search input:focus{outline:none}.seg{background:var(--surface-2);border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px;font-size:14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg)}.group-h{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;margin:4px 4px -4px;font-size:12px;font-weight:600;display:flex}.list{background:var(--surface);border-radius:14px;overflow:hidden}.item{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;width:100%;padding:12px 14px;display:grid}.item:last-child{border-bottom:0}.item:active{background:var(--surface-2)}.item .k{font-family:var(--f-mono);color:var(--muted);font-size:12px}.item .s{grid-column:1/-1;font-weight:500;line-height:1.3}.item .m{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;font-size:13px;display:flex}.item .age{font-variant-numeric:tabular-nums}.item .age.late{color:var(--danger);font-weight:500}.chip{white-space:nowrap;border-radius:999px;align-self:start;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.st-open{background:var(--info-soft);color:var(--info)}.st-work{background:var(--accent-soft);color:var(--accent)}.st-need{background:var(--warn-soft);color:var(--warn)}.st-done{background:var(--done-soft);color:var(--done)}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:14px}.card{background:var(--surface);border-radius:14px;padding:14px}.lbl{color:var(--muted);justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13px;font-weight:500;display:flex}.magic{background:var(--surface);border:1.5px solid var(--accent);border-radius:16px;gap:10px;padding:14px;display:grid}.magic h4{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.magic h4 svg{color:var(--accent)}.magic textarea{font:16px var(--f-ui);color:var(--fg);background:var(--surface-2);resize:none;border:0;border-radius:10px;width:100%;padding:11px 12px;line-height:1.4}.magic textarea:focus{outline:2px solid var(--accent)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-soft{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.btn-soft[disabled]{opacity:.6;cursor:progress}.sub{color:var(--muted);font-size:12px}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{border:1.5px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;min-height:88px;padding:12px;transition:border-color .2s,background .2s;display:flex}.tile svg{color:var(--accent)}.tile b{font-size:15px}.tile span{color:var(--muted);font-size:12px;line-height:1.3}.tile[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.chips{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:36px;padding:7px 12px;font-size:14px;font-weight:500;transition:border-color .2s,background .2s,color .2s}.pill[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hint{color:var(--muted);background:var(--surface-2);border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:500}.field input,.field textarea{font:16px var(--f-ui);color:var(--fg);background:var(--surface-2);resize:none;border:1.5px solid #0000;border-radius:10px;width:100%;padding:11px 12px}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field .cap{color:var(--muted);font-size:13px;font-weight:500}.file-x{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-12px -10px -12px 0;display:flex}.file-errors{color:var(--danger);margin:0;padding:0 0 0 16px;font-size:12px}.field .cnt{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.files{flex-wrap:wrap;gap:8px;display:flex}.file{background:var(--surface-2);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.add{border:1.5px dashed var(--line);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500}.dup{background:var(--warn-soft);border-radius:14px;gap:8px;padding:12px 14px;font-size:14px;display:grid}.dup .t{align-items:flex-start;gap:8px;display:flex}.dup .t svg{color:var(--warn);flex:none;margin-top:2px}.dup .k{font-family:var(--f-mono);font-size:12px}.dup .acts{flex-wrap:wrap;gap:8px;display:flex}.dup button{cursor:pointer;background:var(--surface);color:var(--fg);border:0;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.notify{color:var(--muted);align-items:flex-start;gap:10px;padding:0 4px;font-size:13px;display:flex}.notify svg{color:var(--accent);flex:none;margin-top:1px}.notify b{color:var(--fg);font-weight:500}.filled{animation:flash .9s var(--ease)}@keyframes flash{0%{background:var(--accent-soft)}to{}}.ok{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 6px 4px;display:flex}.ok .ring{background:var(--accent-soft);width:76px;height:76px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.ok .ring path{stroke-dasharray:24;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.ok .ring path{animation:draw .5s .1s var(--ease) both}@keyframes draw{0%{stroke-dashoffset:24px}}}.ok h3{margin:4px 0 0;font-size:21px}.ok .k{font-family:var(--f-mono);color:var(--muted);font-weight:600}.next{gap:10px;margin:0;padding:0;list-style:none;display:grid}.next li{grid-template-columns:28px 1fr;align-items:start;gap:10px;font-size:14px;display:grid}.next .ic{background:var(--surface-2);width:28px;height:28px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:flex}.next small{color:var(--muted);font-size:13px;display:block}.ghost{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;font-size:15px;font-weight:500;display:flex}.dhead{background:var(--surface);border-bottom:1px solid var(--line);flex:none;gap:6px;padding:12px 16px 14px;display:grid}.dhead .k{font-family:var(--f-mono);color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.dhead h3{text-wrap:balance;margin:0;font-size:17px;line-height:1.25}.track{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:4px;display:grid}.track i{background:var(--line);border-radius:2px;height:4px}.track i.on{background:var(--accent)}.track i.now{background:var(--warn)}.track-l{color:var(--muted);grid-template-columns:repeat(4,1fr);gap:4px;font-size:11px;display:grid}.chat{flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px 12px;display:flex;overflow-y:auto}.ev{color:var(--muted);background:var(--surface-2);text-align:center;border-radius:999px;align-self:center;padding:4px 10px;font-size:12px}.msg{border-radius:16px;max-width:84%;padding:8px 12px 6px;font-size:14px;line-height:1.4}.msg .who{color:var(--accent);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.msg time{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.them{background:var(--bubble-them);border-bottom-left-radius:6px;align-self:flex-start}.me{background:var(--bubble-me);border-bottom-right-radius:6px;align-self:flex-end}.msg.q{border:1.5px solid var(--warn)}.att{background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;margin:4px 0;padding:8px 10px;font-size:13px;display:flex}.composer{background:var(--surface);border-top:1px solid var(--line);flex:none;align-items:flex-end;gap:8px;padding:8px 10px 14px;display:flex}.composer textarea{min-width:0;font:16px var(--f-ui);color:var(--fg);background:var(--surface-2);resize:none;border:0;border-radius:18px;flex:1;max-height:120px;padding:10px 14px}.composer textarea:focus{outline:2px solid var(--accent)}.send{background:var(--accent);width:42px;height:42px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.rate{background:var(--surface);border-radius:14px;align-self:stretch;gap:8px;padding:12px 14px;display:grid}.rate .row button{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex:1;height:42px;font-size:14px;font-weight:500}.rate .row button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ob{background:var(--hero);color:var(--hero-ink);flex-direction:column;flex:1;min-height:0;display:flex}.ob-top{justify-content:flex-end;padding:16px 16px 0;display:flex}.ob-top button{color:var(--hero-muted);cursor:pointer;background:0 0;border:0;padding:8px;font-size:14px}.ob-art{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 24px;display:flex}.ob-art .mock{background:var(--surface);width:100%;max-width:280px;color:var(--fg);border-radius:20px;gap:8px;padding:14px;display:grid;transform:rotate(-2deg)}.ob-text{padding:0 26px 8px}.ob-text .step{font-family:var(--f-mono);color:var(--hero-muted);font-size:12px}.ob-text h2{text-wrap:balance;margin:6px 0 8px;font-size:25px;font-weight:800;line-height:1.15}.ob-text p{color:var(--hero-muted);max-width:34ch;margin:0;font-size:15px}.dots{gap:6px;padding:18px 26px;display:flex}.dots i{background:var(--hero-tile);width:8px;height:8px;transition:width .25s var(--ease),background .25s;border-radius:4px}.dots i.on{background:var(--hero-ink);width:24px}.ob-foot{padding:0 16px 18px}.ob-foot .mainbtn{background:var(--hero-ink);color:var(--hero)}@media (prefers-reduced-motion:no-preference){.ob-art .mock,.ob-text{animation:rise .35s var(--ease) both}.ob-text{animation-delay:50ms}@keyframes rise{0%{opacity:.3;transform:translateY(10px)}}}.toc{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toc button{background:var(--surface);text-align:left;cursor:pointer;border:0;border-radius:12px;gap:4px;min-height:72px;padding:12px;display:grid}.toc svg{color:var(--accent)}.toc b{font-size:14px;font-weight:600}.guide{background:var(--surface);border-radius:14px;gap:10px;padding:16px;display:grid}.guide h3{margin:0;scroll-margin-top:10px;font-size:17px}.guide p{color:var(--fg);margin:0;font-size:14px}.guide .mutedp{color:var(--muted)}.steps-n{counter-reset:s;gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps-n li{counter-increment:s;grid-template-columns:24px 1fr;gap:10px;font-size:14px;display:grid}.steps-n li:before{content:counter(s);background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.route{border-collapse:collapse;width:100%;font-size:13px}.route td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 0}.route td:last-child{text-align:right;font-family:var(--f-mono);color:var(--muted);padding-left:10px;font-size:12px}.toast{background:var(--fg);color:var(--bg);white-space:nowrap;z-index:5;border-radius:10px;padding:9px 14px;font-size:13px;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.body,.chat{animation:in .22s var(--ease)}@keyframes in{0%{opacity:.4;transform:translateY(6px)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.sheet-overlay{z-index:50;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:18px 18px 0 0;gap:12px;width:100%;max-height:90dvh;padding:14px 16px 18px;display:grid;overflow-y:auto}.sheet-h{justify-content:space-between;align-items:center;display:flex}.sheet-h h3{margin:0;font-size:17px}.sheet-x{background:var(--surface-2);color:var(--fg);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sheet label{color:var(--muted);gap:6px;font-size:13px;display:grid}.sheet textarea{font:16px var(--f-ui);color:var(--fg);background:var(--surface-2);resize:none;border:1.5px solid #0000;border-radius:10px;width:100%;padding:11px 12px}.sheet textarea:focus{border-color:var(--accent);outline:none}.sheet .err{color:var(--danger);margin:0;font-size:14px}.dacts{align-items:center;gap:8px;display:flex}.dacts a,.dacts button{font-size:13px}.msg{white-space:pre-wrap;overflow-wrap:anywhere}.msg.pending{opacity:.6}.chat-err{color:var(--danger);background:var(--surface);margin:0;padding:6px 14px;font-size:13px}.pill[role=radio][aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cnt{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.toast{background:var(--accent-soft);color:var(--accent);margin:0;padding:6px 14px;font-size:13px}.notif{border-bottom:1px solid var(--line);gap:2px;padding:8px 0;display:grid}.notif b{font-size:14px;font-weight:600}.faq{border-bottom:1px solid var(--line);padding:6px 0}.faq summary{cursor:pointer;min-height:32px;padding:6px 0;font-size:14px;font-weight:500}.faq p{color:var(--muted);padding-bottom:6px}.pills-row{scrollbar-width:none;gap:8px;margin:0 -14px;padding:0 14px 2px;display:flex;overflow-x:auto}.pills-row::-webkit-scrollbar{display:none}.pills-row .pill{white-space:nowrap;flex:none}.pill-n{opacity:.6;font-variant-numeric:tabular-nums;margin-left:2px}.reg{gap:14px;display:grid}.reg h2{margin:0;font-size:18px;line-height:1.3}.reg>.sub{margin-top:-8px;font-size:14px}.field-err{color:var(--danger);margin:0;font-size:13px}.field input[aria-invalid=true]{border-color:var(--danger)}.reg-note{color:var(--fg);background:var(--info-soft);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.code-input{letter-spacing:.4em;text-align:center;font:600 24px var(--f-mono)!important}.reg-actions{flex-direction:column;align-items:flex-start;margin:-6px 0 -8px;display:flex}.linkbtn{min-height:40px;color:var(--info);font:15px var(--f-ui);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.linkbtn[disabled]{color:var(--muted);cursor:default}.reg-foot{text-align:center;margin:0}
