@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/nunito-cyrillic-ext-500-normal.d835e526.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-ext-500-normal.0dd4a07c.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/nunito-cyrillic-500-normal.58a478d9.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-500-normal.b939d279.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/nunito-vietnamese-500-normal.9b6ef6a2.woff2) format("woff2"),url(/_next/static/media/nunito-vietnamese-500-normal.830c358b.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/nunito-latin-ext-500-normal.03741e68.woff2) format("woff2"),url(/_next/static/media/nunito-latin-ext-500-normal.bd17d656.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/nunito-latin-500-normal.78b3b3a4.woff2) format("woff2"),url(/_next/static/media/nunito-latin-500-normal.3bdde237.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-cyrillic-ext-600-normal.b21d0da0.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-ext-600-normal.3de1c631.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-cyrillic-600-normal.f0e1b015.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-600-normal.564e90f5.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-vietnamese-600-normal.bfe57c9d.woff2) format("woff2"),url(/_next/static/media/nunito-vietnamese-600-normal.df5e3d93.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-latin-ext-600-normal.c302e65b.woff2) format("woff2"),url(/_next/static/media/nunito-latin-ext-600-normal.43b7ba90.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-latin-600-normal.1f307960.woff2) format("woff2"),url(/_next/static/media/nunito-latin-600-normal.39ad3ad8.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-cyrillic-ext-700-normal.4c237f16.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-ext-700-normal.aacf7699.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-cyrillic-700-normal.4e152854.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-700-normal.fb1f9f23.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-vietnamese-700-normal.f5a5dc0c.woff2) format("woff2"),url(/_next/static/media/nunito-vietnamese-700-normal.e94a8af9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-latin-ext-700-normal.68c5d587.woff2) format("woff2"),url(/_next/static/media/nunito-latin-ext-700-normal.0a8dff5c.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-latin-700-normal.0b62b606.woff2) format("woff2"),url(/_next/static/media/nunito-latin-700-normal.73c7551b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-cyrillic-ext-800-normal.22776fb9.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-ext-800-normal.1063dacf.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-cyrillic-800-normal.1e4a5799.woff2) format("woff2"),url(/_next/static/media/nunito-cyrillic-800-normal.69ad2b45.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-vietnamese-800-normal.044752ee.woff2) format("woff2"),url(/_next/static/media/nunito-vietnamese-800-normal.7769e616.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-latin-ext-800-normal.8394e5b2.woff2) format("woff2"),url(/_next/static/media/nunito-latin-ext-800-normal.e3b2c950.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-latin-800-normal.cac5ced1.woff2) format("woff2"),url(/_next/static/media/nunito-latin-800-normal.710bec48.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--space-xs:4px;--space-s:8px;--space-m:12px;--space-l:16px;--space-xl:20px;--space-xxl:28px;--radius-s:12px;--radius-m:18px;--radius-l:24px;--radius-pill:999px;--c-bg:#f7f2ec;--c-surface:#ffffff;--c-surface2:#f1e9e1;--c-ink:#2b1d16;--c-mute:#8e7e73;--c-line:#e8ded5;--c-accent:#ff6b2c;--c-accent-soft:#ffe3d3;--c-on-accent:#ffffff;--c-done:#4e9b5e;--c-done-soft:#dcf1e0;--c-lavender:#e6daf7;--c-mint:#d4eedc;--c-sun:#ffd66b;--c-pink:#f5b8dd;--c-map:#ede4d9;--c-map-water:#d5e6f0;--c-map-road:#ffffff;--c-danger:#d9452b;--shadow-card:0 8px 24px rgba(43,28,20,0.08);color-scheme:light}:root[data-theme=dark]{--c-bg:#1c1613;--c-surface:#2a221d;--c-surface2:#362c26;--c-ink:#f7f2ec;--c-mute:#a99a90;--c-line:#3f342d;--c-accent:#ff7e45;--c-accent-soft:#4b2a1a;--c-on-accent:#1c1613;--c-done:#6fc27e;--c-done-soft:#1f3a27;--c-lavender:#3c3150;--c-mint:#243e2f;--c-sun:#c9a23c;--c-pink:#6c3a5c;--c-map:#2f2722;--c-map-water:#223440;--c-map-road:#45392f;--c-danger:#ff6b52;--shadow-card:0 8px 24px rgba(0,0,0,0.35);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--c-bg:#1c1613;--c-surface:#2a221d;--c-surface2:#362c26;--c-ink:#f7f2ec;--c-mute:#a99a90;--c-line:#3f342d;--c-accent:#ff7e45;--c-accent-soft:#4b2a1a;--c-on-accent:#1c1613;--c-done:#6fc27e;--c-done-soft:#1f3a27;--c-lavender:#3c3150;--c-mint:#243e2f;--c-sun:#c9a23c;--c-pink:#6c3a5c;--c-map:#2f2722;--c-map-water:#223440;--c-map-road:#45392f;--c-danger:#ff6b52;--shadow-card:0 8px 24px rgba(0,0,0,0.35);color-scheme:dark}}.t-display{font-size:44px;line-height:48px}.t-display,.t-h1{font-weight:800;letter-spacing:-.02em}.t-h1{font-size:30px;line-height:36px}.t-h2{font-weight:800;font-size:22px;line-height:28px}.t-h3{font-weight:700;font-size:18px;line-height:24px}.t-body{font-weight:500}.t-body,.t-body-bold{font-size:16px;line-height:24px}.t-body-bold{font-weight:700}.t-small{font-weight:500}.t-small,.t-small-bold{font-size:14px;line-height:20px}.t-small-bold{font-weight:700}.t-caption{font-weight:600;font-size:12px;line-height:16px}.t-button{font-weight:800;font-size:16px;line-height:20px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y}body,html{overscroll-behavior:none}body{background:var(--c-bg);color:var(--c-ink);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:500;font-size:16px;line-height:24px;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mute{color:var(--c-mute)}.accent{color:var(--c-accent)}.hidden{display:none!important}.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center{text-align:center}.overline{font-weight:600;font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-mute)}.app{max-width:480px;margin:0 auto;min-height:100dvh;flex-direction:column;position:relative;padding-top:env(safe-area-inset-top,0)}.app,.body{display:flex}.body{flex:1 0 auto;flex-direction:column;gap:16px;padding:8px 20px 24px}.body.gap-14{gap:14px}.body.gap-20{gap:20px}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.between{justify-content:space-between}.grow{flex:1 1;min-width:0}.footer{padding:12px 20px calc(34px + env(safe-area-inset-bottom, 0));display:flex;flex-direction:column;gap:10px}.footer.sticky{position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(to bottom,transparent,var(--c-bg) 22%)}html:has(.footer.sticky){scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px))}.topbar{display:flex;align-items:center;gap:12px;padding:18px 20px 6px}.topbar .title{flex:1 1;text-align:center}.topbar .spacer{width:44px;height:44px;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 22px;border-radius:999px;border:0;font-weight:800;font-size:16px;line-height:20px;text-decoration:none;white-space:nowrap;transition:transform .1s,opacity .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--c-accent);color:var(--c-on-accent)}.btn-secondary{background:var(--c-surface);color:var(--c-ink);border:2px solid var(--c-ink)}.btn-soft{background:var(--c-accent-soft);color:var(--c-accent)}.btn-dark{background:var(--c-ink);color:var(--c-bg)}.btn-danger{background:var(--c-surface);color:var(--c-danger);border:2px solid var(--c-danger)}.btn-block{width:100%}.btn-sm{padding:9px 14px}.btn-sm,.link-btn{font-size:14px;line-height:20px}.link-btn{border:0;background:none;padding:12px;font-weight:700;color:var(--c-mute)}.icon-btn{width:44px;height:44px;flex:none;border-radius:999px;background:var(--c-surface);border:1.5px solid var(--c-line);color:var(--c-ink);display:inline-flex;align-items:center;justify-content:center;padding:0;text-decoration:none}.icon-btn.on{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}.icon-btn:active{transform:scale(.96)}.fab{position:fixed;right:max(20px,calc(50vw - 240px + 20px));bottom:calc(42px + env(safe-area-inset-bottom, 0));gap:10px;padding:16px 22px;background:var(--c-ink);color:var(--c-bg);font-weight:800;line-height:20px;text-decoration:none;box-shadow:var(--shadow-card);z-index:5}.avatar,.fab{display:inline-flex;align-items:center;border-radius:999px;font-size:16px}.avatar{flex:none;background:var(--c-surface2);border:3px solid var(--c-surface);justify-content:center;width:36px;height:36px;line-height:24px}.avatar.s32{width:32px;height:32px}.avatar.s48{width:48px;height:48px}.avatar.s48,.avatar.s52{font-size:22px;line-height:28px}.avatar.s52{width:52px;height:52px}.avatar.ring-accent{border-color:var(--c-accent)}.avatar.ring-line{border-color:var(--c-line)}.avatar.ring-bg{border-color:var(--c-bg)}.avatars{display:flex;flex:none}.avatars>.avatar+.avatar{margin-left:-10px}.avatars.tight>.avatar+.avatar{margin-left:-8px}.card{background:var(--c-surface);border-radius:22px;padding:16px}.shadow,.trip-card{box-shadow:var(--shadow-card)}.trip-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;background:var(--c-surface);border-radius:22px;padding:16px}.trip-card.old{opacity:.7}.trip-card .meta{display:flex;flex-direction:column;gap:2px}.progress{height:10px;width:100%;border-radius:999px;background:var(--c-surface2);overflow:hidden}.progress>i{display:block;height:100%;border-radius:999px;background:var(--c-accent);transition:width .4s ease}.progress.done>i{background:var(--c-done)}.badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--c-accent-soft);color:var(--c-accent);font-weight:700;font-size:14px;line-height:20px}.input{width:100%;padding:14px 16px;border-radius:16px;border:2px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);outline:0}.input::placeholder,.pill-input input::placeholder,.stage-row input::placeholder{color:var(--c-mute)}.pill-input{display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:var(--c-surface);border:1.5px solid var(--c-line)}.pill-input:focus-within{border-color:var(--c-ink)}.pill-input input{flex:1 1;min-width:0;border:0;background:transparent;outline:0;padding:8px 12px;font-size:14px;line-height:20px}.pill-input.lg{padding:6px 6px 6px 16px}.pill-input.lg input{padding:8px 0;font-size:16px;line-height:24px}.send-btn{width:40px;height:40px;flex:none;border-radius:999px;border:0;background:var(--c-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center}.send-btn:disabled{opacity:.5}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:var(--c-surface);border:1.5px solid var(--c-line);color:var(--c-ink);font-weight:700;font-size:14px;line-height:20px;white-space:nowrap}.chip.on{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg)}.chip.danger{color:var(--c-danger)}.switch{position:relative;width:50px;height:30px;flex:none;border-radius:999px;border:0;padding:0;background:var(--c-line);transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s}.switch[aria-checked=true]{background:var(--c-done)}.switch[aria-checked=true]:after{transform:translateX(20px)}.switch:disabled{opacity:.5}.dashed-btn{gap:10px;width:100%;padding:12px 16px;border-radius:16px;border:1.5px dashed var(--c-line);background:transparent;color:var(--c-accent);font-weight:700;font-size:16px;line-height:24px;text-align:left}.dashed-btn,.stage-row{display:flex;align-items:center}.stage-row{gap:8px;padding:4px;border-radius:16px;background:var(--c-surface);border:1.5px solid var(--c-line);touch-action:pan-y}.stage-row.dragging{box-shadow:var(--shadow-card);border-color:var(--c-ink);position:relative;z-index:2}.stage-row .handle{width:36px;height:44px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;cursor:-webkit-grab;cursor:grab;touch-action:none}.stage-row .handle i{width:14px;height:2px;border-radius:1px;background:var(--c-line)}.num{width:28px;height:28px;flex:none;border-radius:999px;background:var(--c-accent-soft);color:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;line-height:20px}.stage-row input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;padding:10px 0}.stage-row .del{width:40px;height:44px;flex:none;border:0;background:none;color:var(--c-mute);display:inline-flex;align-items:center;justify-content:center}.setting-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--c-surface);text-decoration:none;color:inherit;width:100%;border:0;text-align:left}.setting-row.lg{padding:12px 16px}.tile{width:40px;height:40px;flex:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.bg-done-soft{background:var(--c-done-soft)}.bg-accent-soft{background:var(--c-accent-soft)}.bg-mint{background:var(--c-mint)}.bg-sun{background:var(--c-sun)}.bg-lavender{background:var(--c-lavender)}.bg-surface2,.info{background:var(--c-surface2)}.info{gap:8px;padding:10px 14px;border-radius:16px;font-size:14px;line-height:20px;color:var(--c-mute)}.hero,.info{display:flex}.hero{width:220px;height:220px;border-radius:48px;align-items:center;justify-content:center;font-size:96px;line-height:110px;flex:none}.dots{display:flex;gap:6px}.dots i{width:8px;height:8px;border-radius:4px;background:var(--c-line);transition:width .2s}.dots i.on{width:22px;background:var(--c-accent)}.empty{flex-direction:column;gap:16px;padding:32px 24px;border-radius:28px;background:var(--c-surface);text-align:center}.empty,.empty .ico{display:flex;align-items:center}.empty .ico{width:140px;height:140px;border-radius:40px;background:var(--c-accent-soft);justify-content:center;font-size:64px;line-height:76px}.trip-page{--map-h:min(400px,48dvh)}.map-wrap{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:calc(var(--map-h) + 28px + env(safe-area-inset-top, 0));background:var(--c-map);overflow:hidden;z-index:0}.map-wrap .map{position:absolute;inset:0}.mapboxgl-canvas-container,.mapboxgl-map{touch-action:none}.map-top{position:absolute;top:calc(16px + env(safe-area-inset-top, 0));left:16px;right:16px;display:flex;justify-content:space-between;z-index:2;pointer-events:none}.map-top .row>*,.map-top>*{pointer-events:auto}.map-nav{position:absolute;right:16px;bottom:44px;z-index:2}.map-hint{right:76px;bottom:48px;z-index:2;padding:8px 14px;border-radius:16px;background:var(--c-surface);border:1.5px solid var(--c-line);color:var(--c-mute)}.map-hint,.map-pick{position:absolute;left:16px;font-size:14px;line-height:20px}.map-pick{right:16px;top:calc(72px + env(safe-area-inset-top, 0));z-index:3;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--c-ink);color:var(--c-bg);font-weight:700}.map-fallback{inset:0}.map-fallback,.map-fallback svg{position:absolute}.sheet-main{position:relative;z-index:1;margin-top:calc(var(--map-h) + env(safe-area-inset-top, 0));background:var(--c-bg);border-radius:28px 28px 0 0;padding:12px 20px calc(32px + env(safe-area-inset-bottom, 0));display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - var(--map-h))}.grabber{width:40px;height:5px;border-radius:3px;background:var(--c-line);margin:0 auto;flex:none}.pct{font-weight:800;font-size:30px;line-height:36px;letter-spacing:-.02em;color:var(--c-accent)}.me-chip{flex:none;padding:6px 12px;border-radius:999px;background:var(--c-surface);border:1.5px solid var(--c-line);font-weight:700;font-size:14px;line-height:20px;text-decoration:none;color:var(--c-ink);white-space:nowrap}.stages{display:flex;flex-direction:column;gap:8px}.stage{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:var(--c-surface);border:2px solid transparent}.stage.current{border-color:var(--c-accent)}.stage .circle{width:36px;height:36px;flex:none;border-radius:999px;border:0;padding:0;background:var(--c-surface2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:24px;transition:transform .15s}.stage .circle:active{transform:scale(.9)}.stage.done .circle{background:var(--c-done)}.stage.current .circle{background:var(--c-accent)}.stage .txt{flex:1 1;min-width:0;border:0;background:none;padding:0;text-align:left;display:flex;flex-direction:column}.stage .txt .t{font-weight:700;font-size:16px;line-height:24px;overflow-wrap:anywhere}.stage.done .txt .t{font-weight:500;color:var(--c-mute);text-decoration:line-through}.stage .txt .m{font-weight:600;font-size:12px;line-height:16px;color:var(--c-mute)}.stage.current .txt .m{color:var(--c-accent)}.stage .more{width:32px;height:36px;flex:none;border:0;background:none;padding:0;color:var(--c-mute);display:inline-flex;align-items:center;justify-content:center}.trip-foot{flex-wrap:wrap;gap:4px 16px;margin-top:8px}.pin,.trip-foot{display:flex;justify-content:center}.pin{width:30px;height:30px;border-radius:999px;border:3px solid var(--c-surface);background:var(--c-surface);color:var(--c-mute);box-shadow:var(--shadow-card);align-items:center;font-weight:600;font-size:12px;line-height:16px}.pin.done{background:var(--c-done);color:#fff}.pin.current{background:var(--c-accent);border-color:#fff}.pin.current:after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}.pin.home{width:40px;height:40px;border:1.5px solid var(--c-line);font-size:16px}.pin.pick{background:var(--c-ink);border-color:var(--c-surface)}.traveler{position:relative;display:flex}.traveler .avatar{box-shadow:var(--shadow-card)}.traveler .lbl{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:var(--c-ink);color:var(--c-bg);font-weight:600;font-size:12px;line-height:16px;white-space:nowrap}.traveler.stale{opacity:.6}.overlay{--kb-h:calc(var(--kb-inset, 0px) + var(--vv-top, 0px));position:fixed;inset:0;top:var(--vv-top,0);bottom:var(--kb-inset,0);z-index:20;background:rgba(28,22,19,.6);justify-content:flex-end;align-items:center;animation:fade .15s ease}.overlay,.sheet{display:flex;flex-direction:column}.sheet{width:100%;max-width:480px;max-height:calc(100dvh - 120px - var(--kb-h, 0px));overflow-y:auto;overscroll-behavior:contain;background:var(--c-bg);border-radius:28px 28px 0 0;padding:12px 20px max(20px,calc(20px + env(safe-area-inset-bottom, 0px) - var(--kb-h, 0px)));gap:12px;animation:up .2s ease}.sheet.tall{height:calc(100dvh - 120px - var(--kb-h, 0px))}.sheet .scroll{flex:1 1 auto;overflow-y:auto;min-height:0;margin:0 -20px;padding:0 20px}@keyframes up{0%{transform:translateY(40px);opacity:.5}}@keyframes fade{0%{opacity:0}}.thread{flex-direction:column;padding-bottom:4px}.cmt,.thread{display:flex;gap:10px}.cmt{align-items:flex-start}.cmt.reply{padding-left:28px}.bubble{flex:1 1;min-width:0;background:var(--c-surface);border-radius:6px 18px 18px 18px;padding:10px 14px;display:flex;flex-direction:column;gap:4px}.cmt.reply .bubble{background:var(--c-surface2)}.bubble .h{display:flex;gap:6px;align-items:center}.bubble .text{overflow-wrap:anywhere;white-space:pre-wrap}.bubble .acts{display:flex;gap:14px}.bubble .acts button{border:0;background:none;padding:0;font-weight:600;font-size:12px;line-height:16px;color:var(--c-mute)}.bubble .acts button.reply-btn,.reply-to{color:var(--c-accent)}.reply-to{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--c-accent-soft);font-weight:600;font-size:12px;line-height:16px;border:0}.results{display:flex;flex-direction:column;gap:6px}.results button{text-align:left;border:0;background:var(--c-surface);border-radius:14px;padding:10px 14px;font-size:14px;line-height:20px}.arrived{position:fixed;inset:0;z-index:15;background:var(--c-bg);overflow-y:auto;animation:fade .25s ease}.arrived .confetti{display:flex;justify-content:space-between;width:100%;max-width:342px;height:60px;font-weight:800;font-size:22px;line-height:28px}.arrived .confetti span{animation:bob 2.4s ease-in-out infinite}.arrived .confetti span:nth-child(2n){animation-delay:.6s}@keyframes bob{50%{transform:translateY(12px) rotate(8deg)}}.arrived-hero{width:200px;height:200px;background:var(--c-done-soft);flex:none}.arrived-hero,.arrived-hero>div{border-radius:999px;display:flex;align-items:center;justify-content:center}.arrived-hero>div{width:150px;height:150px;background:var(--c-done);font-size:72px;line-height:86px}.stats{display:flex;gap:10px}.stat{width:106px;height:86px;border-radius:20px;background:var(--c-surface);padding:12px 8px;flex-direction:column;gap:2px;white-space:nowrap}.notif-hero,.stat{display:flex;align-items:center}.notif-hero{gap:14px;padding:16px;border-radius:24px;background:var(--c-lavender)}.circle-56{width:56px;height:56px;border-radius:999px;justify-content:center;flex:none}.circle-56,.step{background:var(--c-surface);display:flex;align-items:center}.step{gap:14px;padding:14px;border-radius:22px;box-shadow:var(--shadow-card)}.step .tile{width:56px;height:56px;border-radius:16px}.step-n{width:22px;height:22px;border-radius:999px;background:var(--c-ink);color:var(--c-bg);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;line-height:16px;flex:none}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}.emoji-grid button{aspect-ratio:1;border-radius:14px;border:2px solid transparent;background:var(--c-surface2);font-size:24px;padding:0}.emoji-grid button[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-accent-soft)}.seg{display:flex;padding:4px;gap:4px;border-radius:999px;background:var(--c-surface2)}.seg button{flex:1 1;border:0;background:none;border-radius:999px;padding:8px 10px;font-weight:700;font-size:14px;line-height:20px;color:var(--c-mute)}.seg button[aria-pressed=true]{background:var(--c-surface);color:var(--c-ink)}.provider-btn{position:relative}.provider-btn svg{position:absolute;left:20px}.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom, 0px) + var(--kb-inset, 0px));transform:translateX(-50%) translateY(20px);max-width:calc(100% - 40px);padding:10px 18px;border-radius:999px;background:var(--c-ink);color:var(--c-bg);font-weight:700;font-size:14px;line-height:20px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;text-align:center}.toast.on{opacity:1;transform:translateX(-50%)}.prose{display:flex;flex-direction:column;gap:12px}.prose h2{margin-top:8px}.prose ul{margin:0;padding-left:20px}.prose li,.prose p{color:var(--c-mute)}.chips.wrap{flex-wrap:wrap;overflow:visible;margin:0;padding:0;gap:8px}.chips.wrap .chip{padding:7px 14px 7px 7px}.chips.wrap .chip .avatar{border-width:2px;width:28px;height:28px;font-size:14px}.chip.on .avatar{border-color:var(--c-ink)}.code-box{display:flex;align-items:center;justify-content:center;padding:14px 16px;border-radius:var(--radius-m);background:var(--c-surface2);border:1.5px dashed var(--c-line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:26px;line-height:32px;letter-spacing:.1em;color:var(--c-ink);-webkit-user-select:all;-moz-user-select:all;user-select:all}.dot-wrap{position:relative;display:inline-flex;flex:none}.dot{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:2px solid var(--c-bg);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;line-height:1}.badge.alert,.dot{background:var(--c-danger);color:#fff}.friend-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:var(--c-surface)}.friend-row .names{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1}.friend-row .acts{display:flex;flex:none;gap:6px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.mapboxgl-ctrl-attrib{font-size:10px}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:28px!important}.step.compact{padding:10px 14px}:root{--chat-scrim:color-mix(in srgb,var(--c-ink) 45%,transparent);--chat-viewer:color-mix(in srgb,var(--c-ink) 96%,transparent);--chat-on-viewer:var(--c-bg)}:root[data-theme=dark]{--chat-scrim:color-mix(in srgb,var(--c-bg) 72%,transparent);--chat-viewer:color-mix(in srgb,var(--c-bg) 96%,transparent);--chat-on-viewer:var(--c-ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--chat-scrim:color-mix(in srgb,var(--c-bg) 72%,transparent);--chat-viewer:color-mix(in srgb,var(--c-bg) 96%,transparent);--chat-on-viewer:var(--c-ink)}}.chat-screen{position:fixed;left:0;right:0;top:var(--vv-top,0);bottom:var(--kb-inset,0);margin:0 auto;max-width:480px;display:flex;flex-direction:column;background:var(--c-bg)}.chat-head{flex:none;display:flex;flex-direction:column;gap:var(--space-m);padding:calc(var(--space-m) + env(safe-area-inset-top, 0px)) var(--space-l) var(--space-m);background:var(--c-surface);border-bottom:1px solid var(--c-line)}.chat-head-row,.chat-title{display:flex;align-items:center;gap:var(--space-m)}.chat-title{flex:1 1;min-width:0;color:inherit;text-decoration:none;border-radius:var(--radius-s)}.chat-title .t-h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tools{display:flex;gap:var(--space-s);overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--space-l));padding:0 var(--space-l)}.chat-tools::-webkit-scrollbar{display:none}.chat-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}.chat-log{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-m);padding:var(--space-l)}.chat-older{align-self:center}.chat-day,.chat-start,.chat-system{text-align:center;color:var(--c-mute)}.chat-system{padding:0 var(--space-xl);overflow-wrap:anywhere}.chat-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-s);margin:auto 0;padding:var(--space-xxl) var(--space-l);text-align:center;font-size:44px;line-height:48px}.chat-jump{position:absolute;left:50%;bottom:var(--space-m);transform:translateX(-50%);z-index:2;padding:var(--space-s) var(--space-l);border:0;border-radius:var(--radius-pill);background:var(--c-ink);color:var(--c-bg);font-weight:700;font-size:14px;line-height:20px;box-shadow:var(--shadow-card)}.msg-row{display:flex;align-items:flex-end;gap:var(--space-s);border-radius:var(--radius-m)}.msg-row.cont{margin-top:calc(var(--space-xs) - var(--space-m))}.msg-row.mine{justify-content:flex-end}.msg-avatar{flex:none;width:32px}.msg-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);min-width:0;max-width:80%}.msg-row.mine .msg-col{align-items:flex-end}.msg-press{display:flex;flex-direction:column;align-items:inherit;gap:var(--space-xs);max-width:100%;border-radius:var(--radius-m);-webkit-user-select:none;-moz-user-select:none;user-select:none}.msg-press,.msg-press img{-webkit-touch-callout:none}.msg-press img{-webkit-user-drag:none}.msg-name{padding-left:var(--space-xs)}.msg-bubble{display:flex;flex-direction:column;gap:2px;max-width:100%;padding:var(--space-s) var(--space-m);border-radius:var(--radius-m);overflow-wrap:anywhere}.msg-bubble.other-bg{background:var(--c-surface);color:var(--c-ink)}.msg-bubble.mine{gap:var(--space-xs);background:var(--c-accent);color:var(--c-on-accent)}.msg-bubble.deleted{background:transparent;border:1.5px dashed var(--c-line);color:var(--c-mute);font-style:italic}.msg-text{font-weight:500;font-size:16px;line-height:24px;white-space:pre-wrap}.mention{font-weight:800}.msg-bubble.other-bg .mention{color:var(--c-accent)}.msg-stage{align-self:flex-start;color:var(--c-mute);text-decoration:none}.msg-bubble.mine .msg-stage{color:inherit;opacity:.85}.msg-quote{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;padding:6px var(--space-s);border:0;border-radius:var(--radius-s);background:var(--c-surface2);color:inherit;text-align:left}.msg-bubble.other-bg .msg-quote .t-caption{color:var(--c-accent)}.msg-bubble.mine .msg-quote{background:color-mix(in srgb,var(--c-on-accent) 20%,transparent)}.msg-quote .q-text{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.msg-quote .q-text.deleted{font-style:italic;opacity:.8}.msg-photos{display:grid;grid-template-columns:repeat(2,108px);grid-gap:var(--space-xs);gap:var(--space-xs)}.msg-photo,.msg-photos.one{display:block}.msg-photo{position:relative;width:108px;height:108px;padding:0;border:0;border-radius:var(--radius-m);overflow:hidden;background:var(--c-map-water)}.msg-photos.one .msg-photo{width:220px;height:auto;max-height:300px;aspect-ratio:4/3}.msg-photo img{display:block;width:100%;height:100%;object-fit:cover}.msg-photo-ok{position:absolute;right:var(--space-xs);bottom:var(--space-xs);width:20px;height:20px;border-radius:50%;background:var(--c-done);color:var(--c-surface);font-size:12px;line-height:20px;text-align:center}.msg-sticker{display:block;width:112px;height:112px;border-radius:var(--radius-m);object-fit:cover}.msg-reacts{display:inline-flex;gap:var(--space-s);padding:2px var(--space-s);border-radius:var(--radius-pill);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font-weight:600;font-size:12px;line-height:16px;white-space:nowrap}.msg-reacts.mine{border-color:var(--c-accent)}.msg-seen{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);margin-top:calc(var(--space-xs) - var(--space-m))}.seen-avatar{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--c-surface);background:var(--c-surface2);font-size:8px;line-height:12px}.msg-row.pending .msg-bubble,.msg-row.pending .msg-photos,.msg-row.pending .msg-sticker{opacity:.65}.msg-failed,.msg-status{text-align:right}.msg-failed{color:var(--c-danger)}.msg-failed button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline}.flash{animation:chat-flash 1.2s ease}@keyframes chat-flash{0%{background:var(--c-accent-soft)}}.msg-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);border-radius:var(--radius-l);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-card-wrap,.tool-card.block{align-self:stretch;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius-l)}.tool-card-wrap>.tool-card{display:flex;align-items:center;gap:var(--space-m);width:100%;padding:var(--space-m);border:0;border-radius:var(--radius-l);background:none;color:var(--c-ink);text-align:left;text-decoration:none}.tool-card-wrap>.tool-card>svg{flex:none}.tool-card.block{flex-direction:column;gap:var(--space-s);padding:var(--space-l)}.tc-body,.tool-card.block{display:flex;overflow-wrap:anywhere}.tc-body{flex:1 1;min-width:0;flex-direction:column;gap:2px}.tc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-s)}.tool-card-wrap>.tc-actions{padding:0 var(--space-m) var(--space-m)}.struck{text-decoration:line-through;color:var(--c-mute)}.poll-opts{flex-direction:column}.poll-opt,.poll-opts{display:flex;gap:var(--space-s)}.poll-opt{align-items:center;justify-content:space-between;padding:10px var(--space-m);border:1.5px solid transparent;border-radius:var(--radius-s);background:var(--c-surface2);color:var(--c-ink);text-align:left}.poll-opt .t-caption{flex:none;color:var(--c-mute)}.poll-opt.on{background:var(--c-accent-soft);border-color:var(--c-accent)}.poll-opt.on .t-caption{color:var(--c-accent)}.poll-opt.top{border-color:var(--c-done)}.poll-opt:disabled{cursor:default}.chat-composer{position:relative;flex:none;display:flex;flex-direction:column;gap:var(--space-s);padding:var(--space-m) var(--space-l) max(var(--space-m),calc(var(--space-m) + env(safe-area-inset-bottom, 0px) - var(--kb-inset, 0px)));background:var(--c-surface);border-top:1px solid var(--c-line)}.chat-composer-row{display:flex;align-items:flex-end;gap:var(--space-s)}.chat-composer-row>.icon-btn{margin-bottom:5.5px}.chat-input{flex:1 1;min-width:0;align-items:flex-end}.chat-input textarea{flex:1 1;min-width:0;max-height:128px;padding:var(--space-s) 0;border:0;outline:0;resize:none;background:transparent;color:var(--c-ink);font-size:16px;line-height:24px}.chat-input textarea::placeholder{color:var(--c-mute)}.chat-composer .send-btn{color:var(--c-on-accent)}.chat-sticker-btn{flex:none;width:40px;height:40px;margin-bottom:7.5px;padding:0;border:0;border-radius:50%;overflow:hidden;background:none}.chat-sticker-btn img{display:block;width:100%;height:100%;object-fit:cover}.chat-composer .reply-to{max-width:100%}.mention-list{position:absolute;left:var(--space-l);right:var(--space-l);bottom:calc(100% + var(--space-s));z-index:5;display:flex;flex-direction:column;max-height:240px;overflow-y:auto;padding:var(--space-xs);border:1px solid var(--c-line);border-radius:var(--radius-l);background:var(--c-surface);box-shadow:var(--shadow-card)}.mention-list button{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-s) var(--space-m);border:0;border-radius:var(--radius-s);background:none;color:var(--c-ink);text-align:left}.mention-list button:focus-visible,.mention-list button:hover{background:var(--c-surface2)}.msg-actions{position:fixed;left:0;right:0;top:var(--vv-top,0);bottom:var(--kb-inset,0);z-index:30;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:var(--chat-scrim);animation:chat-fade .15s ease}.msg-actions-box{width:100%;max-width:350px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-s);animation:chat-pop .15s ease}.msg-actions-box.mine{align-items:flex-end}.react-bar{display:flex;gap:var(--space-s);max-width:100%;padding:var(--space-s) var(--space-m);border-radius:var(--radius-pill);background:var(--c-surface);box-shadow:var(--shadow-card)}.react-bar button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:20px;background:none;font-size:22px;line-height:28px;transition:transform .1s}.react-bar button.on{background:var(--c-accent-soft)}.react-bar button:active{transform:scale(1.2)}.msg-actions-preview{align-items:inherit;gap:var(--space-xs);max-height:30vh;overflow:hidden;pointer-events:none}.msg-actions-preview,.msg-menu{display:flex;flex-direction:column;max-width:100%}.msg-menu{width:240px;padding:var(--space-xs);border-radius:var(--radius-l);background:var(--c-surface);box-shadow:var(--shadow-card)}.msg-menu button{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-m);border:0;background:none;color:var(--c-ink);font-weight:700;font-size:16px;line-height:24px;text-align:left}.msg-menu button+button{border-top:1px solid var(--c-line)}.msg-menu button>span{font-weight:500}.msg-menu button.danger{color:var(--c-danger)}.msg-actions-info{padding:6px var(--space-m);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-mute)}@keyframes chat-fade{0%{opacity:0}}@keyframes chat-pop{0%{transform:scale(.96);opacity:.6}}.photo-viewer{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0);background:var(--chat-viewer);animation:chat-fade .15s ease}.photo-viewer img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.pv-close{position:absolute;top:calc(var(--space-l) + env(safe-area-inset-top, 0px));right:var(--space-l)}.pv-next,.pv-prev{position:absolute;top:50%;transform:translateY(-50%)}.pv-prev{left:var(--space-m)}.pv-next{right:var(--space-m)}.pv-count{position:absolute;left:50%;bottom:calc(var(--space-xl) + env(safe-area-inset-bottom, 0px));transform:translateX(-50%)}.pv-count,.pv-error{color:var(--chat-on-viewer)}.pv-error{max-width:280px;padding:var(--space-l);text-align:center}.sheet:has(.v3-sheet){background:var(--c-surface)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.quick-grid.four{grid-template-columns:repeat(4,1fr)}.quick-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-m) var(--space-xs);border:0;border-radius:var(--radius-m);background:var(--c-bg);color:var(--c-ink)}.quick-tile .t-caption{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-img{width:40px;height:40px;border-radius:50%;object-fit:cover}.tool-rows{display:flex;flex-direction:column;padding:var(--space-xs);border-radius:var(--radius-l);background:var(--c-bg)}.tool-row{display:flex;align-items:center;gap:var(--space-m);width:100%;padding:var(--space-m);border:0;background:none;color:var(--c-ink);text-align:left}.tool-row+.tool-row{border-top:1px solid var(--c-line)}.tool-row>svg{flex:none}.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.sticker-btn{display:flex;align-items:center;justify-content:center;padding:var(--space-s);border:0;border-radius:var(--radius-m);background:var(--c-bg)}.sticker-btn img{width:96px;max-width:100%;height:auto;border-radius:var(--radius-m)}.group-map{--map-h:min(560px,62dvh)}@media (prefers-reduced-motion:reduce){.flash,.msg-actions,.msg-actions-box,.photo-viewer{animation:none}}.bg-pink{background:var(--c-pink)}.badge-btn{padding:0;border:0;background:none;border-radius:var(--radius-m);color:inherit}.badge-btn,.gbadge{display:inline-flex;flex:none}.gbadge{align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-s);font-size:16px;line-height:24px}.gbadge.s56{width:56px;height:56px;border-radius:var(--radius-m);font-size:22px;line-height:28px}.gbadge.s80{width:80px;height:80px;font-size:36px;line-height:44px}.gbadge.s80,.glist{border-radius:var(--radius-l)}.glist{display:flex;flex-direction:column;padding:var(--space-xs);background:var(--c-surface)}.glist-row{display:flex;align-items:center;gap:var(--space-m);min-width:0;padding:var(--space-m);border-bottom:1px solid var(--c-line);color:inherit;text-decoration:none}.glist-row:last-child{border-bottom:0}.glist-row.tool{padding:10px var(--space-m)}.glist-row.group:active{background:var(--c-surface2)}.g-main{flex:1 1;flex-direction:column;gap:2px}.g-line,.g-main{display:flex;min-width:0}.g-line{align-items:center;gap:var(--space-s)}.glist-more{align-self:center}.active-now,.home-head{display:flex;align-items:center;gap:var(--space-m)}.active-now{padding:var(--space-m);border-radius:var(--radius-l);background:var(--c-accent-soft)}.home-empty{display:flex;flex:1 1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-l);padding:var(--space-xxl) 0;text-align:center}.home-empty-img{width:168px;height:168px;border-radius:28px;object-fit:cover}.chips.wrap.kind-chips .chip,.chips.wrap.tool-chips .chip{padding:9px 14px}.badge-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.badge-grid button{aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:14px;font-size:24px}.badge-grid button[aria-checked=true]{border-color:var(--c-accent)}.pick-row{display:flex;gap:var(--space-l);overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}.pick-row::-webkit-scrollbar{display:none}.pick{display:flex;flex:none;flex-direction:column;align-items:center;gap:var(--space-xs);max-width:64px;padding:0;border:0;background:none;color:var(--c-ink)}.pick.on{color:var(--c-accent)}.sheet-head{display:flex;align-items:flex-start;gap:var(--space-m)}.qr{--qr-bg:#ffffff;--qr-ink:#2b1d16;position:relative;flex:none;border-radius:var(--radius-s);overflow:hidden;background:var(--qr-bg)}.qr svg{display:block}.qr-bg{fill:var(--qr-bg)}.qr-ink{fill:var(--qr-ink)}.qr-center{position:absolute;display:flex;align-items:center;justify-content:center}.qr-center>.avatar,.qr-center>.gbadge{width:92%;height:92%}.qr-center>.avatar{border-color:var(--qr-bg)}.qr-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-m);padding:var(--space-l);border:1.5px solid var(--c-line);border-radius:var(--radius-l);background:var(--c-surface)}.qr-card .code-box{align-self:stretch}.qr-url{max-width:100%}.qr-wait{height:212px}.info-hero,.qr-wait{display:flex;align-items:center}.info-hero{flex-direction:column;gap:var(--space-s);padding-top:var(--space-s)}.info-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.info-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);min-height:68px;padding:var(--space-m) var(--space-s);border:0;border-radius:var(--radius-m);background:var(--c-surface);color:var(--c-ink);font-size:18px;line-height:24px}.info-act.accent{background:var(--c-accent-soft);color:var(--c-accent)}.info-act[aria-pressed=true]{color:var(--c-mute)}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.gallery-more,.gallery-strip img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:var(--radius-s);background:var(--c-surface2);object-fit:cover}.gallery-more{border:0;color:var(--c-mute);font-weight:700;font-size:18px}.link-btn.accent{color:var(--c-accent)}.danger-link{align-self:flex-start;color:var(--c-danger)}.avatar.animal{overflow:hidden;padding:0}.avatar.animal img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.animal-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.animal{flex-direction:column;gap:2px;padding:0;border:0;background:none;color:var(--c-ink);text-align:center}.animal,.animal-pic{display:flex;align-items:center}.animal-pic{justify-content:center;width:64px;height:64px;margin-bottom:var(--space-xs);overflow:hidden;border:3px solid transparent;border-radius:999px;background:var(--c-surface2);font-size:24px;line-height:28px}.animal-pic img{width:100%;height:100%;object-fit:cover}.animal.on .animal-pic{border-color:var(--c-accent)}.animal.on .t-small-bold{color:var(--c-accent)}.sticker-row{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--space-s);gap:var(--space-s)}.sticker-row img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:var(--radius-s)}.pill{flex:none;padding:6px var(--space-m);border-radius:var(--radius-pill);font-weight:600;font-size:12px;line-height:16px;white-space:nowrap}.pill.sun{background:var(--c-sun);color:var(--c-ink)}.pill.done{background:var(--c-done-soft);color:var(--c-done)}.tone-danger{color:var(--c-danger)}.tone-done{color:var(--c-done)}.tone-neutral{color:var(--c-ink)}.exp-page .body{padding-bottom:calc(110px + env(safe-area-inset-bottom, 0px))}.exp-balance{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xl);border-radius:var(--radius-l);background:var(--c-surface)}.exp-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m)}.exp-list{display:flex;flex-direction:column;margin:0;padding:var(--space-xs);list-style:none;border-radius:var(--radius-l);background:var(--c-surface)}.exp-row{display:flex;align-items:center;gap:var(--space-m);width:100%;padding:var(--space-m);border:0;border-bottom:1px solid var(--c-line);background:none;color:inherit;text-align:left}.exp-list>.exp-row:last-child,.exp-list>li:last-child>.exp-row{border-bottom:0}button.exp-row{border-radius:var(--radius-m);border-bottom-left-radius:0;border-bottom-right-radius:0}button.exp-row:active{background:var(--c-surface2)}.exp-row .names{flex:1 1;min-width:0;display:flex;flex-direction:column}.exp-row .sum{flex:none;display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.exp-row.wrap{flex-wrap:wrap}.exp-acts{flex-basis:100%;display:flex;justify-content:flex-end;gap:var(--space-s)}.exp-acts .link-btn{padding:4px var(--space-s)}.exp-done{margin:0;padding:var(--space-l);color:var(--c-done);text-align:center}.exp-empty{gap:var(--space-xs);padding:var(--space-xl);text-align:center}.exp-more{align-self:center}.exp-detail-head{display:flex;align-items:center;gap:var(--space-m)}.exp-detail-head .t-h2{white-space:nowrap}.exp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-s);gap:var(--space-s);margin:0}.exp-facts>div{min-width:0;padding:10px var(--space-m);border-radius:var(--radius-m);background:var(--c-surface)}.exp-facts dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-shares .exp-row{padding:10px var(--space-m)}.exp-receipt{display:block;width:100%;max-height:60dvh;object-fit:contain;border-radius:var(--radius-m);background:var(--c-surface2)}.exp-detail-acts{display:flex;flex-wrap:wrap;gap:var(--space-s);padding-top:var(--space-xs)}.exp-detail-acts .btn{flex:1 1}.exp-confirm{flex-basis:100%;text-align:center}.ch-head{display:flex;align-items:center;gap:var(--space-m);padding:18px var(--space-xl) 6px;min-width:0}.ch-body{gap:var(--space-l)}.ch-timer{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.ch-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ch-clock,.ch-status{color:var(--c-accent)}.ch-newer{width:100%;border:0;color:var(--c-ink);font-weight:700;text-align:left}.ch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-m);gap:var(--space-m);margin:0;padding:0;list-style:none}.ch-tile{position:relative;width:100%;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-s);overflow:hidden;border:0;border-radius:var(--radius-l);background:var(--c-surface2);color:var(--c-ink)}.ch-tile.turn{background:var(--c-accent-soft);border:2px dashed var(--c-accent);color:var(--c-accent)}.ch-tile.turn:disabled{opacity:.6}.ch-tile.shot{align-items:flex-start;justify-content:flex-end}button.ch-tile.shot:active{transform:scale(.98)}.ch-main{inset:0;width:100%;height:100%}.ch-inset,.ch-main{position:absolute;object-fit:cover}.ch-inset{top:var(--space-s);left:var(--space-s);width:40px;height:54px;border:2px solid var(--c-surface);border-radius:10px}.ch-tile.locked{background:linear-gradient(145deg,var(--c-surface2),var(--c-accent-soft))}.ch-blur{position:absolute;inset:-12px;display:flex;align-items:center;justify-content:center;font-size:96px;line-height:1;filter:blur(11px);opacity:.85;pointer-events:none}.ch-name{position:relative;max-width:100%;padding:4px var(--space-s);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-ink);font-weight:600;font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-front{display:flex;align-items:center;gap:var(--space-m)}.ch-front img{width:56px;height:74px;flex:none;object-fit:cover;border-radius:var(--radius-s);background:var(--c-surface2)}.ch-confirm,.ch-front-acts{justify-content:space-between;gap:var(--space-s)}.ch-del{align-self:center;color:var(--c-danger)}.ch-empty{justify-content:center;align-items:center;text-align:center;gap:var(--space-xl)}.ch-empty .t-body{max-width:320px}.ch-viewer{--side:max(var(--space-l),calc(50vw - 240px + var(--space-l)));position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 76px) var(--side) calc(env(safe-area-inset-bottom, 0px) + var(--space-l));background:var(--c-bg);animation:fade .15s ease}.ch-full{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-l)}.ch-full-inset{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 88px);left:calc(var(--side) + var(--space-m));width:96px;height:128px;padding:0;overflow:hidden;border:3px solid var(--c-surface);border-radius:var(--radius-m);background:var(--c-surface2);box-shadow:var(--shadow-card)}.ch-full-inset img{width:100%;height:100%;object-fit:cover}.ch-viewer-bar{position:absolute;top:calc(env(safe-area-inset-top, 0px) + var(--space-l));left:var(--side);right:var(--side);display:flex;align-items:center;justify-content:space-between;gap:var(--space-m)}