:root{--atlas-text: #111820;--atlas-muted: #556273;--atlas-surface: rgba(255, 255, 255, .78);--atlas-map-surface: rgba(255, 255, 255, .76);--atlas-border: rgba(17, 24, 32, .12);--atlas-border-strong: rgba(17, 24, 32, .18);--atlas-grid-line: rgba(17, 24, 32, .04);--atlas-country-visited: #2465de;--atlas-country-lived: #226c3f;--atlas-country-wishlist: #226c3f;--atlas-country-fill: rgba(17, 24, 32, .035);--atlas-country-stroke: rgba(17, 24, 32, .14);--atlas-route-completed: rgba(34, 108, 63, .34);--atlas-route-selected: rgba(34, 108, 63, .9);--atlas-route-shadow: rgba(34, 108, 63, .2);--atlas-active: #ee5b42;--atlas-marker-center: #ffffff;--atlas-shadow: 0 32px 80px rgba(17, 24, 32, .1);--atlas-marker-shadow: 0 6px 10px rgba(17, 24, 32, .18)}.ta-root{display:grid;gap:16px}.ta-mapShell{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--atlas-border);border-radius:8px;background:linear-gradient(var(--atlas-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--atlas-grid-line) 1px,transparent 1px),var(--atlas-map-surface);background-size:28px 28px;box-shadow:var(--atlas-shadow)}.ta-map{display:block;width:100%;aspect-ratio:16 / 9;-webkit-user-select:none;user-select:none}.ta-mapZoomable{cursor:grab;touch-action:none}.ta-mapDragging{cursor:grabbing}.ta-sphere{fill:color-mix(in srgb,var(--atlas-map-surface),transparent 28%);stroke:var(--atlas-border-strong);stroke-width:1.2}.ta-graticule{fill:none;stroke:var(--atlas-border);stroke-width:.7}.ta-geographies{pointer-events:visiblePainted}.ta-geography{fill:var(--atlas-country-fill);stroke:var(--atlas-country-stroke);stroke-linejoin:round;stroke-width:.72;transition:fill .16s ease,opacity .16s ease,stroke .16s ease;vector-effect:non-scaling-stroke}.ta-geography[role=button]{cursor:pointer}.ta-geography[role=button]:hover,.ta-geography[role=button]:focus-visible{fill:color-mix(in srgb,var(--atlas-country-visited),transparent 84%);stroke:color-mix(in srgb,var(--atlas-country-visited),transparent 28%);outline:none}.ta-geography-visited{fill:color-mix(in srgb,var(--atlas-country-visited),transparent 84%);stroke:color-mix(in srgb,var(--atlas-country-visited),transparent 48%)}.ta-geography-lived{fill:color-mix(in srgb,var(--atlas-country-lived),transparent 82%);stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 42%)}.ta-geography-want-to-visit{fill:color-mix(in srgb,var(--atlas-country-wishlist),transparent 92%);stroke:color-mix(in srgb,var(--atlas-country-wishlist),transparent 36%);stroke-dasharray:3 3}.ta-geographySelected{fill:color-mix(in srgb,var(--atlas-active),transparent 72%);stroke:var(--atlas-active);stroke-width:1.4}.ta-geographyBaseSelected{fill:color-mix(in srgb,var(--atlas-active),transparent 88%);stroke:color-mix(in srgb,var(--atlas-active),transparent 10%);stroke-width:1.25}.ta-geographyTripVisible{stroke:color-mix(in srgb,var(--atlas-route-selected),transparent 32%)}.ta-routeShadow{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;stroke-width:7;opacity:0;vector-effect:non-scaling-stroke}.ta-routeShadowSelected{stroke:var(--atlas-route-shadow);opacity:.22}.ta-route{fill:none;stroke:var(--atlas-route-completed);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4;cursor:pointer;pointer-events:stroke;transition:opacity .16s ease,stroke .16s ease,stroke-width .16s ease;vector-effect:non-scaling-stroke}.ta-routePlanned{stroke-dasharray:5 6}.ta-routeSelected{stroke:var(--atlas-route-selected);stroke-width:2.4;stroke-dasharray:1;stroke-dashoffset:0;animation:ta-route-draw .96s cubic-bezier(.22,1,.36,1) both}@keyframes ta-route-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.ta-markerButton{fill:var(--atlas-country-visited);stroke:var(--atlas-marker-center);stroke-width:2px;cursor:pointer;filter:drop-shadow(var(--atlas-marker-shadow));transition:fill .16s ease,stroke .16s ease,r .16s ease}.ta-markerButton:focus-visible{outline:3px solid color-mix(in srgb,var(--atlas-active),transparent 68%);outline-offset:4px}.ta-marker-lived{fill:var(--atlas-country-lived)}.ta-marker-want-to-visit{fill:var(--atlas-marker-center);stroke:var(--atlas-country-wishlist)}.ta-markerSelected{fill:var(--atlas-active)}.ta-cityMarker{fill:var(--atlas-marker-center);stroke:color-mix(in srgb,var(--atlas-text),transparent 52%);stroke-width:1.4;cursor:pointer;filter:drop-shadow(0 3px 5px rgba(17,24,32,.12));transition:fill .16s ease,stroke .16s ease,r .16s ease}.ta-cityMarker:hover,.ta-cityMarker:focus-visible{fill:color-mix(in srgb,var(--atlas-country-visited),white 72%);stroke:var(--atlas-country-visited);outline:none}.ta-cityMarkerSelected{fill:var(--atlas-active);stroke:var(--atlas-marker-center);stroke-width:2}.ta-cityMarkerTripVisible{stroke:var(--atlas-route-selected);stroke-width:1.8}.ta-cityLabel{fill:var(--atlas-text);font-size:10.5px;font-weight:800;opacity:.78;paint-order:stroke;pointer-events:none;stroke:var(--atlas-marker-center);stroke-width:3.5px}.ta-cityLabelSelected{font-size:12px;opacity:1}.ta-tripStop circle{fill:var(--atlas-route-selected);stroke:var(--atlas-marker-center);stroke-width:2;filter:drop-shadow(var(--atlas-marker-shadow))}.ta-tripStopMarker{pointer-events:none}.ta-tripStopMarker circle{fill:color-mix(in srgb,var(--atlas-marker-center),transparent 10%);stroke:var(--atlas-route-selected);stroke-width:1.6;opacity:.82}.ta-tripStopMarker-planned circle{stroke-dasharray:2 2}.ta-tripStopMarkerSelected circle{opacity:0}.ta-tripStopNumber{fill:var(--atlas-marker-center);font-size:10px;font-weight:800;text-anchor:middle;pointer-events:none}.ta-tripStopLabel{fill:var(--atlas-country-lived);font-size:10.5px;font-weight:850;paint-order:stroke;pointer-events:none;stroke:var(--atlas-marker-center);stroke-width:4px}.ta-countryLabel{fill:var(--atlas-text);font-size:13px;font-weight:700;paint-order:stroke;stroke:var(--atlas-marker-center);stroke-width:4px}.ta-labelLayer{pointer-events:none}.ta-countryLabelButton{cursor:pointer;pointer-events:all}.ta-countryLabelButton:focus-visible{outline:none}.ta-countryLabelHitbox{fill:transparent;stroke:none}.ta-labelLayer .ta-countryLabel{text-anchor:middle;dominant-baseline:central;fill:color-mix(in srgb,var(--atlas-text),transparent 18%);font-size:9.5px;font-weight:800;stroke:color-mix(in srgb,var(--atlas-map-surface),white 16%);stroke-width:3px;opacity:.76}.ta-labelLayer .ta-countryLabelAuthored{fill:var(--atlas-country-lived);font-size:10.5px;opacity:.96}.ta-countryLabelButton:hover .ta-countryLabel,.ta-countryLabelButton:focus-visible .ta-countryLabel{fill:var(--atlas-active);opacity:1}.ta-labelLayer .ta-countryLabelSelected{fill:var(--atlas-active);opacity:1}.ta-globe{display:block;width:100%;aspect-ratio:16 / 9;cursor:grab;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;-webkit-user-select:none;user-select:none;touch-action:none}.ta-globeDragging{cursor:grabbing}.ta-globeAtmosphere{fill:none;stroke:color-mix(in srgb,var(--atlas-country-lived),white 54%);stroke-opacity:.26;stroke-width:14;pointer-events:none}.ta-globeSphere{stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 82%);stroke-width:1}.ta-globeRim{fill:none;stroke:color-mix(in srgb,var(--atlas-text),transparent 82%);stroke-width:1.35}.ta-globeShade{pointer-events:none}.ta-globeGraticule{fill:none;stroke:color-mix(in srgb,var(--atlas-text),transparent 92%);stroke-width:.62}.ta-globeCountry{fill:color-mix(in srgb,var(--atlas-text),transparent 94%);stroke:color-mix(in srgb,var(--atlas-text),transparent 88%);stroke-linejoin:round;stroke-width:.58;transition:fill .16s ease,stroke .16s ease,stroke-width .16s ease}.ta-globeCountry[role=button]{cursor:pointer}.ta-globeCountry[role=button]:hover,.ta-globeCountry[role=button]:focus-visible{fill:color-mix(in srgb,var(--atlas-country-visited),transparent 80%);stroke:color-mix(in srgb,var(--atlas-country-visited),transparent 34%);outline:none}.ta-globeCountry-visited{fill:color-mix(in srgb,var(--atlas-country-visited),transparent 80%);stroke:color-mix(in srgb,var(--atlas-country-visited),transparent 44%)}.ta-globeCountry-lived{fill:color-mix(in srgb,var(--atlas-country-lived),transparent 78%);stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 36%)}.ta-globeCountry-want-to-visit{fill:color-mix(in srgb,var(--atlas-country-wishlist),transparent 90%);stroke:color-mix(in srgb,var(--atlas-country-wishlist),transparent 36%);stroke-dasharray:3 3}.ta-globeCountrySelected,.ta-globeCountryBaseSelected{fill:color-mix(in srgb,var(--atlas-country-lived),transparent 86%);stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 20%);stroke-width:.95}.ta-globeRoute{fill:none;stroke:var(--atlas-route-completed);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;transition:opacity .16s ease,stroke .16s ease,stroke-width .16s ease}.ta-globeRoutePlanned{stroke-dasharray:5 4}.ta-globeRouteSelected{stroke:var(--atlas-route-selected);stroke-width:2.6;stroke-dasharray:1;stroke-dashoffset:0;animation:ta-route-draw .96s cubic-bezier(.22,1,.36,1) both;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--atlas-route-selected),transparent 58%))}.ta-globeMarker,.ta-globeCityMarker,.ta-globeTripStop{filter:drop-shadow(var(--atlas-marker-shadow))}.ta-globeMarker{fill:color-mix(in srgb,var(--atlas-marker-center),transparent 6%);stroke:color-mix(in srgb,var(--atlas-country-visited),transparent 18%);stroke-width:1.65;cursor:pointer}.ta-globeMarker-lived{fill:color-mix(in srgb,var(--atlas-marker-center),transparent 4%);stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 12%)}.ta-globeMarker-want-to-visit{fill:var(--atlas-marker-center);stroke:var(--atlas-country-wishlist)}.ta-globeMarkerSelected{fill:color-mix(in srgb,var(--atlas-marker-center),transparent 2%);stroke:color-mix(in srgb,var(--atlas-country-lived),transparent 0%);stroke-width:2}.ta-globeCityMarker{fill:var(--atlas-marker-center);stroke:color-mix(in srgb,var(--atlas-text),transparent 50%);stroke-width:1.4;cursor:pointer}.ta-globeCityMarker:hover,.ta-globeCityMarker:focus-visible{fill:color-mix(in srgb,var(--atlas-country-visited),white 72%);stroke:var(--atlas-country-visited);outline:none}.ta-globeCityMarkerSelected{fill:var(--atlas-active);stroke:var(--atlas-marker-center);stroke-width:2}.ta-globeTripStopGroup{pointer-events:none}.ta-globeTripStop{fill:color-mix(in srgb,var(--atlas-marker-center),transparent 8%);stroke:var(--atlas-route-selected);stroke-width:2}.ta-globeTripStop-planned{stroke-dasharray:2 2}.ta-globeTripStopSelected .ta-globeTripStop{fill:var(--atlas-route-selected);stroke:var(--atlas-marker-center)}.ta-globeTripStopNumber{fill:var(--atlas-marker-center);font-size:9.5px;font-weight:900;text-anchor:middle}.ta-globeTripStopLabel{fill:var(--atlas-country-lived);font-size:10px;font-weight:850;paint-order:stroke;stroke:var(--atlas-marker-center);stroke-width:4px;text-anchor:start}.ta-globeCityLabel,.ta-globeCountryLabel{fill:var(--atlas-text);paint-order:stroke;pointer-events:none;stroke:var(--atlas-marker-center);text-anchor:middle}.ta-globeCityLabel{font-size:10.5px;font-weight:800;opacity:.86;stroke-width:3.4px;text-anchor:start}.ta-globeLabelLayer{pointer-events:none}.ta-globeCountryLabelButton{cursor:pointer;pointer-events:all}.ta-globeCountryLabelButton:focus-visible{outline:none}.ta-globeCountryLabelHitbox{fill:transparent;stroke:none}.ta-globeCountryLabel{dominant-baseline:central;fill:color-mix(in srgb,var(--atlas-text),transparent 24%);font-size:8.8px;font-weight:850;opacity:.72;stroke:color-mix(in srgb,var(--atlas-map-surface),white 24%);stroke-width:2.6px}.ta-globeCountryLabelAuthored{fill:var(--atlas-country-lived);font-size:10px;opacity:.96}.ta-globeCountryLabelButton:hover .ta-globeCountryLabel,.ta-globeCountryLabelButton:focus-visible .ta-globeCountryLabel,.ta-globeCountryLabelSelected{fill:var(--atlas-active);opacity:1}.ta-globeControlDock{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end;gap:8px;pointer-events:none}.ta-globeControls{display:inline-flex;flex:0 1 auto;flex-wrap:wrap;min-width:0;overflow:hidden;border:1px solid var(--atlas-border);border-radius:8px;background:color-mix(in srgb,var(--atlas-surface),white 12%);box-shadow:0 12px 26px #1118201a;pointer-events:auto}.ta-globeControls button{flex:0 1 auto;height:34px;padding:0 7px;border:0;border-right:1px solid var(--atlas-border);background:transparent;color:var(--atlas-muted);cursor:pointer;font:inherit;font-size:13px;font-weight:800;white-space:nowrap}.ta-globeControls button:last-child{border-right:0}.ta-globeControls button[aria-pressed=true]{background:color-mix(in srgb,var(--atlas-country-lived),transparent 88%);color:var(--atlas-country-lived)}.ta-globeControls button:hover,.ta-globeControls button:focus-visible{background:color-mix(in srgb,var(--atlas-country-visited),transparent 90%);color:var(--atlas-text);outline:none}.ta-mapControls{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;overflow:hidden;border:1px solid var(--atlas-border);border-radius:8px;background:color-mix(in srgb,var(--atlas-surface),white 12%);box-shadow:0 12px 26px #1118201a}.ta-globeControlDock .ta-mapControls{position:static;flex:0 0 auto;pointer-events:auto}.ta-layerControls{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;overflow:visible;border:1px solid var(--atlas-border);border-radius:8px;background:color-mix(in srgb,var(--atlas-surface),white 12%);box-shadow:0 12px 26px #1118201a}.ta-mapControls button,.ta-layerControls button{min-width:38px;height:34px;border:0;border-right:1px solid var(--atlas-border);background:transparent;color:var(--atlas-text);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.ta-layerMenu{position:relative;display:inline-flex;border-right:1px solid var(--atlas-border)}.ta-layerMenu:last-child{border-right:0}.ta-layerMenuButton{min-width:72px;padding:0 14px;border-right:0!important}.ta-layerMenuButton:after{display:inline-block;width:0;height:0;margin-left:8px;border-top:4px solid currentColor;border-right:4px solid transparent;border-left:4px solid transparent;content:"";vertical-align:2px}.ta-layerMenuPanel{position:absolute;bottom:calc(100% + 8px);left:0;display:grid;min-width:190px;gap:2px;padding:8px;border:1px solid var(--atlas-border);border-radius:8px;background:color-mix(in srgb,var(--atlas-surface),white 16%);box-shadow:0 18px 34px #11182024}.ta-layerMenuItem{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 8px;border-radius:6px;color:var(--atlas-text);cursor:pointer;font-size:13px;font-weight:750;line-height:1.1;white-space:nowrap}.ta-layerMenuItem:hover,.ta-layerMenuItem:focus-within{background:color-mix(in srgb,var(--atlas-country-visited),transparent 92%)}.ta-layerMenuItem input{width:14px;height:14px;margin:0;accent-color:var(--atlas-country-lived)}.ta-layerControls button[aria-pressed=true]{background:color-mix(in srgb,var(--atlas-country-lived),transparent 88%);color:var(--atlas-country-lived)}.ta-layerControls button[aria-pressed=false]{color:var(--atlas-muted)}.ta-mapControls button:last-child{border-right:0}.ta-mapControls button:hover,.ta-mapControls button:focus-visible,.ta-layerControls button:hover,.ta-layerControls button:focus-visible{background:color-mix(in srgb,var(--atlas-country-visited),transparent 90%);outline:none}.ta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ta-panel,.ta-tripNav,.ta-ledger,.ta-issues{border:1px solid var(--atlas-border);border-radius:8px;background:var(--atlas-surface)}.ta-tripNav{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:16px;padding:14px}.ta-tripNav p{margin:0;color:var(--atlas-muted)}.ta-tripScope{display:inline-flex;justify-self:end;overflow:hidden;border:1px solid var(--atlas-border);border-radius:8px;background:#ffffff85}.ta-tripScope button{min-height:34px;padding:0 12px;border:0;background:transparent;color:var(--atlas-muted);cursor:pointer;font:inherit;font-size:12px;font-weight:800}.ta-tripScope button+button{border-left:1px solid var(--atlas-border)}.ta-tripScope button[aria-pressed=true]{background:color-mix(in srgb,var(--atlas-active),transparent 88%);color:var(--atlas-active)}.ta-tripScope button:hover,.ta-tripScope button:focus-visible{background:color-mix(in srgb,var(--atlas-country-visited),transparent 90%);outline:none}.ta-tripNavList{display:grid;grid-column:2;grid-template-columns:repeat(auto-fit,minmax(min(100%,116px),1fr));gap:8px}.ta-tripNavList button{display:grid;gap:5px;min-width:0;min-height:52px;padding:8px 11px;border:1px solid var(--atlas-border);border-radius:8px;background:#ffffff8a;color:var(--atlas-text);cursor:pointer;font:inherit;line-height:1.05;text-align:left}.ta-tripNavList button span{font-size:13px;font-weight:800;overflow-wrap:anywhere}.ta-tripNavList button small{color:var(--atlas-muted);font-size:11px;font-weight:750}.ta-tripNavList button[aria-pressed=true]{border-color:color-mix(in srgb,var(--atlas-active),transparent 34%);background:color-mix(in srgb,var(--atlas-active),transparent 90%);color:var(--atlas-active)}.ta-tripNavList button:hover,.ta-tripNavList button:focus-visible{border-color:color-mix(in srgb,var(--atlas-country-visited),transparent 48%);outline:none}.ta-tripOverview{display:grid;grid-column:2;gap:4px;align-self:stretch;min-height:52px;padding:12px 14px;border:1px solid var(--atlas-border);border-radius:8px;background:color-mix(in srgb,var(--atlas-country-lived),transparent 94%);color:var(--atlas-muted)}.ta-tripOverview strong{color:var(--atlas-country-lived);font-size:14px;line-height:1}.ta-tripOverview span{font-size:12px;font-weight:750}.ta-panel{padding:18px}.ta-panel h3{margin:0 0 6px;font-size:20px}.ta-tripPanel h3{margin-bottom:8px}.ta-panel p,.ta-ledger p,.ta-issues{margin:0;color:var(--atlas-muted)}.ta-chipList,.ta-miniList{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ta-chip,.ta-chipButton,.ta-miniList button{border:1px solid var(--atlas-border);border-radius:999px;background:#ffffff85;color:var(--atlas-text);font-size:12px;font-weight:700;line-height:1}.ta-chip{padding:8px 10px}.ta-chipButton{appearance:none;cursor:pointer;font:inherit}.ta-chipButton[aria-pressed=true]{border-color:color-mix(in srgb,var(--atlas-active),transparent 34%);background:color-mix(in srgb,var(--atlas-active),transparent 88%);color:var(--atlas-active)}.ta-chipButton:hover,.ta-chipButton:focus-visible{border-color:color-mix(in srgb,var(--atlas-country-visited),transparent 48%);outline:none}.ta-miniList button{padding:8px 10px;cursor:pointer}.ta-miniList button:hover,.ta-miniList button:focus-visible{border-color:color-mix(in srgb,var(--atlas-country-visited),transparent 48%);outline:none}.ta-stopList{display:grid;gap:8px;margin:14px 0 0;padding-left:20px;color:var(--atlas-text)}.ta-stopList li{padding-left:3px;line-height:1.35}.ta-stopList li::marker{color:var(--atlas-active);font-weight:800}.ta-eyebrow{margin-bottom:8px!important;color:var(--atlas-country-lived)!important;font-size:12px;font-weight:800;text-transform:uppercase}.ta-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ta-ledger>div{padding:16px 18px}.ta-ledger>div+div{border-left:1px solid var(--atlas-border)}.ta-issues{padding:12px 14px}@media(max-width:720px){.ta-grid,.ta-tripNav,.ta-ledger{grid-template-columns:1fr}.ta-tripScope{justify-self:stretch}.ta-tripScope button{flex:1}.ta-tripNavList,.ta-tripOverview{grid-column:auto}.ta-ledger>div+div{border-top:1px solid var(--atlas-border);border-left:0}}:root{--ink: #12161c;--muted: #536070;--paper: #f7f9fc;--surface: rgba(255, 255, 255, .82);--line: rgba(18, 22, 28, .12);--blue: #2f6fed;--coral: #f05d3f;--teal: #1c9f88;--violet: #8067e8;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.22, 1, .36, 1);--layout-width: min(1120px, calc(100vw - 48px) );--graph-minor: 8px;--graph-major: 56px;--graph-origin-y: 120px;color:#12161c;background:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}::selection{background:#2f6fed2e}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#root{min-height:100vh;isolation:isolate}.ambient-canvas{position:fixed;inset:0;z-index:-1;display:block;background:linear-gradient(180deg,#fffffffa,#f7f9fce6 58%,#f4f7fbf5),linear-gradient(90deg,rgba(47,111,237,.025),transparent 34%,transparent 66%,rgba(28,159,136,.024)),#f7f9fc;pointer-events:none}.ambient-canvas:before{position:absolute;top:0;bottom:0;left:50%;width:var(--layout-width);background-image:repeating-linear-gradient(90deg,rgba(18,22,28,.011) 0 1px,transparent 1px var(--graph-minor)),repeating-linear-gradient(180deg,rgba(18,22,28,.009) 0 1px,transparent 1px var(--graph-minor)),repeating-linear-gradient(90deg,rgba(18,22,28,.03) 0 1px,transparent 1px var(--graph-major)),repeating-linear-gradient(180deg,rgba(18,22,28,.024) 0 1px,transparent 1px var(--graph-major));background-position:0 var(--graph-origin-y),0 var(--graph-origin-y),0 var(--graph-origin-y),0 var(--graph-origin-y);content:"";-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 96px,#000 calc(100% - 96px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 96px,#000 calc(100% - 96px),transparent 100%);opacity:.68;transform:translate(-50%)}.site-shell{width:var(--layout-width);margin:0 auto;padding:0}.site-nav-wrap{position:sticky;top:18px;z-index:10;padding-top:18px}.site-nav{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:58px;padding:7px;border:1px solid rgba(18,22,28,.1);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 54px #1622371f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:reveal-down .62s var(--ease-out) both}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:6px;background:var(--ink);color:#fff;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.55rem;line-height:1}.nav-links{display:flex;justify-content:flex-end;gap:6px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.nav-links::-webkit-scrollbar{display:none}.nav-links a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 14px;border-radius:6px;color:var(--muted);font-size:.9rem;font-weight:760;transition:background-color .22s var(--ease-soft),color .22s var(--ease-soft),transform .22s var(--ease-soft)}.nav-links a:hover,.nav-links a[aria-current=page]{background:#2f6fed14;color:var(--ink);transform:translateY(-1px)}.hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:64px;min-height:70vh;padding:88px 0 56px}.portrait-frame{position:relative;width:min(100%,360px);aspect-ratio:4 / 5;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 80px #16223729;overflow:hidden;animation:fade-lift .76s var(--ease-out) 90ms both;transition:box-shadow .36s var(--ease-soft),transform .36s var(--ease-soft)}.portrait-frame:hover{box-shadow:0 30px 90px #16223733;transform:translateY(-3px)}.portrait-frame:before{position:absolute;inset:14px;z-index:1;border:1px solid rgba(255,255,255,.6);border-radius:6px;content:"";pointer-events:none}.portrait-image{width:100%;height:100%;display:block;object-fit:cover}.hero-copy{width:min(100%,620px);max-width:620px;animation:fade-lift .76s var(--ease-out) .17s both}.eyebrow{margin:0;width:fit-content;background:linear-gradient(90deg,#0e5b47,#14775a 32%,#4fb889,#14775a 72%,#0e5b47);background-size:220% 100%;color:#0e5b47;font-size:.82rem;font-weight:760;letter-spacing:0;animation:green-shimmer 8s ease-in-out infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-copy h1{margin:10px 0 0;color:var(--ink);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:5.6rem;font-weight:500;line-height:.95;letter-spacing:0}.hero-intro{width:100%;max-width:none;margin:24px 0 0;color:#303844;font-size:1.35rem;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;margin-top:32px}.site-slider{position:relative;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#ffffff9e),repeating-linear-gradient(90deg,rgba(18,22,28,.035) 0 1px,transparent 1px 38px);box-shadow:0 14px 38px #16223717;overflow:hidden}.site-slider:before{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(47,111,237,.1),transparent);content:"";transform:translate(-100%);animation:scan-line 5.6s var(--ease-soft) infinite}.hero-slider{width:min(100%,33rem);margin-top:34px}.page-slider{max-width:620px;margin-bottom:34px}.slider-header,.slider-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.72rem;font-weight:780;text-transform:lowercase}.slider-footer a{color:var(--ink);font-weight:840}.slider-map{position:relative;height:60px;margin:8px 0;border:1px dashed rgba(18,22,28,.14);border-radius:6px;background:radial-gradient(circle at 34% 48%,rgba(47,111,237,.12),transparent 28%),radial-gradient(circle at 72% 32%,rgba(28,159,136,.09),transparent 24%)}.slider-lines{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible}.slider-lines path{fill:none;stroke:#12161c4d;stroke-dasharray:3 4;stroke-linecap:round;stroke-width:1;vector-effect:non-scaling-stroke}.slider-node{position:absolute;z-index:2;display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border:1px solid rgba(18,22,28,.12);border-radius:999px;background:#ffffffdb;color:var(--ink);font-size:.68rem;font-weight:820;box-shadow:0 8px 22px #16223714;transition:border-color .26s var(--ease-soft),box-shadow .26s var(--ease-soft),color .26s var(--ease-soft),transform .26s var(--ease-soft)}.slider-node:after{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:999px;background:var(--coral);box-shadow:0 0 #f05d3f38;content:"";opacity:0;transform:translate(-50%,-50%);pointer-events:none}.slider-node[data-active=true]{border-color:#2f6fed52;color:var(--blue);box-shadow:0 14px 30px #2f6fed1f;transform:translate(-50%,calc(-50% - 1px))}.slider-node[data-active=true]:after{left:calc(100% + 10px);opacity:1;animation:pulse-dot 2.8s var(--ease-soft) infinite}.node-projects{left:11%;top:30%;transform:translate(-50%,-50%)}.node-papers{left:35%;top:66%;transform:translate(-50%,-50%)}.node-hobbies{left:60%;top:30%;transform:translate(-50%,-50%)}.node-travel{left:89%;top:66%;transform:translate(-50%,-50%)}.primary-link{display:inline-flex;flex:0 0 136px;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:#fff;font-size:.95rem;font-weight:700;transition:transform .24s var(--ease-soft),box-shadow .24s var(--ease-soft),background-color .24s var(--ease-soft)}.primary-link:hover{background:var(--blue);box-shadow:0 12px 28px #2f6fed38;transform:translateY(-2px)}.social-dock{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:0 1 auto;flex-wrap:wrap;min-width:0}.social-link{position:relative;display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffffd1;color:var(--ink);box-shadow:0 10px 28px #16223714;transition:transform .24s var(--ease-soft),border-color .24s var(--ease-soft),color .24s var(--ease-soft),box-shadow .24s var(--ease-soft)}.social-link:after{position:absolute;bottom:calc(100% + 8px);left:50%;padding:5px 8px;border-radius:6px;background:var(--ink);color:#fff;content:attr(data-label);font-size:.72rem;font-weight:700;opacity:0;pointer-events:none;z-index:8;transform:translate(-50%,4px);transition:opacity .2s var(--ease-soft),transform .2s var(--ease-soft);white-space:nowrap}.social-link:hover{border-color:#2f6fed6b;color:var(--blue);box-shadow:0 14px 32px #2f6fed29;transform:translateY(-2px)}.library{display:grid;gap:68px;padding:18px 0 72px}.page-shell{min-height:calc(100vh - 86px);padding:44px 0 88px}.library-page{display:grid;gap:32px}.library-section{scroll-margin-top:104px;animation:fade-lift .7s var(--ease-out) both}.section-heading{display:grid;gap:8px;max-width:720px;margin-bottom:20px}.section-eyebrow{margin:0;color:var(--blue);font-size:.78rem;font-weight:820;letter-spacing:0;text-transform:lowercase}.section-heading h2{margin:0;color:var(--ink);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:3rem;font-weight:500;line-height:1}.section-heading p:not(.section-eyebrow){max-width:680px;margin:6px 0 0;color:#303844;font-size:1.08rem;line-height:1.58}.project-grid,.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.travel-atlas-panel{margin-bottom:18px}.travel-atlas-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:10px}.travel-atlas-toolbar span{color:var(--muted);font-size:12px;font-weight:750}.travel-atlas-view-switch{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#ffffffbd;box-shadow:0 12px 34px #16223714}.travel-atlas-view-switch button{min-height:34px;padding:0 13px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;font-weight:800}.travel-atlas-view-switch button:last-child{border-right:0}.travel-atlas-view-switch button[aria-pressed=true]{background:color-mix(in srgb,var(--teal) 13%,transparent);color:color-mix(in srgb,var(--teal) 78%,var(--ink))}.travel-atlas-view-switch button:hover,.travel-atlas-view-switch button:focus-visible{background:color-mix(in srgb,var(--blue) 11%,transparent);color:var(--ink);outline:none}.travel-atlas-panel .ta-root{--atlas-text: var(--ink);--atlas-muted: var(--muted);--atlas-surface: rgba(255, 255, 255, .78);--atlas-map-surface: rgba(255, 255, 255, .72);--atlas-border: var(--line);--atlas-grid-line: rgba(18, 22, 28, .032);--atlas-country-visited: var(--blue);--atlas-country-lived: var(--teal);--atlas-country-wishlist: var(--teal);--atlas-route-selected: color-mix(in srgb, var(--teal) 86%, var(--ink));--atlas-route-shadow: color-mix(in srgb, var(--teal) 22%, transparent);--atlas-active: var(--coral)}.travel-atlas-panel .ta-mapShell{box-shadow:0 24px 70px #1622371a}.travel-atlas-panel .ta-grid{grid-template-columns:1fr}.travel-atlas-panel .ta-ledger{display:none}.travel-atlas-ledger{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.travel-atlas-ledger>div{padding:16px 18px}.travel-atlas-ledger>div+div{border-left:1px solid var(--line)}.travel-atlas-ledger p{margin:0;color:var(--muted)}.travel-atlas-ledger-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.travel-atlas-ledger-list button{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffffa8;color:var(--ink);cursor:pointer;font:inherit;font-size:12px;font-weight:700;line-height:1}.travel-atlas-ledger-list button[aria-pressed=true]{border-color:color-mix(in srgb,var(--coral) 66%,transparent);background:color-mix(in srgb,var(--coral) 12%,transparent);color:var(--coral)}.travel-atlas-ledger-list button:hover,.travel-atlas-ledger-list button:focus-visible{border-color:color-mix(in srgb,var(--blue) 52%,transparent);outline:none}.travel-atlas-panel+.journal-grid{margin-top:16px}.journal-grid.single{grid-template-columns:minmax(0,.68fr)}.project-card,.journal-card{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 18px 48px #16223714;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .26s var(--ease-soft),box-shadow .26s var(--ease-soft),transform .26s var(--ease-soft)}.project-card:hover,.journal-card:hover{border-color:color-mix(in srgb,var(--accent, var(--blue)) 34%,rgba(18,22,28,.12));box-shadow:0 24px 62px #1622371f;transform:translateY(-3px)}.project-card{min-height:230px;padding:22px;overflow:hidden}.project-card:before{position:absolute;inset:0 0 auto;height:4px;background:var(--accent, var(--blue));content:""}.project-card[data-accent=blue],.journal-card[data-accent=blue]{--accent: var(--blue)}.project-card[data-accent=coral],.journal-card[data-accent=coral]{--accent: var(--coral)}.project-card[data-accent=teal],.journal-card[data-accent=teal]{--accent: var(--teal)}.project-card[data-accent=violet],.journal-card[data-accent=violet]{--accent: var(--violet)}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:.78rem;font-weight:760;text-transform:lowercase}.project-card h3,.journal-card h3{margin:22px 0 0;color:var(--ink);font-size:1.28rem;line-height:1.2}.project-card p,.journal-card p{margin:14px 0 0;color:#303844;line-height:1.6}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.card-actions a,.paper-entry a{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(18,22,28,.12);border-radius:6px;background:#ffffffbd;color:var(--ink);font-size:.86rem;font-weight:760;transition:border-color .22s var(--ease-soft),color .22s var(--ease-soft),transform .22s var(--ease-soft)}.card-actions a:hover,.paper-entry a:hover{border-color:#2f6fed66;color:var(--blue);transform:translateY(-1px)}.journal-card{min-height:220px;padding:22px;overflow:hidden}.gear-widget{position:absolute;right:18px;bottom:18px;display:grid;width:20px;height:20px;place-items:center;border:1px dashed color-mix(in srgb,var(--accent) 46%,transparent);border-radius:999px;color:color-mix(in srgb,var(--accent) 74%,var(--ink));opacity:.82;animation:slow-turn 9s linear infinite}.gear-widget svg{width:15px;height:15px}.journal-card span{color:var(--muted);font-size:.78rem;font-weight:780;text-transform:lowercase}.note-pin{width:28px;height:5px;margin-bottom:20px;border-radius:999px;background:var(--accent)}.note-visual{position:absolute;right:20px;top:22px;display:grid;gap:4px}.note-visual span{display:block;width:34px;height:3px;border-radius:999px;background:color-mix(in srgb,var(--accent) 24%,transparent)}.note-visual span:nth-child(2){width:22px}.note-visual span:nth-child(3){width:28px}.paper-shelves{display:grid;gap:34px}.paper-shelf{display:grid;gap:14px}.paper-shelf-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 2px 12px;border-bottom:1px solid rgba(18,22,28,.14)}.paper-shelf-heading h3{margin:0;color:var(--ink);font-size:.96rem;line-height:1.2;text-transform:lowercase}.paper-shelf-heading p{max-width:480px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;text-align:right}.paper-list{display:grid;gap:0}.paper-entry{display:grid;grid-template-columns:minmax(180px,.44fr) minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 2px;border-bottom:1px solid rgba(18,22,28,.08)}.paper-entry:last-child{border-bottom:0}.paper-entry h3{margin:0;color:var(--ink);font-size:1.12rem;line-height:1.25}.paper-entry p{margin-top:0;color:#303844;line-height:1.6}.paper-authors{color:var(--muted)!important;font-size:.92rem;margin:5px 0 0!important}.social-link:hover:after{opacity:1;transform:translate(-50%)}@media(max-width:900px){:root{--layout-width: min( calc(100vw - 32px) , 720px)}.hero{grid-template-columns:1fr;gap:36px;min-height:auto;padding:32px 0}.portrait-frame{width:min(100%,300px)}.hero-copy h1{font-size:4.1rem}.hero-intro{font-size:1.16rem}.project-grid,.journal-grid,.journal-grid.single,.travel-atlas-ledger{grid-template-columns:1fr}.travel-atlas-ledger>div+div{border-top:1px solid var(--line);border-left:0}.paper-entry{grid-template-columns:1fr;gap:14px}.paper-shelf-heading{display:grid;gap:6px}.paper-shelf-heading p{max-width:none;text-align:left}}@media(max-width:680px){.site-nav{gap:10px}}@media(max-width:560px){:root{--layout-width: min( calc(100vw - 24px) , 520px)}.hero-copy h1{font-size:3.15rem}.site-nav-wrap{top:10px;padding-top:10px}.site-nav{gap:8px}.nav-links{gap:2px}.nav-links a{min-height:36px;padding:0 9px;font-size:.82rem}.section-heading h2{font-size:2.35rem}.hero-actions{align-items:flex-start;flex-direction:column}.primary-link,.social-dock{width:100%}.site-slider{margin-top:24px}.slider-map{height:68px}.slider-node{font-size:.64rem}}@keyframes reveal-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-lift{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scan-line{0%{transform:translate(-105%)}45%,to{transform:translate(105%)}}@keyframes pulse-dot{0%{box-shadow:0 0 #f05d3f3d;transform:scale(1)}70%{box-shadow:0 0 0 22px #f05d3f00;transform:scale(1.08)}to{box-shadow:0 0 #f05d3f00;transform:scale(1)}}@keyframes slow-turn{to{transform:rotate(1turn)}}@keyframes green-shimmer{0%{background-position:100% 50%}45%,to{background-position:-60% 50%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
