.passport-latest-memory{position:relative;margin:12px 0 2px;padding:10px 42px 10px 12px;border:1px solid rgba(71,92,76,.25);border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:space-between;gap:12px}
.passport-latest-memory.hidden{display:none}.passport-latest-memory-copy{display:grid;gap:2px;min-width:0}.passport-memory-kicker{font-size:9px;letter-spacing:.18em;font-weight:950;color:#6c7568}.passport-latest-memory-copy strong{font-size:14px;color:#243028}.passport-latest-memory-copy small{font-size:10px;color:#667268}.passport-memory-action{border:1px solid #35584c;background:#0b1b17;color:#edf2ef;border-radius:10px;padding:9px 11px;font-weight:900;cursor:pointer;white-space:nowrap}.passport-memory-action:hover{transform:translateY(-1px)}
.passport-memory-dismiss{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(67,85,72,.22);background:rgba(255,255,255,.52);color:#526158;font-size:18px;line-height:1;cursor:pointer}.passport-memory-dismiss:hover{background:#fff;color:#1f3027}
.passport-experience-open{overflow:hidden}.passport-experience-modal{position:fixed;inset:0;z-index:9999;background:rgba(2,9,18,.74);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.passport-experience-modal.hidden{display:none}
.passport-experience-card{position:relative;width:min(560px,94vw);max-height:88vh;overflow:auto;border:1px solid rgba(178,139,59,.34);border-radius:20px;padding:24px;background:linear-gradient(145deg,#f0e7cf 0%,#e5d8b9 100%);color:#263128;box-shadow:0 30px 90px rgba(0,0,0,.5);isolation:isolate}.passport-journal-card:before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:repeating-linear-gradient(0deg,rgba(86,74,47,.025) 0 1px,transparent 1px 5px)}.passport-journal-watermark{position:absolute;inset:20% 9% 12%;z-index:-1;opacity:.065;background:url('../assets/passport-background-current.png') center/cover no-repeat;filter:grayscale(1) sepia(.35);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 74%);pointer-events:none}
.passport-experience-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(58,67,55,.18);background:rgba(255,255,255,.55);color:#2c392f;font-size:23px;cursor:pointer;z-index:2}.passport-experience-card .eyebrow{color:#687367}.passport-experience-card h2{margin:5px 48px 10px 0;font-family:Georgia,serif;font-size:29px;color:#263128}
.passport-experience-partner.passport-experience-stamp{display:inline-block;max-width:100%;padding:6px 10px;border:2px solid rgba(70,89,74,.48);border-radius:7px;background:rgba(255,255,255,.18);font-family:Georgia,serif;font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:#385042;transform:rotate(-.65deg);box-shadow:inset 0 0 0 2px rgba(70,89,74,.08)}
.passport-experience-field{display:grid;gap:6px;margin-top:15px}.passport-experience-field>span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:Georgia,serif;font-weight:850}.passport-experience-field>span small{font-family:inherit;font-size:11px;font-weight:600;color:#6f786e}.passport-experience-field textarea{min-height:92px;resize:vertical;border:0;border-bottom:1px solid rgba(75,91,77,.38);border-radius:3px;background:repeating-linear-gradient(0deg,transparent 0 25px,rgba(75,91,77,.14) 25px 26px);color:#253129;padding:8px 6px 4px;font:16px/26px Georgia,serif;outline:none}.passport-experience-field textarea:focus{box-shadow:0 2px 0 rgba(48,79,62,.32)}.passport-experience-field>small{text-align:right;color:#727d72;font-size:10px}
.passport-experience-upload{margin-top:14px;padding:10px;border:1px dashed rgba(73,90,77,.4);border-radius:12px;display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;background:rgba(255,255,255,.2)}.passport-photo-placeholder{width:58px;height:58px;display:grid;place-items:center;border:7px solid rgba(255,255,255,.85);background:#d8cfb7;box-shadow:0 3px 9px rgba(56,49,35,.16);font-size:25px;color:#687166;transform:rotate(-2deg)}.passport-experience-upload>div:not(.passport-photo-placeholder){display:grid;gap:2px}.passport-experience-upload strong{font-family:Georgia,serif}.passport-experience-upload span{font-size:10px;color:#6d786d}.passport-experience-upload button{border:1px solid rgba(69,84,72,.26);border-radius:9px;padding:7px 9px;background:rgba(255,255,255,.45);color:#6c736d}
.passport-private-note{margin-top:12px;display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:10px;background:rgba(51,77,62,.08);border:1px solid rgba(51,77,62,.13)}.passport-private-note>span{font-size:15px}.passport-private-note>div{display:grid;gap:1px}.passport-private-note strong{font-size:12px}.passport-private-note small{font-size:10px;line-height:1.35;color:#687368}
.passport-experience-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.passport-experience-actions .button{min-width:128px}.passport-experience-card .button.ghost{background:rgba(255,255,255,.35);border-color:rgba(61,79,66,.28);color:#314238}.passport-experience-card .button.primary{background:#173c2d;color:#fff;border-color:#173c2d}
.passport-share-destinations{margin-top:11px;padding:12px;border:1px solid rgba(55,76,62,.22);border-radius:13px;background:rgba(255,255,255,.35);display:grid;gap:8px}.passport-share-destinations.hidden{display:none}.passport-share-head{display:grid;gap:2px;margin-bottom:2px}.passport-share-head strong{font-family:Georgia,serif}.passport-share-head small{font-size:10px;line-height:1.35;color:#6b766c}.passport-share-destination{width:100%;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;text-align:left;padding:9px;border:1px solid rgba(55,76,62,.18);border-radius:10px;background:rgba(249,247,239,.72);color:#2b392f;cursor:pointer}.passport-share-destination:hover{background:#fff}.passport-share-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#173c2d;color:#fff;font-size:10px;font-weight:900}.passport-share-destination>span:nth-child(2){display:grid;gap:1px}.passport-share-destination small{font-size:10px;color:#6b766d}.passport-share-destination em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.06em;color:#7e6840;text-transform:uppercase}.passport-share-status{padding:8px 9px;border-radius:8px;background:rgba(116,86,37,.08);color:#665330;font-size:10px;line-height:1.35}.passport-share-status.hidden{display:none}
@media(max-width:760px){.passport-latest-memory{align-items:stretch;flex-direction:column;padding-right:42px}.passport-memory-action{width:100%;white-space:normal}.passport-experience-card{padding:21px 16px}.passport-experience-upload{grid-template-columns:52px 1fr}.passport-photo-placeholder{width:52px;height:52px}.passport-experience-upload button{grid-column:1/-1;width:100%}.passport-experience-actions{flex-direction:column-reverse}.passport-experience-actions .button{width:100%}.passport-share-destination{grid-template-columns:34px 1fr}.passport-share-destination em{grid-column:2}}

/* v3.34.26 explicit stamp-story destination selection */
.passport-share-required{margin-top:12px}.passport-share-required .passport-share-head small{font-weight:800;letter-spacing:.04em}.passport-share-destination,.passport-share-private{transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease}.passport-share-private{width:100%;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:left;padding:9px;border:1px solid rgba(55,76,62,.18);border-radius:10px;background:rgba(249,247,239,.72);color:#2b392f;cursor:pointer}.passport-share-private>span:nth-child(2){display:grid;gap:1px}.passport-share-private small{font-size:10px;color:#6b766d}.passport-share-check{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(55,76,62,.28);font-weight:900;opacity:.28}.passport-share-destination.selected,.passport-share-private.selected{background:rgba(255,255,255,.94);border-color:rgba(30,73,52,.58);box-shadow:0 5px 16px rgba(31,55,42,.10)}.passport-share-destination.selected .passport-share-check,.passport-share-private.selected .passport-share-check{opacity:1;background:#173c2d;color:#fff}.passport-share-destination.share-hidden{display:none}.passport-memory-actions .button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}

/* v3.34.27 Passport memory completion loop */
.passport-latest-memory.memory-added{border-color:rgba(31,92,62,.48);background:rgba(241,249,242,.58)}
.passport-latest-memory.memory-added .passport-memory-kicker{color:#275d3e}.passport-memory-action.has-memory{background:#173c2d}
.passport-memory-success{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:12px;min-width:min(430px,calc(100vw - 32px));padding:14px 18px;border:1px solid rgba(35,87,57,.32);border-radius:16px;background:rgba(248,247,239,.97);box-shadow:0 18px 50px rgba(18,35,26,.25);color:#24352b;animation:passportMemorySuccessIn .28s ease both}
.passport-memory-success.hidden{display:none}.passport-memory-success-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#173c2d;color:#fff;font-size:20px;font-weight:950}.passport-memory-success>div:last-child{display:grid;gap:2px}.passport-memory-success strong{font-size:14px}.passport-memory-success span{font-size:11px;color:#657168}
@keyframes passportMemorySuccessIn{from{opacity:0;transform:translate(-50%,-8px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}


/* v3.34.79 — Memory Added stamp marker and focused memory preview. */
#memberSectionPassport .passport-stamp{position:relative;overflow:visible}
#memberSectionPassport .passport-stamp-memory-marker{position:absolute;right:-8px;top:-8px;z-index:6;border:1px solid rgba(43,95,62,.42);border-radius:999px;background:rgba(247,247,239,.96);color:#2d6645;padding:4px 7px;font:800 8px/1.1 system-ui,sans-serif;letter-spacing:.035em;text-transform:none;white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px rgba(31,55,42,.12);transform:rotate(calc(var(--stamp-rotate,-3deg) * -1));transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
#memberSectionPassport .passport-stamp-memory-marker span{font-size:7px;margin-right:3px;vertical-align:1px}
#memberSectionPassport .passport-stamp-memory-marker:hover,#memberSectionPassport .passport-stamp-memory-marker:focus-visible{background:#fff;box-shadow:0 7px 18px rgba(31,55,42,.18);transform:rotate(calc(var(--stamp-rotate,-3deg) * -1)) translateY(-1px);outline:none}
.passport-stamp-memory-peek{position:fixed;z-index:1450;display:grid;gap:6px;padding:14px 14px 13px;border:1px solid rgba(47,79,59,.22);border-radius:14px;background:rgba(250,249,243,.98);box-shadow:0 16px 42px rgba(24,39,30,.24);color:#26372d;text-align:left}
.passport-stamp-memory-peek-kicker{font-size:8px;font-weight:950;letter-spacing:.16em;color:#2e6b48}
.passport-stamp-memory-peek strong{padding-right:24px;font:700 15px/1.2 Georgia,serif;color:#23352b}
.passport-stamp-memory-peek small{font-size:10px;color:#68746c}
.passport-stamp-memory-peek-close{position:absolute;right:8px;top:7px;width:25px;height:25px;border:0;border-radius:50%;background:transparent;color:#6d786f;font-size:18px;line-height:1;cursor:pointer}
.passport-stamp-memory-view{justify-self:start;margin-top:3px;border:1px solid rgba(39,88,58,.34);border-radius:999px;background:#173c2d;color:#fff;padding:7px 11px;font:850 10px/1 system-ui,sans-serif;cursor:pointer}
.passport-stamp-memory-view:hover{filter:brightness(1.08)}


/* v3.34.81 — explicit verified-stamp targeting for generic Make a Memory. */
.passport-memory-stamp-open{overflow:hidden}
.passport-memory-stamp-modal{position:fixed;inset:0;z-index:9998;background:rgba(2,9,18,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.passport-memory-stamp-modal.hidden{display:none}
.passport-memory-stamp-card{position:relative;width:min(610px,94vw);max-height:86vh;overflow:auto;border:1px solid rgba(178,139,59,.34);border-radius:20px;padding:24px;background:linear-gradient(145deg,#f0e7cf 0%,#e5d8b9 100%);color:#263128;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.passport-memory-stamp-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(58,67,55,.18);background:rgba(255,255,255,.55);color:#2c392f;font-size:23px;cursor:pointer}
.passport-memory-stamp-card .eyebrow{color:#687367}.passport-memory-stamp-card h2{margin:5px 48px 6px 0;font-family:Georgia,serif;font-size:29px;color:#263128}.passport-memory-stamp-intro{margin:0 0 15px;color:#687368;font-size:12px;line-height:1.45}
.passport-memory-stamp-list{display:grid;gap:9px}.passport-memory-stamp-choice{width:100%;display:grid;gap:4px;text-align:left;padding:13px 14px;border:1px solid rgba(55,76,62,.2);border-radius:12px;background:rgba(249,247,239,.72);color:#2b392f;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.passport-memory-stamp-choice:hover,.passport-memory-stamp-choice:focus-visible{background:#fff;border-color:rgba(30,73,52,.48);box-shadow:0 7px 18px rgba(31,55,42,.11);transform:translateY(-1px);outline:none}
.passport-memory-stamp-choice-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.passport-memory-stamp-choice strong{font:700 15px/1.2 Georgia,serif}.passport-memory-stamp-choice em{font-style:normal;font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#2e6b48}.passport-memory-stamp-choice>span:not(.passport-memory-stamp-choice-top){font-size:10px;color:#69746c}.passport-memory-stamp-choice small{font-size:10px;color:#5b695f;font-weight:750}.passport-memory-stamp-empty{padding:18px;border:1px dashed rgba(55,76,62,.25);border-radius:12px;text-align:center;color:#687368;font-size:12px}
@media(max-width:760px){.passport-memory-stamp-card{padding:21px 16px}.passport-memory-stamp-choice-top{align-items:flex-start}.passport-memory-stamp-choice em{margin-top:2px}}

/* 005R — real Passport Memory photo rail. */
.passport-photo-placeholder.has-photo{padding:0;overflow:hidden;border-width:3px;background:#eef3ef;transform:none}.passport-photo-placeholder.has-photo img{width:100%;height:100%;object-fit:cover;display:block}
.passport-photo-actions{display:flex!important;gap:7px;align-items:center}.passport-photo-actions button{white-space:nowrap}.passport-photo-actions .hidden{display:none!important}
@media(max-width:760px){.passport-photo-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr}.passport-photo-actions button{width:100%}}
