/* Public travel profile (redesign R5). Field Journal by day, Night Atlas by night: the public pages carry .ws-ui-v2 and use R0 tokens only.
   The profile keeps its atlas structure (identity, map workspace with country context, passport, recent memories); country, place and memory pages are journal pages. One rule per line keeps the file within its budget. */
.public-profile{width:100%;max-width:none;background:var(--ws-paper-texture) var(--ws-paper)}
.public-profile::before{content:none}
.public-profile--atlas{background:radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--ws-accent) 9%,transparent),transparent 34rem),var(--ws-paper-texture) var(--ws-paper)}
.public-profile--detail{min-height:100vh;color:var(--ws-ink);background:var(--ws-paper-texture) var(--ws-paper)}
.public-profile__brand{width:min(100%,72rem);margin-inline:auto;margin-bottom:clamp(1.25rem,3vw,2rem)}
.public-profile__brand .ws-logo,.ws-profile-showcase__chrome .ws-logo{display:block;width:clamp(10rem,16vw,12.5rem);height:auto}
.public-profile .profile-empty,.public-profile .profile-unavailable{margin-top:0;color:var(--ws-ink);background:var(--ws-surface);border:1px dashed var(--ws-line-strong);box-shadow:none}

/* Identity: a journal cover with a passport-stamp monogram and the globe illustration (D1). */
.ws-profile-atlas{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,2.4vw,1.75rem);width:min(100%,96rem);margin-inline:auto;color:var(--ws-ink)}
.ws-profile-atlas__identity,.ws-profile-atlas .profile-empty{width:100%}
.ws-profile-atlas__identity{--ws-ink:#f6f1e7;--ws-ink-soft:rgb(246 241 231 / 82%);--ws-muted:rgb(246 241 231 / 68%);--ws-line:rgb(255 255 255 / 10%);--ws-line-strong:rgb(255 255 255 / 20%);--ws-paper:#0d1922;--ws-surface:#122330;--ws-surface-raised:#172b39;--ws-accent-text:#f4b277;--ws-focus:#ffd28a;display:grid;grid-template-areas:"chrome chrome" "identity globe";grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);grid-template-rows:auto 1fr;position:relative;min-width:0;overflow:hidden;isolation:isolate;color:var(--ws-ink);background-color:#0c1821;background-image:radial-gradient(1px 1px at 12% 22%,#fffa 50%,transparent),radial-gradient(1px 1px at 38% 74%,#fff8 50%,transparent),radial-gradient(1.5px 1.5px at 64% 18%,#fffb 50%,transparent),radial-gradient(1px 1px at 86% 62%,#fff9 50%,transparent),radial-gradient(44rem 34rem at 80% 45%,rgb(242 166 90 / 20%),transparent 62%),radial-gradient(38rem 28rem at 4% 108%,rgb(84 150 196 / 28%),transparent 64%),linear-gradient(155deg,#0a141c,#11263a 52%,#0c1a24);background-size:19rem 15rem,23rem 17rem,29rem 21rem,17rem 13rem,auto,auto,auto;border:1px solid rgb(255 255 255 / 8%);border-radius:clamp(1.5rem,3vw,2.75rem);box-shadow:0 2.5rem 5rem -2.5rem rgb(8 18 26 / 55%)}
.ws-profile-atlas__identity :focus-visible{outline:3px solid var(--ws-focus);outline-offset:3px}
.ws-profile-showcase__chrome{grid-area:chrome;z-index:2;display:flex;align-items:center;min-height:4.5rem;padding:1rem clamp(1.5rem,4vw,3.5rem);border-bottom:1px solid var(--ws-line)}
.ws-profile-showcase__chrome .ws-logo__lit,.ws-profile-showcase__chrome .ws-logo__world{fill:#fffaf2}
.ws-profile-showcase__chrome .ws-logo__shade{fill:#b4bcc0}
.ws-profile-showcase__chrome .ws-logo__bezel,.ws-profile-showcase__chrome .ws-logo__diag{stroke:#7fb7bd}
.ws-profile-showcase__identity{grid-area:identity;position:relative;z-index:1;align-self:center;min-width:0;padding:clamp(1.75rem,3.4vw,3.5rem) clamp(1.5rem,4vw,4rem)}
.ws-profile-showcase__eyebrow,.ws-public-map__header>p,.ws-passport__header p{margin:0 0 .6rem;color:var(--ws-accent-text);font:700 .72rem/1.3 var(--ws-font-ui);letter-spacing:.14em;text-transform:uppercase}
.ws-profile-showcase__eyebrow::before{display:inline-block;width:1.6rem;height:1px;margin-right:.6rem;content:"";vertical-align:middle;background:currentColor}
.ws-profile-showcase__person{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;min-width:0;margin-bottom:.9rem}
.ws-profile-atlas .profile-initials{width:3.6rem;margin:0;color:var(--ws-accent-text);font:700 .95rem/1 var(--ws-font-mono);background:transparent;border:2px solid currentColor;box-shadow:inset 0 0 0 3px var(--ws-surface),inset 0 0 0 4.5px currentColor;rotate:-8deg}
.ws-profile-atlas .profile-handle{min-width:0;margin:0;color:var(--ws-muted);font:500 .95rem/1.2 var(--ws-font-mono);overflow-wrap:anywhere}
.ws-profile-atlas h1{max-width:16ch;margin:0;overflow-wrap:anywhere;color:var(--ws-ink);font:700 clamp(2.75rem,5.8vw,5.5rem)/.95 var(--ws-font-display);letter-spacing:-.04em;text-wrap:balance}
.ws-profile-atlas__identity h1{padding-bottom:.08em;color:transparent;background:linear-gradient(100deg,#fffaf2 40%,#f6c08c);-webkit-background-clip:text;background-clip:text}
.ws-profile-atlas .profile-bio{max-width:38rem;margin-top:1rem;color:var(--ws-ink-soft);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55}
.ws-profile-showcase__globe{grid-area:globe;position:relative;align-self:center;justify-self:center;width:min(38vw,34rem);margin:-2rem -2rem -2rem -1rem;filter:drop-shadow(0 0 3rem rgb(242 166 90 / 18%))}
.ws-profile-showcase__globe::before{position:absolute;inset:6%;z-index:-1;content:"";background:radial-gradient(circle,rgb(242 166 90 / 30%),rgb(84 150 196 / 16%) 48%,transparent 70%);border-radius:50%;filter:blur(2rem)}
.ws-profile-showcase__globe::after{position:absolute;inset:40% -7%;content:"";border:1px solid rgb(255 255 255 / 16%);border-radius:50%;rotate:-14deg}
.ws-profile-showcase__globe img{width:100%;height:auto;object-fit:contain}
.ws-profile-band{display:grid;gap:1.1rem;margin-top:1.6rem}
.ws-profile-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.ws-profile-actions .button[hidden]{display:none}
.ws-profile-actions .button{min-height:2.9rem;padding-inline:1.25rem;color:#1b1208;font-weight:700;background:linear-gradient(135deg,#f7bd80,#e9824f);border:0;border-radius:var(--ws-radius-pill);box-shadow:0 .8rem 2rem -1rem rgb(242 140 80 / 75%)}
.ws-profile-actions .button:hover{color:#1b1208;filter:brightness(1.07)}
.ws-profile-actions .button--secondary,.ws-share-card .button{color:var(--ws-ink);font-weight:600;background:rgb(255 255 255 / 6%);border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius-pill);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ws-profile-actions .button--secondary:hover,.ws-share-card .button:hover{color:var(--ws-ink);background:rgb(255 255 255 / 13%);filter:none}
.ws-profile-action-status{width:fit-content;margin:0;padding:.45rem .85rem;color:var(--ws-ink);font:600 .82rem/1.2 var(--ws-font-ui);background:var(--ws-surface-raised);border:1.5px dashed var(--ws-accent);border-radius:var(--ws-radius-pill)}
.ws-profile-action-status:empty{display:none}
.ws-share-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.ws-share-card[hidden]{display:none}
.ws-share-card__label{margin-right:.3rem;color:var(--ws-muted);font:600 .7rem/1.2 var(--ws-font-mono);letter-spacing:.12em;text-transform:uppercase}
.ws-share-card .button{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;padding-inline:1rem;font-size:.82rem}
.ws-share-card [data-card-format]::before{width:.8rem;height:.8rem;content:"";border:1.5px solid currentColor;border-radius:.2rem}
.ws-share-card [data-card-format=story]::before{width:.6rem;height:1rem}
.ws-share-card__status{flex-basis:100%;margin:0;color:var(--ws-muted);font-size:.85rem}
.ws-share-card__status:empty{display:none}
.ws-share-card__result{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:.6rem}
.ws-share-card__result[hidden],.ws-share-card__result [hidden]{display:none}
.ws-share-card__preview{width:auto;max-width:7.5rem;max-height:9rem;border:1px solid var(--ws-line-strong);border-radius:.6rem;box-shadow:0 1rem 2rem -1rem rgb(0 0 0 / 60%)}
.ws-public-stats{display:flex;flex-wrap:wrap;order:-1;row-gap:1rem;margin:0;padding:0 0 1.3rem;border-bottom:1px solid var(--ws-line)}
.ws-public-stat{display:grid;align-content:start;min-width:0;gap:.5rem;padding:0 clamp(1rem,2.6vw,2rem);border-left:1px solid var(--ws-line-strong)}
.ws-public-stat:first-child{padding-left:0;border-left:0}
.ws-public-stat strong{padding-bottom:.06em;color:transparent;font:700 clamp(2.4rem,4.6vw,4rem)/.9 var(--ws-font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fffaf2 35%,#f2a65a);-webkit-background-clip:text;background-clip:text}
.ws-public-stat span{color:var(--ws-muted);font:600 .7rem/1.2 var(--ws-font-mono);letter-spacing:.14em;text-transform:uppercase;overflow-wrap:anywhere}

/* Map workspace: the globe and its country context. */
.ws-profile-atlas__workspace{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.ws-profile-atlas__workspace>*{grid-area:1/1}
.ws-profile-atlas__workspace>.ws-profile-context:not(:only-child){z-index:2;align-self:end;justify-self:end;width:min(21rem,32%);max-height:calc(clamp(30rem,47vw,44rem) - 2rem);margin:0 1rem 1rem 0;overflow:auto;background:color-mix(in srgb,var(--ws-surface) 80%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-color:var(--ws-glass-line);box-shadow:var(--ws-shadow-float)}
.ws-profile-atlas__workspace:has(>.ws-profile-context:not(:only-child)) .maplibregl-ctrl-bottom-right{right:auto;left:.25rem}
.ws-profile-atlas .ws-public-map{display:grid;grid-template-rows:auto 1fr;min-width:0;margin:0;padding:0;color:var(--ws-ink);background:transparent;border:0}
.ws-profile-atlas .ws-public-map__header{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.15rem 1rem;padding:.25rem .35rem 1rem}
.ws-profile-atlas .ws-public-map__header>p{grid-column:1/-1;margin-bottom:.2rem}
.ws-public-map__header h2{margin:0;font:700 clamp(1.8rem,2.8vw,2.6rem)/1 var(--ws-font-display);letter-spacing:-.03em}
.ws-profile-atlas .ws-public-map__header>span{display:block;justify-self:end;max-width:28rem;margin:0;color:var(--ws-muted);line-height:1.5;text-align:right}
.ws-public-map__stage{position:relative;min-height:clamp(30rem,47vw,44rem);overflow:hidden;clip-path:inset(0 round 1.75rem);isolation:isolate;background:radial-gradient(circle at 50% 45%,var(--ws-surface),var(--ws-map-ocean) 70%);border:1px solid var(--ws-line);border-radius:1.75rem;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 4%),0 2rem 4rem -2.5rem rgb(29 42 34 / 40%)}
.ws-public-map__canvas{position:absolute;inset:0}
.ws-public-map__mode{position:absolute;top:.75rem;left:.75rem;z-index:var(--ws-z-controls);display:grid;grid-auto-flow:column;gap:.2rem;padding:.24rem;background:var(--ws-glass-strong);border:1px solid var(--ws-glass-line);border-radius:var(--ws-radius-pill);box-shadow:var(--ws-shadow-float)}
.ws-public-map__mode button{min-width:2.75rem;min-height:2.75rem;padding-inline:.9rem;color:var(--ws-ink-soft);font:700 .75rem/1 var(--ws-font-ui);background:transparent;border:0;border-radius:var(--ws-radius-pill);cursor:pointer;transition:color .15s ease,background-color .15s ease}
.ws-public-map__mode button[aria-pressed=true]{color:var(--ws-paper);background:var(--ws-ink)}
.ws-public-map__loading,.ws-public-map__error{position:absolute;inset:50% auto auto 50%;z-index:var(--ws-z-controls);width:min(82%,22rem);padding:1rem 1.25rem;color:var(--ws-ink);text-align:center;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-card);box-shadow:var(--ws-shadow-float);transform:translate(-50%,-50%)}
.ws-public-map__loading[hidden],.ws-public-map__error[hidden]{display:none}
.ws-public-map__error p{margin:0 0 .75rem;color:var(--ws-ink-soft);line-height:1.5}
.ws-public-map__error button{min-height:var(--ws-control-min);padding-inline:1rem;color:var(--ws-paper);font-weight:700;background:var(--ws-ink);border:0;border-radius:var(--ws-radius-pill);cursor:pointer}
.ws-public-map__label{color:var(--ws-ink);font:700 .72rem/1 var(--ws-font-ui);pointer-events:none;text-shadow:-1px -1px 0 var(--ws-paper),1px -1px 0 var(--ws-paper),-1px 1px 0 var(--ws-paper),1px 1px 0 var(--ws-paper);white-space:nowrap}
.ws-public-map .maplibregl-ctrl-group{background:var(--ws-glass-strong);border:1px solid var(--ws-glass-line);border-radius:1rem;box-shadow:var(--ws-shadow-float)}
.ws-public-map .maplibregl-ctrl-group button{width:44px;height:44px}
.ws-public-map .maplibregl-ctrl-group button+button{border-top-color:var(--ws-line)}
.ws-public-map .maplibregl-ctrl-group button:focus-visible{outline:3px solid var(--ws-focus);outline-offset:2px}
.ws-profile-context{display:flex;min-width:0;flex-direction:column;gap:1.25rem;margin:0;padding:clamp(1.1rem,2vw,1.5rem);color:var(--ws-ink);background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:1.35rem}
.ws-profile-context .ws-public-browse{width:100%;margin:0}
.ws-public-browse{width:min(100%,44rem);margin-top:clamp(2.5rem,6vw,4rem)}
.ws-public-browse h2,.ws-public-memories h2{margin:0 0 1rem;font:700 clamp(1.5rem,2.5vw,2rem)/1.1 var(--ws-font-display);letter-spacing:-.02em}
.ws-profile-context__heading>p,.ws-profile-context h2{margin:0 0 .7rem;color:var(--ws-muted);font:700 .7rem/1.3 var(--ws-font-ui);letter-spacing:.12em;text-transform:uppercase}
.ws-profile-context__focus{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;padding:.9rem 1rem;background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:var(--ws-radius-control)}
.ws-profile-context__focus strong{min-width:0;font:700 clamp(1.3rem,2vw,1.7rem)/1.1 var(--ws-font-display);overflow-wrap:anywhere}
.ws-profile-context__focus span{flex:0 0 auto;padding:.3rem .6rem;color:var(--ws-accent-deep);font:700 .68rem/1 var(--ws-font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ws-accent-soft);border-radius:var(--ws-radius-pill)}
.ws-public-browse__list{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.ws-public-browse__item a{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:.4rem .9rem;color:var(--ws-ink);font:600 .85rem/1.2 var(--ws-font-ui);text-decoration:none;background:var(--ws-surface-raised);border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius-pill);transition:border-color .15s ease,box-shadow .15s ease}
.ws-public-browse__item a:hover,.ws-public-browse__item a:focus-visible{border-color:var(--ws-ink);box-shadow:0 .5rem 1.2rem -.6rem rgb(29 42 34 / 35%)}
.ws-public-browse__item a:focus-visible{outline:3px solid var(--ws-focus);outline-offset:2px}
.ws-public-browse__item[data-country-status] a::before{width:.55rem;height:.55rem;content:"";background:var(--ws-status-visited);border-radius:50%}
.ws-public-browse__item[data-country-status=LIVED] a::before{background:var(--ws-status-lived)}
.ws-profile-context .ws-public-browse__list{max-height:18rem;overflow:auto;scrollbar-width:thin}
.ws-profile-context .ws-public-browse__item a{min-height:2.25rem;padding:.35rem .75rem;font-size:.8rem}
.ws-profile-context .ws-public-browse__item.is-active a{color:var(--ws-paper);background:var(--ws-ink);border-color:var(--ws-ink)}
.ws-profile-context__places{padding-top:1.1rem;border-top:1px dashed var(--ws-line-strong)}
@media (pointer:coarse){.ws-public-browse__item a,.ws-profile-context .ws-public-browse__item a{min-height:2.75rem}.ws-breadcrumb a{display:inline-flex;align-items:center;min-height:2.75rem}}

/* Passport: one stamp per country stamped VISITED or LIVED; the foil follows the pointer, or the phone's tilt once enabled (public-passport.js). */
.ws-passport{--ws-tilt:-8deg;padding:clamp(1.25rem,3vw,2.25rem);background:repeating-radial-gradient(circle at 100% 0,transparent 0 1.4rem,color-mix(in srgb,var(--ws-accent) 7%,transparent) 1.4rem calc(1.4rem + 1px)) no-repeat 100% 0/26rem 22rem,var(--ws-paper-texture) var(--ws-surface);border:1px solid var(--ws-line);border-radius:clamp(1.5rem,3vw,2.5rem)}
.ws-passport__header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1.25rem}
.ws-passport__header h2{margin:0;font:700 clamp(1.6rem,3vw,2.4rem)/1 var(--ws-font-display);letter-spacing:-.03em}
.ws-passport__shine{display:grid;justify-items:end;gap:.35rem;max-width:22rem;text-align:right}
.ws-passport__shine[hidden]{display:none}
.ws-passport__shine button{min-height:var(--ws-control-min);padding-inline:1.1rem;color:var(--ws-ink);font:600 .85rem/1 var(--ws-font-ui);background:var(--ws-surface-raised);border:1.5px solid var(--ws-line-strong);border-radius:var(--ws-radius-pill);cursor:pointer}
.ws-passport__shine button[aria-pressed=true]{color:var(--ws-paper);background:var(--ws-ink);border-color:var(--ws-ink)}
.ws-passport__shine small{color:var(--ws-muted);font-size:.78rem;line-height:1.4}
.ws-passport__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:clamp(.5rem,1.5vw,1rem);margin:0;padding:0;list-style:none;perspective:40rem}
.ws-passport__stamp{position:relative;display:block;padding:.35rem;color:inherit;border-radius:50%;text-decoration:none;transform:rotateX(var(--ws-rx,0deg)) rotateY(var(--ws-ry,0deg));transition:transform var(--ws-t-base) var(--ws-ease-out)}
.ws-passport__stamp .ws-stamp{width:100%;transform:rotate(var(--ws-tilt))}
.ws-passport__stamp::after{position:absolute;inset:.35rem;content:"";pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgb(255 128 191 / 55%) 44%,rgb(122 220 255 / 55%) 50%,rgb(255 236 140 / 55%) 56%,transparent 64%) var(--ws-sx,50%) var(--ws-sy,50%)/260% 260% no-repeat;border-radius:50%;mix-blend-mode:screen;opacity:var(--ws-foil,0);transition:opacity var(--ws-t-base) ease}
.ws-passport__stamp:focus-visible{outline:3px solid var(--ws-focus);outline-offset:2px}
.ws-passport .ws-stamp__state{font-size:8px}
.ws-passport__more{margin:1rem 0 0}
.ws-passport__more a{display:inline-flex;align-items:center;min-height:var(--ws-control-min);color:var(--ws-accent-text);font-weight:600}
.ws-passport [data-tilt="1"]{--ws-tilt:-3deg}
.ws-passport [data-tilt="2"]{--ws-tilt:4deg}
.ws-passport [data-tilt="3"]{--ws-tilt:-12deg}
.ws-passport [data-tilt="4"]{--ws-tilt:9deg}
.ws-passport [data-tilt="5"]{--ws-tilt:-6deg}
.ws-passport [data-tilt="6"]{--ws-tilt:2deg}
.ws-passport[data-shining] .ws-passport__stamp,.ws-passport__stamp[data-shining]{transition:none}

/* Memories: Field Journal cards (an inset print photo, typed place) on the profile rail and the detail pages. */
.ws-public-memories{width:100%;margin-top:clamp(2.5rem,6vw,4rem);padding:clamp(1.25rem,3vw,2.25rem);color:var(--ws-ink);background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:clamp(1.5rem,3vw,2.5rem)}
.ws-profile-atlas>.ws-public-memories{padding-inline:clamp(.25rem,1vw,.5rem);background:none;border:0}
.ws-profile-atlas>.ws-public-memories{margin:0}
.public-profile--detail .ws-public-memories{margin:clamp(2rem,5vw,3rem) 0 0;padding:0;background:none;border:0}
.ws-public-memories__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));gap:clamp(.75rem,2vw,1.25rem)}
.ws-memory-card--public{position:relative;display:flex;flex-direction:column;color:var(--ws-ink);background:var(--ws-surface-raised);border:1px solid var(--ws-line)}
.ws-memory-card--public>.ws-memory-card__content{flex:1;display:flex;flex-direction:column;gap:.45rem;width:100%}
.ws-memory-card--public .ws-memory-card__title{font:650 1.15rem/1.2 var(--ws-font-display);letter-spacing:-.015em}
.ws-memory-card--public .ws-memory-card__title a,.ws-memory-card--public .ws-memory-card__body,.ws-memory-card--public .ws-memory-card__meta{color:inherit}
.ws-memory-card--public .ws-memory-card__title a::after{position:absolute;inset:0;content:"";border-radius:inherit}
.ws-memory-card--public .ws-memory-card__body{display:-webkit-box;overflow:hidden;color:var(--ws-ink-soft);-webkit-box-orient:vertical;-webkit-line-clamp:3}
.ws-memory-card--public .ws-memory-card__meta{margin-top:auto;color:var(--ws-muted);font:500 .7rem/1.3 var(--ws-font-mono);letter-spacing:.06em;text-transform:uppercase}
.ws-memory-card--public.ws-memory-card--photo{overflow:hidden;}
.ws-profile-atlas .ws-memory-card--photo{display:grid;color:#fffaf2;background:#0d1922;border:0;box-shadow:0 1.5rem 3rem -2rem rgb(8 18 26 / 60%)}
.ws-profile-atlas .ws-memory-card--photo>*{grid-area:1/1}
.ws-profile-atlas .ws-memory-card--photo .ws-memory-card__cover{margin:0;aspect-ratio:4/5;border-radius:0}
.ws-profile-atlas .ws-memory-card--photo>.ws-memory-card__content{z-index:1;align-self:end;padding:5rem 1.15rem 1.15rem;background:linear-gradient(180deg,transparent,rgb(8 14 20 / 84%) 52%);pointer-events:none}
.ws-profile-atlas .ws-memory-card--photo .ws-memory-card__title a{pointer-events:auto}
.ws-profile-atlas .ws-memory-card--photo .ws-memory-card__title{font-size:1.35rem}
.ws-profile-atlas .ws-memory-card--photo .ws-memory-card__body{color:rgb(255 250 242 / 84%);-webkit-line-clamp:2}
.ws-profile-atlas .ws-memory-card--photo .ws-memory-card__meta{color:#f6c08c}
.ws-memory-card--public .ws-memory-card__cover{display:block;margin:.45rem .45rem 0;overflow:hidden;aspect-ratio:4/3;border-radius:calc(var(--ws-radius-card) - .45rem)}
.ws-memory-card--public .ws-memory-card__cover img{width:100%;height:100%;object-fit:cover}
@supports selector(:has(*)){.ws-memory-card--public .ws-memory-card__title a:focus-visible{outline:none}.ws-memory-card--public:has(.ws-memory-card__title a:focus-visible){outline:3px solid var(--ws-focus);outline-offset:3px}}
.ws-public-memories--empty .ws-empty-notice,.ws-country-empty{max-width:44rem;padding:clamp(1.5rem,3vw,2.5rem);background:var(--ws-surface);border:1px dashed var(--ws-line-strong);border-radius:var(--ws-radius-card)}
.ws-country-empty{margin-top:clamp(2.5rem,6vw,4rem)}
.ws-country-empty h2,.ws-country-empty p{max-width:38rem}
.ws-country-empty .button{margin-top:1rem}

/* Detail pages: a journal page with breadcrumb, stamp badge and visit entries. */
.ws-breadcrumb{width:min(100%,72rem);margin:0 auto clamp(1.25rem,3vw,2rem)}
.ws-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}
.ws-breadcrumb li{display:flex;align-items:center;gap:.4rem;color:var(--ws-muted);font:600 .82rem/1.3 var(--ws-font-ui)}
.ws-breadcrumb li:not(:first-child)::before{content:"/";color:var(--ws-line-strong)}
.ws-breadcrumb a{color:var(--ws-muted);font-weight:600;text-decoration:none}
.ws-breadcrumb a:hover,.ws-breadcrumb a:focus-visible{color:var(--ws-accent-text);text-decoration:underline}
.ws-breadcrumb li[aria-current=page]{color:var(--ws-ink)}
.ws-browse-hero{width:min(100%,72rem);margin-inline:auto}
.public-profile--detail .ws-browse-hero{padding:clamp(1.5rem,4vw,3.25rem);background:var(--ws-paper-texture) var(--ws-surface);border:1px solid var(--ws-line);border-radius:clamp(1.25rem,3vw,2.5rem);box-shadow:var(--ws-shadow-float)}
.ws-browse-hero h1{max-width:20ch;margin:0;color:var(--ws-ink);font:700 clamp(2.25rem,6vw,4.25rem)/1 var(--ws-font-display);letter-spacing:-.035em;text-wrap:balance}
.ws-country-badge{display:inline-flex;align-items:center;gap:.4rem;margin:.9rem 0 0;padding:.35rem .85rem;color:var(--ws-accent-deep);font:700 .72rem/1 var(--ws-font-mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px dashed currentColor;border-radius:var(--ws-radius-pill);rotate:-3deg}
.ws-place-meta{margin:.75rem 0 0;color:var(--ws-muted);font-size:clamp(1rem,1.5vw,1.1rem)}
.ws-memory-view__body{max-width:44rem;margin:1.25rem 0 0;color:var(--ws-ink);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.65}
.public-profile--detail .ws-memory-view__gallery{margin-top:1.5rem}
.ws-place-visits{width:min(100%,44rem);margin-top:clamp(2.5rem,6vw,4rem)}
.ws-place-visits h2{margin:0 0 1rem;font:700 clamp(1.4rem,2.4vw,1.9rem)/1.1 var(--ws-font-display)}
.ws-place-visits__list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}
.ws-place-visits__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem .75rem 1.15rem;background:linear-gradient(90deg,var(--ws-accent) 0 3px,var(--ws-paper) 3px);border:1px solid var(--ws-line);border-radius:var(--ws-radius-control)}
.ws-place-visits__kind{color:var(--ws-ink);font-weight:600}
.ws-place-visits__date{color:var(--ws-muted);font:500 .8rem/1.2 var(--ws-font-mono);letter-spacing:.04em;text-transform:uppercase}
.ws-empty-notice{color:var(--ws-muted);font-size:1rem}
.ws-pagination{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.ws-pagination a{display:inline-flex;align-items:center;min-height:var(--ws-control-min);padding-inline:1.1rem;color:var(--ws-ink);font-weight:600;text-decoration:none;background:var(--ws-surface-raised);border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius-pill)}
.ws-pagination a:hover,.ws-pagination a:focus-visible{border-color:var(--ws-ink)}
.ws-pagination__next{margin-left:auto}

@media (max-width:63.99rem){
.ws-profile-atlas__identity{grid-template-areas:"chrome" "identity";grid-template-columns:minmax(0,1fr)}
.ws-profile-atlas__identity .ws-profile-showcase__globe{position:absolute;top:2.75rem;right:-16vw;width:min(24rem,74vw);margin:0;opacity:.62;filter:none;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 92%);mask-image:linear-gradient(180deg,#000 45%,transparent 92%)}
.ws-profile-atlas__identity .ws-profile-showcase__globe::before{content:none}
.ws-profile-atlas__identity .ws-profile-showcase__identity{padding:clamp(7.5rem,36vw,11rem) clamp(1.1rem,4vw,2rem) 1.5rem}
.ws-profile-atlas__identity h1{max-width:13ch;font-size:clamp(2.5rem,10vw,4.25rem)}
.ws-profile-atlas__identity .profile-bio{margin-top:.75rem;line-height:1.45}
.ws-profile-atlas__workspace>*{grid-area:auto}
.ws-profile-atlas__workspace>.ws-profile-context:not(:only-child){position:relative;width:auto;max-height:none;margin:-2.75rem .6rem 0;justify-self:stretch;align-self:auto}
.ws-profile-atlas__workspace:has(>.ws-profile-context:not(:only-child)) .maplibregl-ctrl-bottom-right{right:0;left:auto}
.ws-profile-atlas .ws-public-map__header{display:block;padding:.25rem .35rem .9rem}
.ws-profile-atlas .ws-public-map__header>span{margin-top:.35rem;text-align:left}
.ws-profile-atlas .ws-public-map__stage{min-height:min(68dvh,36rem)}
.ws-profile-atlas .maplibregl-ctrl-bottom-right{bottom:3.5rem}
.ws-profile-context .ws-public-browse__list{max-height:none;flex-wrap:wrap;padding:.15rem 0 .45rem;overflow:visible}
.ws-profile-atlas .ws-public-memories__grid{grid-auto-columns:minmax(16rem,82%);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.ws-profile-atlas .ws-memory-card--public{scroll-snap-align:start}
.ws-breadcrumb,.ws-browse-hero,.ws-place-visits{width:100%}
.ws-passport__shine{justify-items:start;text-align:left}
}
@media (max-width:35rem){
.public-profile--atlas{padding:max(.5rem,var(--ws-safe-top)) max(.5rem,var(--ws-safe-right)) max(1rem,var(--ws-safe-bottom)) max(.5rem,var(--ws-safe-left))}
.ws-profile-atlas__identity .ws-profile-showcase__chrome{min-height:3.75rem;padding:.75rem 1.1rem}
.ws-profile-atlas__identity .ws-profile-showcase__chrome .ws-logo{width:9.5rem}
.ws-profile-actions .button{flex:1 1 calc(50% - .6rem)}
.ws-profile-actions .ws-map-jump{flex-basis:100%}
.ws-share-card__label{flex-basis:100%}
.ws-share-card .button{flex:1 1 0;justify-content:center}
.ws-public-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:1.1rem 1rem}
.ws-public-stat,.ws-public-stat:first-child{padding:.7rem 0 0;border-left:0;border-top:1px solid var(--ws-line-strong)}
.ws-public-stat strong{font-size:clamp(2.2rem,11vw,2.8rem)}
.ws-passport__grid{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr))}
.ws-profile-atlas__identity .ws-public-stat span{font-size:.75rem;letter-spacing:.06em}
.public-profile--detail .ws-browse-hero{padding:1.25rem}
}
@media (prefers-color-scheme:dark){
.ws-ui-v2 .ws-profile-showcase__globe{filter:drop-shadow(0 0 3rem rgb(242 166 90 / 16%))}
.ws-ui-v2 .ws-public-map .maplibregl-ctrl-icon{filter:invert(.9)}
.ws-ui-v2 .ws-passport__stamp::after{mix-blend-mode:soft-light}
}
@media (prefers-reduced-motion:no-preference){
.ws-profile-showcase__globe img{animation:ws-globe-drift 9s ease-in-out infinite alternate}
.ws-profile-action-status:not(:empty){animation:ws-share-stamp 520ms var(--ws-spring) both}
@media (hover:hover){.ws-passport__stamp:hover{scale:1.05}.ws-memory-card--public:hover{translate:0 -3px}.ws-memory-card--public{transition:translate var(--ws-t-base) var(--ws-ease-out)}}
}
@keyframes ws-globe-drift{to{translate:0 -.75rem}}
@keyframes ws-share-stamp{0%{opacity:0;transform:scale(1.35) rotate(-6deg)}60%{opacity:1;transform:scale(.97) rotate(-1deg)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ws-public-browse__item a,.ws-public-map__mode button,.ws-passport__stamp,.ws-passport__stamp::after{transition:none}}
@media (forced-colors:active){.ws-profile-atlas__identity{--ws-ink:CanvasText;--ws-ink-soft:CanvasText;--ws-muted:CanvasText;--ws-accent:CanvasText;--ws-accent-text:CanvasText;--ws-line:CanvasText;--ws-line-strong:CanvasText;--ws-paper:Canvas;--ws-surface:Canvas;--ws-surface-raised:Canvas;color:CanvasText;background:Canvas;border:1px solid CanvasText}.ws-profile-atlas__identity h1,.ws-public-stat strong{color:CanvasText;background:none;-webkit-text-fill-color:CanvasText}.ws-profile-actions .button,.ws-profile-actions .button:hover,.ws-share-card .button,.ws-share-card .button:hover{color:ButtonText;background:ButtonFace;border:1px solid ButtonText;filter:none}.ws-profile-atlas__identity :focus-visible{outline-color:Highlight}.ws-profile-showcase__globe::before,.ws-profile-showcase__globe::after{display:none}.ws-public-map__stage,.ws-public-map__mode,.ws-public-map__loading,.ws-public-map__error,.ws-country-badge,.ws-public-browse__item a,.ws-place-visits__item,.ws-pagination a,.ws-public-stat{border:2px solid CanvasText}.ws-public-map__label{forced-color-adjust:none}.ws-public-map__mode button[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-3px}.ws-passport__stamp{transform:none}.ws-passport__stamp::after{display:none}}
/* Public progress: achievements and countries per continent (Phase 12). */
.ws-profile-progress{display:grid;gap:2rem;margin-block:clamp(1.5rem,4vw,2.5rem)}@media(min-width:64rem){.ws-profile-progress{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ws-profile-continents ol{display:grid;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}.ws-profile-continents li{display:grid;grid-template-columns:1fr auto;gap:.3rem .75rem;font:500 .9rem/1.2 var(--ws-font-ui)}.ws-profile-continents strong{font:600 .8rem/1.2 var(--ws-font-mono)}.ws-profile-continents__bar{grid-column:1/-1;height:.3rem;overflow:hidden;background:var(--ws-line);border-radius:999px}.ws-profile-continents__bar span{display:block;width:var(--share,0%);height:100%;background:linear-gradient(90deg,var(--ws-status-visited),var(--ws-accent));border-radius:inherit}
.ws-achievements{display:grid;gap:.75rem}.ws-achievements__title{margin:0;font:700 1.1rem/1.2 var(--ws-font-display)}.ws-achievements__list{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:0;padding:0;list-style:none}.ws-achievements__badge{display:grid;justify-items:center;gap:.35rem;width:5.5rem;text-align:center}.ws-achievements__badge .ws-stamp{width:4.5rem;transform:rotate(-6deg)}.ws-achievements__name{color:var(--ws-ink-soft);font:600 .78rem/1.2 var(--ws-font-ui)}.ws-achievements__next{display:grid;gap:.4rem;margin:0;color:var(--ws-ink-soft);font-size:.88rem}.ws-achievements__meter{height:.3rem;overflow:hidden;background:var(--ws-line);border-radius:999px}.ws-achievements__meter span{display:block;width:var(--done,0%);height:100%;background:var(--ws-accent);border-radius:inherit}
