/* Wanderline Passport · map + collections */
.atl-wrap{max-width:1100px;margin:0 auto;padding:16px 16px 28px;display:flex;flex-direction:column;gap:16px}
.atl-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--paper,#fff);border:1px solid var(--line,#e3e0d8);align-self:center;box-shadow:0 2px 10px rgba(20,24,36,.06)}
.pp-wrap>.atl-tabs{margin:0 auto 14px}
.atl-tabs button{border:0;background:transparent;color:var(--muted,#667);font:700 14px/1 inherit;padding:10px 16px;border-radius:999px;min-height:40px;cursor:pointer;white-space:nowrap}
.atl-tabs button[aria-pressed="true"]{background:#16213a;color:#f1d98f}
@media (max-width:420px){.atl-tabs button{padding:10px 12px;font-size:13px}}

.atl-kicker{font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted,#778)}
.atl-kicker.gold{color:#c9a85a}
.atl-hero{position:relative;overflow:hidden;border-radius:22px;padding:20px 20px 18px;color:#f3ecd8;
  background:radial-gradient(120% 140% at 85% -20%,rgba(241,217,143,.22),transparent 55%),linear-gradient(150deg,#0f1b33,#1b2c50 60%,#22355e)}
.atl-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:190px;height:190px;border-radius:50%;border:1.5px solid rgba(233,208,138,.25);box-shadow:0 0 0 18px rgba(233,208,138,.05),0 0 0 40px rgba(233,208,138,.035);pointer-events:none}
.atl-hero.sm{padding:16px 18px}
.atl-stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.atl-ring{--p:0;width:86px;height:86px;border-radius:50%;display:grid;place-content:center;text-align:center;flex:none;
  background:radial-gradient(closest-side,#16233f 79%,transparent 80% 100%),conic-gradient(#e9cf85 calc(var(--p)*1%),rgba(255,255,255,.12) 0)}
.atl-ring b{font:700 26px/1 Cinzel,Georgia,serif;color:#f6e3a6}
.atl-ring span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:3px}
.atl-stat{display:flex;flex-direction:column;gap:2px;min-width:58px}
.atl-stat b{font:700 22px/1.1 Cinzel,Georgia,serif;color:#fff}
.atl-stat b small{font-size:13px;opacity:.6}
.atl-stat span{font-size:11px;opacity:.72}

.atl-mapcard{position:relative;border-radius:22px;overflow:hidden;background:#0d1830;box-shadow:0 18px 40px rgba(13,24,48,.28),0 0 0 1px rgba(233,208,138,.18)}
.atl-tools{position:absolute;z-index:4;left:12px;right:12px;top:12px;display:flex;gap:8px;align-items:flex-start}
.atl-search{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0 14px;height:46px;border-radius:999px;background:rgba(255,255,255,.96);color:#3a4152;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.atl-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;color:#1a2233;height:100%}
.atl-search.sm{height:42px;background:var(--paper,#fff);box-shadow:none;border:1px solid var(--line,#e3e0d8);margin-bottom:12px}
.atl-results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.28);overflow:hidden;max-height:min(360px,55vh);overflow-y:auto;z-index:6}
.atl-res{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 14px;border:0;background:#fff;border-bottom:1px solid #f0ede6;cursor:pointer;color:#1a2233;font-size:15px}
.atl-res:hover,.atl-res:focus{background:#f7f3ea}
.atl-res b{display:block;font-weight:700}
.atl-res small{display:block;color:#7a8090;font-size:12.5px;margin-top:1px}
.atl-res .ic{font-size:18px;width:24px;text-align:center}
.atl-res.none{color:#7a8090;justify-content:center;cursor:default}
.atl-mode{display:flex;padding:4px;border-radius:999px;background:rgba(13,24,48,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(233,208,138,.3);flex:none}
.atl-mode button{border:0;background:transparent;color:#e9d08a;font:800 13px/1 inherit;letter-spacing:.06em;width:42px;height:36px;border-radius:999px;cursor:pointer}
.atl-mode button[aria-pressed="true"]{background:linear-gradient(135deg,#f1d98f,#c49a45);color:#16213a}
.atl-map{height:min(66vh,620px);min-height:380px;touch-action:none;cursor:grab}
.atl-map:active{cursor:grabbing}
.atl-map canvas{display:block}
.phone .atl-map{height:min(58vh,520px);min-height:340px}
.phone .atl-hero{padding:16px}.phone .atl-ring{width:72px;height:72px}.phone .atl-ring b{font-size:22px}.phone .atl-stats{gap:14px}.phone .atl-stat b{font-size:19px}
.atl-load{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#e9d08a;text-align:center;padding:24px}
.atl-load p{margin:0;max-width:34ch;opacity:.85}
.atl-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(233,208,138,.2);border-top-color:#e9d08a;animation:atlspin .9s linear infinite;display:inline-block}
.atl-spin.sm{width:18px;height:18px;border-width:2px;border-color:#ddd;border-top-color:#888}
@keyframes atlspin{to{transform:rotate(360deg)}}
.atl-home{position:absolute;z-index:3;right:12px;bottom:56px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(233,208,138,.35);background:rgba(13,24,48,.8);color:#e9d08a;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.atl-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:12px 16px;background:#0f1b33;color:#d8cfb6;font-size:12.5px;border-top:1px solid rgba(233,208,138,.14)}
.atl-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.atl-legend i.g{background:linear-gradient(135deg,#b8913f,#f1d98f)}
.atl-legend i.r{background:rgba(214,96,120,.55);outline:1px dashed #e07a96}
.atl-legend i.d{background:var(--sun,#D9602A);border-radius:50%;border:1.5px solid #fff}
.atl-hint{margin-left:auto;opacity:.7}
@media (max-width:600px){.atl-hint{margin-left:0;width:100%}}

.atl-sheet{position:absolute;z-index:5;left:12px;right:12px;bottom:56px;max-width:440px;background:#fbf8f1;color:#1a2233;border-radius:20px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.4);animation:atlup .22s ease-out}
.atl-sheet.fixed{position:fixed;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 24px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.phone .atl-sheet.fixed{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@keyframes atlup{from{opacity:0;translate:0 12px}}
.atl-sheet h3{margin:3px 0 2px;font:700 21px/1.2 Cinzel,Georgia,serif}
.atl-sh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.atl-sh-st{display:flex;gap:12px;align-items:center}
.atl-from{font-size:13px;color:#6b7180}
.atl-x{border:0;background:#ece6d8;color:#3a4152;width:34px;height:34px;border-radius:50%;font-size:14px;cursor:pointer;flex:none}
.atl-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.atl-b{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid #d8d0bd;background:#fff;color:#1a2233;font-weight:700;font-size:14px;cursor:pointer}
.atl-b span{font-size:14px}
.atl-b.been[aria-pressed="true"]{background:linear-gradient(135deg,#d9b866,#f1d98f);border-color:#b8913f;color:#2b2210}
.atl-b.wish[aria-pressed="true"]{background:#fbe3ea;border-color:#c0476a;color:#8f2446}
.atl-b.ghost{background:transparent;border-color:transparent;color:#6b7180}
.atl-b.danger{background:#a3283a;border-color:#a3283a;color:#fff}
.atl-link{border:0;background:none;color:var(--sun,#D9602A);font-weight:700;padding:10px 0 0;cursor:pointer;font-size:14px}
.atl-link.muted{color:var(--muted,#888);font-weight:600}
.atl-addto{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.atl-chip{border:1px solid #d8d0bd;background:#fff;border-radius:999px;padding:7px 12px;font-weight:600;font-size:13px;cursor:pointer}
.atl-note{color:var(--muted,#778);font-size:13.5px;margin:0}
.atl-h2{margin:8px 0 0;font:700 20px/1.2 Cinzel,Georgia,serif}

.atl-cols{display:flex;flex-direction:column;gap:12px}
.atl-col{border-radius:20px;background:var(--paper,#fff);border:1px solid var(--line,#e3e0d8);overflow:hidden;box-shadow:0 2px 12px rgba(20,24,36,.05)}
.atl-colhead{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;background:linear-gradient(180deg,rgba(241,217,143,.08),transparent);padding:14px 16px;cursor:pointer;color:inherit}
.atl-colic{flex:none;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#f6efdd}
.atl-colt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.atl-colt b{font:700 17px/1.2 Cinzel,Georgia,serif}
.atl-colt small{color:var(--muted,#778);font-size:12.5px}
.atl-bar{display:block;height:7px;border-radius:99px;background:rgba(0,0,0,.07);overflow:hidden;margin-top:5px}
.atl-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ink),#d9b866)}
.atl-cnt{font-weight:700}
.atl-chev{font-size:26px;color:var(--muted,#999);transition:transform .2s}
.atl-col.open .atl-chev{transform:rotate(90deg)}
.atl-colbody{padding:4px 14px 16px;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(31,58,147,.04) 27px 28px),#fbf8f1}
.atl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px 6px;padding-top:10px}
.atl-cell{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;padding:6px 2px;border-radius:14px;cursor:pointer;color:#2c3242}
.atl-cell:hover{background:rgba(0,0,0,.04)}
.atl-cell span{font-size:11.5px;line-height:1.2;text-align:center;font-weight:600;max-width:100%}
.atl-stamp{display:block;transition:transform .2s}
.atl-stamp.on{filter:drop-shadow(0 1px 0 rgba(0,0,0,.08));opacity:.92}
.atl-stamp.off{opacity:.3;color:#6b7180!important}
.atl-stamp.wish{opacity:.75}
.atl-create{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border-radius:20px;border:2px dashed rgba(201,168,90,.7);background:rgba(241,217,143,.08);color:#9a7a2c;font:700 16px/1 Cinzel,Georgia,serif;cursor:pointer}
.atl-create span{font-size:24px;line-height:0}
.atl-new{border-radius:20px;background:var(--paper,#fff);border:1px solid var(--line,#e3e0d8);padding:16px;display:flex;flex-direction:column;gap:12px}
.atl-new label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.atl-new input{font-size:16px;padding:12px 14px;border-radius:12px;border:1px solid var(--line,#ddd);background:#fff;color:#1a2233}
.atl-inks{display:flex;gap:10px}
.atl-ink{width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);cursor:pointer}
.atl-ink[aria-pressed="true"]{box-shadow:0 0 0 2px #1a2233}
[data-theme="dark"] .atl-col,[data-theme="dark"] .atl-new,[data-theme="dark"] .atl-tabs{background:#1b2236;border-color:#2c3550}
[data-theme="dark"] .atl-colbody{background:#161c2e}
[data-theme="dark"] .atl-cell{color:#d8dbe4}
[data-theme="dark"] .atl-colic{background:#f1e8d2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .atl-col,:root:not([data-theme="light"]) .atl-new,:root:not([data-theme="light"]) .atl-tabs{background:#1b2236;border-color:#2c3550}:root:not([data-theme="light"]) .atl-colbody{background:#161c2e}:root:not([data-theme="light"]) .atl-cell{color:#d8dbe4}}
.atl-wrap>*{align-self:stretch;width:100%;box-sizing:border-box}
.atl-wrap>.atl-tabs{align-self:center;width:auto}
.phone .atl-hero::after{display:none}
.phone .atl-stats{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:8px;align-items:center;margin-top:10px}
.phone .atl-ring{width:64px;height:64px}.phone .atl-ring b{font-size:20px}.phone .atl-ring span{font-size:8.5px}
.phone .atl-stat{min-width:0}.phone .atl-stat b{font-size:17px}.phone .atl-stat span{font-size:10px;line-height:1.2}
.atl-mapcard{scroll-margin-top:8px}
/* --- round 2: tools, photo stamps, explore, dream trips --- */
.atl-fab2{bottom:106px}.atl-fab3{bottom:156px}
.atl-home[aria-pressed="true"]{background:linear-gradient(135deg,#f1d98f,#c49a45);color:#16213a}
.atl-colbtn{border:1px solid rgba(233,208,138,.35);background:transparent;color:#e9d08a;border-radius:999px;padding:5px 10px;font:700 12px/1 inherit;cursor:pointer}
.atl-toast{position:fixed;z-index:1001;left:50%;transform:translateX(-50%);top:calc(14px + env(safe-area-inset-top,0px));background:#16213a;color:#f3ecd8;padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:calc(100% - 24px);text-align:center}
.atl-dreamb{display:block;width:100%;margin-top:12px;min-height:46px;border-radius:14px;border:0;background:linear-gradient(135deg,#c0476a,#e98a5b);color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 6px 18px rgba(192,71,106,.35)}
.atl-phrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.atl-phrow .atl-chip{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.atl-note.sm{font-size:12px;margin-top:8px}
.atl-daygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.atl-dayimg{border:0;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:#eee;cursor:pointer}
.atl-dayimg img{width:100%;height:100%;object-fit:cover;display:block}
.atl-ph{position:relative;display:block;border-radius:50%;flex:none}
.atl-ph img{position:absolute;inset:4%;width:92%;height:92%;border-radius:50%;object-fit:cover;background:#ddd}
.atl-ph svg{position:absolute;inset:0;width:100%;height:100%}
.atl-colfoot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}
.atl-tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#c0476a;background:#fbe3ea;border-radius:99px;padding:3px 8px}
.atl-col.dream{border-color:rgba(192,71,106,.35);box-shadow:0 4px 18px rgba(192,71,106,.12)}
.atl-ideas{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.atl-inkrow{display:flex;align-items:center;gap:12px}
.atl-inkbtn{width:44px;height:44px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 3px 10px rgba(0,0,0,.15);cursor:pointer}
.atl-exs{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}
.atl-ex{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--paper,#fff);border:1px solid var(--line,#e3e0d8)}
.atl-colic.sm{width:50px;height:50px}
.atl-b.sm{min-height:36px;padding:0 12px;font-size:13px;flex:none}
.atl-gen{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;background:linear-gradient(160deg,rgba(241,217,143,.14),transparent),var(--paper,#fff);border:1px solid var(--line,#e3e0d8);margin-bottom:24px}
.atl-gen>div:not(.atl-acts){display:flex;flex-direction:column;gap:2px}
.atl-gen small{color:var(--muted,#778);font-size:12.5px}
.atl-gen select,.atl-sel{font-size:16px;min-height:46px;border-radius:12px;border:1px solid var(--line,#ddd);padding:0 12px;background:#fff;color:#1a2233;width:100%}
.atl-modal{position:fixed;inset:0;z-index:1000;background:rgba(6,9,18,.6);display:flex;align-items:flex-end;justify-content:center}
@media (min-width:700px){.atl-modal{align-items:center}}
.atl-mdl{position:relative;background:#fbf8f1;color:#1a2233;width:min(520px,100%);max-height:86vh;overflow:auto;border-radius:22px 22px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px}
@media (min-width:700px){.atl-mdl{border-radius:22px}}
.atl-mdl h3{margin:0;font:700 24px/1.2 Cinzel,Georgia,serif}
.atl-mdl .atl-x{position:absolute;right:14px;top:14px}
.atl-dlist{display:flex;flex-direction:column;gap:2px;max-height:48vh;overflow:auto;border-radius:14px;background:#fff;border:1px solid #ece6d8;padding:4px}
.atl-dit{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;font-size:15px;cursor:pointer}
.atl-dit:hover{background:#f7f3ea}
.atl-dit input{width:20px;height:20px;accent-color:#c0476a;flex:none}
.atl-load.sm{height:auto;padding:30px;color:#9a7a2c}
