@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0udrnr4-18tjo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.1br53b7gww62p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.3bgaltqld2gq2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.22m3f6pvfu2zf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.35qbt1_6db49h.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.2heyes1wqz_kz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.37omzjo7pfhh3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.31-z0m_4g_6pa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.Spx_qa_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.Spx_qa_variable{--font-body:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.p.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.p.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.ZtBZ6a_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.ZtBZ6a_variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--bg:#eef3f2;--surface:#fff;--surface-2:#f6f9f8;--ink:#14242a;--muted:#5b6d72;--line:#dce4e3;--sea:#dcebee;--land:#e2e8e6;--land-line:#fff;--l1:#c3e6d6;--l2:#8bcdb1;--l3:#45ab82;--l4:#1f7c59;--l5:#0f5039;--accent:#e0612f;--accent-ink:#fff;--accent-soft:#fbe6dc;--t-travel:#d9efe7;--t-work:#e1e5f6;--t-event:#f8ebcf;--t-other:#ece6f4;--danger:#c0392b;--shadow:0 10px 30px #1432301a;--overlay:#0a12148c;--display:var(--font-display), "Be Vietnam Pro", system-ui, sans-serif;--body:var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0e1618;--surface:#162123;--surface-2:#1b282a;--ink:#e5eeeb;--muted:#95a8a7;--line:#273537;--sea:#122126;--land:#243230;--land-line:#0e1618;--l1:#1f4a3b;--l2:#276a50;--l3:#2f8d67;--l4:#48b486;--l5:#86dcb3;--accent:#f07a4a;--accent-ink:#1a0d07;--accent-soft:#3a2219;--t-travel:#1d3a31;--t-work:#262c45;--t-event:#3b3220;--t-other:#2f2840;--danger:#ff8a7a;--shadow:0 10px 30px #00000059;--overlay:#000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{text-wrap:balance;margin:0}.num{font-variant-numeric:tabular-nums}img.ph{object-fit:cover;background:var(--surface-2);width:100%;height:100%;display:block;position:absolute;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.login{place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(100%,400px);box-shadow:var(--shadow);border-radius:22px;gap:16px;padding:28px;display:grid}.login-card .brand{font-size:30px}.login-card p{color:var(--muted);margin:0}.form-error{color:var(--danger);min-height:1.2em;margin:0;font-size:13px}.app-frame{width:100%;height:100%;position:relative;overflow:hidden;container:app/inline-size}.app{grid-template-rows:auto 1fr;height:100%;display:grid;position:relative}.top{padding:12px 18px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:14px;display:flex}.brand{font-family:var(--display);letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:6px;font-size:20px;font-weight:800;display:flex}.brand i{color:var(--accent);font-style:normal}.tabs{gap:2px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:10px;padding:8px 12px;font-weight:600}.tabs button[aria-current=page]{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--accent)}.search{flex:1;max-width:340px;position:relative}.search input{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:100%;padding:8px 12px 8px 34px}.search svg{color:var(--muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.who{align-items:center;gap:8px;margin-left:auto;display:flex}.who select{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:7px 10px;font-weight:600}.chk{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.btn{white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:var(--surface-2);border:1px solid var(--line)}.btn-danger{color:var(--accent);border:1px solid var(--accent);background:0 0}.user-menu{position:relative}.user-btn{border:1px solid var(--line);background:var(--surface-2);text-transform:uppercase;border-radius:50%;width:34px;height:34px;font-size:12px;font-weight:700}.user-pop{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;border-radius:12px;gap:8px;min-width:180px;padding:10px;font-size:13px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.main{flex-direction:column;min-height:0;display:flex;position:relative}.main>.map-screen,.main>.scroll-screen{flex:1;height:auto;min-height:0}.bottom-nav,.fab,.mobile-search{display:none}.map-screen{grid-template-columns:minmax(0,1fr) 420px;height:100%;display:grid}.map-wrap{background:var(--sea);touch-action:none;min-height:0;position:relative;overflow:hidden}.map-canvas{position:absolute;inset:0}.map-wrap svg.vn{width:100%;height:100%;display:block}.map-wrap path{stroke:var(--land-line);stroke-width:.5px;cursor:pointer;transition:fill .35s}.map-wrap path[data-l="0"]{fill:var(--land)}.map-wrap path[data-l="1"]{fill:var(--l1)}.map-wrap path[data-l="2"]{fill:var(--l2)}.map-wrap path[data-l="3"]{fill:var(--l3)}.map-wrap path[data-l="4"]{fill:var(--l4)}.map-wrap path[data-l="5"]{fill:var(--l5)}.map-wrap path.sel{fill:var(--accent)!important}@media (hover:hover){.map-wrap path:hover{filter:brightness(1.06);stroke:var(--ink);stroke-width:.8px}}.map-wrap path.island{cursor:default}.year-ghost{font-family:var(--display);color:var(--ink);opacity:.07;pointer-events:none;font-variant-numeric:tabular-nums;font-size:clamp(56px,9cqi,120px);font-weight:800;line-height:1;position:absolute;top:42%;right:22px}.map-tl{justify-items:end;gap:10px;display:grid;position:absolute;top:16px;right:16px}.card-float{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:10px 12px}.progress-big{align-items:baseline;gap:6px;display:flex}.progress-big b{font-family:var(--display);font-size:30px;font-weight:800;line-height:1}.progress-big span{color:var(--muted);font-size:13px}.meter{background:var(--land);border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.meter i{background:var(--l3);border-radius:99px;height:100%;transition:width .35s;display:block}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.legend .sw{border-radius:3px;width:22px;height:10px;display:inline-block}.legend-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mini-seg{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.mini-seg button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600}.mini-seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.scope{justify-items:end;gap:6px;display:grid;position:absolute;bottom:92px;right:16px}.zoom{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;display:grid;overflow:hidden}.zoom button{background:0 0;border:0;width:36px;height:34px;font-size:18px}.zoom button+button{border-top:1px solid var(--line)}.scrub{align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.scrub .play{background:var(--ink);width:38px;height:38px;color:var(--bg);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.scrub input{accent-color:var(--accent);flex:1;min-width:0}.scrub .lbl{color:var(--muted);white-space:nowrap;font-size:13px}.scrub .lbl b{color:var(--ink)}.tip{pointer-events:none;background:var(--ink);color:var(--bg);white-space:nowrap;z-index:5;border-radius:8px;padding:6px 9px;font-size:12px;position:absolute;transform:translate(-50%,-120%)}.panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.sheet-handle{display:none}.panel-scroll{flex:1;grid-auto-rows:max-content;align-content:start;gap:16px;min-height:0;padding:18px;display:grid;overflow-y:auto}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:700}.place-hero{aspect-ratio:16/8;background:linear-gradient(135deg, var(--l2), var(--l4));border-radius:16px;position:relative;overflow:hidden}.place-hero .cap{color:#fff;background:linear-gradient(#0000,#0009);padding:14px;position:absolute;inset:auto 0 0}.place-hero h2{font-family:var(--display);font-size:28px;font-weight:800;line-height:1.1}.place-hero .close{color:#fff;z-index:2;background:#00000073;border:0;border-radius:50%;width:30px;height:30px;position:absolute;top:10px;right:10px}.facts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.facts div{background:var(--surface-2);border-radius:12px;padding:8px 10px}.facts b{font-variant-numeric:tabular-nums;font-size:16px;display:block}.facts span{color:var(--muted);font-size:12px}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.list-head h3{font-size:15px}.filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-input{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:130px;padding:3px 10px;font-size:12px}.trip{border:1px solid var(--line);background:var(--surface);border-radius:14px;display:grid;overflow:hidden}.trip-cover{aspect-ratio:16/7;cursor:zoom-in;background:var(--surface-2);border:0;width:100%;padding:0;display:block;position:relative}.trip-cover .count{color:#fff;background:#0000008c;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex;position:absolute;bottom:8px;right:8px}.trip-body{gap:6px;padding:10px 12px 12px;display:grid}.trip-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.pill{color:var(--ink);background:var(--t-other);border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600}.pill.t-travel{background:var(--t-travel)}.pill.t-work{background:var(--t-work)}.pill.t-event{background:var(--t-event)}.pill.owner{border:1px solid var(--line);color:var(--muted);background:0 0}.trip h4{margin:0;font-size:15px;line-height:1.3}.trip .places{color:var(--muted);font-size:12px}.trip .desc{color:var(--ink);white-space:pre-line;font-size:13px}.thumbs{flex-wrap:wrap;gap:4px;display:flex}.thumbs button,.thumbs .thumb{background:var(--surface-2);border:0;border-radius:8px;width:44px;height:44px;padding:0;position:relative;overflow:hidden}.thumbs .more{color:var(--muted);background:var(--surface-2);place-items:center;font-size:12px;font-weight:700;display:grid}.trip-actions{justify-content:flex-end;gap:6px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--muted);border-radius:8px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.no-photo{aspect-ratio:16/5;background:var(--surface-2);color:var(--muted);border-bottom:1px dashed var(--line);place-items:center;font-size:12px;display:grid}.memory{background:var(--accent-soft);border-radius:16px;gap:10px;padding:14px;display:grid}.memory h3{font-family:var(--display);font-size:20px;font-weight:800}.memory-row{text-align:left;background:0 0;border:0;grid-template-columns:64px 1fr;align-items:center;gap:10px;padding:0;display:grid}.memory-row .t{background:var(--surface);border-radius:12px;width:64px;height:64px;position:relative;overflow:hidden}.memory-row small{color:var(--muted);display:block}.empty{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:30px 12px;display:grid}.empty b{color:var(--ink);font-size:15px}.hint-line{color:var(--muted);margin:0;font-size:12px}.scroll-screen{height:100%;overflow-y:auto}.tl-inner{gap:22px;max-width:1100px;margin:0 auto;padding:20px 22px 60px;display:grid}.tl-filters{background:var(--bg);z-index:2;flex-wrap:wrap;align-items:center;gap:10px;padding-block:10px;display:flex;position:sticky;top:0}.tl-filters select{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.tl-year{grid-template-columns:110px 1fr;gap:18px;display:grid}.tl-year h2{font-family:var(--display);font-variant-numeric:tabular-nums;align-self:start;font-size:40px;font-weight:800;line-height:1;position:sticky;top:64px}.tl-year h2 small{font-family:var(--body);color:var(--muted);margin-top:6px;font-size:12px;font-weight:500;display:block}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:start;gap:14px;display:grid}.tl-count{color:var(--muted);font-size:13px}.st-inner{gap:18px;max-width:1100px;margin:0 auto;padding:22px 22px 60px;display:grid}.tiles{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.tile b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1;display:block}.tile b small{color:var(--muted);font-size:16px}.tile span{color:var(--muted);font-size:13px}.st-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.box{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.box h3{font-size:15px}.box p.hint{color:var(--muted);margin:-6px 0 0;font-size:12px}.bars-svg{width:100%;height:220px;display:block;overflow:visible}.bars-svg text{fill:var(--muted);font-size:11px;font-family:var(--body)}.bars-svg .grid{stroke:var(--line);stroke-width:1px}.hbar{grid-template-columns:120px 1fr 32px;align-items:center;gap:10px;font-size:13px;display:grid}.hbar .track{background:var(--surface-2);border-radius:0 4px 4px 0;height:10px}.hbar .track i{background:var(--l3);border-radius:0 4px 4px 0;height:100%;display:block}.hbar .v{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.region{gap:6px;display:grid}.region-head{justify-content:space-between;font-size:13px;display:flex}.region-head span{color:var(--muted);font-variant-numeric:tabular-nums}.unvisited{flex-wrap:wrap;gap:6px;display:flex}.unvisited span{border:1px dashed var(--line);color:var(--muted);border-radius:99px;padding:2px 9px;font-size:12px}.scrim{background:var(--overlay);z-index:20;position:absolute;inset:0}.drawer{background:var(--surface);z-index:21;width:min(520px,100%);box-shadow:var(--shadow);grid-template-rows:auto 1fr auto;display:grid;position:absolute;top:0;bottom:0;right:0}.drawer header,.drawer footer{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex}.drawer footer{border-top:1px solid var(--line);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-bottom:0;flex-wrap:wrap}.drawer header h2{font-family:var(--display);flex:1;font-size:22px;font-weight:800}.drawer .x{background:var(--surface-2);border:0;border-radius:50%;width:32px;height:32px;font-size:18px}.drawer form{grid-auto-rows:max-content;align-content:start;gap:14px;min-height:0;padding:16px 18px;display:grid;overflow-y:auto}.field{gap:6px;display:grid}.field>label,.field>.lbl{color:var(--muted);font-size:12px;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:100%;padding:9px 11px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.drop{border:2px dashed var(--line);background:var(--surface-2);border-radius:14px;gap:10px;padding:14px;display:grid}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.drop p{color:var(--muted);margin:0;font-size:13px}.exif{background:var(--t-travel);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.exif b{display:block}.exif button{margin-top:6px}.place-chips{gap:8px;display:grid}.place-chip{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:8px 10px;display:grid}.place-chip.drag-over{border-color:var(--accent)}.place-chip-head{align-items:center;gap:8px;font-weight:600;display:flex}.place-chip-head .grip{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none}.place-chip-head small{color:var(--muted);margin-left:auto;font-weight:500}.place-chip-head button{color:var(--muted);background:0 0;border:0;font-size:16px}.place-chip .thumbs .thumb{cursor:grab;width:52px;height:52px}.place-chip .thumbs .thumb .x-del{color:#fff;z-index:2;background:#0009;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-size:11px;line-height:18px;position:absolute;top:2px;right:2px}.place-chip .thumbs .thumb.busy:after{content:"";background:#ffffff8c;position:absolute;inset:0}.place-chip .thumbs .thumb.failed{outline:2px solid var(--danger)}.thumbs .add{border:1px dashed var(--line);color:var(--muted);background:0 0;border-radius:8px;place-items:center;width:52px;height:52px;font-size:20px;display:grid}.picker{position:relative}.picker input{width:100%}.picker-menu{background:var(--surface);border:1px solid var(--line);max-height:240px;box-shadow:var(--shadow);z-index:5;border-radius:12px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker-menu button{text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:7px 10px;display:block}.picker-menu button:hover,.picker-menu button.active{background:var(--surface-2)}.picker-menu .empty-line{color:var(--muted);padding:8px 10px;font-size:13px}.suggest{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.confirm{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;flex:1;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.toast{background:var(--ink);color:var(--bg);z-index:40;box-shadow:var(--shadow);border-radius:10px;max-width:calc(100% - 32px);padding:9px 14px;font-size:13px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.toast.err{background:var(--danger);color:#fff}.account-card{background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.account-card .user-btn{flex:none;place-items:center;width:44px;height:44px;display:grid}.account-card div:last-child{gap:2px;min-width:0;display:grid}.account-card span{color:var(--muted);font-size:13px}.section-title{margin-top:4px;font-size:15px}.lb{z-index:30;color:#f2f5f4;background:#070b0c;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.lb-top{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.lb-top button,.lb-top a{color:#fff;background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:6px 10px;font-size:13px;text-decoration:none}.lb-img{touch-action:pan-y;place-items:center;height:100%;min-height:0;margin:0 60px;display:grid;position:relative;overflow:hidden}.lb-img img{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.lb-nav{color:#fff;z-index:2;background:#ffffff1f;border:0;border-radius:50%;width:44px;height:44px;font-size:22px;position:absolute;top:50%;transform:translateY(-50%)}.lb-prev{left:0}.lb-next{right:0}.lb-cap{padding:12px 16px 18px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));gap:2px;display:grid}.lb-cap b{font-size:16px}.lb-cap span{color:#b9c6c4;font-size:13px}@container app (max-width:760px){.top{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));gap:10px}.tabs,.top .search,.top .btn-primary,.top .chk{display:none}.who select{padding:5px 8px;font-size:13px}.app{grid-template-rows:auto 1fr auto}.bottom-nav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(3,1fr);display:grid}.bottom-nav button{color:var(--muted);background:0 0;border:0;justify-items:center;gap:2px;padding:8px 0 10px;font-size:11px;font-weight:600;display:grid}.bottom-nav button[aria-current=page]{color:var(--accent)}.fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--accent);width:54px;height:54px;color:var(--accent-ink);box-shadow:var(--shadow);z-index:10;border:0;border-radius:50%;place-items:center;font-size:28px;display:grid;position:absolute}.mobile-search{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.mobile-search-bar{padding:8px 14px 0}.mobile-search-bar .search{max-width:none}.map-screen{display:block;position:relative}.map-wrap{position:absolute;inset:0 0 44%}.map-canvas{top:50px}.place-hero{aspect-ratio:16/6}.map-tl{top:auto;bottom:14px;right:10px}.map-tl .legend-card,.map-tl .country-chips{display:none}.progress-big b{font-size:22px}.year-ghost{display:none}.scope{inset:10px auto auto 10px}.scrub{background:var(--surface);border:1px solid var(--line);width:52%;box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:6px 8px;inset:10px 10px auto auto}.scrub .play{width:28px;height:28px}.scrub .lbl{font-size:11px}.panel{z-index:6;border-left:0;border-radius:20px 20px 0 0;height:44%;transition:height .25s;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000026}.panel.expanded{height:88%}.sheet-handle{background:0 0;border:0;place-items:center;padding:8px 0 2px;display:grid}.sheet-handle i{background:var(--line);border-radius:9px;width:40px;height:5px}.panel-scroll{padding:6px 14px 90px}.tl-inner,.st-inner{padding:12px 14px 90px}.tl-year{grid-template-columns:1fr;gap:8px}.tl-year h2{align-items:baseline;gap:10px;font-size:30px;display:flex;position:static}.tl-year h2 small{margin:0;display:inline}.tl-grid{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}.tile b{font-size:26px}.st-grid{grid-template-columns:1fr}.hbar{grid-template-columns:96px 1fr 28px}.drawer{border-radius:20px 20px 0 0;width:100%;top:6%}.lb-img{margin:0 8px}.lb-nav{display:none}.row2{grid-template-columns:1fr}}@container app (min-width:761px){.mobile-search-bar{display:none}}@container app (min-width:761px) and (max-width:1100px){.map-screen{grid-template-columns:minmax(0,1fr) 360px}.search{max-width:200px}.chk span{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
