@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Manrope,Arial,sans-serif;color:#fff;background:#071b32}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:100px;z-index:50;background:#fff;color:#173c97;padding:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.globe-page,#world-map{position:absolute;inset:0}.globe-page{isolation:isolate;background:#071b32}#world-map{z-index:0}.maplibregl-canvas{cursor:grab}.maplibregl-canvas:active{cursor:grabbing}.maplibregl-ctrl-bottom-left{display:none}.maplibregl-ctrl-bottom-right{opacity:.58;font-size:9px}.atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 58% 50%,transparent 0 29%,rgba(6,21,43,.06) 46%,rgba(4,13,32,.5) 73%,rgba(4,11,27,.88) 100%)}
.floating-header{position:absolute;z-index:10;left:28px;right:28px;top:22px;height:70px;padding:0 14px 0 18px;display:flex;align-items:center;gap:32px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(5,24,42,.62);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em}.brand img{width:42px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}.floating-header nav{display:flex;gap:28px;margin-left:auto}.floating-header nav a{color:#bfd3dc;text-decoration:none;font-size:13px;font-weight:700}.floating-header nav a:hover,.floating-header nav .active{color:#42f0bb}.header-cta,.card-cta{border-radius:11px;background:#ec8356;color:#fff;text-decoration:none;padding:12px 19px;font-weight:800;font-size:13px}
.admin-access{border:0;background:transparent;color:#d8e6ea;font:700 13px Manrope;cursor:pointer;padding:10px}.admin-access:hover{color:#42f0bb}
.floating-intro{position:absolute;z-index:5;left:clamp(28px,6vw,88px);top:50%;width:min(470px,40vw);transform:translateY(-45%);text-shadow:0 3px 30px rgba(0,0,0,.5)}.eyebrow{color:#42f0bb;letter-spacing:.16em;font-weight:800;font-size:11px;margin:0 0 15px}.floating-intro h1{font:500 clamp(48px,6vw,82px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0}.floating-intro h1 em{color:#54efbd;font-weight:400}.floating-intro>p:not(.eyebrow):not(#search-status){max-width:440px;color:#d0dee5;font-size:17px;line-height:1.6;margin:22px 0 26px}.search{height:62px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:7px;background:rgba(5,24,42,.76);backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(0,0,0,.2);text-shadow:none}.search>span{font-size:26px;color:#58edbd;margin:0 8px}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;padding:10px 3px}.search input::placeholder{color:#aabdc6}.search button{height:46px;border:0;border-radius:10px;background:#ec8356;color:#fff;font:800 13px Manrope;padding:0 20px;cursor:pointer}#search-status{color:#ffd1bf;font-size:12px;min-height:18px;margin:8px 5px;text-shadow:none}
.globe-tools{position:absolute;z-index:5;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px}.globe-tools button{width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(5,24,42,.68);backdrop-filter:blur(12px);color:#fff;font:24px Manrope;cursor:pointer}.globe-tools button:hover{background:#174d5a;color:#42f0bb}.destination-chips{position:absolute;z-index:5;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:8px;max-width:60vw;padding:8px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(5,24,42,.62);backdrop-filter:blur(15px)}.destination-chips button{white-space:nowrap;border:0;background:transparent;color:#d8e6ea;border-radius:11px;padding:8px 11px;font:700 11px Manrope;cursor:pointer}.destination-chips button:hover{background:rgba(66,240,187,.14);color:#42f0bb}.destination-chips span{margin-right:5px}.drag-hint{position:absolute;z-index:4;right:30px;bottom:103px;margin:0;color:#c4d6dd;font-size:11px;letter-spacing:.05em}.drag-hint span{color:#42f0bb}.prototype-note{position:absolute;z-index:4;left:28px;bottom:25px;margin:0;color:#8fa8b3;font-size:10px}
.destination-wip{margin:22px 0;border-radius:13px;background:#edf6ff;border-left:4px solid #173c97;padding:17px;color:#29465d}.destination-wip[hidden]{display:none}.destination-wip strong{color:#173c97}.destination-wip p{margin:6px 0 0;font-size:13px;line-height:1.55}
.placement-hint{position:fixed;z-index:20;left:50%;top:100px;transform:translateX(-50%);width:min(520px,calc(100% - 24px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(5,24,42,.88);backdrop-filter:blur(16px);padding:12px 15px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.placement-hint[hidden]{display:none}.placement-hint span{color:#bfd3dc;font-size:12px}.placement-hint button{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:transparent;color:#fff;padding:8px;cursor:pointer}.placing-location .maplibregl-canvas{cursor:crosshair}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(3,12,24,.6);cursor:pointer}.travel-card{position:relative;background:#fff;color:#172e4d;width:min(520px,100%);height:100%;overflow:auto;padding:45px clamp(25px,5vw,54px);box-shadow:-20px 0 60px rgba(0,0,0,.35);animation:slide .28s ease}.close{position:absolute;right:22px;top:20px;width:42px;height:42px;border:1px solid #d4e2df;border-radius:50%;background:#fff;color:#173c97;font-size:27px;cursor:pointer}.card-flag{font-size:44px;margin:16px 0 24px}.travel-card h2{font:500 48px Georgia,serif;margin:0}.card-intro{font-size:17px;color:#63798b;line-height:1.55}.status-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#788c9b;margin:22px 0}.status{background:#fff0e9;color:#b75431;border-radius:100px;padding:6px 10px;font-weight:800}.requirements>div{display:flex;gap:18px;padding:18px 0;border-top:1px solid #dce6e5}.requirements span{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e6f3f1;color:#18776e;font-size:11px;font-weight:800}.requirements h3{margin:0 0 5px;font-size:16px}.requirements p{margin:0;color:#6b7d8d;font-size:14px;line-height:1.5}.card-warning{background:#fff8e8;border-left:3px solid #e8ae4c;padding:14px 16px;margin:20px 0}.card-warning p{margin:4px 0 0;font-size:13px;line-height:1.5}.card-cta{display:flex;justify-content:space-between;margin-top:25px}.modal-open{overflow:hidden}@keyframes slide{from{transform:translateX(100%)}to{transform:none}}
.centered-modal{align-items:center;justify-content:center;padding:20px}.login-card{position:relative;z-index:1;width:min(430px,100%);border-radius:22px;background:#fff;color:#172e4d;padding:42px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.login-card h2,.travel-editor h2{font:500 36px Georgia,serif;margin:0}.login-card>p:not(.eyebrow){color:#63798b}.login-card form,.travel-editor form{display:grid;gap:15px}.login-card label,.travel-editor label{display:grid;gap:6px;color:#365269;font-size:12px;font-weight:800}.login-card input,.travel-editor input,.travel-editor textarea,.travel-editor select{width:100%;border:1px solid #cbdcda;border-radius:10px;background:#fff;color:#172e4d;padding:12px;font:500 14px Manrope}.primary-action{border:0;border-radius:10px;background:#173c97;color:#fff;padding:13px 17px;font:800 13px Manrope;cursor:pointer}.form-status{min-height:18px;color:#a24233;font-size:12px}.travel-editor{position:fixed;z-index:25;right:0;top:0;width:min(480px,100%);height:100%;overflow:auto;background:#f8fbfa;color:#172e4d;padding:34px;box-shadow:-20px 0 60px rgba(0,0,0,.35)}.travel-editor[hidden]{display:none}.editor-heading{display:flex;justify-content:space-between;align-items:flex-start}.editor-heading .close{position:static}.editor-actions{display:flex;gap:9px;align-items:center;margin:18px 0}.editor-actions button{border-radius:9px;padding:11px 14px;font:750 12px Manrope;cursor:pointer}.editor-help{color:#647b8b;font-size:13px;line-height:1.5}.admin-place-list{display:grid;gap:8px;margin:18px 0}.admin-place-list button{display:flex;justify-content:space-between;width:100%;border:1px solid #d5e3e1;border-radius:10px;background:#fff;color:#173c4d;padding:12px;text-align:left;font:700 13px Manrope;cursor:pointer}.admin-place-list small{color:#708695}.field-row,.coordinate-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pin-help{border-radius:10px;background:#e6f3f1;color:#176b65;padding:12px;font-size:13px}.danger-action{margin-left:auto;border:1px solid #d98977;background:#fff;color:#a33}.travel-editor-active #world-map{right:min(480px,100%)}.travel-editor-active .maplibregl-canvas{cursor:crosshair}
.excel-drop{display:block!important;border:2px dashed #9bbfba!important;border-radius:12px;padding:18px!important;background:#eef7f5;color:#365269!important;text-align:center;cursor:pointer}.excel-drop span{color:#173c97;text-decoration:underline}.excel-drop input{position:absolute;width:1px!important;height:1px;opacity:0}.excel-drop.dragging{border-color:#173c97!important;background:#e2efff}
@media(max-width:760px){.floating-header{left:12px;right:12px;top:max(10px,env(safe-area-inset-top));height:58px;padding:0 10px;border-radius:15px;gap:8px}.brand img{width:36px;height:36px}.brand span,.floating-header nav{display:none}.admin-access{margin-left:auto;padding:9px 5px}.header-cta{margin-left:0;padding:11px 14px}.floating-intro{left:18px;right:18px;top:calc(max(10px,env(safe-area-inset-top)) + 82px);width:auto;transform:none;pointer-events:none}.floating-intro>*{pointer-events:auto}.floating-intro .eyebrow{margin-bottom:9px}.floating-intro h1{font-size:clamp(39px,12vw,52px);line-height:.92;transition:opacity .2s,transform .2s}.floating-intro>p:not(.eyebrow):not(#search-status){font-size:13px;line-height:1.4;max-width:260px;margin:11px 0 13px;transition:opacity .2s}.search{position:fixed;z-index:8;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:54px;width:auto;border-radius:13px}.search>span{font-size:22px;margin:0 5px}.search button{height:42px;padding:0 12px}#search-status{position:fixed;z-index:9;left:20px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 56px);margin:0}.destination-chips{left:12px;right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px);transform:none;justify-content:center;max-width:none;overflow-x:auto;scrollbar-width:none;padding:5px}.destination-chips::-webkit-scrollbar{display:none}.destination-chips button{font-size:0;padding:7px 9px}.destination-chips span{font-size:20px;margin:0}.globe-tools{right:12px;top:auto;bottom:150px;transform:none}.globe-tools button{width:42px;height:42px}.map-engaged .floating-intro .eyebrow,.map-engaged .floating-intro h1,.map-engaged .floating-intro>p:not(#search-status){opacity:0;transform:translateY(-8px);pointer-events:none}.drag-hint,.prototype-note{display:none}.travel-card{height:min(82vh,720px);margin-top:auto;border-radius:22px 22px 0 0;padding:35px 22px}.travel-card h2{font-size:40px}.modal{align-items:flex-end}.centered-modal{align-items:center}.login-card{padding:36px 24px}.travel-editor{padding:24px 18px max(24px,env(safe-area-inset-bottom))}.travel-editor-active #world-map{right:0}.field-row,.coordinate-row{grid-template-columns:1fr}.atmosphere{background:linear-gradient(180deg,rgba(4,13,32,.65) 0,transparent 35%,rgba(4,11,27,.34) 100%)}}
@media(max-width:380px){.floating-intro h1{font-size:39px}.floating-intro>p:not(.eyebrow):not(#search-status){display:none}.search{margin-top:13px}.admin-access{font-size:11px}.header-cta{font-size:12px;padding:10px}}

/* Pixel-art companions used as destination pins. */
.travel-marker{width:64px;height:64px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;filter:drop-shadow(0 7px 8px rgba(0,0,0,.5))}
.travel-marker::after{content:"";position:absolute;z-index:-1;left:50%;bottom:1px;width:28px;height:9px;border-radius:50%;background:rgba(66,240,187,.5);box-shadow:0 0 16px #42f0bb;transform:translateX(-50%)}
.travel-marker img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;animation:pet-float 2.8s ease-in-out infinite;transform-origin:50% 100%}
.travel-marker:focus-visible{outline:2px solid #fff;outline-offset:4px}.travel-marker:hover,.travel-marker:focus-visible{filter:drop-shadow(0 8px 10px rgba(0,0,0,.6)) drop-shadow(0 0 8px #42f0bb)}.travel-marker:hover img,.travel-marker:focus-visible img{animation-play-state:paused;transform:translateY(-5px) scale(1.18)}
.editor-marker{width:54px;height:54px;border:3px solid #fff;border-radius:50%;background:#42f0bb}
@keyframes pet-float{50%{transform:translateY(-5px)}}
.pet-field{margin:14px 0;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:13px}.pet-field legend{padding:0 7px;font-weight:800}.pet-field small{display:block;margin-top:7px;color:#a9bec7;line-height:1.4}.pet-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.pet-choice{aspect-ratio:1;padding:3px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0d2947;cursor:pointer}.pet-choice img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.pet-choice[aria-pressed="true"]{border-color:#42f0bb;background:#164a58;box-shadow:0 0 0 2px rgba(66,240,187,.24)}
@media(max-width:760px){.travel-marker{width:52px;height:52px}.pet-picker{grid-template-columns:repeat(5,1fr)}}
@media(prefers-reduced-motion:reduce){.travel-marker img{animation:none}}
.admin-search{display:grid;gap:6px;margin-top:16px;color:#365269;font-size:12px;font-weight:800}.admin-search input{width:100%;border:1px solid #9bbfba;border-radius:11px;background:#fff;color:#172e4d;padding:12px 14px;font:500 14px Manrope}.admin-search input:focus{outline:2px solid #42b99a;outline-offset:2px}
