:root {
  --dreamland-title:#6d4f53;
  --dreamland-text:#655b64;
  --dreamland-muted:#948b94;
  --dreamland-pink:#df6f93;
  --dreamland-line:rgba(217,120,143,.16);
}
.dreamland-page,.dreamland-page *,.blind-box-reference-page,.blind-box-reference-page * { box-sizing:border-box; }
.dreamland-page { min-height:100dvh; margin:0; padding:0; color:var(--dreamland-text); background:transparent; font-family:system-ui,sans-serif; }
.dreamland-page a { color:inherit; text-decoration:none; }
.dreamland-shell { width:min(430px,calc(100% - 24px)); min-height:100dvh; margin:auto; padding:0 0 calc(74px + env(safe-area-inset-bottom)); }
.dreamland-topbar { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding-top:max(16px,env(safe-area-inset-top)); }
.dreamland-page .dream-back-pill,.blind-box-reference-page .dream-back-pill { display:inline-flex; align-items:center; justify-content:center; min-height:36px; margin:0; padding:0 14px; border:1px solid rgba(217,120,143,.18); border-radius:999px; color:var(--dream-muted,var(--dreamland-muted)); background:rgba(255,253,247,.58); font:500 13px/1 system-ui,sans-serif; text-decoration:none; }
.dreamland-hero { position:relative; display:grid; align-items:center; min-height:190px; margin:16px 0 10px; padding:20px 18px; overflow:hidden; border:1px solid var(--dreamland-line); border-radius:20px; background:linear-gradient(90deg,rgba(255,253,249,.94) 0%,rgba(255,253,249,.74) 54%,rgba(255,253,249,.2) 100%),url('https://img.allforjunming.com/img/atlas-home-background-v1.webp') center/cover no-repeat; }
.dreamland-hero::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(255,253,249,.18),transparent 68%); }
.dreamland-hero>div { position:relative; z-index:1; }
.dreamland-hero p { margin:0 0 7px; color:#c48796; font-size:9px; font-weight:600; letter-spacing:.16em; }
.dreamland-hero h1 { margin:0; color:var(--dreamland-title); font:750 25px/1.18 system-ui,sans-serif; letter-spacing:.01em; }
.dreamland-module-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.dreamland-module-row { display:flex; align-items:flex-end; justify-content:space-between; min-width:0; min-height:112px; padding:16px; border:1px solid var(--dreamland-line); border-radius:18px; color:var(--dreamland-title); background:rgba(255,253,249,.84); box-shadow:0 8px 22px rgba(94,68,61,.05); }
.dreamland-module-row strong { color:var(--dreamland-title); font:650 15px/1.3 system-ui,sans-serif; }
.dreamland-module-row i { color:var(--dreamland-pink); font-size:20px; font-style:normal; line-height:1; }
.dreamland-feature-shell .dreamland-feature-hero { position:relative; display:grid; min-height:150px; align-content:center; margin:16px 0 10px; padding:18px; overflow:hidden; border:1px solid var(--dreamland-line); border-radius:20px; background:linear-gradient(90deg,rgba(255,253,249,.94),rgba(255,253,249,.7)),url('https://img.allforjunming.com/img/atlas-home-background-v1.webp') center/cover no-repeat; }
.dreamland-feature-hero p { margin:8px 0 4px; color:#c48796; font-size:9px; font-weight:600; letter-spacing:.16em; }
.dreamland-feature-hero h1 { margin:0; color:var(--dreamland-title); font:750 24px/1.2 system-ui,sans-serif; }
.dreamland-feature-hero>span:last-child { margin-top:5px; color:var(--dreamland-muted); font-size:11px; }
.dreamland-card-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:12px; color:var(--dreamland-pink); background:rgba(252,227,232,.86); font-size:19px; }
.dreamland-feature-panel { display:grid; gap:8px; padding:20px 18px; border:1px solid var(--dreamland-line); border-radius:18px; background:linear-gradient(90deg,rgba(255,253,249,.94),rgba(255,253,249,.78)),url('https://img.allforjunming.com/img/atlas-home-background-v1.webp') center/cover no-repeat; }
.dreamland-feature-panel p { margin:0; color:#c48796; font-size:9px; font-weight:700; letter-spacing:.14em; }
.dreamland-feature-panel h2 { margin:0; color:var(--dreamland-title); font-size:17px; }
.dreamland-feature-panel>span { color:var(--dreamland-muted); font-size:11px; }
.dreamland-feature-placeholder { display:grid; min-height:150px; place-items:center; margin-top:6px; border-radius:14px; color:#d89aac; background:rgba(255,253,249,.58); font-size:52px; }
.dreamland-feature-panel button { justify-self:start; min-height:36px; padding:0 14px; border:0; border-radius:999px; color:#fff; background:var(--dreamland-pink); font-size:11px; }
/* Unified Dreamland shell. The guide keeps the reference page's horizontal card
   design; only the surrounding paper, controls, and spacing are shared. */
.blind-box-reference-page { min-height:100dvh; margin:0; padding:0; color:var(--dreamland-text); background:transparent !important; font-family:system-ui,sans-serif; }
.blind-box-reference-page .blind-box-shell { width:min(430px,calc(100% - 24px)); min-height:100dvh; margin:auto; padding:0 0 calc(78px + env(safe-area-inset-bottom)); }
.blind-box-reference-page .blind-box-topbar { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:max(16px,env(safe-area-inset-top)) 0 0; font-size:13px; letter-spacing:0; }
.blind-box-reference-page .blind-box-topbar nav { display:flex; align-items:center; gap:8px; }
.blind-box-reference-page .dream-back-pill { display:inline-flex; align-items:center; justify-content:center; min-height:36px; margin:0; padding:0 14px; border:1px solid rgba(217,120,143,.18); border-radius:999px; color:var(--dreamland-muted); background:rgba(255,253,247,.64); font:500 13px/1 system-ui,sans-serif; text-decoration:none; }
.blind-box-reference-page .blind-box-topbar > .dream-back-pill { color:var(--dreamland-muted); font-weight:500; letter-spacing:0; }
.blind-box-reference-page .dreamland-auth-control { display:none !important; }
.blind-box-reference-page .blind-box-content { display:grid; gap:12px; min-width:0; margin-top:16px; }
.blind-box-reference-page [data-guide-content][hidden],
.blind-box-reference-page [data-guide-gate][hidden] { display:none!important; }
.blind-box-reference-page .blind-box-content > * { margin:0; }
.blind-box-reference-page .blind-box-gate { margin:0; padding:14px 16px; border:1px solid var(--dreamland-line); border-radius:18px; color:var(--dreamland-muted); background:rgba(255,253,249,.86); box-shadow:none; font-size:12px; }
/* Reference card layout: three equal cards with the original image/name/count rhythm. */
.blind-box-reference-page .blind-box-guide-section { min-width:0; padding:22px 14px 16px; border:1px solid #f1e3dc; border-radius:20px; background:linear-gradient(135deg,rgba(247,231,227,.94),rgba(252,245,239,.9) 65%,rgba(245,233,227,.9)); box-shadow:0 8px 22px rgba(94,68,61,.05); }
.blind-box-reference-page .blind-box-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 3px 20px; }
.blind-box-reference-page .blind-box-section-heading .blind-box-section-label { display:none; }
.blind-box-reference-page .blind-box-section-heading h2 { margin:0; color:var(--dreamland-title); font:650 23px/1.25 system-ui,sans-serif; letter-spacing:.04em; }
.blind-box-reference-page .blind-box-section-heading h2::before { content:'✦'; margin-right:9px; color:var(--dreamland-pink); }
.blind-box-reference-page .blind-box-section-heading > span { color:var(--dreamland-muted); font-size:12px; }
.blind-box-reference-page .blind-box-prize-grid { display:flex; gap:10px; align-items:flex-start; overflow-x:auto; padding:0; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
.blind-box-reference-page .blind-box-prize-grid::-webkit-scrollbar { display:none; }
.blind-box-reference-page .blind-box-prize-card { flex:0 0 calc((100% - 20px) / 3); min-width:0; padding:6px 6px 12px; border:0; border-radius:13px; background:rgba(255,253,250,.86); box-shadow:none; scroll-snap-align:start; }
.blind-box-reference-page .blind-box-prize-summary { display:flex; flex-direction:column; gap:10px; text-align:center; }
.blind-box-reference-page .blind-box-placeholder-image { position:relative; width:100%; height:auto; aspect-ratio:4 / 5; overflow:hidden; border-radius:9px; background:linear-gradient(150deg,#eee7e0,#f7f1e9); box-shadow:none; }
.blind-box-reference-page .blind-box-placeholder-image img { width:100%; height:100%; object-fit:contain; padding:6px; }
.blind-box-reference-page .blind-box-placeholder-image > small { position:absolute; bottom:7px; left:50%; transform:translateX(-50%); padding:3px 7px; border-radius:20px; background:#fff9f0de; color:#a28a7e; font-size:9px; white-space:nowrap; }
.blind-box-reference-page .blind-box-prize-name { width:100%; padding:0 2px; }
.blind-box-reference-page .blind-box-prize-name b { display:-webkit-box; min-height:38px; overflow:hidden; color:var(--dreamland-title); font-size:12px; font-weight:600; line-height:19px; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.blind-box-reference-page .blind-box-prize-count { justify-content:center; align-items:center; min-width:66px; min-height:38px; margin:0 auto; padding:5px 12px; border:0; border-radius:20px; color:#ae3531; background:#f6e7e1; }
.blind-box-reference-page .blind-box-prize-count strong { margin:0; font-size:19px; font-weight:600; }
.blind-box-reference-page .blind-box-prize-count small { color:#a77a6c; }
.blind-box-reference-page .blind-box-carousel-footer { display:flex; justify-content:flex-end; gap:8px; margin:18px 3px 0; color:#b4988b; font-size:10px; }
.blind-box-reference-page .blind-box-collection-detail-panel { margin-top:14px; padding:10px 14px; border-radius:12px; background:rgba(255,250,245,.9); }

/* Dreamland remains the 2x2 module entry page. */
.dreamland-page .dreamland-topbar { min-height:52px; padding-top:max(16px,env(safe-area-inset-top)); }
.dreamland-page .dreamland-topbar .dream-back-pill { min-height:36px; padding:0 14px; border:1px solid rgba(217,120,143,.18); border-radius:999px; color:var(--dreamland-muted); background:rgba(255,253,247,.58); font:500 13px/1 system-ui,sans-serif; }
.dreamland-page .dreamland-module-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.dreamland-page .dreamland-module-row { display:flex; min-height:112px; padding:16px; border:1px solid rgba(217,120,143,.18); border-radius:18px; background:rgba(255,253,249,.84); box-shadow:0 8px 22px rgba(94,68,61,.05); }
.dreamland-page .dreamland-module-row::after { display:none; }
.dreamland-page .dreamland-module-row strong { font-size:16px; }
@media(max-width:390px) {
  .dreamland-page .dreamland-module-row { min-height:104px; padding:14px; }
  .dreamland-page .dreamland-module-row strong { font-size:15px; }
  .blind-box-reference-page .blind-box-shell { padding-inline:0; }
  .blind-box-reference-page .blind-box-guide-section { padding:16px 10px 12px; }
  .blind-box-reference-page .blind-box-section-heading { margin-bottom:14px; }
  .blind-box-reference-page .blind-box-section-heading h2 { font-size:19px; }
  .blind-box-reference-page .blind-box-prize-card { padding:5px 5px 8px; border-radius:11px; }
  .blind-box-reference-page .blind-box-prize-summary { gap:6px; }
  .blind-box-reference-page .blind-box-prize-name b { min-height:30px; font-size:10px; line-height:15px; }
  .blind-box-reference-page .blind-box-prize-count { min-width:50px; min-height:34px; padding:3px 8px; }
  .blind-box-reference-page .blind-box-prize-count strong { font-size:14px; }
  .blind-box-reference-page .blind-box-prize-count small { font-size:10px; }
}

/* Final guide cleanup: all lower actions use one card rhythm. */
.blind-box-reference-page .dream-order-disclosure,
.blind-box-reference-page .blind-box-action-card,
.blind-box-reference-page .blind-box-orders-section,
.blind-box-reference-page .blind-box-exchange-history-section {
  min-width:0;
  border:1px solid #f1e3dc;
  border-radius:20px;
  background:rgba(255,253,249,.86);
  box-shadow:0 8px 22px rgba(94,68,61,.05);
}
.blind-box-reference-page .dream-order-disclosure > summary {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:58px;
  padding:0 18px;
  color:var(--dreamland-title);
  font-size:18px;
  font-weight:650;
  line-height:1.3;
}
.blind-box-reference-page .dream-order-disclosure > summary::before {
  content:'✦';
  display:inline-grid;
  width:24px;
  height:24px;
  place-items:center;
  flex:0 0 24px;
  color:var(--dreamland-pink);
  font-size:18px;
}
.blind-box-reference-page .dream-order-disclosure > summary span { margin-left:auto; }
.blind-box-reference-page .blind-box-action-card {
  min-height:58px;
  padding:0 18px;
  gap:10px;
  color:var(--dreamland-title);
  cursor:pointer;
}
.blind-box-reference-page .blind-box-action-card > span:nth-child(2) { display:block; flex:1; }
.blind-box-reference-page .blind-box-action-card b { font-size:18px; font-weight:650; line-height:1.3; }
.blind-box-reference-page .blind-box-action-card small { display:none; }
.blind-box-reference-page .blind-box-action-card > strong { color:var(--dreamland-muted); font-size:24px; font-weight:400; }
.blind-box-reference-page .blind-box-action-icon { display:grid; width:24px; height:24px; place-items:center; flex:0 0 24px; color:var(--dreamland-pink); background:transparent; font-size:18px; }
.blind-box-reference-page .blind-box-orders-section,
.blind-box-reference-page .blind-box-exchange-history-section { padding:16px 18px; }
.blind-box-reference-page .blind-box-orders-section .blind-box-section-heading,
.blind-box-reference-page .blind-box-exchange-history-section .blind-box-section-heading { margin:0 0 12px; }
.blind-box-reference-page .blind-box-orders-section h2,
.blind-box-reference-page .blind-box-exchange-history-section h2 { font-size:18px; font-weight:650; line-height:1.3; }
.blind-box-reference-page .blind-box-prize-count { min-width:54px; min-height:34px; padding:4px 9px; }
.blind-box-reference-page .blind-box-prize-count strong { font-size:14px; font-weight:600; }
.blind-box-reference-page .blind-box-prize-count small,
.blind-box-reference-page .blind-box-prize-count i { font-size:10px; }
.blind-box-reference-page .dream-order-disclosure .blind-box-order-bind-card {
  display:grid;
  gap:14px;
  padding:16px 18px 18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.blind-box-reference-page .blind-box-action-heading { margin:0; }
.blind-box-reference-page .blind-box-action-heading p { margin:0; color:var(--dreamland-muted); font-size:12px; line-height:1.4; }
.blind-box-reference-page .blind-box-order-bind-card form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.blind-box-reference-page .blind-box-order-bind-card form > label:first-child { grid-column:1 / -1; }
.blind-box-reference-page .blind-box-order-bind-card label { display:block; min-width:0; }
.blind-box-reference-page .blind-box-order-bind-card input { width:100%; height:48px; min-height:48px; padding:0 14px; border:0; border-radius:12px; color:var(--dreamland-title); background:rgba(255,255,255,.78); font:500 16px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-order-bind-card input::placeholder { color:#9d9699; opacity:1; }
.blind-box-reference-page .blind-box-order-bind-card button { min-height:48px; padding:0 18px; border:0; border-radius:12px; color:#fff; background:#c45c78; font:650 14px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-orders-section h2::before,
.blind-box-reference-page .blind-box-exchange-history-section h2::before { content:'✦'; display:inline-grid; width:24px; height:24px; margin-right:10px; place-items:center; color:var(--dreamland-pink); font-size:18px; line-height:1; }

/* Reference-page exchange dialog. Keep this unlayered and scoped so the legacy
   guide stylesheet cannot fall back to browser-default buttons. */
.blind-box-reference-page .blind-box-modal { position:fixed; z-index:1200; inset:0; display:grid; align-items:end; }
.blind-box-reference-page .blind-box-modal-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(73,56,65,.42); cursor:pointer; }
.blind-box-reference-page .blind-box-modal-panel { position:relative; z-index:1; width:min(430px,100%); max-height:min(760px,92dvh); margin:0 auto; overflow:auto; padding:22px 18px calc(28px + env(safe-area-inset-bottom)); border:1px solid rgba(217,120,143,.18); border-bottom:0; border-radius:24px 24px 0 0; color:var(--dreamland-title); background:#fffaf7; box-shadow:0 -14px 42px rgba(73,56,65,.18); }
.blind-box-reference-page .blind-box-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.blind-box-reference-page .blind-box-modal-header .blind-box-section-label { margin:0 0 8px; color:#c05c78; font-size:12px; font-weight:700; letter-spacing:.16em; }
.blind-box-reference-page .blind-box-modal-header h2 { margin:0; color:var(--dreamland-title); font-size:24px; font-weight:700; line-height:1.25; }
.blind-box-reference-page .blind-box-modal-header p:last-child { margin:6px 0 0; color:var(--dreamland-muted); font-size:12px; line-height:1.5; }
.blind-box-reference-page .blind-box-modal-close { display:grid; width:36px; height:36px; place-items:center; flex:0 0 36px; border:0; border-radius:50%; color:var(--dreamland-muted); background:#f4edf2; cursor:pointer; font:400 24px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-rules { display:grid; gap:9px; margin:18px 0 14px; }
.blind-box-reference-page .blind-box-exchange-rules button { display:grid; gap:4px; width:100%; min-height:60px; padding:12px 14px; border:1px solid rgba(217,120,143,.2); border-radius:14px; color:var(--dreamland-title); background:#fff; cursor:pointer; font:inherit; text-align:left; }
.blind-box-reference-page .blind-box-exchange-rules button.is-active { border-color:#df6f93; background:#fff0f5; box-shadow:0 5px 16px rgba(223,111,147,.12); }
.blind-box-reference-page .blind-box-exchange-rules span { min-width:0; font-size:14px; font-weight:650; line-height:1.35; }
.blind-box-reference-page .blind-box-exchange-rules small { color:var(--dreamland-muted); font-size:11px; line-height:1.4; }
.blind-box-reference-page .blind-box-exchange-next { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; margin-top:4px; padding:0 16px; border:0; border-radius:13px; color:#fff; background:#c45c78; cursor:pointer; font:650 14px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-back { display:inline-flex; align-items:center; min-height:32px; margin:10px 0 8px; padding:0; border:0; color:#b65370; background:transparent; cursor:pointer; font:650 13px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-targets { display:grid; gap:8px; margin:12px 0 14px; padding:12px; border-radius:14px; background:#f8efe4; }
.blind-box-reference-page .blind-box-exchange-targets p { margin:0; color:var(--dreamland-muted); font-size:12px; font-weight:650; }
.blind-box-reference-page .blind-box-exchange-targets div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.blind-box-reference-page .blind-box-exchange-targets button { min-height:38px; padding:8px 10px; border:1px solid rgba(217,120,143,.2); border-radius:11px; color:var(--dreamland-title); background:#fff; cursor:pointer; font:500 12px/1.2 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-picker { display:grid; gap:14px; margin:10px 0 16px; }
.blind-box-reference-page .blind-box-picker-group { display:grid; gap:8px; }
.blind-box-reference-page .blind-box-picker-group > strong { color:var(--dreamland-title); font-size:14px; font-weight:650; }
.blind-box-reference-page .blind-box-picker-group > div { display:grid; gap:8px; }
.blind-box-reference-page .blind-box-picker-item { display:flex; align-items:center; gap:10px; min-height:58px; padding:10px 12px; border:1px solid rgba(217,120,143,.2); border-radius:14px; background:#fff; cursor:pointer; }
.blind-box-reference-page .blind-box-picker-item:has(input:checked) { border-color:#df6f93; background:#fff0f5; }
.blind-box-reference-page .blind-box-picker-item input { width:18px; height:18px; accent-color:#c45c78; }
.blind-box-reference-page .blind-box-picker-item span { display:grid; gap:3px; min-width:0; color:var(--dreamland-title); font-size:13px; line-height:1.3; }
.blind-box-reference-page .blind-box-picker-item small { color:var(--dreamland-muted); font-size:11px; }
.blind-box-reference-page .blind-box-exchange-form { display:grid; gap:10px; }
.blind-box-reference-page .blind-box-exchange-selection { min-height:20px; margin:0; color:#c45c78; font-size:12px; line-height:1.45; }
.blind-box-reference-page .blind-box-exchange-form label { display:grid; gap:7px; color:var(--dreamland-muted); font-size:12px; }
.blind-box-reference-page .blind-box-exchange-form input { width:100%; height:48px; padding:0 14px; border:1px solid rgba(217,120,143,.2); border-radius:12px; color:var(--dreamland-title); background:#fff; font:500 16px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-form button[type="submit"] { min-height:46px; border:0; border-radius:13px; color:#fff; background:#c45c78; cursor:pointer; font:650 14px/1 system-ui,sans-serif; }
.blind-box-reference-page .blind-box-exchange-form button[type="submit"]:disabled { opacity:.5; cursor:not-allowed; }

/* Dreamland map: the entries read as a vertical route, not a card grid. */
.dreamland-page .dreamland-hero {
  min-height:190px;
  margin-bottom:0;
  border-radius:24px;
}
.dreamland-page .dreamland-hero-note {
  display:block;
  margin-top:10px;
  color:var(--dreamland-muted);
  font-size:12px;
  line-height:1.6;
}
.dreamland-page .dreamland-module-list {
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:108px;
  gap:72px;
  min-height:648px;
  margin-top:28px;
  padding:0;
}
.dreamland-page .dreamland-route {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.dreamland-page .dreamland-route-line {
  fill:none;
  stroke:rgba(226,150,165,.58);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-dasharray:1.5 6;
  vector-effect:non-scaling-stroke;
}
.dreamland-page .dreamland-route-spark {
  fill:rgba(223,111,147,.62);
}
.dreamland-page .dreamland-route-dots {
  fill:rgba(226,150,165,.46);
}
.dreamland-page .dreamland-module-row {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  column-gap:12px;
  width:min(68vw,290px);
  height:108px;
  min-height:108px;
  margin:0;
  padding:14px 14px 14px 13px;
  border:1px solid rgba(225,190,180,.36);
  border-radius:28px;
  color:var(--dreamland-title);
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 26px rgba(190,140,130,.10);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  transition:transform .18s ease,box-shadow .18s ease;
}
.dreamland-page .dreamland-module-row--left { justify-self:start; }
.dreamland-page .dreamland-module-row--right { justify-self:end; }
.dreamland-page .dreamland-module-row:hover {
  transform:translateY(-2px);
  box-shadow:0 11px 28px rgba(190,140,130,.14);
}
.dreamland-page .dreamland-module-row:active { transform:scale(.98); }
.dreamland-page .dreamland-module-row::after { display:none; }
.dreamland-page .dreamland-module-icon {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
}
.dreamland-page .dreamland-module-icon svg {
  width:25px;
  height:25px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dreamland-page .dreamland-module-icon--book {
  color:#c57e91;
  background:#fce3e8;
}
.dreamland-page .dreamland-module-icon--story {
  color:#7f9b83;
  background:#e8f1e7;
}
.dreamland-page .dreamland-module-icon--keeper {
  color:#c57e91;
  background:#fce3e8;
}
.dreamland-page .dreamland-module-icon--games {
  color:#8491b0;
  background:#e9eafb;
}
.dreamland-page .dreamland-module-copy {
  display:grid;
  min-width:0;
  align-content:center;
  gap:3px;
}
.dreamland-page .dreamland-module-copy small {
  overflow:hidden;
  color:#c48796;
  font-size:8px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dreamland-page .dreamland-module-copy strong {
  overflow:hidden;
  color:var(--dreamland-title);
  font-size:20px;
  font-weight:650;
  line-height:1.18;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dreamland-page .dreamland-module-copy em {
  overflow:hidden;
  color:var(--dreamland-muted);
  font-size:12px;
  font-style:normal;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dreamland-page .dreamland-module-chevron {
  align-self:center;
  color:var(--dreamland-pink);
  font-size:24px;
  font-style:normal;
  font-weight:400;
  line-height:1;
}
.dreamland-page .dreamland-module-lock {
  position:absolute;
  z-index:0;
  right:18px;
  top:50%;
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid rgba(199,126,145,.15);
  border-radius:50%;
  color:rgba(184,112,133,.56);
  background:rgba(252,227,232,.62);
  font-size:27px;
  line-height:1;
  opacity:.72;
  transform:translateY(-50%);
  pointer-events:none;
}
.dreamland-page .dreamland-module-row--left .dreamland-module-lock { right:18px; }
.dreamland-page .dreamland-module-row--left .dreamland-module-copy,
.dreamland-page .dreamland-module-row--left .dreamland-module-chevron { position:relative; z-index:1; }
@media (max-width:390px) {
  .dreamland-page .dreamland-module-row {
    width:min(70vw,276px);
    padding-inline:11px;
  }
  .dreamland-page .dreamland-module-copy strong { font-size:18px; }
  .dreamland-page .dreamland-module-copy em { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .dreamland-page .dreamland-module-row { transition:none; }
  .dreamland-page .dreamland-module-row:hover,
  .dreamland-page .dreamland-module-row:active { transform:none; }
}

/* Cute reference pass: larger paper-patch icons and the existing mascots peeking
   over each node. The image files remain untouched; these are only positioned
   and cropped by their wrappers. */
.dreamland-page .dreamland-topbar {
  display:grid;
  grid-template-columns:auto auto;
  width:100%;
  gap:8px;
}
.dreamland-page .dreamland-topbar > .dream-back-pill:last-child { justify-self:end; }
.dreamland-page .dream-back-pill {
  min-height:44px;
  padding-inline:20px;
  border-color:rgba(226,150,165,.28);
  color:#795b5e;
  background:rgba(255,253,249,.68);
  font-size:16px;
}
.dreamland-page .dreamland-hero {
  min-height:202px;
  background:linear-gradient(90deg,rgba(255,253,249,.95) 0%,rgba(255,253,249,.76) 52%,rgba(255,253,249,.2) 100%),url('https://img.allforjunming.com/img/atlas-home-background-v1.webp') center/cover no-repeat;
}
.dreamland-page .dreamland-hero h1 { font-size:31px; }
.dreamland-page .dreamland-hero-note { font-size:14px; }
.dreamland-page .dreamland-route-line {
  stroke-width:2.1;
  stroke-dasharray:2.2 7;
}
.dreamland-page .dreamland-map-doodle {
  position:absolute;
  z-index:0;
  pointer-events:none;
  color:#f3b6b9;
  font-size:31px;
  line-height:1;
  text-shadow:0 1px rgba(255,255,255,.7);
}
.dreamland-page .dreamland-map-doodle--star-one { top:31%; left:5%; color:#f5c979; }
.dreamland-page .dreamland-map-doodle--heart { top:53%; right:4%; color:#efb1bd; font-size:26px; }
.dreamland-page .dreamland-map-doodle--star-two { top:78%; left:7%; color:#b8cde6; font-size:28px; }
.dreamland-page .dreamland-module-row {
  grid-template-columns:62px minmax(0,1fr) auto;
  column-gap:12px;
  border-radius:56px;
  background:rgba(255,253,249,.84);
}
.dreamland-page .dreamland-module-icon {
  width:62px;
  height:62px;
}
.dreamland-page .dreamland-module-icon svg { width:37px; height:37px; stroke-width:1.35; }
.dreamland-page .dreamland-module-copy strong { font-size:21px; }
.dreamland-page .dreamland-module-copy em { font-size:14px; }
.dreamland-page .dreamland-module-mascot {
  position:absolute;
  z-index:2;
  top:-54px;
  width:92px;
  height:72px;
  overflow:hidden;
  pointer-events:none;
}
.dreamland-page .dreamland-module-mascot img {
  position:absolute;
  inset:auto 0 -18px;
  width:92px;
  height:92px;
  object-fit:contain;
  object-position:center bottom;
}
.dreamland-page .dreamland-module-row--left .dreamland-module-mascot { left:58px; }
.dreamland-page .dreamland-module-row--right .dreamland-module-mascot { right:38px; }
@media (max-width:390px) {
  .dreamland-page .dream-back-pill { padding-inline:16px; font-size:15px; }
  .dreamland-page .dreamland-hero h1 { font-size:29px; }
  .dreamland-page .dreamland-module-row { grid-template-columns:58px minmax(0,1fr) auto; }
  .dreamland-page .dreamland-module-icon { width:58px; height:58px; }
  .dreamland-page .dreamland-module-icon svg { width:34px; height:34px; }
  .dreamland-page .dreamland-module-copy strong { font-size:19px; }
  .dreamland-page .dreamland-module-copy em { font-size:12px; }
  .dreamland-page .dreamland-module-mascot { transform:scale(.9); transform-origin:center bottom; }
}

/* Final compact map pass: keep the route airy below the hero while fitting the
   four stops into one mobile viewport. The route viewBox and row rhythm use
   the same 424px height, so the dotted line is no longer vertically squeezed. */
.dreamland-page .dreamland-hero {
  min-height:180px;
  height:180px;
  margin-bottom:0;
  padding-block:18px;
}
.dreamland-page .dreamland-hero h1 { font-size:28px; }
.dreamland-page .dreamland-hero-note { margin-top:8px; font-size:13px; }
.dreamland-page .dreamland-module-list {
  grid-auto-rows:88px;
  gap:24px;
  min-height:424px;
  height:424px;
  margin-top:44px;
}
.dreamland-page .dreamland-route {
  shape-rendering:geometricPrecision;
}
.dreamland-page .dreamland-module-row {
  grid-template-columns:58px minmax(0,1fr) auto;
  width:min(68vw,290px);
  height:88px;
  min-height:88px;
  padding:10px 12px;
  border-radius:52px;
}
.dreamland-page .dreamland-module-icon {
  width:58px;
  height:58px;
  background:transparent;
}
.dreamland-page .dreamland-module-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.dreamland-page .dreamland-module-icon svg { display:none; }
.dreamland-page .dreamland-module-copy strong { font-size:19px; }
.dreamland-page .dreamland-module-copy em { font-size:12px; }
.dreamland-page .dreamland-module-mascot {
  top:-44px;
  width:78px;
  height:60px;
}
.dreamland-page .dreamland-module-mascot img {
  inset:auto 0 -14px;
  width:78px;
  height:78px;
}
.dreamland-page .dreamland-module-row--left .dreamland-module-mascot { left:52px; }
.dreamland-page .dreamland-module-row--right .dreamland-module-mascot { right:28px; }
@media (max-width:390px) {
  .dreamland-page .dreamland-hero h1 { font-size:27px; }
  .dreamland-page .dreamland-hero-note { font-size:12px; }
  .dreamland-page .dreamland-module-row {
    grid-template-columns:54px minmax(0,1fr) auto;
    width:min(70vw,276px);
    padding-inline:11px;
  }
  .dreamland-page .dreamland-module-icon { width:54px; height:54px; }
  .dreamland-page .dreamland-module-copy strong { font-size:18px; }
  .dreamland-page .dreamland-module-copy em { font-size:11px; }
  .dreamland-page .dreamland-module-mascot { transform:scale(.88); }
}
