/* 021 — soft toy-world materials, rounded type and a shared native-feeling UI. */
@font-face { font-family:Nunito; src:url('./assets/nunito-600.ttf') format('truetype'); font-weight:500 650; font-style:normal; font-display:swap; }
@font-face { font-family:Nunito; src:url('./assets/nunito-800.ttf') format('truetype'); font-weight:700 900; font-style:normal; font-display:swap; }
:root { --soft-font:Nunito,ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif; --soft-ease:cubic-bezier(.22,.8,.28,1); --soft-surface:#25272dbd; --soft-line:#ffffff14; --soft-shadow:0 10px 30px #04060d38,inset 0 1px 0 #ffffff0b; --accent:#f16276; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.soft-type { display:inline-block; font-family:var(--soft-font); font-weight:800; font-size:calc(var(--block-height,18px)*1.18); letter-spacing:-.035em; line-height:.92; white-space:nowrap; color:inherit; }
[data-block-text] { vertical-align:baseline; }
.world-heading { gap:5px; }
.world-heading .soft-type { font-size:calc(var(--heading-size,40px)*1.24); letter-spacing:-.045em; line-height:1.03; text-shadow:0 3px 12px #0506101f; }
.world-heading .heading-red { color:#f77988; }
h1,h2,h3 { text-wrap:balance; }
.wordmark,.global-header .wordmark,.global-footer .wordmark { font-family:var(--soft-font); font-weight:800; letter-spacing:-1.6px; }
.wordmark span { font-weight:600; }.wordmark i,.tiny-block,.preview-label span,.stage-dot,.requirement-block,.status-chip i,.budget-swatch { border-radius:50%; box-shadow:none; transform:none; }
button,a,input,select,summary { touch-action:manipulation; }
button:not(:disabled):active,.solid-link:active { filter:brightness(.96); }
:where(button,a,input,select,summary):focus-visible { outline:2px solid #fb9aa9; outline-offset:4px; }
.skip-link { border-radius:16px; box-shadow:var(--soft-shadow); }
/* Shared navigation: generous hit areas and a soft inset selection. */
.global-header { background:#15161be0; border-color:#ffffff08; backdrop-filter:blur(26px) saturate(125%); }
.global-header .site-nav { padding:5px; gap:4px; border:1px solid #ffffff0c; border-radius:25px; background:#ffffff04; box-shadow:inset 0 1px 0 #ffffff03; }
.global-header .site-nav a { padding:11px 17px; min-height:40px; border-radius:18px; font-family:var(--soft-font); font-weight:600; font-size:13px; color:#bdbdc6; transition:background 200ms,color 200ms; }
.global-header .site-nav a::after { display:none; }
.global-header .site-nav a:hover { color:#fff; background:#ffffff06; }
.global-header .site-nav a[aria-current="page"] { background:#ffffff0e; color:#faf4f4; box-shadow:0 2px 8px #0002,inset 0 1px 0 #ffffff10; }
.global-header .site-nav .app-nav { border-left:0; margin-left:4px; padding:11px 16px; gap:8px; background:#f5748610; color:#f3c4cb; }
.app-nav span { font-size:8px; color:#bda8b0; }.app-nav b { margin-left:2px; color:#f48b9a; }
.menu-toggle { border-radius:18px; }.menu-toggle i { border-radius:2px; }
/* All tools use the same cushioned control family. */
.control-group,.atlas-controls { gap:3px; padding:5px; border:1px solid #ffffff10; border-radius:24px; background:#282b31a3; backdrop-filter:blur(24px) saturate(130%); box-shadow:var(--soft-shadow); }
.control-group .icon-button,.atlas-controls button { width:40px; height:40px; border:0; border-radius:18px; background:transparent; color:#e7e7e9; transition:background 180ms,color 180ms,box-shadow 180ms; }
.control-group .icon-button + .icon-button { border:0; }
.control-group .icon-button:hover,.atlas-controls button:hover { background:#ffffff10; box-shadow:inset 0 1px 0 #ffffff10; }
.control-group .icon-button svg { stroke-linecap:round; stroke-linejoin:round; }
.atlas-controls > span { width:1px; height:17px; margin:0 4px; background:#ffffff14; }
.icon-button,.detail-close,.detail-navigation button,.footer-up,.clear-collection { border-radius:50%; }
.scene-motion { padding:9px 13px; border-radius:20px; background:#ffffff05; font-size:10px; color:#b5b0bc; gap:8px; }
.scene-motion:hover { background:#ffffff0c; }
.collection-cue,.back-to-world,.text-link,.more-cards,.collection-empty button { font-family:var(--soft-font); font-weight:600; border-radius:18px; font-size:12px; }
.text-link { padding:9px 14px; gap:17px; min-height:42px; background:#ffffff04; border:1px solid #ffffff08; transition:background 200ms,transform 200ms var(--soft-ease); }
.text-link:hover { background:#ffffff0a; transform:translateY(-1px); border-color:#ffffff10; }
.text-link span,.collection-cue span { color:#f58698; }
.solid-link { font-family:var(--soft-font); font-size:14px; font-weight:800; padding:15px 22px; border-radius:20px; background:linear-gradient(160deg,#ff8190,#ed526d); color:#27131b; border:1px solid #ffb5c033; box-shadow:0 8px 24px #d73f5922,inset 0 1px 0 #ffd9dc60; transition:transform 220ms var(--soft-ease),box-shadow 220ms; }
.solid-link:hover { transform:translateY(-2px); box-shadow:0 12px 28px #d73f5936,inset 0 1px 0 #ffd9dc60; }
/* Collection surfaces have continuous curves, without stepped cutouts or hard plinths. */
.collection-section::before,.journey-copy::before { border-radius:8px; box-shadow:none; height:3px; }
.card-art::before { clip-path:none; border-radius:28px; background:radial-gradient(ellipse at 50% 72%,#3637446b,#23252b77 60%,#20212740); border:1px solid #ffffff05; box-shadow:inset 0 1px 0 #ffffff06; }
.art-plinth { border-radius:50%; transform:none; bottom:10%; left:16%; right:16%; height:7%; background:radial-gradient(ellipse,#090b11a8,transparent 70%); box-shadow:none; }
.collection-link:hover .art-plinth { background:radial-gradient(ellipse,#090b11c9,transparent 70%); }
.card-art img { transition:transform 380ms var(--soft-ease),filter 380ms; }
.collection-link:hover .card-art img,.collection-link:focus-visible .card-art img { transform:translateY(-6px) rotate(0); filter:drop-shadow(0 18px 14px #0005); }
.collection-city { border-color:#ffffff0d; }.collection-link h3 { --block-height:19px; margin-top:14px; }.collection-price { --block-height:25px; margin-top:15px; }
.collection-link .soft-type { font-weight:800; letter-spacing:-.025em; }
.collection-tools { gap:12px; }
.collection-search,.collection-location { padding-inline:16px; border:1px solid #ffffff0b; border-radius:17px; background:#24252b8a; box-shadow:inset 0 1px 0 #ffffff04; height:50px; }
.collection-search:focus-within,.collection-location:focus-within { border-color:#ee839485; box-shadow:0 0 0 3px #e7808c12; }
.collection-tools svg { stroke-linecap:round; stroke-linejoin:round; }.collection-location svg { right:15px; }
.collection-tools input,.collection-tools select { font-size:13px; }.collection-tools select { padding-right:24px; }
.clear-collection { background:#ffffff05; border-color:#ffffff0b; }.clear-collection:not(:disabled):hover { background:#ffffff0d; border-color:#ffffff20; }
.more-cards,.collection-empty button { padding:12px 21px; background:#2c2d34; border:1px solid #ffffff0f; box-shadow:0 4px 12px #0002; }
/* Soft readable card captions retain the existing stable layout dimensions. */
.collectible-name .soft-type { font-size:calc(var(--block-height,16px)*1.2); font-weight:800; letter-spacing:-.025em; }
.collectible-amount .soft-type { font-size:calc(var(--block-height,27px)*1.14); font-weight:800; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.collectible-caption { text-shadow:0 2px 6px #05080d8a; }
.collectible-city { letter-spacing:.6px; }
#drop-detail,[data-theme="night"] #drop-detail { border:1px solid #ffffff13; border-radius:28px; background:linear-gradient(155deg,#30333beF,#202229ed); box-shadow:0 18px 70px #0005,inset 0 1px 0 #ffffff08; backdrop-filter:blur(30px); }
#drop-heading,.detail-copy h3,.artwork-heading { font-family:var(--soft-font); font-weight:800; }
#close-drop { margin-right:-5px; background:#ffffff08; }.display-case { border-radius:12px; box-shadow:0 14px 32px #0003,inset 0 1px 0 #ffffff20; }
.back-to-world { border:0; background:#ffffff08; padding:12px 16px; }
#card-lightbox { border-radius:30px; box-shadow:0 25px 90px #0006; }#card-lightbox::backdrop { backdrop-filter:blur(14px); }
.detail-navigation button { background:#ffffff05; font-size:20px; }.detail-navigation button:hover { background:#ffffff0b; }
/* Supporting pages: generous rounds, tactile budget segments and quiet dividers. */
.journey-copy { border-top-color:#ffffff13; }.journey-copy h3 { --block-height:24px; }.journey-copy > p { font-size:13px; line-height:1.8; color:#b4afbb; }
.reward-switch { border:1px solid #ffffff0a; background:#272830; border-radius:20px; gap:3px; padding:4px; }
.reward-switch > span { display:none; }.reward-switch button { padding:9px 17px; min-height:37px; border-radius:15px; font-family:var(--soft-font); font-weight:800; color:#a9a4b1; }
.reward-switch button[aria-pressed="true"] { background:#48434e; color:#fbeff1; box-shadow:0 2px 8px #0003,inset 0 1px 0 #ffffff10; }.reward-switch button[aria-pressed="true"]::after { display:none; }
.budget-row { border-color:#ffffff0e; }.budget-swatch { width:8px; height:8px; box-shadow:0 2px 7px color-mix(in srgb,var(--budget-face),transparent 70%); }
.budget-block { height:28px; border:0; border-radius:9px; background:linear-gradient(155deg,var(--budget-light),var(--budget-face) 47%,var(--budget-face)); box-shadow:0 4px 10px #0002,inset 0 1px 0 #ffffff35,inset 0 -2px 2px #00000013; }
.budget-bar { border:0; gap:5px; padding-bottom:0; }.budget-row:hover .budget-block { transform:translateY(-1px); }.budget-row[data-budget="reserve"] .budget-block::after { border-radius:5px; border-color:#e6fbff5c; }
.budget-percent .soft-type { font-size:38px; letter-spacing:-.04em; }.budget-description { color:#afaab8; }
.questions-list details { background:#ffffff03; border:1px solid #ffffff07; border-radius:21px; margin-bottom:10px; overflow:hidden; transition:background 180ms,border-color 180ms; }
.questions-list details:hover { background:#ffffff05; }.questions-list details[open] { background:#28252e; border-color:#f69caf12; }
.questions-list summary,.questions-list details:first-child summary { padding:20px 21px; font-size:14px; }
.questions-list summary > span { display:block; flex-basis:26px; height:26px; border-radius:50%; background:#ffffff07; }
.questions-list summary > span::before,.questions-list summary > span::after { left:7px; top:12px; border-radius:2px; }
.question-answer { padding:0 21px 22px; font-size:13px; }.question-answer p { line-height:1.8; }
.feature-blocks i { border-radius:5px; background:#d27189; box-shadow:0 3px 7px #0002; }.app-features article:nth-child(n) .feature-blocks i { box-shadow:0 3px 7px #0002; }
.app-features h3,.kit-copy h2,.kit-guidance h2,.app-status-section h2 { font-family:var(--soft-font); font-weight:800; }
.app-status-section { background:#24232b; border:1px solid #ffffff08; border-radius:28px; max-width:calc(1600px - 2*var(--page-gutter)); margin-inline:var(--page-gutter); padding-inline:30px; }
.kit-preview { border-radius:30px; border-color:#ffffff08; box-shadow:inset 0 1px 0 #ffffff07; }.kit-avatar img { border-radius:24%; }
.next-destinations { gap:20px; }.next-destinations > a,.next-destinations > a + a { border:1px solid #ffffff08; padding:28px 55px 30px 28px; background:#20212788; border-radius:28px; transition:background 200ms,transform 200ms var(--soft-ease); }
.next-destinations > a:hover { background:#292832; transform:translateY(-2px); }.destination-arrow { top:30px; }.next-destinations h2 { --block-height:32px; }
.global-footer { border-color:#ffffff0d; }.footer-up { background:#ffffff05; border-color:#ffffff0b; }.footer-up:hover { background:#ffffff0d; }
/* Full-page Journey: little floating labels and a rounded information sheet. */
.atlas-world { background:radial-gradient(ellipse at 55% 62%,#2a3940 0%,#1c252e 44%,#14171e 80%); }
.atlas-world::before { background:linear-gradient(#14171ef2,#14171e66 48%,transparent); }
.atlas-title .section-kicker { letter-spacing:.4px; font-size:11px; margin-bottom:12px; }.atlas-title h1 { --block-height:46px; margin-bottom:14px; }
.atlas-title h1 .soft-type { font-size:56px; letter-spacing:-.045em; line-height:1; }.atlas-title > p:last-child { font-size:12px; color:#aeb5be; }
.atlas-status { font-size:11px; }.atlas-status .tiny-block { border-radius:50%; box-shadow:0 0 10px #ed78872b; }
.route-pin { border:1px solid #ffffff90; border-radius:18px; background:linear-gradient(150deg,#fffdf7f5,#e7ece8eF); color:#29383e; padding:11px 39px 12px 15px; min-height:58px; box-shadow:0 6px 16px #020b1935,inset 0 1px 0 #ffffff; backdrop-filter:blur(18px); transition:background 180ms,box-shadow 180ms; }
.route-pin::after { display:none; }.route-pin::before { height:13px; background:linear-gradient(#eff4e757,#f4f7efbb); }
.pin-status { color:#657472; font-size:9px; font-weight:500; margin-bottom:6px; }.pin-name { color:#263c3c; }.pin-name .soft-type { font-size:20px; line-height:1; letter-spacing:-.035em; }
.pin-open { right:9px; top:50%; bottom:auto; margin-top:-10px; width:21px; height:21px; line-height:20px; text-align:center; border-radius:50%; background:#d0dad57a; color:#657976; font-size:15px; }
.route-pin:hover,.route-pin:focus-visible { background:linear-gradient(150deg,#ffffff,#f4f8f1); box-shadow:0 10px 28px #040b193f,inset 0 1px 0 #fff; outline-color:#f495a5; outline-offset:3px; }
.route-pin:hover .pin-open,.route-pin:focus-visible .pin-open { color:#bd435c; background:#ebccd047; transform:rotate(90deg); }
.route-pin[data-route-pin="build"] .pin-status { color:#ba4e62; }.route-pin[data-route-pin="build"] .pin-status::before { content:''; display:inline-block; width:5px; height:5px; margin-right:5px; margin-bottom:1px; border-radius:50%; background:#e46175; }
.route-pin[aria-current="step"] { border-color:#ffd1d4; box-shadow:0 8px 26px #040b194a,0 0 0 3px #ef9ca629; }
.atlas-legal { border-color:#ffffff08; }.atlas-hint { color:#bbc4ca; }.atlas-hint small { color:#89959f; }
.journey-detail { border:1px solid #ffffff16; border-radius:30px; background:linear-gradient(150deg,#353d43f5,#23292fef); box-shadow:0 24px 80px #0006,inset 0 1px 0 #ffffff10; backdrop-filter:blur(35px) saturate(120%); overflow:hidden; }
.journey-detail::before { display:none; }.journey-detail::backdrop { background:#070b1230; backdrop-filter:blur(3px); }
.detail-close { border:0; background:#ffffff0c; border-radius:50%; color:#d6dbe0; font-size:25px; top:17px; right:17px; }.detail-close:hover { background:#ffffff19; }
.detail-scroll { padding:35px 30px 27px; scrollbar-color:#69767a transparent; }
.route-status { font-size:10px; color:#f7a3b0; letter-spacing:0; margin-bottom:22px; }.route-chapter h2 { --block-height:29px; }.route-chapter h2 .soft-type { font-size:34px; line-height:1.08; white-space:normal; letter-spacing:-.04em; }
.route-lead { font-size:15px; line-height:1.7; color:#c9d0d5; }.route-work dt { font-size:13px; font-weight:600; color:#f1f4f5; }.route-work dd { font-size:12px; color:#aebbc3; line-height:1.8; }.route-work > div { border-color:#ffffff0d; }
.route-footnote { color:#919fa9; font-size:10px; line-height:1.7; }
.journey-detail .detail-navigation { margin-top:0; padding-top:0; background:#ffffff02; border-color:#ffffff0b; }.journey-detail .detail-navigation button { width:36px; height:36px; border-radius:50%; background:#ffffff06; }.journey-detail .detail-navigation span { font-family:var(--soft-font); color:#b7c3ca; font-size:12px; letter-spacing:0; }
.atlas-noscript { border-radius:24px; }.atlas-scene[data-failed="true"] .route-pin { box-shadow:var(--soft-shadow); }
@media (max-width:1100px) {
 .global-header .site-nav { gap:3px; }.global-header .site-nav a { padding-inline:13px; }.global-header .site-nav .app-nav { padding-inline:12px; }
 .collection-link h3 { --block-height:17px; }.collection-price { --block-height:23px; }.journey-copy h3 { --block-height:21px; }
 .pin-name .soft-type { font-size:18px; }.route-pin { padding:10px 34px 11px 13px; min-height:54px; }.pin-status { font-size:8px; }.pin-open { right:8px; width:19px; height:19px; line-height:18px; }
 .atlas-title h1 .soft-type { font-size:49px; }
}
@media (max-width:800px) and (min-width:701px) { .global-header .site-nav a { padding-inline:11px; font-size:12px; }.global-header .site-nav .app-nav { padding-inline:10px; }.app-nav span { display:none; } }
@media (max-width:700px) {
 .global-header .site-nav { top:70px; left:12px; right:12px; border:1px solid #ffffff13; border-radius:26px; padding:12px; background:#24262ded; backdrop-filter:blur(26px); box-shadow:0 15px 45px #0006,inset 0 1px 0 #ffffff08; }
 .global-header .site-nav[data-open="true"] { gap:6px; }
 .global-header .site-nav a,.global-header .site-nav .app-nav { margin:0; border:0; padding:14px 16px; font-size:14px; border-radius:17px; }
 .menu-toggle { padding:10px 14px; background:#ffffff07; font-family:var(--soft-font); font-weight:600; border:1px solid #ffffff08; }
 .control-group,.atlas-controls { border-radius:22px; padding:4px; gap:1px; }.control-group .icon-button { width:42px; height:42px; }
 .world-heading .soft-type { font-size:calc(var(--heading-size,40px)*1.2); }
 .section-heading > p,.caption-note { font-size:13px; }.hero-instruction { font-size:10px; }
 .card-art::before { border-radius:25px; }.collection-link h3 { --block-height:19px; }.collection-price { --block-height:24px; }
 .collection-tools { gap:8px; }.collection-search,.collection-location { padding-inline:13px; border-radius:16px; }.collection-location svg { right:12px; }
 .collection-tools input,.collection-tools select { font-size:12px; }
 .text-link { padding-inline:13px; font-size:12px; }.journey-copy h3 { --block-height:26px; }.journey-copy > p { font-size:13px; }
 #drop-detail,[data-theme="night"] #drop-detail { border-radius:26px 26px 0 0; }
 .questions-list summary,.questions-list details:first-child summary { padding:18px; font-size:13px; }.question-answer { padding:0 18px 20px; font-size:12px; }
 .budget-block { border-radius:8px; height:25px; }.budget-percent .soft-type { font-size:34px; }.budget-row dt { font-size:14px; }
 .kit-preview { border-radius:26px; }.next-destinations { gap:14px; }.next-destinations > a,.next-destinations > a + a { padding:25px 45px 28px 24px; border-radius:25px; }.next-destinations h2 { --block-height:32px; }
 .app-status-section { padding-inline:24px; border-radius:25px; }
 .atlas-title { top:25px; }.atlas-title .section-kicker { font-size:10px; letter-spacing:.2px; margin-bottom:11px; }.atlas-title h1 .soft-type { font-size:42px; }.atlas-title h1 { margin-bottom:12px; }.atlas-title > p:last-child { font-size:11px; }
 .route-pin { border-radius:15px; padding:9px 29px 10px 11px; min-height:50px; }.pin-name .soft-type { font-size:17px; }.pin-status { font-size:8px; margin-bottom:5px; }.pin-open { width:17px; height:17px; line-height:16px; right:7px; font-size:12px; }
 .atlas-controls button { width:35px; height:38px; border-radius:16px; }.atlas-controls > span { margin:0 3px; }.atlas-status { font-size:9px; }.atlas-status .tiny-block { box-shadow:none; }
 .journey-detail { border-radius:27px; }.detail-scroll { padding:32px 24px 25px; }.detail-close { top:13px; right:13px; width:34px; height:34px; }.route-chapter h2 .soft-type { font-size:30px; }.route-status { padding-right:12px; }.route-lead { font-size:14px; }
}
@media (max-width:380px) {
 .atlas-title h1 .soft-type { font-size:37px; }.atlas-title > p:last-child { font-size:10px; }.atlas-controls button { width:30px; }
 .pin-open { display:none; }.route-pin { padding:8px 11px 9px; min-height:46px; border-radius:14px; }.pin-name .soft-type { font-size:15px; }.pin-status { font-size:7px; }.route-chapter h2 .soft-type { font-size:28px; }
 .collection-link h3 { --block-height:17px; }.budget-block { border-radius:6px; }.budget-row dt { font-size:12px; }.budget-percent .soft-type { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { .soft-type,.route-pin,.solid-link,.text-link,.next-destinations > a { transition:none; }.solid-link:hover,.text-link:hover,.next-destinations > a:hover { transform:none; } }

/* 022 — signature block lettering, paired with the softer interface type. */
.world-heading { gap:10px; }
.atlas-title h1 { --block-height:clamp(37px,3.5vw,50px); }
.pin-name { --block-height:16px; }
.pin-name .block-front { fill:#2d4345; }
.pin-name .block-side { fill:#718681; }
.pin-name .block-base { fill:#98aaa2; }
.pin-name .block-edge { stroke:#b9c9bf; stroke-opacity:.5; }
.route-chapter h2 { font-family:var(--soft-font); font-weight:800; font-size:34px; line-height:1.08; letter-spacing:-.04em; }
.collection-link h3 { --block-height:clamp(13px,1.18vw,18px); }
.collection-price { --block-height:24px; }
.next-destinations h2 { --block-height:clamp(24px,2.7vw,32px); }
@media (max-width:1100px) {
 .pin-name { --block-height:15px; }
 .atlas-title h1 { --block-height:37px; }
}
@media (max-width:700px) {
 .pin-name { --block-height:13px; }
 .atlas-title h1 { --block-height:32px; }
 .route-chapter h2 { font-size:30px; }
 .collection-link h3 { --block-height:17px; }
 .collection-price { --block-height:23px; }
 .next-destinations h2 { --block-height:27px; }
}
@media (max-width:380px) {
 .pin-name { --block-height:11px; }
 .atlas-title h1 { --block-height:28px; }
 .route-chapter h2 { font-size:28px; }
 .collection-link h3 { --block-height:15px; }
 .collection-price { --block-height:21px; }
 .next-destinations h2 { --block-height:23px; }
}
