:root{--bg:#f3f1ec;--surface:#fff;--surface-2:#f8f7f3;--line:#e2dfd6;--line-strong:#cfcabd;--ink:#1d1c19;--ink-2:#57544b;--ink-3:#8b877b;--accent:#0f5f5c;--accent-ink:#fff;--accent-soft:#dcefec;--ok:#1f7a46;--ok-soft:#dff3e6;--warn:#9a6200;--warn-soft:#fbefd2;--bad:#b3261e;--bad-soft:#fbe3e0;--info:#1d5fa8;--info-soft:#e0ecf9;--shadow:0 1px 2px #1e1c140f, 0 4px 14px #1e1c140f;--r:14px;--tab-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}@media (prefers-color-scheme:dark){:root{--bg:#101413;--surface:#181d1c;--surface-2:#1d2322;--line:#2b3331;--line-strong:#3a4543;--ink:#eceae4;--ink-2:#b4b1a6;--ink-3:#85827a;--accent:#3fb8b0;--accent-ink:#06201f;--accent-soft:#163433;--ok:#5fcf8c;--ok-soft:#14301f;--warn:#e8b04a;--warn-soft:#382b10;--bad:#ff8a80;--bad-soft:#3a1a17;--info:#7db4f0;--info-soft:#15283d;--shadow:0 1px 2px #0006}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;overscroll-behavior:none;width:100%;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--ink);overscroll-behavior:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;max-width:100%;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.m-num{font-variant-numeric:tabular-nums}.m-app{min-height:100dvh;padding-bottom:calc(var(--tab-h) + var(--safe-b) + 12px)}.m-top{z-index:20;min-height:56px;padding:calc(var(--safe-t) + 6px) 14px 6px;background:var(--accent);color:var(--accent-ink);align-items:center;gap:10px;display:flex;position:sticky;top:0}.m-top h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:19px;font-weight:650;overflow:hidden}.m-top .m-iconbtn{color:var(--accent-ink)}.m-page{gap:12px;max-width:720px;margin:0 auto;padding:14px 14px 20px;display:grid}.m-tabs{z-index:30;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000d}.m-tab{color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:10.5px;font-weight:550;display:flex;position:relative}.m-tab svg{width:24px;height:24px}.m-tab[aria-current=page]{color:var(--accent)}.m-tab[aria-current=page]:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.m-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.m-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px}.m-card.flat{box-shadow:none}.m-card h2{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:650;display:flex}.m-stack{gap:10px;display:grid}.m-row{align-items:center;gap:10px;display:flex}.m-row.wrap{flex-wrap:wrap}.m-grow{flex:1;min-width:0}.m-between{justify-content:space-between}.m-muted{color:var(--ink-2)}.m-faint{color:var(--ink-3)}.m-small{font-size:13px}.m-xs{font-size:12px}.m-strong{font-weight:650}.m-big{letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1.1}.m-list{gap:8px;display:grid}.m-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;display:flex}.m-item:active{background:var(--surface-2)}.m-item .m-grow>b{font-weight:600;display:block}.m-chev{color:var(--ink-3);flex:none}.m-sep{background:var(--line);border:0;height:1px;margin:10px 0}.m-empty{text-align:center;color:var(--ink-3);padding:28px 12px}.m-btn{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.m-btn:active{filter:brightness(.96);transform:translateY(1px)}.m-btn[disabled]{opacity:.45;pointer-events:none}.m-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.m-btn.danger{background:var(--bad-soft);color:var(--bad);border-color:#0000}.m-btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.m-btn.block{width:100%;display:flex}.m-btn.sm{border-radius:10px;min-height:40px;padding:0 14px;font-size:14px}.m-iconbtn{cursor:pointer;width:44px;height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.m-iconbtn svg{width:24px;height:24px}.m-fab{right:16px;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);z-index:25;background:var(--accent);height:56px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:28px;align-items:center;gap:8px;padding:0 22px;font-weight:650;display:flex;position:fixed;box-shadow:0 6px 18px #00000040}.m-field{gap:6px;display:grid}.m-label{color:var(--ink-2);font-size:13px;font-weight:600}.m-input,.m-select,.m-textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:48px;color:var(--ink);appearance:none;border-radius:12px;padding:10px 12px;font-size:16px}.m-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23888' stroke-width='2'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.m-textarea{resize:vertical;min-height:96px}.m-input:focus,.m-select:focus,.m-textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.m-input.big{text-align:center;min-height:64px;font-size:28px;font-weight:650}.m-grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.m-grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.m-check{cursor:pointer;align-items:center;gap:12px;min-height:48px;display:flex}.m-check input{width:24px;height:24px;accent-color:var(--accent);flex:none}.m-seg{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid}.m-seg button{min-height:42px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 6px;font-size:14px;font-weight:600}.m-seg button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #00000026}.m-chips{scrollbar-width:none;gap:8px;margin:0 -14px;padding:2px 14px;display:flex;overflow-x:auto}.m-chips::-webkit-scrollbar{display:none}.m-chip{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;min-height:40px;color:var(--ink-2);border-radius:20px;flex:none;padding:0 16px;font-size:14px;font-weight:600}.m-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.m-stepper{grid-template-columns:56px 1fr 56px;align-items:center;gap:8px;display:grid}.m-stepper .m-btn{min-height:56px;padding:0;font-size:26px}.m-badge{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:650;display:inline-flex}.m-badge.ok{background:var(--ok-soft);color:var(--ok)}.m-badge.warn{background:var(--warn-soft);color:var(--warn)}.m-badge.bad{background:var(--bad-soft);color:var(--bad)}.m-badge.info{background:var(--info-soft);color:var(--info)}.m-badge.accent{background:var(--accent-soft);color:var(--accent)}.m-note{background:var(--info-soft);color:var(--info);border-radius:12px;padding:12px 14px;font-size:14px}.m-note.warn{background:var(--warn-soft);color:var(--warn)}.m-note.bad{background:var(--bad-soft);color:var(--bad)}.m-note.ok{background:var(--ok-soft);color:var(--ok)}.m-toast{left:14px;right:14px;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);z-index:80;background:var(--ink);color:var(--bg);text-align:center;border-radius:12px;padding:14px 16px;font-weight:600;animation:.2s ease-out m-pop;position:fixed;box-shadow:0 8px 24px #0000004d}.m-toast.bad{background:var(--bad);color:#fff}@keyframes m-pop{0%{opacity:0;transform:translateY(10px)}}.m-overlay{z-index:60;background:#0a0c0b80;justify-content:center;align-items:flex-end;animation:.15s ease-out m-fade;display:flex;position:fixed;inset:0}.m-sheet{background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:720px;max-height:92dvh;animation:.22s cubic-bezier(.2,.9,.3,1) m-up;display:flex;overflow:hidden}.m-sheet.full{border-radius:0;height:100dvh;max-height:100dvh}.m-sheet-h{flex:none;align-items:center;gap:8px;padding:10px 8px 6px 18px;display:flex}.m-sheet-h h2{flex:1;font-size:18px;font-weight:650}.m-sheet-b{-webkit-overflow-scrolling:touch;flex:1;align-content:start;gap:12px;padding:4px 16px 16px;display:grid;overflow-y:auto}.m-sheet-f{padding:10px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:var(--surface);flex:none;gap:8px;display:grid}.m-grab{background:var(--line-strong);border-radius:2px;flex:none;width:40px;height:4px;margin:8px auto 0}@keyframes m-up{0%{opacity:0;transform:translateY(40px)}}@keyframes m-fade{0%{opacity:0}}.m-thumbs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.m-thumb{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:0;display:block;position:relative;overflow:hidden}.m-thumb img,.m-thumb video{object-fit:cover;width:100%;height:100%;display:block}.m-thumb .play{color:#fff;pointer-events:none;background:#00000040;justify-content:center;align-items:center;font-size:30px;display:flex;position:absolute;inset:0}.m-bubble{background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 12px}.m-bubble.mine{background:var(--accent-soft);border-color:#0000;border-radius:14px 14px 4px}.m-ring{background:var(--ink-3);border-radius:50%;flex:none;width:10px;height:10px}.m-ring.live{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.m-skeleton{border-radius:var(--r);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;height:64px;animation:1.2s infinite m-sh}@keyframes m-sh{to{background-position:-200% 0}}.m-hero{background:linear-gradient(160deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #000));color:var(--accent-ink);border-radius:18px;padding:18px}.m-hero .m-faint,.m-hero .m-muted{color:color-mix(in srgb, var(--accent-ink) 75%, transparent)}.m-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.m-cal-d{aspect-ratio:1/1.05;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:5px;font-size:14px;font-weight:600;display:flex;position:relative}.m-cal-d.out{opacity:.35}.m-cal-d.today{outline:2px solid var(--accent)}.m-cal-d.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.m-cal-d.off{background:var(--bad-soft)}.m-cal-d.hol{background:var(--warn-soft)}.m-dots{gap:3px;height:7px;margin-top:4px;display:flex}.m-dots i{border-radius:50%;width:7px;height:7px;display:block}.m-wd{text-align:center;color:var(--ink-3);padding:4px 0;font-size:12px;font-weight:600}.m-map{background:var(--surface);border:1px solid var(--line);touch-action:manipulation;border-radius:12px}.m-actionbar{bottom:calc(var(--tab-h) + var(--safe-b) + 8px);z-index:15;background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;gap:8px;padding:10px;display:grid;position:sticky;box-shadow:0 8px 24px #0000002e}.m-kv{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;display:flex}.m-kv:last-child{border-bottom:0}.m-kv>span:first-child{color:var(--ink-2)}.m-kv>b{font-variant-numeric:tabular-nums;text-align:right}@media (min-width:760px){.m-page{padding-top:22px}.m-overlay{align-items:center}.m-sheet{border-radius:20px;max-height:86dvh}.m-sheet.full{border-radius:20px;height:86dvh}}@media print{.m-tabs,.m-top,.m-fab,.m-actionbar{display:none!important}body{background:#fff}}.m-map{border:1px solid var(--line);background:var(--surface-2);z-index:0;border-radius:12px;height:240px;overflow:hidden}.m-map .leaflet-container{font:inherit}.m-pin span{background:var(--accent);border:3px solid #fff;border-radius:50% 50% 50% 0;width:28px;height:28px;display:block;transform:rotate(-45deg);box-shadow:0 2px 6px #0006}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}.m-input,.m-select,.m-textarea{font-size:16px}.m-app,.m-page,.m-card,.m-sheet,.m-page img,.m-page video{max-width:100%}body:has(.m-overlay){width:100%;position:fixed;inset:0;overflow:hidden}.m-sheet-b,.m-sheet{overscroll-behavior:contain}.m-chips{overscroll-behavior-x:contain;touch-action:pan-x}.m-map,.leaflet-container{touch-action:none}.m-tabs,.m-top,.m-fab,.m-actionbar{transform:translateZ(0)}
