@import "https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";
@font-face{font-family:Twemoji Country Flags;src:url(/fonts/TwemojiCountryFlags.woff2)format("woff2");unicode-range:U+1F1E6-1F1FF;font-display:swap}:root{--ink:#1f1b16;--ink-2:#4a423a;--ink-3:#8a8278;--ink-4:#c8c2b8;--ink-5:#e6e0d2;--paper:#fbf8f2;--paper-2:#f5f0e6;--paper-3:#efe9dc;--paper-edge:#e8e1d2;--visited:#d35a3c;--visited-deep:#b54730;--visited-soft:#f6d9cd;--visited-bg:#fbe9e1;--want:#5b8fb1;--want-deep:#41708e;--want-soft:#d6e4ed;--want-bg:#e6effa;--accent:#c96442;--danger:#b54838;--warn:#f5d97a;--gold:#d9a300;--pin-soft:#d8e8e2;--ease-spring:cubic-bezier(.22, .61, .36, 1);--gm-base:#f3efe6;--gm-road:#fff;--gm-road-2:#fdf6e3;--gm-road-line:#d8cfb8;--gm-park:#d8e6cd;--gm-park-2:#e5edda;--gm-water:#bcdaeb;--gm-water-2:#d6e8f1;--gm-sand:#f1e2bb;--gm-building:#e9e2d1;--gm-building-2:#dcd4be;--gm-label:#4a423a;--gm-label-soft:#8a8278}*{box-sizing:border-box}html,body{background:var(--paper-edge);color:var(--ink);height:100%;margin:0;font-family:Twemoji Country Flags,Kalam,Comic Sans MS,system-ui,sans-serif;font-size:15px;line-height:1.3;overflow:hidden}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:2px dashed var(--accent);outline-offset:2px}.hand{font-family:Kalam,cursive}.mono{letter-spacing:.02em;font-family:JetBrains Mono,monospace}.sans{font-family:Inter,system-ui,sans-serif}.app{grid-template-rows:auto 1fr;height:100%;min-height:0;display:grid}.topbar{background:linear-gradient(180deg, #f5f0e6 0%, var(--paper) 70%);z-index:50;align-items:center;gap:14px;padding:5px 20px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffbf,0 1px #3c28141f,0 10px 22px -12px #3c28143d}.logo{color:var(--ink);align-items:center;gap:9px;font-family:Kalam,cursive;font-size:30px;font-weight:400;text-decoration:none;display:flex}.logo .pin{border:2.5px solid var(--visited);background:var(--paper);border-radius:50% 50% 50% 0;width:18px;height:18px;position:relative;transform:rotate(-45deg)}.logo .pin:after{content:"";background:var(--visited);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar-spacer{flex:1}.viewtoggle{border:1.5px solid var(--ink);background:var(--paper-2);border-radius:999px;gap:0;padding:3px;display:inline-flex;position:relative;box-shadow:inset 0 1px 2px #3c281414}.viewtoggle-thumb{background:var(--ink);width:calc(50% - 3px);transition:transform .5s var(--ease-spring);z-index:0;border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 3px #3c28144d}.viewtoggle-thumb[data-mode=flat]{transform:translate(100%)}.viewtoggle button{z-index:1;color:var(--ink-2);white-space:nowrap;transition:color .35s var(--ease-spring);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-family:Kalam;font-size:14px;font-weight:400;display:inline-flex;position:relative}.viewtoggle button:not([aria-selected=true]):hover{color:var(--ink)}.viewtoggle button[aria-selected=true]{color:var(--paper)}.vt-ico{flex:none;position:relative}.vt-globe{border:1.4px solid;border-radius:50%;width:13px;height:13px}.vt-globe:before{content:"";background:currentColor;height:1.4px;position:absolute;top:50%;left:-1.4px;right:-1.4px;transform:translateY(-50%)}.vt-globe:after{content:"";border:1.4px solid;border-radius:50%;width:7px;position:absolute;top:-1.4px;bottom:-1.4px;left:50%;transform:translate(-50%)}.vt-flat{border:1.4px solid;border-radius:3px;width:15px;height:11px}.vt-flat:before{content:"";opacity:.5;background:currentColor;height:1.4px;position:absolute;top:50%;left:2px;right:2px;transform:translateY(-50%)}.topbar-actions{align-items:center;gap:10px;margin-right:4px;display:inline-flex}.topbar-action{border:1.25px solid var(--ink-4);background:var(--paper);width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease-spring), border-color .25s var(--ease-spring), background .25s var(--ease-spring), color .25s var(--ease-spring);border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 1px 2px #3c28140f,0 6px 16px -10px #3c281442}.topbar-action:hover{border-color:var(--ink-3);color:var(--ink);transform:translateY(-1px);box-shadow:0 2px 4px #3c281414,0 12px 24px -10px #3c281452}.topbar-action:active{transform:translateY(0)scale(.97)}.topbar-action:disabled{opacity:.55;cursor:default;transform:none}.topbar-action[aria-busy=true]{color:var(--ink-3)}.auth-controls{align-items:center;display:inline-flex}.btn-signin{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 16px;font-family:Kalam;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.btn-signin:hover{background:var(--ink);color:var(--paper)}.usermenu{display:inline-flex;position:relative}.usermenu-trigger{border:1.25px solid var(--ink-4);background:var(--paper);width:40px;height:40px;transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease-spring), border-color .25s var(--ease-spring), background .25s var(--ease-spring);border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative;box-shadow:0 1px 2px #3c28140f,0 6px 16px -10px #3c281442}.usermenu-trigger:hover{border-color:var(--ink-3);transform:translateY(-1px);box-shadow:0 2px 4px #3c281414,0 12px 24px -10px #3c281452}.usermenu-trigger:active{transform:translateY(0)scale(.97)}.usermenu-trigger.open{border-color:var(--ink);background:var(--paper-2)}.usermenu-ham{width:18px;height:13px;position:relative}.usermenu-ham span{background:var(--ink-2);width:18px;height:1.6px;transition:transform .4s var(--ease-spring), opacity .25s var(--ease-spring), background .25s var(--ease-spring);border-radius:2px;position:absolute;left:0}.usermenu-ham span:first-child{top:0}.usermenu-ham span:nth-child(2){top:5.7px}.usermenu-ham span:nth-child(3){top:11.4px}.usermenu-trigger:hover .usermenu-ham span{background:var(--ink)}.usermenu-trigger.open .usermenu-ham span:first-child{transform:translateY(5.7px)rotate(45deg)}.usermenu-trigger.open .usermenu-ham span:nth-child(2){opacity:0}.usermenu-trigger.open .usermenu-ham span:nth-child(3){transform:translateY(-5.7px)rotate(-45deg)}.usermenu-avatar{object-fit:cover;border:1.5px solid var(--ink-5);border-radius:50%;flex:none;width:40px;height:40px;display:block}.usermenu-avatar-fallback{background:var(--paper-2);color:var(--ink-2);justify-content:center;align-items:center;font-family:Kalam,cursive;font-size:22px;font-weight:400;display:flex}.usermenu-pop{background:var(--paper);border:1.5px solid var(--ink);min-width:232px;box-shadow:3px 4px 0 0 var(--ink);z-index:60;border-radius:12px;flex-direction:column;gap:4px;padding:10px;display:flex;position:absolute;top:calc(100% + 10px);right:0}.usermenu-head{align-items:center;gap:10px;padding:4px 6px 6px;display:flex}.usermenu-id{min-width:0}.usermenu-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-family:Kalam,cursive;font-size:22px;font-weight:400;line-height:1;overflow:hidden}.usermenu-email{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.usermenu-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px;font-family:Kalam;font-size:15px;text-decoration:none;transition:background .12s;display:flex}.usermenu-item .ico{text-align:center;width:18px;font-size:15px;line-height:1}.usermenu-item:hover{background:var(--paper-2)}.usermenu-item.danger{color:var(--danger)}.usermenu-item.danger:hover{background:#fff0ec}.crumb{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:2px 8px;font-family:Kalam;font-size:22px;display:flex}.crumb a,.crumb button{cursor:pointer;color:var(--ink-2);font:inherit;white-space:nowrap;background:0 0;border:0;padding:0}.crumb .now{color:var(--ink);white-space:nowrap;font-weight:400}.crumb .sep{color:var(--ink-3);font-size:18px}.crumb a:hover,.crumb button:hover{color:var(--visited)}.shell{grid-template-columns:320px 1fr;height:100%;min-height:0;display:grid;position:relative}.shell.with-drawer{grid-template-columns:320px 1fr 380px}.shell.shell-province{grid-template-columns:400px 1fr}.shell-province .places-scroll,.shell-province .album-scroll{direction:rtl}.shell-province .places-scroll{gap:12px}.shell-province .places-scroll>*,.shell-province .album-scroll>*{direction:ltr}.shell.shell-wide{grid-template-columns:416px 1fr}.shell.shell-wide.with-drawer{grid-template-columns:416px 1fr 380px}.shell.shell-trip-view{grid-template-columns:minmax(0,1.4fr) 4fr}.shell.shell-trip-view.with-drawer{grid-template-columns:minmax(0,1.4fr) 4fr 380px}.shell.shell-trip-view-right{grid-template-columns:4fr minmax(0,1.4fr)}.shell-trip-view-right .sidebar{border-right:0;border-left:1.5px solid var(--ink)}.shell.shell-province-right{grid-template-columns:1fr 400px}.shell-province-right .mapshell{grid-area:1/1}.shell-province-right .sidebar{border-right:0;border-left:1.5px solid var(--ink);direction:rtl;grid-area:1/2}.shell-province-right .sidebar>*{direction:ltr}.shell-province-right .fab{width:max-content;margin-inline:auto;left:0;right:0}.title-editor{background:var(--paper-2);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink);cursor:text;transition:box-shadow .2s var(--ease-spring);border-radius:10px;align-items:center;gap:8px;margin-top:2px;padding:7px 10px;display:flex}.title-editor:focus-within{box-shadow:3px 3.5px 0 0 var(--accent)}.title-input{min-width:0;color:var(--ink);background:0 0;border:none;flex:1;margin:0;padding:3px 0;font-size:30px;line-height:1.2}.title-input:focus{outline:none}.title-edit-ico{opacity:.55;flex:none;font-size:18px}.datefield{position:relative}.startdate-field{cursor:pointer;border:1.5px solid var(--ink);background:var(--paper);width:100%;box-shadow:2px 2.5px 0 0 var(--ink-4);text-align:left;border-radius:11px;align-items:center;gap:9px;margin-top:8px;padding:8px 12px;transition:transform 80ms,box-shadow .1s;display:flex}.startdate-field:hover{box-shadow:3px 3.5px 0 0 var(--ink)}.startdate-field.open,.startdate-field:focus-visible{box-shadow:3px 3.5px 0 0 var(--accent);outline:none}.startdate-field:active{transform:translate(1px,1px)}.startdate-ico{background:var(--paper-2);border:1.25px solid var(--ink-4);width:28px;height:28px;color:var(--ink-2);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.startdate-field .startdate-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.startdate-field .startdate-lab{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:9px}.startdate-field .startdate-val{color:var(--ink);font-family:Kalam,cursive;font-size:16px}.startdate-field .startdate-val.placeholder{color:var(--ink-3)}.datepop{z-index:60;background:var(--paper);border:1.5px solid var(--ink);width:280px;box-shadow:5px 6px 0 0 var(--ink), 0 18px 40px #281e1440;border-radius:14px;padding:12px}.datepop-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.datepop-title{color:var(--ink);font-family:Kalam,cursive;font-size:18px;font-weight:700}.datepop-nav{border:1.5px solid var(--ink);background:var(--paper);width:30px;height:30px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:transform 80ms,background .12s,color .12s;display:flex}.datepop-nav:hover{background:var(--ink);color:var(--paper)}.datepop-nav:active{transform:scale(.94)}.datepop-dow,.datepop-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.datepop-dowcell{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:2px 0 5px;font-family:JetBrains Mono,monospace;font-size:9px}.datepop-day{aspect-ratio:1;cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;font-family:Kalam,cursive;font-size:14px;font-weight:700;transition:background .1s,color .1s;display:flex}.datepop-day:hover{background:var(--paper-2);color:var(--ink)}.datepop-day.today{box-shadow:inset 0 0 0 1.5px var(--ink-4);color:var(--ink)}.datepop-day.sel{background:var(--ink);color:var(--paper);box-shadow:1.5px 2px 0 0 var(--visited)}.sidebar{background:var(--paper);border-right:1.5px solid var(--ink);flex-direction:column;gap:14px;min-height:0;padding:16px 16px 12px;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:4px}.side-h{color:var(--ink);margin:0;font-family:Kalam;font-size:26px;font-weight:400;line-height:1}.side-sub{color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;margin:0;font-family:Kalam;font-size:12px}.section-h{color:var(--ink);justify-content:space-between;align-items:baseline;margin:0 0 6px;font-family:Kalam;font-size:20px;font-weight:400;display:flex}.section-h .meta{color:var(--ink-3);font-family:JetBrains Mono;font-size:11px}.side-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.side-head-id{min-width:0}.side-back{cursor:pointer;color:inherit;transition:transform .4s var(--ease-spring);background:0 0;border:0;margin:0;padding:0}.side-back:active{transform:scale(.97)}.side-back-ico{border:1.25px solid var(--ink-4);background:var(--paper-2);width:34px;height:34px;color:var(--ink);transition:transform .4s var(--ease-spring), border-color .3s var(--ease-spring);border-radius:999px;place-items:center;display:grid;box-shadow:inset 0 1px #fff9}.side-back:hover .side-back-ico{border-color:var(--ink);transform:translate(-2px)}.side-country{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-family:Kalam,cursive;font-size:26px;font-weight:400;line-height:1;overflow:hidden}.side-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;font-family:JetBrains Mono;font-size:11px}.tabtoggle{border:1.5px solid var(--ink);background:var(--paper-2);border-radius:999px;flex:none;padding:3px;display:inline-flex;position:relative;box-shadow:inset 0 1px 2px #3c281414}.tabtoggle-thumb{background:var(--ink);width:calc(50% - 3px);transition:transform .5s var(--ease-spring);z-index:0;border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 3px #3c28144d}.tabtoggle-thumb[data-tab=album]{transform:translate(100%)}.tabtoggle button{z-index:1;cursor:pointer;color:var(--ink-2);white-space:nowrap;transition:color .35s var(--ease-spring);background:0 0;border:0;flex:1 0 auto;align-items:center;gap:6px;padding:5px 12px;font-family:Kalam;font-size:13px;font-weight:400;display:inline-flex;position:relative}.tabtoggle button[aria-selected=true]{color:var(--paper)}.tabtoggle button:not([aria-selected=true]):hover{color:var(--ink)}.album-scroll{flex-direction:column;flex:auto;gap:14px;min-height:0;margin:0;padding:6px 2px 2px 12px;display:flex;overflow:hidden auto}.album-scroll::-webkit-scrollbar{width:8px}.album-scroll::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:4px}.album-cta{text-align:center;border:1.5px solid var(--ink-4);background:var(--paper);border-radius:14px;flex-direction:column;align-items:center;gap:12px;margin:auto 0;padding:26px 22px;display:flex}.album-cta-ic{border:1.5px solid var(--ink-4);width:46px;height:46px;color:var(--ink-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.album-cta-title{color:var(--ink);margin:0;font-family:Kalam;font-size:26px;font-weight:400;line-height:1}.album-cta-body{color:var(--ink-2);max-width:230px;margin:0;font-family:Kalam;font-size:13px;line-height:1.5}.album-cta-btn{justify-content:center;width:100%;margin-top:4px}.album-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px 12px;display:grid}.album-grid .polaroid{min-width:0}.polaroid{box-shadow:var(--shadow,0 4px 9px #1f1b162e);transform:rotate(var(--tilt,0deg));cursor:pointer;transition:transform .18s var(--ease-spring), box-shadow .18s var(--ease-spring);background:#fff;border:0;border-radius:4px;margin:0;padding:7px 7px 0}.polaroid:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.polaroid-photo{aspect-ratio:4/3;background-color:var(--paper-2);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:2px;position:relative;overflow:hidden}.polaroid-play{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding-left:2px;font-size:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.polaroid-cap{color:var(--ink);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:8px 4px 10px;font-family:Kalam;font-size:18px;font-weight:400;line-height:1;overflow:hidden}.album-grid .polaroid:nth-child(4n+1){--tilt:-2deg}.album-grid .polaroid:nth-child(4n+2){--tilt:1.6deg}.album-grid .polaroid:nth-child(4n+3){--tilt:2.4deg}.album-grid .polaroid:nth-child(4n){--tilt:-1.2deg}.album-grid .polaroid:nth-child(odd){--shadow:0 2px 5px #1f1b1629}.album-grid .polaroid:nth-child(2n){--shadow:0 11px 22px #1f1b1633}.polaroid:hover{transform:rotate(0)translateY(-2px);box-shadow:0 12px 22px #1f1b1642}.polaroid-feature{--tilt:-1.6deg;--shadow:0 9px 20px #1f1b1633;align-self:center;width:92%}.polaroid-feature .polaroid-photo{aspect-ratio:16/10}.polaroid-feature .feature-cap{font-size:22px}.polaroid-feature .polaroid-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000080);height:48%;position:absolute;bottom:0;left:0;right:0}.memory-tag{z-index:1;background:var(--ink);color:var(--paper);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-family:JetBrains Mono;font-size:9px;display:inline-flex;position:absolute;top:10px;left:10px}.memory-overlay{z-index:1;color:#fff;text-shadow:0 1px 4px #0009;white-space:nowrap;text-overflow:ellipsis;font-family:Kalam;font-size:12px;position:absolute;bottom:9px;left:12px;right:12px;overflow:hidden}.input{border:1.5px solid var(--ink);background:var(--paper);border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-family:Kalam;font-size:14px;display:flex}.input input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0}.input input::placeholder{color:var(--ink-3)}.search-field{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 3px 0 0 var(--ink), inset 0 1px 0 #ffffff8c;transition:transform .5s cubic-bezier(.32,.72,0,1), box-shadow .5s cubic-bezier(.32,.72,0,1), border-color .3s var(--ease-spring);will-change:transform;border-radius:16px;align-items:center;gap:10px;padding:9px 10px 9px 11px;display:flex;position:relative}.search-field:focus-within{box-shadow:3px 5px 0 0 var(--ink), 0 12px 26px #1f1b1621, inset 0 1px 0 #ffffffa6;transform:translateY(-2px)}.search-field-ico{width:28px;height:28px;color:var(--ink-2);background:var(--paper-2);cursor:text;transition:transform .5s cubic-bezier(.32,.72,0,1), color .3s var(--ease-spring);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px 2px #1f1b161f}.search-field:focus-within .search-field-ico{color:var(--accent);transform:scale(1.06)rotate(-7deg)}.search-field-input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-family:Kalam;font-size:14.5px}.search-field-input::placeholder{color:var(--ink-3)}.search-field-input::-webkit-search-cancel-button{appearance:none}.search-field-clear{border:1.25px solid var(--ink);background:var(--paper-2);width:24px;height:24px;color:var(--ink);cursor:pointer;box-shadow:1.5px 2px 0 0 var(--ink);transition:transform .28s cubic-bezier(.32,.72,0,1), box-shadow .28s cubic-bezier(.32,.72,0,1), background .2s var(--ease-spring);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:0;animation:.34s cubic-bezier(.32,.72,0,1) both search-clear-in;display:inline-flex}.search-field-clear:hover{background:var(--visited-soft);box-shadow:2px 3px 0 0 var(--ink);transform:translate(1px,-1px)scale(1.07)rotate(90deg)}.search-field-clear:active{box-shadow:.5px 1px 0 0 var(--ink);transform:scale(.9)}@keyframes search-clear-in{0%{opacity:0;transform:scale(.4)rotate(-90deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.search-field,.search-field-ico,.search-field-clear{transition:none}.search-field:focus-within{transform:none}.search-field-clear{animation:none}}.name-input{padding:8px 12px}.name-input input{font-family:Kalam,cursive;font-size:24px;font-weight:400}.map-search-list{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink);border-radius:8px;max-height:260px;margin:4px 0 0;padding:4px;font-family:Kalam;font-size:14px;list-style:none;overflow-y:auto}.map-search-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:7px 9px}.map-search-item:hover{background:var(--paper-2)}.map-controls{z-index:4;flex-direction:column;align-items:stretch;gap:8px;width:290px;max-width:calc(100% - 28px);display:flex;position:absolute;top:14px;left:auto;right:14px}.map-note{z-index:4;pointer-events:none;background:#fbf1c2;max-width:calc(100% - 340px);padding:12px 28px 11px;position:absolute;top:25px;left:18px;transform:rotate(-2.5deg);box-shadow:0 8px 20px #00000029,0 2px 6px #0000001a}.map-note:before{content:"";background:#78aac88c;border:1px solid #5a8caa80;width:66px;height:19px;position:absolute;top:-16px;left:50%;transform:translate(-50%)rotate(-3deg)}.map-note-title{color:var(--ink);white-space:nowrap;font-family:Kalam,cursive;font-size:38px;font-weight:400;line-height:1}.map-note-sub{letter-spacing:3px;text-transform:uppercase;color:var(--ink-3);margin-top:5px;font-family:Kalam,cursive;font-size:11px}.input.mapsearch{box-shadow:2px 2.5px 0 0 var(--ink), 0 6px 16px #0000001f;border-radius:999px;padding:9px 16px;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1)}.input.mapsearch:focus-within{box-shadow:2px 2.5px 0 0 var(--ink), 0 10px 22px #00000029;transform:translateY(-1px)}.input.mapsearch .mapsearch-ico{opacity:.6;font-size:15px}.map-control-actions .btn{box-shadow:2px 2.5px 0 0 var(--ink), 0 5px 12px #0000001f;border-radius:999px;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1),background .12s}.map-control-actions .btn:hover{transform:translateY(-1px)}.map-control-actions .btn:active{box-shadow:.5px .5px 0 0 var(--ink);transform:translate(1px,1.5px)}.places-scroll{flex:auto;min-height:0;margin:0 -2px;padding:2px;overflow-y:auto}.places-scroll::-webkit-scrollbar{width:8px}.places-scroll::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:4px}.directions-panel{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink);color:var(--ink);border-radius:10px;width:280px;font-family:Kalam;font-size:14px;overflow:hidden}.directions-head{border-bottom:1.5px solid var(--ink-5);justify-content:space-between;align-items:center;padding:8px 8px 8px 12px;display:flex}.directions-title{font-family:Kalam,cursive;font-size:22px;font-weight:400}.directions-modes{border-bottom:1.5px solid var(--ink-5);gap:6px;padding:8px 10px;display:flex}.directions-mode{border:1.5px solid var(--ink-4);background:var(--paper);cursor:pointer;font:inherit;color:var(--ink-2);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 4px;display:flex}.directions-mode:hover{background:var(--paper-2)}.directions-mode[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:var(--paper-2);font-weight:400}.directions-endpoints{border-bottom:1.5px solid var(--ink-5);padding:10px 12px}.directions-endpoint{align-items:center;gap:8px;padding:3px 0;display:flex}.directions-routes{max-height:240px;margin:0;padding:6px;list-style:none;overflow-y:auto}.directions-route{text-align:left;border:1.5px solid var(--ink-4);background:var(--paper);cursor:pointer;width:100%;font:inherit;color:var(--ink);border-radius:8px;flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px;display:flex}.directions-route:hover{background:var(--paper-2)}.directions-route[aria-pressed=true]{border-color:#1d6fe0;box-shadow:1.5px 2px #1d6fe0}.directions-route-eta{font-weight:400}.directions-route-via{color:var(--ink-3);font-size:13px}.btn{border:1.5px solid var(--ink);background:var(--paper);box-shadow:2px 2.5px 0 0 var(--ink);color:var(--ink);border-radius:8px;align-items:center;gap:7px;padding:7px 14px;font-family:Kalam;font-size:15px;transition:transform 80ms,box-shadow 80ms,background .12s;display:inline-flex}.btn:hover{background:var(--paper-2)}.btn:active{box-shadow:.5px .5px 0 0 var(--ink);transform:translate(1.5px,2px)}.btn:disabled,.btn.primary:disabled{background:var(--ink-5);color:var(--ink-3);border-color:var(--ink-4);box-shadow:2px 2.5px 0 0 var(--ink-4);opacity:1;cursor:not-allowed;transform:none}.btn:disabled:hover,.btn.primary:disabled:hover{background:var(--ink-5)}.btn.primary{background:var(--visited);color:#fff;border-color:var(--ink)}.btn.want{background:var(--want);color:#fff}.btn.want:hover{background:var(--want-deep)}.btn.ghost{box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--paper-2)}.btn.danger{border-color:var(--danger);color:var(--danger);box-shadow:2px 2.5px 0 0 var(--danger);background:var(--paper)}.btn.danger:hover{background:#fff0ec}.btn.sm{box-shadow:1.5px 2px 0 0 var(--ink);padding:4px 10px;font-size:13px}.btn.icon{padding:6px 8px}.btn.block{justify-content:center;width:100%}.btn.primary{background:var(--visited);color:#fff;border-color:var(--visited-deep);box-shadow:2px 2.5px 0 0 var(--visited-deep)}.btn.primary:hover{background:var(--visited-deep)}.back-detail{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:2px 2.5px 0 0 var(--ink);transition:transform .4s cubic-bezier(.32,.72,0,1), box-shadow .4s cubic-bezier(.32,.72,0,1), background .2s var(--ease-spring);border-radius:999px;align-items:center;gap:9px;padding:5px 14px 5px 5px;font-family:Kalam;font-size:14px;display:inline-flex}.back-detail-ico{border:1.5px solid var(--ink);background:var(--paper-2);width:26px;height:26px;transition:transform .4s cubic-bezier(.32,.72,0,1), background .2s var(--ease-spring);border-radius:999px;place-items:center;font-size:16px;line-height:1;display:grid;box-shadow:inset 0 1px 1px #ffffff80}.back-detail:hover{background:var(--paper-2);box-shadow:3px 4px 0 0 var(--ink);transform:translateY(-1px)}.back-detail:hover .back-detail-ico{background:var(--paper);transform:translate(-2px)}.back-detail:active{box-shadow:.5px .5px 0 0 var(--ink);transform:translate(1.5px,2px)}.back-detail:active .back-detail-ico{transform:translate(-1px)}.iconbtn{border:1.5px solid var(--ink);background:var(--paper);width:36px;height:36px;box-shadow:2px 2.5px 0 0 var(--ink);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:var(--paper-2)}.iconbtn:active{box-shadow:.5px .5px 0 0 var(--ink);transform:translate(1.5px,2px)}.chip{border:1.25px solid var(--ink-2);background:var(--paper);color:var(--ink-2);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:Kalam;font-size:13px;display:inline-flex}.chip.lg{padding:4px 10px;font-size:14px}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.visited{background:var(--visited);color:#fff;border-color:var(--ink)}.chip.want{background:var(--want);color:#fff;border-color:var(--ink)}.chip.neutral{background:var(--paper-3);color:var(--ink-2)}.chip.tap{cursor:pointer;transition:background .12s,color .12s}.chip.tap:not(.on):hover{background:var(--paper-2)}.chip.tap.on,.chip.tap.on:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.status{border:1.25px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-family:Kalam;font-size:13px;display:inline-flex}.status.visited{background:var(--visited);color:#fff}.status.want{background:var(--want);color:#fff}.status.none{background:var(--paper-3);color:var(--ink-2);border-color:var(--ink-3)}.status:before{content:"";opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px}.status.none:before{background:var(--ink-3)}.statgrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{border:1.5px solid var(--ink);background:var(--paper);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:8px;padding:8px 10px}.stat .n{color:var(--ink);font-family:Kalam;font-size:30px;font-weight:400;line-height:.95}.stat .l{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.stat.visited .n{color:var(--visited)}.stat.want .n{color:var(--want)}.progress{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;height:18px;padding:2px;display:flex;overflow:hidden}.progress .fill.visited{background:repeating-linear-gradient(45deg, var(--visited) 0 3px, var(--visited-soft) 3px 7px)}.progress .fill.want{background:repeating-linear-gradient(45deg, var(--want) 0 2px, var(--want-soft) 2px 7px)}.world-progress{background:var(--paper-2);border:1.5px solid var(--ink);box-shadow:3px 4px 0 0 var(--ink-4), inset 0 1px 0 #ffffffa6;border-radius:16px;flex-direction:column;gap:11px;padding:14px 14px 16px;display:flex}.world-progress .wp-head{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.world-progress .wp-pct{color:var(--visited);font-variant-numeric:tabular-nums;font-family:Kalam,cursive;font-size:46px;font-weight:400;line-height:.82}.world-progress .wp-count{color:var(--ink-3);text-align:right;letter-spacing:.01em;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.25}.world-progress .wp-count strong{color:var(--ink);font-weight:400}.world-progress .progress{height:22px;box-shadow:2px 2.5px 0 0 var(--ink-4)}.world-progress .wp-legend{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);align-items:center;gap:18px;margin-top:-2px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.wp-legend .wp-key{align-items:center;gap:7px;display:inline-flex}.wp-legend .wp-key i{border:1.25px solid var(--ink);border-radius:3px;width:17px;height:12px}.wp-legend .wp-key.visited i{background:repeating-linear-gradient(45deg, var(--visited) 0 3px, var(--visited-soft) 3px 7px)}.wp-legend .wp-key.want i{background:repeating-linear-gradient(45deg, var(--want) 0 2px, var(--want-soft) 2px 7px)}@keyframes tm-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tm-rise{animation:tm-rise .6s var(--ease-spring) both}@keyframes tm-fade{0%{opacity:0}to{opacity:1}}.tm-fade{animation:tm-fade .7s var(--ease-spring) both}.tm-d1{animation-delay:50ms}.tm-d2{animation-delay:.11s}.tm-d3{animation-delay:.17s}.tm-d4{animation-delay:.23s}.tm-d5{animation-delay:.29s}@media (prefers-reduced-motion:reduce){.tm-rise,.tm-fade{animation:none}}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-3);border:1.25px solid var(--ink-4);background:var(--paper);border-radius:999px;align-self:flex-start;align-items:center;gap:7px;padding:4px 11px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.eyebrow:before{content:"";background:var(--visited);width:6px;height:6px;box-shadow:0 0 0 3px var(--visited-bg);border-radius:50%}.country-list{margin:0;padding:0;list-style:none;overflow-y:auto}.country-row{border-bottom:1px dashed var(--ink-4);cursor:pointer;transition:background .25s var(--ease-spring), transform .25s var(--ease-spring);align-items:center;gap:9px;padding:8px;display:flex}.country-row:last-child{border-bottom:0}.country-row:hover{background:var(--paper-2);transform:translate(3px)}.country-row .flag{text-align:center;width:26px;transition:transform .25s var(--ease-spring);font-size:17px}.country-row:hover .flag{transform:scale(1.18)rotate(-4deg)}.country-row .cname{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.trip-rail{position:relative}.trip-rail:before{content:"";background:var(--want);border-radius:999px;width:4px;position:absolute;top:6px;bottom:6px;left:11px}.rail-row{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.rail-row.day{margin-top:6px}.rail-cell{flex:0 0 26px;justify-content:center;display:flex}.rail-body{flex:1;min-width:0}.rail-dot{z-index:1;box-shadow:0 0 0 3px var(--paper);position:relative}.rail-dot.stop{border:2px solid var(--want);background:var(--want);border-radius:999px;width:13px;height:13px;margin-top:9px;transition:background .16s}.trip-rail.live .rail-row:hover .rail-dot.stop,.rail-dot.stop.active{background:var(--paper)}.rail-dot.day{border:2px solid var(--want);background:var(--paper);width:24px;height:24px;color:var(--want-deep);border-radius:999px;place-items:center;font-size:12px;font-weight:400;display:grid}.stat{transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease-spring)}.stat:hover{box-shadow:3px 4.5px 0 0 var(--ink-4);transform:translateY(-2px)}.mapshell{background:var(--paper-2);min-height:0;position:relative;overflow:hidden}.mapshell.paper{background:linear-gradient(to right, #3c281421 1px, transparent 1px) 0 0/36px 36px, linear-gradient(to bottom, #3c281421 1px, transparent 1px) 0 0/36px 36px, radial-gradient(900px 480px at 30% 20%, #00000005, transparent 60%), radial-gradient(700px 360px at 80% 90%, #00000006, transparent 60%), var(--paper)}.mapshell.paper:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(1200px 600px at 10% 100%,#3c28140d,#0000 50%);position:absolute;inset:0}.maplabel{color:var(--ink-2);pointer-events:none;text-shadow:0 0 4px var(--paper), 0 0 4px var(--paper), 0 0 4px var(--paper);font-family:Kalam;font-weight:400;position:absolute;transform:translate(-50%,-50%)}.blob{fill:var(--paper-3);stroke:var(--ink-2);stroke-width:1.4px}.blob.visited{fill:var(--visited-soft);stroke:var(--visited-deep)}.blob.want{fill:var(--want-soft);stroke:var(--want-deep)}.blob.hov{stroke:var(--ink);stroke-width:2.2px;filter:drop-shadow(0 1px #00000014);cursor:pointer}.blob.sel{stroke:var(--ink);stroke-width:2.6px;filter:drop-shadow(0 1.5px #0000002e)}.blob.tap{cursor:pointer;transition:filter .12s,stroke-width .12s}.blob.tap:hover{stroke-width:2.2px}.rmcountry{fill:#eee3cf;stroke:#2a1f12;stroke-width:.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .12s}[data-panzoom].dragging .rmcountry{transition:none}.rmcountry.visited{fill:var(--visited-soft);stroke:var(--visited-deep);stroke-width:.6px}.rmcountry.want{fill:var(--want-soft);stroke:var(--want-deep);stroke-width:.6px}.rmcountry.tappable{cursor:pointer}.rmcountry.tappable:hover{fill:#e0d2b4}.rmcountry.visited.tappable:hover{fill:#f4c5b1}.rmcountry.want.tappable:hover{fill:#c1d3e0}.rmcountry.hov{stroke:var(--ink);stroke-width:1.2px}.rmcountry.sel{stroke:var(--ink);stroke-width:1.6px;fill:#f0bfa6}.rmcountry.want.sel{fill:#b8d1e0}.rmcountry.visited.sel{fill:#f0bfa6}.rmcountry.noncanonical{cursor:default;pointer-events:none}.rmlabel{fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);vector-effect:non-scaling-stroke;stroke-width:2px;stroke-linejoin:round;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Kalam,cursive;font-weight:400}.tooltip{background:var(--paper);border:1.5px solid var(--ink);box-shadow:3px 4px 0 0 var(--ink);pointer-events:none;z-index:20;border-radius:10px;min-width:200px;padding:10px 12px;position:absolute;transform:translate(-50%,calc(-100% - 18px))}.tooltip:after{content:"";left:var(--arrow-x,50%);border:1.5px solid var(--ink);background:var(--paper);border-top:0;border-left:0;width:13px;height:13px;position:absolute;bottom:-8px;transform:translate(-50%)rotate(45deg)}.tooltip.below:after{top:-8px;bottom:auto;transform:translate(-50%)rotate(225deg)}.tooltip .ttname{margin:0;font-family:Twemoji Country Flags,Kalam;font-size:22px;font-weight:400;line-height:1}.tooltip-pop{pointer-events:auto}.tt-seg{border:1.5px solid var(--ink);border-radius:9px;margin-top:10px;display:flex;overflow:hidden}.tt-seg-btn{border:0;border-right:1.25px solid var(--ink-3);background:var(--paper-2);color:var(--ink-2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;padding:7px 6px;font-family:Kalam,cursive;font-size:18px;line-height:1;transition:background .16s,color .16s}.tt-seg-btn:last-child{border-right:0}.tt-seg-btn:hover{background:var(--paper);color:var(--ink)}.tt-seg-btn.on{color:#fff;font-weight:400}.tt-seg-btn.on.notyet{background:var(--ink-3)}.tt-seg-btn.on.want{background:var(--want-deep)}.tt-seg-btn.on.visited{background:var(--visited-deep)}.pin{cursor:pointer;filter:drop-shadow(0 2px 1px #00000040);z-index:5;display:inline-block;position:absolute;transform:translate(-50%,-100%)}.pin .pinhead{border:1.6px solid var(--ink);background:var(--paper);border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:33px;height:33px;display:flex;overflow:hidden;transform:rotate(-45deg)}.pin .pinhead>span{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;line-height:1;display:flex;transform:rotate(45deg);box-shadow:inset 0 0 0 1.2px #2b26201f}.pin .pinhead>span svg{width:15px;height:15px;display:block}.pin .pinhead .pinphoto{object-fit:cover;width:100%;height:100%;transform:rotate(45deg)scale(1.42)}.pin.visited .pinhead{background:var(--visited)}.pin.want .pinhead{background:var(--want)}.pin.none .pinhead{background:var(--paper)}.pin.sel .pinhead{transform:rotate(-45deg)scale(1.1);box-shadow:0 0 0 4px #c9644240,0 0 0 6px #c9644226}.pin .pinlabel{background:var(--paper);border:1px solid var(--ink-3);color:var(--ink-2);white-space:nowrap;border-radius:4px;margin-top:2px;padding:1px 5px;font-family:JetBrains Mono;font-size:10px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.pin:hover .pinhead{transform:rotate(-45deg)scale(1.08)}.pinmarker{cursor:pointer;line-height:0}.pinmarker .pin{transform-origin:bottom;filter:drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 6px 5px #0000004d);position:static;transform:none}.cluster-marker{cursor:pointer;line-height:0}.cluster-badge{border:1.8px solid var(--ink);background:var(--paper);min-width:34px;height:34px;color:var(--ink);box-shadow:0 3px 0 var(--ink), 0 6px 6px #00000047;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;line-height:1;transition:transform .18s cubic-bezier(.32,.72,0,1),box-shadow .18s;display:flex}.cluster-marker:hover .cluster-badge{box-shadow:0 4px 0 var(--ink), 0 9px 10px #0000004d;transform:translateY(-1px)scale(1.06)}.cluster-marker:active .cluster-badge{transform:translateY(1px)scale(.97)}.map-polaroid{cursor:pointer;flex-direction:column;align-items:center;line-height:0;display:flex;position:relative}.map-polaroid-card{z-index:1;width:92px;transform:rotate(var(--tilt,0deg)) scale(var(--mz,1));transform-origin:bottom;transition:transform .16s var(--ease-spring), box-shadow .16s var(--ease-spring);background:#fff;border-radius:3px;padding:5px 5px 0;position:relative;box-shadow:0 4px 9px #1f1b162e}.map-polaroid:hover .map-polaroid-card{transform:rotate(0deg) translateY(-2px) scale(var(--mz,1));box-shadow:0 8px 16px #1f1b1642}.map-polaroid.sel .map-polaroid-card{transform:rotate(0deg) scale(var(--mz,1));box-shadow:0 0 0 3px #c9644266,0 5px 12px #1f1b1638}.map-polaroid-tape{z-index:2;background:#f4e28ae6;border:1px solid #bea85080;width:40px;height:15px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(-7deg);box-shadow:0 1px 2px #0000001f}.map-polaroid-photo{aspect-ratio:4/3;background:var(--paper-2) center / cover no-repeat;border-radius:2px;justify-content:center;align-items:center;display:flex;overflow:hidden}.map-polaroid-photo.is-empty svg{width:22px;height:22px;display:block}.map-polaroid-photo.is-loading{color:var(--ink-3)}.map-polaroid-play{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding-left:1px;font-size:8px;display:flex}.map-polaroid-cap{color:var(--ink);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:82px;padding:4px 2px 6px;font-family:Kalam,cursive;font-size:15px;font-weight:400;line-height:1.05;overflow:hidden}.map-polaroid-dot{z-index:2;background:var(--visited);border:1.5px solid var(--ink);border-radius:50%;width:13px;height:13px;margin-top:-7px;box-shadow:0 2px #1f1b1659,0 3px 4px #00000038,inset 0 1px 1px #ffffff73}.map-polaroid-behind{z-index:0;background:#fff;border-radius:3px;width:86px;height:74px;position:absolute;top:-1px;left:50%;transform:translate(-34%)rotate(10deg);box-shadow:0 3px 7px #1f1b1629}.map-polaroid-count{z-index:3;background:var(--visited);color:#fff;border:1.8px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-9px;right:-9px;box-shadow:0 1px 3px #00000059}.place{border:1.5px solid var(--ink);background:var(--paper);cursor:pointer;box-shadow:2px 2px 0 0 var(--ink-4);border-radius:10px;grid-template-columns:64px 1fr;gap:12px;padding:12px 10px;transition:box-shadow .12s,transform 80ms,background .12s;display:grid}.place:hover{background:var(--paper-2)}.place.is-loading{cursor:default}.place.is-loading:hover{background:var(--paper)}.place.is-loading .thumb{color:var(--ink-3)}.place.active{box-shadow:2.5px 3px 0 0 var(--accent);background:var(--paper-2);border-color:var(--ink)}.place .thumb{aspect-ratio:1;border:1.25px dashed var(--ink-3);background:var(--paper-2);color:var(--ink-3);border-radius:8px;justify-content:center;align-items:center;font-size:22px;display:flex;position:relative;overflow:hidden}.place .thumb.has-img{border:1.25px solid var(--ink);background-position:50%;background-size:cover;border-style:solid}.place .name{color:var(--ink);font-family:Kalam;font-size:20px;font-weight:400;line-height:1.05}.place .meta{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.place .meta .chip{gap:4px;padding:1.5px 6px;font-size:12px}.place .note{color:var(--ink-2);text-wrap:pretty;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:15px;display:-webkit-box;overflow:hidden}.stars{color:var(--gold,#d9a300);gap:1px;font-size:14px;display:inline-flex}.stars .off{color:var(--ink-4)}.drawer{background:var(--paper);border-left:1.5px solid var(--ink);flex-direction:column;min-height:0;display:flex;overflow:hidden}.drawer .head{border-bottom:1.25px dashed var(--ink-3);align-items:flex-start;gap:10px;padding:14px 16px 10px;display:flex}.drawer .head .x{margin-left:auto}.drawer .body{flex-direction:column;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.drawer .foot{border-top:1.25px dashed var(--ink-3);gap:8px;padding:12px 16px;display:flex}.collab-avatar{border:1.25px solid var(--ink);object-fit:cover;border-radius:50%;flex:none;width:32px;height:32px}.collab-avatar.placeholder{background:var(--paper);justify-content:center;align-items:center;font-size:12px;font-weight:400;display:flex}.collab-modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.collab-modal{background:var(--paper);border:1.5px solid var(--ink);box-shadow:4px 5px 0 0 var(--ink-4), 0 8px 24px #0000002e;border-radius:14px;width:min(480px,100%);max-height:86vh;padding:20px;overflow-y:auto}.modal-backdrop{z-index:100;background:#1f1b1680;justify-content:center;align-items:center;padding:24px;animation:.18s both modal-fade;display:flex;position:fixed;inset:0}.modal-card{background:var(--paper);border:1.5px solid var(--ink);box-shadow:5px 6px 0 0 var(--ink-4), 0 18px 44px #00000038;border-radius:18px;width:min(380px,100%);max-height:88vh;padding:22px;animation:.26s cubic-bezier(.32,.72,0,1) both modal-pop;position:relative;overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal-card.wide{width:min(640px,100%)}.modal-card.place-drawer{flex-direction:column;width:min(980px,100%);height:min(880px,92vh);display:flex;overflow:hidden}.modal-card.place-drawer>.col{flex:auto;min-height:0;overflow-y:auto}.warn-callout{background:var(--visited-bg);border:1.25px solid var(--visited-soft);border-left:4px solid var(--danger);border-radius:12px;align-items:flex-start;gap:11px;margin-top:16px;padding:12px 14px;display:flex}.warn-callout p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.warn-callout-ico{background:var(--danger);color:#fff;text-align:center;border-radius:50%;flex:none;width:20px;height:20px;margin-top:1px;font-size:13px;font-weight:400;line-height:20px}.modal-foot{justify-content:flex-end;align-items:center;gap:10px;margin:22px 0 2px;display:flex}.modal-foot .btn{justify-content:center;min-width:92px}.template-list{flex-direction:column;gap:12px;margin:18px 0 0;padding:0;list-style:none;display:flex}.template-card{border:1.5px solid var(--ink);background:var(--paper);box-shadow:2px 2.5px 0 0 var(--ink-4);transition:box-shadow .12s var(--ease-spring), transform .12s var(--ease-spring), background .12s;border-radius:14px;align-items:center;gap:14px;padding:12px;display:flex}.template-card:hover{background:var(--paper-2);box-shadow:3px 3.5px 0 0 var(--ink-4);transform:translateY(-1px)}.template-thumb{border:1.25px solid var(--ink);background:var(--paper-2);border-radius:8px;flex:none;width:56px;height:56px;position:relative;box-shadow:inset 0 1px 1px #fff6}.template-thumb:before{content:"";background:var(--ink-4);border-radius:4px;position:absolute;inset:6px 6px 16px}.template-thumb.has-cover{overflow:hidden}.template-thumb.has-cover:before{display:none}.template-body{flex:1;min-width:0}.template-name{color:var(--ink);font-family:Kalam;font-size:24px;font-weight:400;line-height:1}.template-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;font-family:JetBrains Mono;font-size:10px}.template-actions{gap:8px;margin-top:10px;display:flex}.modal-card.trips-gallery{flex-direction:column;width:min(1080px,100%);max-height:88vh;padding:22px 26px 26px;display:flex;overflow:hidden}@media (min-width:1600px){.modal-card.trips-gallery{width:min(1320px,100%)}}.trip-head{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:26px 4px 16px 2px;display:flex}.trip-head .modal-title{margin:0;font-size:34px}.modal-card.trips-gallery{padding-top:14px}.modal-card.trips-gallery .modal-x{z-index:3;top:4px;right:8px}.trip-scroll{flex:auto;min-height:0;overflow:hidden auto}.trip-create{border:1.5px solid var(--ink);background:var(--visited);color:#fff;cursor:pointer;white-space:nowrap;box-shadow:3px 3.5px 0 0 var(--ink-4);transition:transform .18s var(--ease-spring), box-shadow .18s var(--ease-spring), background .18s var(--ease-spring);border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 18px;font-family:Kalam;font-size:21px;font-weight:400;display:inline-flex}.trip-create:hover{background:var(--visited-deep);box-shadow:4px 5px 0 0 var(--ink-4);transform:translateY(-2px)}.trip-create:active{box-shadow:1px 1.5px 0 0 var(--ink-4);transform:translateY(1px)}.trip-create:disabled{opacity:.6;cursor:progress}.trip-create-ico{width:30px;height:30px;transition:transform .22s var(--ease-spring), background .22s var(--ease-spring);background:#ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:0;display:inline-flex}.trip-create:hover .trip-create-ico{background:#ffffff47;transform:rotate(90deg)scale(1.06)}.trip-empty{border:1.75px dashed var(--ink-4);background:var(--paper-3);text-align:center;border-radius:14px;margin:20px 0 8px;padding:34px 24px}.trip-empty-title{color:var(--ink-3);margin:0;font-family:Kalam;font-size:22px;font-weight:400}.trip-empty-sub{color:var(--ink-3);margin:4px 0 0;font-family:Kalam;font-size:21px;font-weight:400}.trip-grid{grid-template-columns:repeat(3,1fr);gap:30px 22px;margin:14px 0 0;padding:16px 8px 8px;list-style:none;display:grid}@media (min-width:1600px){.trip-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.trip-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}}@media (max-width:460px){.trip-grid{grid-template-columns:1fr}}.trip-card{cursor:pointer;border:1px solid var(--ink-4);box-shadow:4px 6px 0 0 var(--ink-4), 0 12px 22px #1f1b161a;animation:trip-rise .6s var(--ease-spring) both;transition:transform .42s var(--ease-spring), box-shadow .42s var(--ease-spring);will-change:transform;background:#fffdf8;border-radius:4px;padding:9px 9px 0;position:relative}.trip-card:hover{box-shadow:6px 10px 0 0 var(--ink-4), 0 22px 36px #1f1b162e;z-index:1;transform:translateY(-8px)scale(1.03)}.trip-card:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}@keyframes trip-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.trip-photo{aspect-ratio:1;background:linear-gradient(140deg, var(--paper-2), var(--paper-3));background-position:50%;background-size:cover;border-radius:2px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #1f1b161f}.trip-photo-ph{color:var(--ink-4);opacity:.8;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:Kalam;font-size:76px;font-weight:400;line-height:1;display:flex;position:absolute;inset:0}.trip-cap{color:var(--ink);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;padding:12px 6px 14px;font-family:Kalam;font-size:22px;font-weight:400;line-height:1.05;display:-webkit-box;overflow:hidden}@media (prefers-reduced-motion:reduce){.trip-card{animation:none}.trip-card:hover{transform:translateY(-4px)rotate(0)}}.modal-x{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:background .12s,color .12s;display:inline-flex;position:absolute;top:16px;right:16px}.modal-x:hover{background:var(--paper-2);color:var(--ink)}.modal-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono;font-size:10px}.modal-title{color:var(--ink);margin:4px 0 0;font-family:Kalam;font-size:30px;font-weight:400;line-height:1}.modal-title-meta{color:var(--ink-3);font-weight:400}.modal-sub{color:var(--ink-2);margin-top:8px;font-size:14px}.modal-section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);border-top:1.25px dashed var(--ink-4);margin-top:20px;padding-top:16px;font-family:JetBrains Mono;font-size:10px;display:block}.switch-row{border:1.5px solid var(--ink-5);background:var(--paper);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;transition:border-color .15s,background .15s;display:flex}.switch-row:hover{border-color:var(--ink-4);background:var(--paper-2)}.switch-row .sr-ico{text-align:center;opacity:.8;width:22px;font-size:16px}.switch-row .sr-label{color:var(--ink);font-weight:400}.switch-row .sr-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono;font-size:10px}.switch{appearance:none;background:var(--ink-4);border:1.5px solid var(--ink);cursor:pointer;border-radius:999px;flex:none;width:44px;height:25px;margin:0;transition:background .22s cubic-bezier(.32,.72,0,1);position:relative}.switch:after{content:"";background:var(--paper);border:1.25px solid var(--ink);border-radius:50%;width:18px;height:18px;transition:transform .22s cubic-bezier(.32,.72,0,1);position:absolute;top:1.5px;left:1.5px}.switch:checked{background:var(--visited)}.switch:checked:after{transform:translate(19px)}.link-pill{border:1.5px solid var(--ink);background:var(--paper-2);color:var(--ink-2);border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-family:JetBrains Mono;font-size:12px;display:flex}.link-pill code{word-break:break-all}.spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.spinner-sm{vertical-align:-1px;border-width:1.5px;width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4)}.btn.dark:hover{background:#000}.btn.dark:disabled{opacity:.45;cursor:not-allowed}.member-row{align-items:center;gap:12px;display:flex}.collab-status{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono;font-size:10px}.collab-status[data-status=active]{color:#2e8b57}.collab-status[data-status=pending]{color:#ff8c00}.role-badge{letter-spacing:.1em;text-transform:uppercase;border:1.25px solid var(--ink-4);color:var(--ink-2);border-radius:999px;flex:none;padding:3px 9px;font-family:JetBrains Mono;font-size:10px}.role-badge[data-role=owner]{background:var(--visited-bg);border-color:var(--visited-soft);color:var(--visited-deep)}.role-badge[data-role=collaborator]{background:var(--want-bg);border-color:var(--want-soft);color:var(--want-deep)}.member-remove{border:1.25px solid var(--ink-4);background:var(--paper);width:26px;height:26px;color:var(--ink-3);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.member-remove:hover{border-color:var(--danger);color:var(--danger);background:#fff0ec}.member-remove-spacer{flex:none;width:26px}.field{flex-direction:column;gap:6px;display:flex}.field .lbl{color:var(--ink);font-family:Kalam;font-size:18px}.field .hint{color:var(--ink-3);font-size:11px}.textarea{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);resize:vertical;border-radius:8px;outline:0;min-height:160px;padding:8px 10px;font-family:Kalam;font-size:17px}.seg{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;gap:0;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:5px 14px;font-family:Kalam;font-size:14px;display:inline-flex}.seg button.on.visited{background:var(--visited);color:#fff}.seg button.on.want{background:var(--want);color:#fff}.seg button.on.none{background:var(--ink);color:var(--paper)}.rating{align-items:center;gap:2px;display:inline-flex}.rating button{color:var(--ink-4);background:0 0;border:0;padding:2px;font-size:28px;line-height:1}.rating button.on{color:var(--accent)}.rating button:hover{transform:scale(1.1)}.gallery{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gphoto{position:relative}.gphoto-set{cursor:pointer;border:1.5px solid var(--ink-3);background:var(--paper-2);border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.gphoto.cover .gphoto-set{border-color:var(--visited);border-width:2.5px}.gphoto-set img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.gphoto>img{aspect-ratio:1;object-fit:cover;border:1.5px solid var(--ink-3);background:var(--paper-2);border-radius:8px;width:100%;display:block}.gphoto-badge{background:var(--visited);color:#fff;text-align:center;padding:1px 0;font-family:JetBrains Mono;font-size:9px;position:absolute;bottom:0;left:0;right:0}.gphoto>video{aspect-ratio:1;object-fit:cover;border:1.5px solid var(--ink-3);background:var(--paper-2);border-radius:8px;width:100%;display:block}.gphoto-play{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding-left:2px;font-size:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gphoto-x{cursor:pointer;color:#fff;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.upload-zone{cursor:pointer;border:1.5px dashed var(--ink-3);background:repeating-linear-gradient(45deg, transparent 0 8px, #00000006 8px 9px), var(--paper-2);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background-color .15s,transform 80ms;display:flex}.upload-zone:hover{border-color:var(--ink);background-color:var(--paper)}.upload-zone:active{transform:translateY(1px)}.upload-zone:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-5)}.upload-zone-ico{border:1.5px solid var(--ink);background:var(--paper);width:38px;height:38px;color:var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:10px;flex:none;place-items:center;display:grid}.upload-zone-text{flex-direction:column;gap:1px;min-width:0;display:flex}.upload-zone-text strong{color:var(--ink);font-family:Kalam;font-size:16px;font-weight:400}.upload-zone-text small{color:var(--ink-3);font-family:JetBrains Mono;font-size:10.5px}.drawer-foot{z-index:2;background:var(--paper);border-top:1.25px dashed var(--ink-3);border-radius:0 0 16px 16px;justify-content:flex-end;gap:10px;margin:18px -22px -22px;padding:22px 22px 0;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 16px -10px #1f1b1638}.drawer-foot .btn{justify-content:center;min-width:116px}.drawer-foot .btn.primary{border-color:var(--ink);box-shadow:2px 2.5px 0 0 var(--ink)}.photo-ph{border:1.5px dashed var(--ink-3);background:repeating-linear-gradient(45deg, transparent 0 8px, #00000006 8px 9px), var(--paper-2);min-height:140px;color:var(--ink-3);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:JetBrains Mono;font-size:11px;display:flex}.chipset{flex-wrap:wrap;gap:6px;display:flex}.vn-map-frame{justify-content:center;align-items:center;transition:padding .2s;display:flex;position:absolute;inset:24px 0}.mapshell.with-rightpanel .vn-map-frame{padding-right:340px}.floatpanel{background:var(--paper);border:1.5px solid var(--ink);width:320px;box-shadow:4px 5px 0 0 var(--ink-4), 0 8px 24px #00000014;z-index:30;border-radius:14px;flex-direction:column;display:flex;position:absolute;top:18px;bottom:18px;right:18px;overflow:hidden}.floatpanel .head{border-bottom:1.25px dashed var(--ink-3);align-items:flex-start;gap:8px;padding:14px 14px 10px;display:flex}.floatpanel .body{flex-direction:column;gap:12px;padding:12px 14px;display:flex;overflow-y:auto}.floatpanel .foot{border-top:1.25px dashed var(--ink-3);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.mapctrl{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 3px 0 0 var(--ink-4);z-index:15;border-radius:10px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute}.mapctrl button{width:30px;height:30px;color:var(--ink);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;font-family:Kalam;font-size:17px;display:inline-flex}.mapctrl button+button{border-top:1px dashed var(--ink-4);padding-top:1px}.mapctrl button:hover{background:var(--paper-2)}.legend{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 3px 0 0 var(--ink-4);z-index:15;pointer-events:none;border-radius:10px;padding:8px 10px;font-size:13px;position:absolute}.legend .row{white-space:nowrap;align-items:center;gap:8px;padding:2px 0;display:flex}.legend .sw{border:1.25px solid var(--ink);border-radius:3px;width:18px;height:12px}.legend .sw.v{background:repeating-linear-gradient(45deg, var(--visited) 0 2px, var(--visited-soft) 2px 6px)}.legend .sw.w{background:repeating-linear-gradient(45deg, var(--want) 0 1.5px, var(--want-soft) 1.5px 6px)}.legend .sw.n{background:var(--paper-3)}.legend .sw.s{background:var(--paper);border-width:2.5px}.legend .title{margin-bottom:2px;font-family:Kalam;font-size:17px;font-weight:400}.postit{color:#5a4a2a;background:#fef4a8;border:1.25px solid #c8b048;border-radius:2px;padding:8px 10px;font-family:Kalam;font-size:17px;line-height:1.1;transform:rotate(-1.5deg);box-shadow:3px 4px #0000001a}.mapshell .postit{pointer-events:none}.gm-compass{background:var(--paper);border:1.5px solid var(--ink);width:44px;height:44px;box-shadow:2px 3px 0 0 var(--ink-4);color:var(--ink-2);z-index:15;border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono;font-size:10px;display:flex;position:absolute;top:18px;right:18px}.gm-compass .needle{background:var(--visited);clip-path:polygon(50% 0,100% 100%,0 100%);width:4px;height:22px;position:absolute;top:4px}.fab{border:1.5px solid var(--ink);background:var(--visited);color:#fff;box-shadow:0 6px 0 0 var(--ink), 0 9px 10px #00000047;z-index:15;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-family:Kalam;font-size:22px;font-weight:400;transition:transform 80ms,box-shadow 80ms;display:inline-flex;position:absolute;bottom:32px;right:22px;transform:translateY(0)}.fab:hover{background:var(--visited-deep);box-shadow:0 8px 0 0 var(--ink), 0 12px 14px #0000004d;transform:translateY(-2px)}.fab:active{box-shadow:0 2px 0 0 var(--ink), 0 3px 5px #00000040;transform:translateY(4px)}.fab.fab-trips{background:var(--paper);color:var(--ink);left:22px;right:auto}.fab.fab-trips:hover{background:var(--paper-2)}.fab.fab-share{background:var(--paper);color:var(--ink);bottom:96px}.fab.fab-share:hover{background:var(--paper-2)}.fab.fab-center{width:max-content;margin-inline:auto;left:0;right:0}.share-landing{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:32px;display:flex}.share-landing-poster{border-radius:8px;width:100%;max-width:min(520px,90vw);height:auto;box-shadow:0 10px 30px #00000038}.share-landing-title{color:var(--ink);margin:6px 0 0;font-family:Kalam;font-size:28px}.share-landing-sub{color:var(--ink);opacity:.7;margin:0 0 6px}.mapshell.dropmode,.mapshell.dropmode .mapboxgl-canvas-container,.mapshell.dropmode canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 24 24' fill='%23a3421f' stroke='%23ffffff' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 21.5c4-4.4 6.5-7.8 6.5-11.5a6.5 6.5 0 0 0-13 0c0 3.7 2.5 7.1 6.5 11.5Z'/%3E%3Ccircle cx='12' cy='10' r='2.4' fill='%23ffffff' stroke='none'/%3E%3C/svg%3E") 17 31,crosshair!important}.dropbanner{border:1.5px solid var(--ink);box-shadow:3px 4px 0 0 var(--ink);z-index:25;background:#fef4a8;border-radius:999px;align-items:center;gap:10px;padding:7px 14px;font-family:Kalam;font-size:19px;display:inline-flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.dropbanner .x{opacity:.65;cursor:pointer;font-size:14px}.dropbanner-cancel{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:4px 12px;font-family:Kalam;font-size:13px;line-height:1;transition:background .12s}.dropbanner-cancel:hover{background:var(--paper-2)}.hit{fill:#0000;cursor:pointer;pointer-events:all}.row{display:flex}.col{flex-direction:column;display:flex}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.grow{flex:1}.spread{justify-content:space-between}.aic{align-items:center}.aib{align-items:baseline}.divider{background:var(--ink-4);border:0;height:1px}.dashed-divider{border:0;border-top:1.25px dashed var(--ink-3);align-self:stretch;width:100%;height:0;margin:0}.muted{color:var(--ink-3)}.rmloading{height:100%;color:var(--ink-3);justify-content:center;align-items:center;font-family:Kalam,cursive;font-size:24px;display:flex}.auth-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.auth-form .input{border-radius:10px;padding:9px 12px}.auth-form .input:focus-within{box-shadow:2px 2.5px 0 0 var(--ink)}.auth-error{color:var(--danger);border:1.25px solid var(--danger);text-wrap:pretty;background:#fff0ec;border-left-width:4px;border-radius:10px;margin:0;padding:9px 12px;font-size:13px;line-height:1.4}.auth-form .btn.primary{margin-top:2px;padding:10px 16px}.auth-switch{text-align:center;color:var(--ink-2);margin:14px 0 2px;font-family:Kalam;font-size:14px}.auth-switch-btn{cursor:pointer;font:inherit;color:var(--ink);text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:400;text-decoration:underline}.auth-switch-btn:hover{color:var(--visited-deep)}.auth-google{justify-content:center;gap:9px;margin-top:20px;font-size:15px}.auth-google-g{background:var(--ink);width:19px;height:19px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;display:inline-flex}.auth-or{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;margin:16px 0 0;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.auth-or:before,.auth-or:after{content:"";border-top:1.25px dashed var(--ink-3);flex:1}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-route{height:100dvh;overflow-y:auto}.profile-page{background:radial-gradient(120% 90% at 50% -10%, var(--paper-2) 0%, var(--paper-edge) 78%);min-height:calc(100dvh - 58px);padding:48px 24px 80px}.profile-wrap{max-width:380px;margin:0 auto}.profile-pagehead{margin-bottom:26px}.profile-pagetitle{color:var(--ink);margin:0;font-family:Kalam,cursive;font-size:40px;font-weight:400;line-height:1}.profile-gate{text-align:center;background:var(--paper);border:1.5px solid var(--ink);box-shadow:5px 6px 0 0 var(--ink-4);border-radius:18px;flex-direction:column;align-items:center;gap:14px;padding:34px 24px;display:flex}.profile-gate .muted{font-size:15px}.profile-identity{background:var(--paper-2);border:1.5px solid var(--ink);box-shadow:5px 6px 0 0 var(--ink-4), inset 0 1px 0 #fff9;border-radius:22px;align-items:center;gap:18px;padding:8px;display:flex;position:relative}.profile-identity:after{content:"";pointer-events:none;border-radius:15px;position:absolute;inset:8px;box-shadow:inset 0 1px 1px #ffffff73}.profile-polaroid{border:1px solid var(--ink-5);box-shadow:2px 4px 0 0 var(--ink-4), 0 10px 18px #1f1b1629;transition:transform .4s var(--ease-spring), box-shadow .4s var(--ease-spring);background:#fffdf8;border-radius:3px;flex:none;padding:7px 7px 20px;position:relative;transform:rotate(-5deg)}.profile-polaroid:before{content:"";background:#d6c4968c;border:1px solid #a08c6059;width:42px;height:18px;position:absolute;top:-9px;left:-10px;transform:rotate(-26deg);box-shadow:0 1px 2px #00000014}.profile-identity:hover .profile-polaroid{box-shadow:2px 5px 0 0 var(--ink-4), 0 14px 22px #1f1b1633;transform:rotate(0)}.profile-polaroid-photo{background:var(--paper-3);border-radius:1px;width:92px;height:92px;display:block;overflow:hidden}.profile-polaroid.sm .profile-polaroid-photo{width:72px;height:72px}.profile-polaroid-photo img{object-fit:cover;width:100%;height:100%;display:block}.profile-polaroid-fallback{width:100%;height:100%;color:var(--ink-2);justify-content:center;align-items:center;font-family:Kalam,cursive;font-size:46px;font-weight:400;display:flex}.profile-polaroid.sm .profile-polaroid-fallback{font-size:34px}.profile-identity-body{flex:1;min-width:0}.profile-name{color:var(--ink);overflow-wrap:anywhere;margin:0;font-family:Kalam,cursive;font-size:30px;font-weight:400;line-height:1}.profile-identity-actions{gap:8px;margin-top:14px;display:flex}.profile-edit-avatar{align-items:center;gap:16px;display:flex}.profile-edit-avatar .profile-polaroid{transform:rotate(-4deg)}.profile-body{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}.profile-col-left,.profile-col-right{flex-direction:column;gap:16px;display:flex}.profile-card{background:var(--paper);border:1.5px solid var(--ink);box-shadow:5px 6px 0 0 var(--ink-4), inset 0 1px 0 #fff9;border-radius:18px;padding:18px 18px 20px}.profile-section-h{color:var(--ink);margin:0 0 14px;font-family:Kalam,cursive;font-size:23px;font-weight:400;line-height:1}.profile-places{text-align:center}.profile-places-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 6px;font-family:JetBrains Mono,monospace;font-size:10px}.profile-places-n{color:var(--ink);margin:0 0 14px;font-family:Kalam,cursive;font-size:72px;font-weight:400;line-height:.95}.profile-places .dashed-divider{margin:0 6px 16px}.profile-counters{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.profile-stat{flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}.profile-stat+.profile-stat:before{content:"";border-left:1.25px dashed var(--ink-4);height:76%;position:absolute;top:12%;left:0}.profile-stat-n{font-family:Kalam,cursive;font-size:30px;font-weight:400;line-height:1}.profile-stat-n.c-countries{color:var(--visited-deep)}.profile-stat-n.c-cities{color:var(--ink)}.profile-stat-n.c-wishlist{color:var(--want-deep)}.profile-stat-l{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:9px}.profile-completion-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.profile-completion-head .profile-section-h{margin:0}.profile-completion-pct{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px}.profile-completion-legend{letter-spacing:.04em;justify-content:space-between;margin-top:9px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.profile-completion-legend .profile-legend.visited{color:var(--visited-deep)}.profile-completion-legend .profile-legend.want{color:var(--want-deep)}.profile-pills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-pill{border:1.25px solid var(--ink);background:var(--paper-2);box-shadow:2px 2px 0 0 var(--ink-4);color:var(--ink);transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease-spring);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-family:Kalam,cursive;font-size:14px;display:inline-flex}.profile-pill:hover{box-shadow:3px 3px 0 0 var(--ink-4);transform:translate(-1px,-1px)}.profile-pill-icon{font-size:15px;line-height:1}.profile-pill-count{color:var(--ink-2);padding-left:2px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.profile-pill-count:before{content:"· ";color:var(--ink-3)}.profile-province-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-province-row{cursor:pointer;border:1.25px solid var(--ink-5);background:var(--paper-2);transition:transform .3s var(--ease-spring), border-color .3s, box-shadow .3s var(--ease-spring);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.profile-province-row:hover{border-color:var(--ink-3);box-shadow:3px 3px 0 0 var(--ink-4);transform:translate(2px)}.profile-province-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-family:Kalam,cursive;font-size:15px;overflow:hidden}.profile-empty{margin:2px 0 0;font-size:14px}.profile-pm-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.profile-pm-row{border:1.25px solid var(--ink-5);background:var(--paper-2);box-shadow:3px 4px 0 0 var(--ink-5), inset 0 1px 0 #ffffff8c;transition:transform .45s var(--ease-spring), border-color .3s, box-shadow .45s var(--ease-spring);border-radius:16px;flex-direction:column;gap:12px;padding:14px 14px 16px;display:flex}.profile-pm-row:hover,.profile-pm-row:focus-visible{border-color:var(--ink-3);box-shadow:4px 6px 0 0 var(--ink-4), inset 0 1px 0 #ffffff8c;outline:none;transform:translateY(-2px)}.profile-pm-head{cursor:pointer;align-items:center;gap:8px;display:flex}.profile-pm-head:focus-visible{outline:2px solid var(--ink-3);outline-offset:3px;border-radius:6px}.profile-pm-strip.is-openable{cursor:pointer}.profile-pm-strip.is-openable:focus-visible{outline:2px solid var(--ink-3);outline-offset:3px;border-radius:6px}.profile-pm-pin{flex:none;font-size:15px;line-height:1}.profile-pm-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-family:Kalam,cursive;font-size:22px;font-weight:400;line-height:1;overflow:hidden}.profile-pm-count{color:var(--ink-2);flex:none;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.profile-pm-count:before{content:"◆ ";color:var(--ink-4);font-size:8px}.profile-pm-go{color:var(--ink-3);opacity:0;transition:opacity .3s var(--ease-spring), transform .3s var(--ease-spring), color .3s;flex:none;font-family:JetBrains Mono,monospace;font-size:14px;transform:translate(-3px,2px)}.profile-pm-row:hover .profile-pm-go,.profile-pm-row:focus-visible .profile-pm-go{opacity:1;color:var(--ink);transform:translate(0)}.profile-pm-strip{gap:10px;padding:2px 2px 4px;display:flex;overflow:hidden}.profile-pm-frame{aspect-ratio:1/1.16;border:1px solid var(--ink-5);max-width:132px;box-shadow:2px 3px 0 0 var(--ink-5), 0 8px 14px #1f1b161f;transform:rotate(calc((var(--i) - 1) * 2deg));transition:transform .5s var(--ease-spring), box-shadow .5s var(--ease-spring);background:#fffdf8;border-radius:3px;flex:0 0 calc(25% - 7.5px);padding:6px 6px 16px;position:relative}.profile-pm-row:hover .profile-pm-frame,.profile-pm-row:focus-visible .profile-pm-frame{box-shadow:2px 4px 0 0 var(--ink-4), 0 12px 18px #1f1b1629;transform:rotate(0)translateY(-2px)}.profile-pm-frame img{object-fit:cover;background:var(--paper-3);border-radius:1px;width:100%;height:100%;display:block}.profile-pm-frame.is-skeleton{background:#fffdf8}.profile-pm-frame.is-skeleton:after{content:"";background:var(--paper-3);animation:pmShimmer 1.4s var(--ease-spring) infinite;border-radius:1px;position:absolute;inset:6px 6px 16px}@keyframes pmShimmer{0%,to{opacity:.55}50%{opacity:.9}}.skeleton{background:var(--paper-3);animation:pmShimmer 1.4s var(--ease-spring) infinite;border-radius:4px;display:block}.country-row.is-skeleton{cursor:default;pointer-events:none}.country-row.is-skeleton:hover{background:0 0;transform:none}.country-row.is-skeleton .sk-flag{border-radius:50%;flex:none;width:20px;height:20px}.country-row.is-skeleton .sk-name{flex:auto;min-width:0;height:13px}.country-row.is-skeleton .sk-badge{border-radius:999px;flex:none;width:58px;height:18px}.place.is-skeleton{cursor:default;pointer-events:none}.place.is-skeleton:hover{background:var(--paper)}.place.is-skeleton .sk-thumb{aspect-ratio:1;border-radius:8px}.place.is-skeleton .sk-line{height:14px}.sk-bignum{border-radius:6px;width:92px;height:44px}.sk-pill{border-radius:999px;width:96px;height:30px}.sk-pm-row{border-radius:10px;height:84px}.profile-pm-more{background:var(--paper-3);border-style:dashed;border-color:var(--ink-4);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.profile-pm-more-dots{color:var(--ink-2);letter-spacing:1px;font-family:Kalam,cursive;font-size:30px;font-weight:400;line-height:.6}.profile-pm-more-n{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.profile-pm-row:hover .profile-pm-more,.profile-pm-row:focus-visible .profile-pm-more{background:var(--paper-2)}.gallery-backdrop{padding:32px}.gallery-card{background:var(--paper);border:1.5px solid var(--ink);box-shadow:5px 6px 0 0 var(--ink-4), 0 18px 44px #00000038;border-radius:18px;width:min(1040px,100%);max-height:88vh;padding:22px 22px 26px;animation:.26s cubic-bezier(.32,.72,0,1) both modal-pop;position:relative;overflow-y:auto}.gallery-head{align-items:flex-end;gap:12px;margin-bottom:18px;padding-right:36px;display:flex}.gallery-head-text{flex:auto}.gallery-title{color:var(--ink);margin:3px 0 0;font-family:Kalam,cursive;font-size:32px;font-weight:400;line-height:1}.gallery-count{color:var(--ink-3);flex:none;padding-bottom:3px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:6px;display:grid}.gallery-cell{aspect-ratio:1;background:var(--paper-3);cursor:pointer;border:0;border-radius:6px;padding:0;display:block;position:relative;overflow:hidden}.gallery-cell img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-spring);display:block}.gallery-cell:hover img,.gallery-cell:focus-visible img{transform:scale(1.05)}.gallery-cell:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.gallery-cell.is-skeleton:after{content:"";background:var(--paper-3);animation:pmShimmer 1.4s var(--ease-spring) infinite;position:absolute;inset:0}.gallery-lightbox{z-index:110;background:#14110dd1;justify-content:center;align-items:center;gap:8px;padding:32px;animation:.18s both modal-fade;display:flex;position:fixed;inset:0}.gallery-full{object-fit:contain;border-radius:4px;max-width:min(1100px,92vw);max-height:88vh;animation:.24s cubic-bezier(.32,.72,0,1) both modal-pop;box-shadow:0 24px 60px #00000080}.gallery-nav{color:#fff;cursor:pointer;width:46px;height:46px;transition:background .15s, transform .15s var(--ease-spring);background:#ffffff1f;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:28px;line-height:1;display:inline-flex}.gallery-nav:hover{background:#ffffff3d;transform:scale(1.08)}.gallery-nav:active{transform:scale(.96)}.gallery-x{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:24px;line-height:1;transition:background .15s;display:inline-flex;position:absolute;top:20px;right:24px}.gallery-x:hover{background:#ffffff3d}@media (max-width:640px){.gallery-backdrop{padding:0}.gallery-card{border-radius:0;min-height:100dvh;max-height:100dvh}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.gallery-nav{width:40px;height:40px}}.pin-modal{border:1.5px solid var(--ink);background:var(--paper);width:62vw;height:94vh;box-shadow:5px 6px 0 0 var(--ink-4), 0 18px 44px #00000038;border-radius:18px;flex-direction:row;animation:.26s cubic-bezier(.32,.72,0,1) both modal-pop;display:flex;position:relative;overflow:hidden}.pin-modal-photo{background:#14110d;flex:1.34 1 0;justify-content:center;align-items:center;min-width:0;height:100%;display:flex;position:relative}.pin-modal-img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}.pin-modal-nophoto{background:var(--paper-2);width:100%;height:100%;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:14px;display:flex}.pin-modal-close{cursor:pointer;width:30px;height:30px;color:var(--ink-3);transition:color .2s, transform .2s var(--ease-spring);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-4px -4px 0 0;font-size:22px;line-height:1;display:flex}.pin-modal-close:hover{color:var(--ink);transform:scale(1.08)}.pin-modal-close:active{transform:scale(.95)}.pin-modal .pin-modal-nav{z-index:1;position:absolute;top:50%;transform:translateY(-50%)}.pin-modal .pin-modal-nav.prev{left:10px}.pin-modal .pin-modal-nav.next{right:10px}.pin-modal .pin-modal-nav:hover{transform:translateY(-50%)scale(1.08)}.pin-modal .pin-modal-nav:active{transform:translateY(-50%)scale(.96)}.pin-modal-dots{z-index:1;gap:6px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.pin-modal-dot{width:7px;height:7px;transition:background .15s, transform .15s var(--ease-spring);background:#ffffff73;border-radius:50%}.pin-modal-dot.on{background:#fff;transform:scale(1.25)}.pin-modal-body{background:var(--paper);border-left:1.5px solid var(--ink);flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.pin-modal-head{border-bottom:1px solid var(--ink-4);justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px 14px;display:flex}.pin-modal-head-id{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.pin-modal-title{margin:0;font-family:Kalam,cursive;font-size:27px;font-weight:400;line-height:1.1}.pin-modal-address{color:var(--ink-3);overflow-wrap:anywhere;align-items:flex-start;gap:5px;margin:0;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.45;display:flex}.pin-modal-address svg{color:var(--ink-4);flex-shrink:0;margin-top:2px}.pin-modal-content{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.pin-modal-note{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:17px;font-style:italic;line-height:1.6}.pin-modal-note.muted{color:var(--ink-3)}.pin-modal-actions{border-top:1px solid var(--ink-4);flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}@media (max-width:760px){.pin-modal{flex-direction:column;width:min(400px,94vw);height:auto;max-height:90vh}.pin-modal-photo{aspect-ratio:4/5;flex:none;height:auto}.pin-modal-body{border-left:0;border-top:1.5px solid var(--ink);flex:auto;width:100%;min-height:0}}.profile-recent-row{gap:10px}.profile-recent-row .profile-province-name{flex:auto}.profile-recent-pin{flex:none;font-size:15px;line-height:1}.profile-recent-reopen{color:var(--ink-3);opacity:0;transition:opacity .3s var(--ease-spring), transform .3s var(--ease-spring), color .3s;flex:none;font-family:JetBrains Mono,monospace;font-size:14px;transform:translate(-3px,2px)}.profile-recent-row:hover .profile-recent-reopen,.profile-recent-row:focus-visible .profile-recent-reopen{opacity:1;color:var(--ink);transform:translate(0)}@media (min-width:960px){.profile-wrap{max-width:1140px}.profile-body{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:26px}}@media (max-width:880px){.shell{flex-direction:column;display:flex}.shell .sidebar{border-right:0;border-bottom:2px solid var(--ink);width:auto;max-height:42vh}.shell .mapshell{min-height:58vh}.shell.with-drawer{flex-direction:column}.drawer,.floatpanel{width:auto;max-height:80vh;position:fixed;inset:auto 0 0}}.a-railhead{border-bottom:1.25px dashed var(--ink-4);background:linear-gradient(180deg, var(--paper-2), var(--paper));flex-direction:column;gap:13px;margin:0 -16px;padding:14px 18px;display:flex}.a-railhead.flush{margin-top:-16px;padding-top:12px}.a-editbarrow{align-items:center;gap:10px;display:flex}.a-editflag{letter-spacing:.04em;color:var(--visited);text-align:right;flex:1;font-family:JetBrains Mono,monospace;font-size:10px}.a-railhead>*{margin-top:0!important}.a-scroll{padding-top:2px}.a-datebar{align-items:stretch;gap:10px;display:flex}.a-datebar .datefield{flex:1;min-width:0}.a-datebar .startdate-field{height:100%;margin-top:0}.btn.import-cta{background:var(--visited);color:#fff;transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease-spring), background .15s;flex:none;padding:6px 12px;font-size:14px}.btn.import-cta svg{transition:transform .25s var(--ease-spring)}.btn.import-cta:hover{background:var(--visited-deep);box-shadow:3px 3.5px 0 0 var(--ink);transform:translate(-1px,-1px)}.btn.import-cta:hover svg{transform:translate(1px,-1px)scale(1.1)}.btn.import-cta:active{box-shadow:.5px .5px 0 0 var(--ink);transform:translate(1.5px,2px)}.a-titlerow{justify-content:space-between;align-items:center;gap:10px;display:flex}.a-titlerow>.btn{flex:none}.a-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:-4px -3px -1px;padding:4px 3px 1px;font-family:Kalam,cursive;font-size:32px;font-weight:700;line-height:1.1;overflow:hidden}.a-sub{letter-spacing:.05em;color:var(--ink-3);flex-wrap:wrap;gap:12px;margin:8px 0 0;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.a-sub b{color:var(--ink-2);font-weight:500}.a-statline{gap:8px;margin-top:13px;display:flex}.a-stat{border:1.5px solid var(--ink);background:var(--paper);min-width:0;box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:11px;flex:1;padding:7px 10px}.a-stat .n{font-family:Kalam,cursive;font-size:24px;font-weight:700;line-height:.9}.a-stat .l{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;font-family:JetBrains Mono,monospace;font-size:8.5px}.a-stat.accent .n{color:var(--visited)}.a-dayfilter-wrap{position:relative}.a-dayfilter-nav{z-index:3;border:1.5px solid var(--ink);background:var(--paper);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;transition:transform 80ms,background .12s,color .12s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 7px #281e1438}.a-dayfilter-nav.left{left:-5px}.a-dayfilter-nav.right{right:-5px}.a-dayfilter-nav:hover{background:var(--ink);color:var(--paper)}.a-dayfilter-nav.left:active{transform:translateY(-50%)translate(-1px)scale(.94)}.a-dayfilter-nav.right:active{transform:translateY(-50%)translate(1px)scale(.94)}.a-dayfilter-wrap:before,.a-dayfilter-wrap:after{content:"";z-index:2;pointer-events:none;opacity:0;width:38px;transition:opacity .15s;position:absolute;top:0;bottom:0}.a-dayfilter-wrap:before{background:linear-gradient(to right, var(--paper), transparent);left:0}.a-dayfilter-wrap:after{background:linear-gradient(to left, var(--paper), transparent);right:0}.a-dayfilter-wrap[data-can-left=true]:before,.a-dayfilter-wrap[data-can-right=true]:after{opacity:1}.a-dayfilter{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;flex-wrap:nowrap;gap:7px;display:flex;overflow-x:auto}.a-dayfilter::-webkit-scrollbar{display:none}.a-dayfilter button{border:1.5px solid var(--ink);background:var(--paper);width:90px;color:var(--ink-2);cursor:pointer;box-shadow:1.5px 2px 0 0 var(--ink-4);border-radius:11px;flex-direction:column;flex:none;align-items:center;gap:3px;padding:10px 8px 11px;font-family:Kalam,cursive;font-size:15px;font-weight:700;line-height:1;transition:transform 80ms,box-shadow .1s;display:flex}.a-dayfilter button:active{transform:translate(1px,1px)}.a-dayfilter button .sm{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:400;overflow:hidden}.a-dayfilter button.on{background:var(--ink);color:var(--paper);box-shadow:1.5px 2px 0 0 var(--visited)}.a-dayfilter button.on .sm{color:#ffffffa6}.stop-meta .stop-tod,.stop-meta .stop-time{color:var(--ink-2);align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.tod-seg{border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:9px;display:flex;overflow:hidden}.tod-seg button{border:0;border-right:1.25px solid var(--ink-4);background:var(--paper);color:var(--ink-2);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-family:Kalam,cursive;font-size:13px;display:flex}.tod-seg button:last-child{border-right:0}.tod-seg button.on{background:var(--ink);color:var(--paper)}.a-day{margin-bottom:18px;position:relative}.a-dayhead{align-items:center;gap:11px;margin-bottom:6px;display:flex}.a-daynode{background:var(--visited);color:#fff;border:1.8px solid var(--ink);width:34px;height:34px;box-shadow:2px 2.5px 0 0 var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;display:flex}.a-day.d2 .a-daynode{background:var(--want)}.a-day.d3 .a-daynode{background:var(--cat-nature,#2f9e44)}.a-dayttl{text-transform:capitalize;font-family:Kalam,cursive;font-size:23px;font-weight:700;line-height:1}.a-daymeta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.a-daymeta svg{width:12px;height:12px}.a-spine{border-left:2.5px dashed var(--ink-4);margin-left:16px;padding:6px 0 4px 26px;position:relative}.a-day.d2 .a-spine{border-color:var(--want-soft)}.a-day.d3 .a-spine{border-color:var(--pin-soft)}.a-provlabel{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:5px;margin:2px 0 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.a-provlabel .grow{flex:1}.a-stop{margin-bottom:14px;position:relative}.a-stop[draggable=true]{cursor:grab}.a-stop.dragging{opacity:.4}.a-stop.dropbefore:before{content:"";background:var(--accent,var(--visited));border-radius:2px;height:3px;position:absolute;top:-8px;left:-35px;right:0}.a-spine.droptarget{background:color-mix(in srgb, var(--visited) 7%, transparent);border-radius:8px}.a-drag{color:var(--ink-4);cursor:grab;-webkit-user-select:none;user-select:none;margin-left:auto;font-size:15px;line-height:1}.a-stopnode{background:var(--paper);border:2.5px solid var(--visited);width:15px;height:15px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;position:absolute;top:14px;left:-35px}.a-day.d2 .a-stopnode{border-color:var(--want)}.a-day.d3 .a-stopnode{border-color:var(--cat-nature,#2f9e44)}.a-stopnode.on{background:var(--visited)}.a-day.d2 .a-stopnode.on{background:var(--want)}.a-day.d3 .a-stopnode.on{background:var(--cat-nature,#2f9e44)}.a-card{border:1.5px solid var(--ink);background:var(--paper);height:120px;box-shadow:3px 3.5px 0 0 var(--ink-4);text-align:left;border-radius:13px;grid-template-columns:124px 1fr;gap:0;transition:box-shadow .12s;display:grid;overflow:hidden}.a-card.sel{box-shadow:4px 5px 0 0 var(--visited)}.a-card.editing{box-shadow:4px 5px 0 0 var(--ink)}.a-pic{background-position:50%;background-size:cover;background-color:var(--paper-2);cursor:pointer;border:0;height:100%;padding:0;display:block;position:relative}.a-pic.placeholder{justify-content:center;align-items:center;display:flex}.a-card.is-loading{cursor:default;box-shadow:3px 3.5px 0 0 var(--ink-4)}.a-pic.is-loading{color:var(--ink-3)}.a-pic.is-loading .spinner{width:24px;height:24px}.a-tod{z-index:3;background:#1f1b16c7;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex;position:absolute;top:7px;left:7px}.a-body{flex-direction:column;gap:5px;min-width:0;padding:9px 12px 10px;display:flex;overflow:hidden}.a-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.a-nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:-3px -2px -1px;padding:3px 2px 1px;font-family:Kalam,cursive;font-size:20px;font-weight:700;line-height:1.1;overflow:hidden}.a-note{color:var(--ink-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-style:italic;line-height:1.35;display:-webkit-box;overflow:hidden}.a-foot{flex-wrap:wrap;align-items:center;gap:7px;margin-top:auto;display:flex}.timeofday{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex:none;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.timeofday svg{width:12px;height:12px}.a-cardx{z-index:4;background:var(--paper);border:1.5px solid var(--ink);width:22px;height:22px;color:var(--danger);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;display:flex;position:absolute;top:8px;right:8px}.cat{white-space:nowrap;color:#fff;border-radius:7px;align-items:center;gap:5px;padding:3px 9px;font-family:Kalam,cursive;font-size:12.5px;font-weight:700;line-height:1.2;display:inline-flex}.cat svg{width:13px;height:13px}.a-trans{letter-spacing:.04em;color:var(--ink-3);align-items:center;gap:8px;margin:-4px 0 10px -35px;padding-left:35px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.a-trans .tline{flex:none;width:14px}.a-trans .ic{background:var(--paper-2);border:1.25px solid var(--ink-4);width:24px;height:24px;color:var(--ink-2);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.a-trans .ic svg{width:13px;height:13px}.a-addrow{flex-direction:column;gap:8px;margin-top:2px;display:flex}.btn.dashed{box-shadow:none;background:var(--paper-2);color:var(--ink-2);border-style:dashed;font-weight:400}.btn.dashed:hover{border-color:var(--ink-3)}.a-addrow .btn.dashed{border-color:color-mix(in srgb, var(--visited) 55%, var(--ink-4));background:color-mix(in srgb, var(--visited-soft) 45%, var(--paper));color:var(--visited-deep);box-shadow:none;transition:transform .18s var(--ease-spring), box-shadow .18s var(--ease-spring), background .18s var(--ease-spring), border-color .18s var(--ease-spring);font-weight:700}.a-addrow .btn.dashed:hover{background:var(--visited-soft);border-color:var(--visited);box-shadow:2px 3px 0 0 color-mix(in srgb, var(--visited) 32%, transparent);transform:translateY(-2px)}.a-addrow .btn.dashed:active{box-shadow:.5px .5px 0 0 var(--visited);transform:translate(1px,1px)}.a-day.d2 .a-addrow .btn.dashed{border-color:color-mix(in srgb, var(--want) 55%, var(--ink-4));background:color-mix(in srgb, var(--want-soft) 45%, var(--paper));color:var(--want-deep)}.a-day.d2 .a-addrow .btn.dashed:hover{background:var(--want-soft);border-color:var(--want);box-shadow:2px 3px 0 0 color-mix(in srgb, var(--want) 32%, transparent)}.a-day.d3 .a-addrow .btn.dashed{border-color:color-mix(in srgb, #2f9e44 50%, var(--ink-4));background:color-mix(in srgb, #2f9e44 11%, var(--paper));color:#237536}.a-day.d3 .a-addrow .btn.dashed:hover{background:color-mix(in srgb, #2f9e44 19%, var(--paper));border-color:#2f9e44;box-shadow:2px 3px #2f9e444d}.btn.dashed.add-day{border-width:1.75px;border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 17%, var(--paper)) 0%, color-mix(in srgb, var(--gold) 6%, var(--paper)) 100%);color:color-mix(in srgb, var(--gold) 42%, var(--ink));letter-spacing:.01em;box-shadow:2.5px 3px 0 0 color-mix(in srgb, var(--gold) 55%, var(--ink-4));transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring), background .2s var(--ease-spring), border-color .2s var(--ease-spring);padding:11px 14px;font-weight:700}.btn.dashed.add-day:hover{border-style:solid;border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 27%, var(--paper)) 0%, color-mix(in srgb, var(--gold) 12%, var(--paper)) 100%);box-shadow:3.5px 4.5px 0 0 var(--gold);transform:translateY(-2px)}.btn.dashed.add-day:active{box-shadow:1px 1px 0 0 var(--gold);transform:translate(1px,2px)}.admin-route{height:100dvh;overflow-y:auto}.admin-page{background:radial-gradient(120% 90% at 50% -10%, var(--paper-2) 0%, var(--paper-edge) 78%);min-height:calc(100dvh - 58px);padding:48px 24px 80px}.admin-wrap{max-width:560px;margin:0 auto}.admin-head{margin-bottom:18px}.admin-title{color:var(--ink);margin:0;font-family:Kalam,cursive;font-size:40px;font-weight:400;line-height:1}.admin-sub{color:var(--ink-3);margin:6px 0 0;font-family:JetBrains Mono,monospace;font-size:12px}.admin-search{width:100%;margin-bottom:18px}.admin-search-ico{opacity:.55;font-size:15px}.admin-empty{color:var(--ink-3);text-align:center;padding:40px 0;font-family:Kalam;font-size:15px}.admin-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-row{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:12px;align-items:center;gap:14px;padding:12px 14px;display:flex}.admin-avatar{border:1.5px solid var(--ink);object-fit:cover;background:var(--paper-2);border-radius:50%;flex:none;width:40px;height:40px}.admin-avatar-fallback{color:var(--ink-2);justify-content:center;align-items:center;font-family:Kalam;font-size:18px;display:flex}.admin-id{flex:1;min-width:0}.admin-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-family:Kalam;font-size:17px;overflow:hidden}.admin-email{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.admin-meta{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.admin-joined{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px}.admin-locked{letter-spacing:.04em;text-transform:uppercase;color:var(--want-deep);border:1px solid var(--want);border-radius:999px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:10px}.admin-pager{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.admin-pageinfo{color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:12px}a.admin-row{color:inherit;text-decoration:none;transition:box-shadow .12s,transform .12s}a.admin-row:hover{box-shadow:3px 4px 0 0 var(--ink-4);transform:translate(-1px,-1px)}.admin-stats{color:var(--ink-2);flex-wrap:wrap;gap:12px;margin:6px 0 0;padding:0;font-family:JetBrains Mono,monospace;font-size:11px;list-style:none;display:flex}.admin-stats li{align-items:center;gap:4px;display:inline-flex}.admin-stats span{font-size:12px}.admin-back{margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:12px}.admin-detail-head{align-items:center;gap:16px;margin-bottom:28px;display:flex}.admin-detail-avatar{width:64px;height:64px}.admin-detail-avatar.admin-avatar-fallback{font-size:28px}.admin-detail-id{min-width:0}.admin-detail-name{color:var(--ink);margin:0;font-family:Kalam,cursive;font-size:30px;font-weight:400;line-height:1.1}.admin-detail-email{color:var(--ink-3);margin:4px 0 0;font-family:JetBrains Mono,monospace;font-size:12px}.admin-detail-joined{color:var(--ink-3);align-items:center;gap:8px;margin:6px 0 0;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.admin-metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;display:grid}.admin-metric{text-align:center;background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:12px;flex-direction:column;align-items:center;padding:18px 12px;display:flex}.admin-metric-glyph{font-size:22px;line-height:1}.admin-metric-value{color:var(--ink);margin:8px 0 2px;font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700}.admin-metric-label{color:var(--ink-3);letter-spacing:.02em;font-family:JetBrains Mono,monospace;font-size:11px}.admin-manage{flex-direction:column;gap:16px;margin-top:28px;display:flex}.admin-card{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:12px;padding:18px}.admin-card-title{color:var(--ink);margin:0 0 14px;font-family:Kalam,cursive;font-size:20px;font-weight:400;line-height:1.1}.admin-lock-card{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-lock-state{flex:1;align-items:center;gap:12px;min-width:200px;display:flex}.admin-lock-dot{border:1.5px solid var(--ink);border-radius:50%;flex:none;width:12px;height:12px}.admin-lock-dot.is-active{background:var(--visited)}.admin-lock-dot.is-locked{background:var(--want)}.admin-lock-title{color:var(--ink);margin:0;font-family:Kalam,cursive;font-size:17px}.admin-lock-note{color:var(--ink-3);margin:3px 0 0;font-family:JetBrains Mono,monospace;font-size:11px}.admin-field{margin-bottom:14px;display:block}.admin-field-label{color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase;margin-bottom:5px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.admin-input{box-sizing:border-box;border:1.5px solid var(--ink);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:13px}.admin-input:focus{outline:2px solid var(--want);outline-offset:1px}.admin-edit-actions{align-items:center;gap:12px;display:flex}.admin-form-error{color:var(--danger);margin:12px 0 0;font-family:JetBrains Mono,monospace;font-size:12px}.admin-form-ok{color:var(--visited-deep);font-family:JetBrains Mono,monospace;font-size:12px}.admin-danger-card{border-color:var(--danger);box-shadow:2px 2.5px 0 0 color-mix(in srgb, var(--danger) 45%, transparent);flex-direction:column;gap:14px;display:flex}.admin-danger-card .admin-card-title{color:var(--danger);margin-bottom:6px}.admin-danger-confirm{flex-direction:column;gap:12px;display:flex}.admin-danger-confirm code{background:#fff0ec;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:12px}.admin-analytics{background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2.5px 0 0 var(--ink-4);border-radius:12px;flex-direction:column;gap:16px;margin-bottom:28px;padding:18px;display:flex}.admin-analytics-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-analytics-range{flex-direction:column;gap:4px}.admin-analytics-live{align-items:baseline;gap:8px;display:flex}.admin-analytics-live-value{font-size:40px}.admin-analytics-chart{flex-direction:column;gap:6px;display:flex}.admin-analytics-svg{background:var(--paper);border:1.5px solid var(--ink-4);border-radius:8px;width:100%;height:140px;display:block}.admin-analytics-bar{fill:var(--ink)}.admin-analytics-axis{color:var(--ink-4);justify-content:space-between;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.admin-analytics-peak{color:var(--ink);font-weight:600}.admin-screen-rank{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-screen-row{border:1.5px solid var(--ink-4);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.admin-screen-bar{background:color-mix(in srgb, var(--ink) 12%, transparent);height:100%;position:absolute;inset:0 auto 0 0}.admin-screen-name{font-weight:600;position:relative}.admin-screen-time{color:var(--ink-4);font-family:JetBrains Mono,monospace;font-size:13px;position:relative}@media (max-width:520px){.admin-meta{display:none}}
