/* Isolated lobby styles copied from the v26 game bundle: dream-theme.css */

/* Dream Journal: shared foundations, no page-specific layout. */
:root {
  --dream-bg:#F8F3EA; --dream-paper:#FFFDF7; --dream-paper-soft:#F6EDDF;
  --dream-pink:#EFA4B4; --dream-rose:#D9788F; --dream-blue:#AFC3E8;
  --dream-lavender:#B9BCE5; --dream-yellow:#F4DA79; --dream-green:#C8D59A;
  --dream-sketch:#A98573; --dream-ink:#514746; --dream-muted:#8D8180;
  --dream-tertiary:#B3A8A2; --dream-accent-ink:#9D435E;
  --dream-border:rgba(154,124,109,.20); --dream-border-strong:rgba(154,124,109,.34);
  --dream-radius-sm:8px; --dream-radius-md:12px; --dream-radius-lg:16px; --dream-radius-xl:20px;
  --dream-shadow-sm:0 4px 16px rgba(103,75,67,.06); --dream-shadow-md:0 8px 28px rgba(103,75,67,.08);
  --dream-page-x:16px;
}
.dream-page { color:var(--dream-ink); background:var(--dream-bg); font-family:system-ui,sans-serif; line-height:1.6; }
.dream-page::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.025; background-image:repeating-linear-gradient(0deg,var(--dream-sketch) 0 1px,transparent 1px 4px); }
.dream-paper,.dream-sheet,.dream-dialog { border:1px solid var(--dream-border); border-radius:var(--dream-radius-lg); background:var(--dream-paper); box-shadow:var(--dream-shadow-sm); }
.dream-section { padding-block:20px; }
.dream-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dream-eyebrow { color:var(--dream-accent-ink); font-size:10px; font-weight:700; letter-spacing:.18em; }
.dream-button { display:inline-flex; min-height:44px; padding:10px 18px; align-items:center; justify-content:center; gap:8px; border:1px solid var(--dream-border-strong); border-radius:var(--dream-radius-md); font:inherit; cursor:pointer; text-decoration:none; }
.dream-button--primary { background:var(--dream-rose); color:var(--dream-ink); }
.dream-button--secondary { background:var(--dream-paper); color:var(--dream-ink); }
.dream-chip,.dream-tag,.dream-status { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border:1px solid var(--dream-border); border-radius:999px; background:var(--dream-paper-soft); color:var(--dream-ink); font-size:12px; }
.dream-tabs { display:flex; gap:6px; overflow-x:auto; padding:5px; border-radius:var(--dream-radius-md); background:var(--dream-paper-soft); }
.dream-tabs > * { flex-shrink:0; }
.dream-stat { display:grid; gap:4px; padding:12px 16px; }
.dream-divider { border:0; border-top:1px solid var(--dream-border); }
.dream-sheet,.dream-dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
.dream-empty { padding:32px 16px; text-align:center; color:var(--dream-muted); }
.dream-note { padding:16px; border-left:3px solid var(--dream-lavender); background:var(--dream-paper-soft); }
.dream-polaroid { padding:6px 6px 16px; border:1px solid var(--dream-border); background:var(--dream-paper); box-shadow:var(--dream-shadow-md); }
.dream-tape { background:var(--dream-yellow); opacity:.65; transform:rotate(-5deg); }
.dream-sticker { object-fit:contain; pointer-events:none; }
.dream-page :focus-visible { outline:2px solid var(--dream-accent-ink); outline-offset:3px; }
.dream-page :is(input,textarea,select) { scroll-margin-block:90px; }
@media(prefers-reduced-motion:reduce) { .dream-page { scroll-behavior:auto; } }


/* Isolated lobby styles copied from the v26 game bundle: mobile-page-compat.css */

/* Desktop preserved; mobile compatibility is a lower cascade layer. */
@layer legacy {
@media(min-width:761px) {
/* Existing page adaptations retained during incremental migration. */
@media (max-width:760px){
  .material-tabs-desktop{display:none!important}

  .page-shell{display:none}

  .focus-notice{z-index:120}
.focus-notice-card{width:min(calc(100vw - 28px),440px)!important;max-height:calc(100dvh - 36px);overflow:auto}
.focus-notice-list{max-height:42dvh;overflow:auto}

  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{padding-bottom:12px!important}
.back-link,.back-home,.archive-back,.collection-home-link,.profile-back,.auth-back{display:none!important}

  .page{padding-top:14px!important}

.page .hero{margin-top:0}
.page .hero-main h1{font-size:27px}


  .hero-banner{min-height:270px}
.hero-title h1{font-size:44px}
.content-layout{padding-bottom:0!important}
.archive-sidebar{margin-top:0!important}
.archive-nav{padding-bottom:8px!important}
.archive-content{padding-bottom:18px!important}
.collection-hero{min-height:200px}
.collection-panel,.handwritten-panel{scroll-margin-top:15px}
.collection-grid,.handwritten-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.collection-top{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 12px)!important}
.collection-dialog{width:calc(100% - 20px)!important;max-height:calc(100dvh - 30px)}

  .profile-shell{padding-bottom:0!important}
.profile-topbar{padding:0 2px}
.profile-top-actions{display:none}
.profile-tabs{overflow:auto;justify-content:flex-start}
.profile-tabs button{flex:0 0 auto}
.profile-side-column{display:none}
.profile-layout{padding-top:12px}
.profile-identity-card{margin-top:10px}
.auth-shell{min-height:auto!important;padding-top:30px!important}
.auth-panel{margin-bottom:0!important}

  .profile-install-card p{margin:12px 0;color:var(--dream-muted);font-size:12px;line-height:1.65}
.profile-install-hint{display:block!important}}


@media (max-width:800px) and (hover:hover) and (pointer:fine){
  .archive-nav{display:flex!important}

  .mobile-archive-picker-toggle,
  .mobile-archive-picker{display:none!important}}


/* Shared mobile masthead: align data/material/atlas pages with the collection guide. */
@media (max-width:760px){

  .collection-nav-bar{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    display:flex!important;
    min-height:78px!important;
    height:auto!important;
    align-items:center!important;
    padding:18px 18px 15px!important;
    border-bottom:1px solid rgba(216,206,196,.72)!important;
    background:var(--dream-bg)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }


  .collection-top-links,
  .collection-home-link{
    display:none!important;
  }


  .page,.feed-page,.archive-shell,.collection-shell{
    padding-top:0!important;
  }


  }


/* Unified mobile page mastheads: same image panel, same title rhythm, different labels only. */
@media (max-width:760px){
  .collection-shell,
  .feed-page,
  .archive-shell,
  .page{
    width:min(100% - 16px, 1480px)!important;
  }


  .collection-hero,
  .feed-page .hero-banner,
  .page .hero-main,
  .archive-sidebar-head{
    position:relative;
    display:flex;
    min-height:190px;
    height:190px;
    overflow:hidden;
    flex-direction:column;
    justify-content:flex-end;
    margin:10px 0 0;
    padding:24px 18px 20px;
    border:0;
    border-radius:0;
    color:var(--dream-paper);
    background:
      linear-gradient(180deg,rgba(25,18,16,.10),rgba(25,18,16,.88)),
      var(--hero-home-image,var(--latest-data-banner,var(--archive-sidebar-image,none))) center/cover no-repeat,
      #2b211e;
    box-shadow:none;
  }


  .collection-hero-art,
  .feed-page .hero-art{
    position:absolute;
    inset:0;
    display:block;
    min-height:0;
    background:var(--latest-data-banner,none) center/cover no-repeat;
    opacity:.88;
  }


  .collection-hero-art img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }


  .collection-hero::before,
  .feed-page .hero-banner::before,
  .page .hero-main::before,
  .archive-sidebar-head::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(180deg,rgba(25,18,16,.12),rgba(25,18,16,.90));
    pointer-events:none;
  }


  .collection-hero-copy,
  .feed-page .hero-title,
  .page .hero-main > *,
  .archive-sidebar-head > *{
    position:relative;
    z-index:1;
  }


  .collection-hero-copy{
    display:flex;
    min-height:auto;
    flex-direction:column;
    justify-content:flex-end;
    padding:0;
    background:transparent;
    color:inherit;
  }


  .feed-page .hero-title{
    inset:auto;
    max-width:100%;
  }


  .collection-kicker,
  .feed-page .hero-title p,
  .page .eyebrow,
  .archive-sidebar-head p{
    margin:0 0 8px;
    color:#ed6960;
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
    line-height:1.2;
  }


  .collection-hero h1,
  .feed-page .hero-title h1,
  .page .hero-main h1,
  .archive-sidebar-head h1{
    max-width:100%;
    margin:0;
    color:var(--dream-paper);
    font-family:system-ui,sans-serif;
    font-size:28px;
    font-weight:800;
    line-height:1.12;
    letter-spacing:0;
    text-shadow:none;
  }


  .collection-description,
  .archive-sidebar-head span{
    margin:7px 0 0;
    color:rgba(255,253,252,.78);
    font-size:12px;
    line-height:1.45;
    letter-spacing:0;
  }


  .collection-stats,
  .feed-page .hero-label,
  .feed-page .hero-strip,
  .feed-page .hero-banner::after,
  .collection-hero-copy::after,
  .page .hero-main::after,
  .archive-sidebar-head::after{
    display:none;
  }


  .feed-page .top-shell,
  .archive-sidebar{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }


  


  .mobile-archive-picker-toggle{
    grid-template-columns:auto 1fr auto!important;
    justify-content:stretch!important;
  }


  .mobile-archive-picker-toggle strong{
    margin-left:8px!important;
  }


  .archive-layout{
    margin-top:0!important;
  }


  .archive-content,
  .feed-page .content-layout{
    padding-top:18px!important;
  }}


/* Second-pass mobile visual system: one type scale, one archive language, no routine horizontal scrolling. */
@media (max-width:760px){
  body,body *{font-family:system-ui,sans-serif !important}

  .mobile-material-tabs a:nth-child(3){grid-column:1/-1}

  .feed-page,.feed-page .top-shell,.feed-page .content-layout,.archive-body,.collection-body,.profile-page,.auth-page{background:var(--dream-bg)!important;color:var(--dream-ink)!important}

  .feed-page .hero-banner{min-height:220px;border-radius:14px}
.feed-page .hero-title h1{font-size:var(--mobile-size-xl)}

  .archive-nav{display:none!important}
.mobile-archive-picker-toggle{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;width:100%;min-height:44px;margin:10px 0 0;padding:0 13px;border:1px solid var(--dream-border);border-radius:12px;color:var(--dream-ink);background:rgba(255,255,255,.75);text-align:left}
.mobile-archive-picker-toggle span{color:var(--dream-muted);font-size:var(--mobile-size-xs)!important}
.mobile-archive-picker-toggle strong{margin-left:10px;font-size:var(--mobile-size-sm)!important}
.mobile-archive-picker-toggle i{font-style:normal;color:var(--dream-accent-ink)}
.mobile-archive-picker{position:fixed;z-index:110;right:12px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 10px);left:12px;display:grid;gap:12px;max-height:70dvh;overflow:auto;padding:15px;border:1px solid var(--dream-border);border-radius:16px;background:var(--dream-paper);box-shadow:var(--dream-shadow-sm)}
.mobile-archive-picker[hidden]{display:none!important}
.mobile-archive-picker-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dream-border);padding-bottom:10px}
.mobile-archive-picker-head button{width:32px;height:32px;border:0;border-radius:50%;background:#f2e8df;font-size:20px}
.mobile-archive-picker-list{display:grid;gap:6px}
.mobile-archive-picker-list a{padding:12px;border-radius:9px;color:var(--dream-ink);background:#f7f1eb;font-size:var(--mobile-size-sm)!important;text-decoration:none}
.mobile-archive-picker-list a.is-active{color:#fff;background:var(--dream-accent-ink)}

  .collection-hero{display:block;min-height:0;border:0;box-shadow:none;background:transparent}
.collection-hero-art{display:none}
.collection-hero-copy{min-height:0;padding:14px 0 4px;background:transparent;color:var(--dream-ink)}
.collection-hero-copy::after{display:none}
.collection-hero h1{font-size:var(--mobile-size-lg);line-height:1.2}
.collection-description{margin:5px 0 0!important;color:var(--dream-muted)!important;font-size:var(--mobile-size-sm)!important}
.collection-stats{gap:6px!important;margin-top:10px!important}
.collection-stats span{padding:5px 8px!important;color:var(--dream-ink)!important;border-color:var(--dream-border)!important;background:transparent!important;font-size:var(--mobile-size-xs)!important}
.collection-filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px 0!important}
.collection-filter-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;overflow:visible!important}
.collection-filter{min-height:36px!important;padding:0 6px!important;font-size:var(--mobile-size-xs)!important}
.collection-search{font-size:var(--mobile-size-xs)!important}
.collection-search input{min-height:38px!important;font-size:var(--mobile-size-sm)!important}
.collection-doll-subfilters{top:42px!important;left:0!important;min-width:150px!important;padding:8px!important;box-shadow:var(--dream-shadow-sm)!important}
.collection-doll-subfilters .collection-filter{min-height:34px!important}
.collection-card h3{font-family:system-ui,sans-serif !important;font-size:var(--mobile-size-sm)!important}
.collection-card-rule{width:24px!important;margin-top:7px!important}

  .profile-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important}
.profile-tabs button{width:100%!important;min-width:0!important;padding:0 3px!important;font-size:var(--mobile-size-sm)!important}
.profile-view[data-profile-view="reactions"],.profile-view[data-profile-view="collection"]{padding:18px 0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.profile-view[data-profile-view="cards"]{display:none!important}
.profile-kind-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0!important}
.profile-subtabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important}
.profile-subtabs button{width:100%;min-height:38px;font-size:var(--mobile-size-sm)!important}
.profile-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.profile-home-actions a,.profile-home-actions button{display:grid;gap:3px;min-height:72px;padding:12px;border:1px solid var(--dream-border);border-radius:10px;color:var(--dream-ink);background:var(--dream-paper);text-align:left;text-decoration:none}
.profile-home-actions span{color:var(--dream-accent-ink);font-size:var(--mobile-size-xs)!important;font-weight:900}
.profile-home-actions strong{font-size:var(--mobile-size-sm)!important}
.profile-home-actions b{color:var(--dream-muted);font-size:var(--mobile-size-xs)!important}}


/* Mobile harmony pass: quieter typography and bottom navigation. */
@media (max-width:760px){
  .focus-notice-card{font-size:12px!important}}


/* Final mobile type and component rhythm. */
@media (max-width:760px){

  .mobile-material-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    height:auto!important;
    min-height:0!important;
  }


  .mobile-material-tabs a:nth-child(3){
    grid-column:1/-1!important;
  }


  .focus-notice-card{
    width:min(calc(100vw - 28px),420px)!important;
    padding:20px 18px 16px!important;
    border-radius:var(--mobile-radius-sheet)!important;
    font-size:var(--mobile-size-body)!important;
  }

  .focus-notice-kicker{font-size:var(--mobile-size-label)!important}

  .focus-notice-title{font-size:var(--mobile-size-title)!important;line-height:1.3!important}

  .focus-notice-description,.focus-notice-copy small{font-size:var(--mobile-size-body)!important}

  .focus-notice-copy strong,.focus-notice-confirm{font-size:var(--mobile-size-strong)!important}

  .focus-notice-number,.focus-notice-arrow{font-size:18px!important}


  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{
    padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 28px)!important;
  }


  .mobile-archive-picker{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    margin:8px 0 0!important;
    height:fit-content!important;
    max-height:none!important;
    align-content:start!important;
    box-sizing:border-box!important;
  }


  .profile-topbar{
    align-items:center!important;
    gap:10px!important;
  }


  .profile-top-actions{
    display:flex!important;
    flex:0 0 auto!important;
    gap:6px!important;
  }


  .profile-header-edit > summary,
  .profile-logout{
    display:inline-flex!important;
    min-height:32px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 10px!important;
    border:1px solid var(--dream-border)!important;
    border-radius:999px!important;
    background:rgba(255,253,250,.76)!important;
    color:var(--dream-ink)!important;
    font-size:11px!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }


  .profile-logout{
    cursor:pointer!important;
  }


  .profile-logout:disabled{
    opacity:.62!important;
  }


  .profile-back{
    display:none!important;
  }}


}

.focus-notice {
  align-items:center !important;
  justify-items:center !important;
  place-items:center !important;
}
@media(max-width:760px) {
/* Existing page adaptations retained during incremental migration. */
@media (max-width:760px){
  .material-tabs-desktop{display:none}

  .page-shell{display:none}

  .focus-notice{z-index:120}
.focus-notice-card{width:min(calc(100vw - 28px),440px);max-height:calc(100dvh - 36px);overflow:auto}
.focus-notice-list{max-height:42dvh;overflow:auto}

  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{padding-bottom:12px}
.back-link,.back-home,.archive-back,.collection-home-link,.profile-back,.auth-back{display:none}

  .page{padding-top:14px}

.page .hero{margin-top:0}
.page .hero-main h1{font-size:27px}


  .hero-banner{min-height:270px}
.hero-title h1{font-size:44px}
.content-layout{padding-bottom:0}
.archive-sidebar{margin-top:0}
.archive-nav{padding-bottom:8px}
.archive-content{padding-bottom:18px}
.collection-hero{min-height:200px}
.collection-panel,.handwritten-panel{scroll-margin-top:15px}
.collection-grid,.handwritten-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.collection-top{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 12px)}
.collection-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 30px)}

  .profile-shell{padding-bottom:0}
.profile-topbar{padding:0 2px}
.profile-top-actions{display:none}
.profile-tabs{overflow:auto;justify-content:flex-start}
.profile-tabs button{flex:0 0 auto}
.profile-side-column{display:none}
.profile-layout{padding-top:12px}
.profile-identity-card{margin-top:10px}
.auth-shell{min-height:auto;padding-top:30px}
.auth-panel{margin-bottom:0}

  .profile-install-card p{margin:12px 0;color:var(--dream-muted);font-size:12px;line-height:1.65}
.profile-install-hint{display:block}}


@media (max-width:800px) and (hover:hover) and (pointer:fine){
  .archive-nav{display:flex}

  .mobile-archive-picker-toggle,
  .mobile-archive-picker{display:none}}


/* Shared mobile masthead: align data/material/atlas pages with the collection guide. */
@media (max-width:760px){

  .collection-nav-bar{
    position:relative;
    top:auto;
    z-index:1;
    display:flex;
    min-height:78px;
    height:auto;
    align-items:center;
    padding:18px 18px 15px;
    border-bottom:1px solid rgba(216,206,196,.72);
    background:var(--dream-bg);
    box-shadow:none;
    backdrop-filter:none;
  }


  .collection-top-links,
  .collection-home-link{
    display:none;
  }


  .page,.feed-page,.archive-shell,.collection-shell{
    padding-top:0;
  }


  }


/* Unified mobile page mastheads: same image panel, same title rhythm, different labels only. */
@media (max-width:760px){
  .collection-shell,
  .feed-page,
  .archive-shell,
  .page{
    width:min(100% - 16px, 1480px);
  }


  .collection-hero,
  .feed-page .hero-banner,
  .page .hero-main,
  .archive-sidebar-head{
    position:relative;
    display:flex;
    min-height:190px;
    height:190px;
    overflow:hidden;
    flex-direction:column;
    justify-content:flex-end;
    margin:10px 0 0;
    padding:24px 18px 20px;
    border:0;
    border-radius:0;
    color:var(--dream-paper);
    background:
      linear-gradient(180deg,rgba(25,18,16,.10),rgba(25,18,16,.88)),
      var(--hero-home-image,var(--latest-data-banner,var(--archive-sidebar-image,none))) center/cover no-repeat,
      #2b211e;
    box-shadow:none;
  }


  .collection-hero-art,
  .feed-page .hero-art{
    position:absolute;
    inset:0;
    display:block;
    min-height:0;
    background:var(--latest-data-banner,none) center/cover no-repeat;
    opacity:.88;
  }


  .collection-hero-art img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }


  .collection-hero::before,
  .feed-page .hero-banner::before,
  .page .hero-main::before,
  .archive-sidebar-head::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(180deg,rgba(25,18,16,.12),rgba(25,18,16,.90));
    pointer-events:none;
  }


  .collection-hero-copy,
  .feed-page .hero-title,
  .page .hero-main > *,
  .archive-sidebar-head > *{
    position:relative;
    z-index:1;
  }


  .collection-hero-copy{
    display:flex;
    min-height:auto;
    flex-direction:column;
    justify-content:flex-end;
    padding:0;
    background:transparent;
    color:inherit;
  }


  .feed-page .hero-title{
    inset:auto;
    max-width:100%;
  }


  .collection-kicker,
  .feed-page .hero-title p,
  .page .eyebrow,
  .archive-sidebar-head p{
    margin:0 0 8px;
    color:#ed6960;
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
    line-height:1.2;
  }


  .collection-hero h1,
  .feed-page .hero-title h1,
  .page .hero-main h1,
  .archive-sidebar-head h1{
    max-width:100%;
    margin:0;
    color:var(--dream-paper);
    font-family:system-ui,sans-serif;
    font-size:28px;
    font-weight:800;
    line-height:1.12;
    letter-spacing:0;
    text-shadow:none;
  }


  .collection-description,
  .archive-sidebar-head span{
    margin:7px 0 0;
    color:rgba(255,253,252,.78);
    font-size:12px;
    line-height:1.45;
    letter-spacing:0;
  }


  .collection-stats,
  .feed-page .hero-label,
  .feed-page .hero-strip,
  .feed-page .hero-banner::after,
  .collection-hero-copy::after,
  .page .hero-main::after,
  .archive-sidebar-head::after{
    display:none;
  }


  .feed-page .top-shell,
  .archive-sidebar{
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }


  


  .mobile-archive-picker-toggle{
    grid-template-columns:auto 1fr auto;
    justify-content:stretch;
  }


  .mobile-archive-picker-toggle strong{
    margin-left:8px;
  }


  .archive-layout{
    margin-top:0;
  }


  .archive-content,
  .feed-page .content-layout{
    padding-top:18px;
  }}


/* Second-pass mobile visual system: one type scale, one archive language, no routine horizontal scrolling. */
@media (max-width:760px){
  body,body *{font-family:system-ui,sans-serif}

  .mobile-material-tabs a:nth-child(3){grid-column:1/-1}

  .feed-page,.feed-page .top-shell,.feed-page .content-layout,.archive-body,.collection-body,.profile-page,.auth-page{background:var(--dream-bg);color:var(--dream-ink)}

  .feed-page .hero-banner{min-height:220px;border-radius:14px}
.feed-page .hero-title h1{font-size:var(--mobile-size-xl)}

  .archive-nav{display:none}
.mobile-archive-picker-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:100%;min-height:44px;margin:10px 0 0;padding:0 13px;border:1px solid var(--dream-border);border-radius:12px;color:var(--dream-ink);background:rgba(255,255,255,.75);text-align:left}
.mobile-archive-picker-toggle span{color:var(--dream-muted);font-size:var(--mobile-size-xs)}
.mobile-archive-picker-toggle strong{margin-left:10px;font-size:var(--mobile-size-sm)}
.mobile-archive-picker-toggle i{font-style:normal;color:var(--dream-accent-ink)}
.mobile-archive-picker{position:fixed;z-index:110;right:12px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 10px);left:12px;display:grid;gap:12px;max-height:70dvh;overflow:auto;padding:15px;border:1px solid var(--dream-border);border-radius:16px;background:var(--dream-paper);box-shadow:var(--dream-shadow-sm)}
.mobile-archive-picker[hidden]{display:none}
.mobile-archive-picker-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dream-border);padding-bottom:10px}
.mobile-archive-picker-head button{width:32px;height:32px;border:0;border-radius:50%;background:#f2e8df;font-size:20px}
.mobile-archive-picker-list{display:grid;gap:6px}
.mobile-archive-picker-list a{padding:12px;border-radius:9px;color:var(--dream-ink);background:#f7f1eb;font-size:var(--mobile-size-sm);text-decoration:none}
.mobile-archive-picker-list a.is-active{color:#fff;background:var(--dream-accent-ink)}

  .collection-hero{display:block;min-height:0;border:0;box-shadow:none;background:transparent}
.collection-hero-art{display:none}
.collection-hero-copy{min-height:0;padding:14px 0 4px;background:transparent;color:var(--dream-ink)}
.collection-hero-copy::after{display:none}
.collection-hero h1{font-size:var(--mobile-size-lg);line-height:1.2}
.collection-description{margin:5px 0 0;color:var(--dream-muted);font-size:var(--mobile-size-sm)}
.collection-stats{gap:6px;margin-top:10px}
.collection-stats span{padding:5px 8px;color:var(--dream-ink);border-color:var(--dream-border);background:transparent;font-size:var(--mobile-size-xs)}
.collection-filters{display:grid;grid-template-columns:1fr;gap:8px;padding:10px 0}
.collection-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}
.collection-filter{min-height:36px;padding:0 6px;font-size:var(--mobile-size-xs)}
.collection-search{font-size:var(--mobile-size-xs)}
.collection-search input{min-height:38px;font-size:var(--mobile-size-sm)}
.collection-doll-subfilters{top:42px;left:0;min-width:150px;padding:8px;box-shadow:var(--dream-shadow-sm)}
.collection-doll-subfilters .collection-filter{min-height:34px}
.collection-card h3{font-family:system-ui,sans-serif;font-size:var(--mobile-size-sm)}
.collection-card-rule{width:24px;margin-top:7px}

  .profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.profile-tabs button{width:100%;min-width:0;padding:0 3px;font-size:var(--mobile-size-sm)}
.profile-view[data-profile-view="reactions"],.profile-view[data-profile-view="collection"]{padding:18px 0;border:0;box-shadow:none;background:transparent}
.profile-view[data-profile-view="cards"]{display:none}
.profile-kind-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
.profile-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.profile-subtabs button{width:100%;min-height:38px;font-size:var(--mobile-size-sm)}
.profile-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.profile-home-actions a,.profile-home-actions button{display:grid;gap:3px;min-height:72px;padding:12px;border:1px solid var(--dream-border);border-radius:10px;color:var(--dream-ink);background:var(--dream-paper);text-align:left;text-decoration:none}
.profile-home-actions span{color:var(--dream-accent-ink);font-size:var(--mobile-size-xs);font-weight:900}
.profile-home-actions strong{font-size:var(--mobile-size-sm)}
.profile-home-actions b{color:var(--dream-muted);font-size:var(--mobile-size-xs)}}


/* Mobile harmony pass: quieter typography and bottom navigation. */
@media (max-width:760px){
  .focus-notice-card{font-size:12px}}


/* Final mobile type and component rhythm. */
@media (max-width:760px){

  .mobile-material-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    height:auto;
    min-height:0;
  }


  .mobile-material-tabs a:nth-child(3){
    grid-column:1/-1;
  }


  .focus-notice-card{
    width:min(calc(100vw - 28px),420px);
    padding:20px 18px 16px;
    border-radius:var(--mobile-radius-sheet);
    font-size:var(--mobile-size-body);
  }

  .focus-notice-kicker{font-size:var(--mobile-size-label)}

  .focus-notice-title{font-size:var(--mobile-size-title);line-height:1.3}

  .focus-notice-description,.focus-notice-copy small{font-size:var(--mobile-size-body)}

  .focus-notice-copy strong,.focus-notice-confirm{font-size:var(--mobile-size-strong)}

  .focus-notice-number,.focus-notice-arrow{font-size:18px}


  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{
    padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 28px);
  }


  .mobile-archive-picker{
    position:static;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    margin:8px 0 0;
    height:fit-content;
    max-height:none;
    align-content:start;
    box-sizing:border-box;
  }


  .profile-topbar{
    align-items:center;
    gap:10px;
  }


  .profile-top-actions{
    display:flex;
    flex:0 0 auto;
    gap:6px;
  }


  .profile-header-edit > summary,
  .profile-logout{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    border:1px solid var(--dream-border);
    border-radius:999px;
    background:rgba(255,253,250,.76);
    color:var(--dream-ink);
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
  }


  .profile-logout{
    cursor:pointer;
  }


  .profile-logout:disabled{
    opacity:.62;
  }


  .profile-back{
    display:none;
  }}


}
}


/* Isolated lobby styles copied from the v26 game bundle: mobile-app.css */

/* Desktop preserved; mobile compatibility is a lower cascade layer. */
@layer legacy {
@media(min-width:761px) {
@media (max-width:760px){
  :root{--mobile-red:#b10000;--mobile-ink:#2a201d;--mobile-muted:#786d68;--mobile-paper:#fffdfa;--mobile-bg:#f5f0eb;--mobile-line:#eaded7;--mobile-nav-h:68px;}
  html{background:linear-gradient(180deg,#d7e4f6 0,#eef1f7 280px,var(--mobile-bg) 281px)} body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 14px)!important;}
  .material-tabs-desktop{display:none!important}
  .mobile-app-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:var(--mobile-nav-h);padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid rgba(49,31,25,.12);background:rgba(255,253,250,.96);box-shadow:0 -8px 30px rgba(50,30,24,.08);backdrop-filter:blur(18px)}
  .mobile-app-nav a{display:grid;min-height:48px;place-items:center;gap:2px;color:#887b75;text-decoration:none;font-size:11px;font-weight:800}.mobile-app-nav i{font-style:normal;font-size:20px;line-height:1}.mobile-app-nav a.is-active{color:var(--mobile-red)}.mobile-app-nav a.is-active i{transform:translateY(-1px)}
  .mobile-inline-tabs{position:relative;z-index:3;display:flex;gap:8px;overflow:auto;padding:10px 14px 4px;background:var(--mobile-bg);scrollbar-width:none}.mobile-inline-tabs a,.mobile-inline-tabs button{flex:0 0 auto;min-height:36px;padding:0 14px;border:1px solid var(--mobile-line);border-radius:999px;color:var(--mobile-muted);background:var(--mobile-paper);font:800 13px/1 system-ui,sans-serif;text-decoration:none}.mobile-inline-tabs .is-active{border-color:var(--mobile-red);color:#fff;background:var(--mobile-red)}
  .page-shell{display:none}.mobile-star-home{display:block;padding:0 0 20px;background:transparent;color:var(--mobile-ink);font-family:system-ui,sans-serif}.mobile-star-hero{position:relative;min-height:310px;margin:0;padding:0 18px 24px;overflow:hidden;background:center/cover var(--mobile-star-cover),#4a2b24;color:#fff}.mobile-star-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,21,48,.18),rgba(11,16,38,.82))}.mobile-star-avatar{position:absolute;z-index:1;top:18px;right:18px;width:76px;height:76px;border:3px solid rgba(255,255,255,.82);border-radius:50%;object-fit:cover}.mobile-star-intro{position:absolute;z-index:1;right:18px;bottom:76px;left:18px}.mobile-star-intro p{margin:0 0 7px;font-size:10px;font-weight:900;letter-spacing:.16em}.mobile-star-intro h1{margin:0;font-family:system-ui,sans-serif;font-size:48px;line-height:1}.mobile-star-intro span{display:block;margin-top:9px;font-size:13px}.mobile-star-links{position:absolute;z-index:1;right:18px;bottom:18px;left:18px;display:flex;gap:7px}.mobile-star-links a{padding:8px 10px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:rgba(0,0,0,.22);font-size:11px;text-decoration:none}.mobile-star-sheet{margin:-30px 14px 0;padding:18px 18px 8px;border-radius:28px 28px 0 0;background:linear-gradient(180deg,rgba(255,253,250,.96),#fffdfa 40%,#f8f2ec 100%);box-shadow:0 -1px 0 rgba(255,255,255,.5),0 12px 34px rgba(52,35,31,.08)}
  .mobile-star-section,.mobile-star-fold{margin:0;border:0;background:transparent;box-shadow:none}.mobile-star-section{padding:18px 0}.mobile-section-heading p{margin:0;color:var(--mobile-red);font-size:10px;font-weight:900;letter-spacing:.14em}.mobile-section-heading h2{margin:5px 0 16px;font-family:system-ui,sans-serif;font-size:25px}.mobile-basic-list{display:grid;gap:0;margin:0}.mobile-basic-item{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid #eaded7}.mobile-basic-item:last-child{border-bottom:0}.mobile-basic-item dt{color:var(--mobile-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.mobile-basic-item dd{margin:0}.mobile-basic-item strong{display:block;font-size:15px;line-height:1.5}.mobile-basic-item div{display:flex;flex-wrap:wrap;gap:6px}.mobile-basic-item b{padding:3px 0;color:var(--mobile-red);background:none;font-size:14px}.mobile-quote-grid{display:grid;gap:8px;margin-top:14px}.mobile-quote-grid blockquote{margin:0;padding:12px 0 0;border-top:1px solid #d7c7bc;color:#493632;background:none;font:18px/1.6 system-ui,sans-serif}.mobile-star-fold{padding:0}.mobile-star-fold summary{display:grid;grid-template-columns:1fr auto 20px;align-items:center;min-height:62px;list-style:none;cursor:pointer}.mobile-star-fold summary::-webkit-details-marker{display:none}.mobile-star-fold summary span{color:var(--mobile-red);font-size:9px;font-weight:900;letter-spacing:.12em}.mobile-star-fold summary strong{font-size:15px}.mobile-star-fold summary i{font-style:normal;text-align:right;transition:.2s}.mobile-star-fold:not([open]) summary i{transform:rotate(-90deg)}.mobile-emoji-grid,.mobile-red-grid,.mobile-birthday-list{display:grid;gap:0;padding:0 0 8px}.mobile-emoji-grid article,.mobile-birthday-list article{padding:12px 0;border-bottom:1px solid #eaded7;background:none}.mobile-emoji-grid article>div{display:flex;align-items:center;gap:8px}.mobile-emoji-grid article>div span{font-size:23px}.mobile-emoji-grid nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.mobile-emoji-grid nav a{display:grid;width:28px;height:25px;place-items:center;border-radius:6px;color:var(--mobile-red);background:#f4ebe5;font-size:11px;text-decoration:none}.mobile-red-grid a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eaded7;color:#8d160f;background:none;font-size:13px;font-weight:800;text-decoration:none}.mobile-birthday-list article{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:start}.mobile-birthday-list strong{color:var(--mobile-red);font-family:system-ui,sans-serif;font-size:18px}.mobile-birthday-list div{display:flex;flex-wrap:wrap;gap:6px}.mobile-birthday-list a{padding:5px 0;color:var(--mobile-ink);background:none;font-size:11px;text-decoration:none}.mobile-firsts ol{margin:0;padding:0;list-style:none}.mobile-firsts li{position:relative;display:grid;grid-template-columns:76px 1fr;gap:12px;padding:0 0 16px 13px;border-left:1px solid #d9bbb3}.mobile-firsts li::before{position:absolute;top:3px;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--mobile-red);content:""}.mobile-firsts time{color:var(--mobile-muted);font-size:11px}.mobile-firsts a,.mobile-firsts span{color:var(--mobile-ink);font-size:13px;font-weight:800;line-height:1.45;text-decoration:none}
  .focus-notice{z-index:120}.focus-notice-card{width:min(calc(100vw - 28px),440px)!important;max-height:calc(100dvh - 36px);overflow:auto}.focus-notice-list{max-height:42dvh;overflow:auto}
  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{padding-bottom:12px!important}.back-link,.back-home,.archive-back,.collection-home-link,.profile-back,.auth-back{display:none!important}
  .page{padding-top:14px!important}.page .hero{margin-top:0}.page .hero-main h1{font-size:27px}
  .hero-banner{min-height:270px!important}.hero-title h1{font-size:44px!important}.content-layout{padding-bottom:0!important}.feed-page .mobile-inline-tabs{margin:-4px -6px 8px}.archive-shell .mobile-inline-tabs{margin:-4px -8px 8px}.archive-sidebar{margin-top:0!important}.archive-nav{padding-bottom:8px!important}.archive-content{padding-bottom:18px!important}
  .collection-shell .mobile-inline-tabs{margin:0 -4px 10px}.collection-hero{min-height:200px!important}.collection-panel,.handwritten-panel{scroll-margin-top:15px}.collection-grid,.handwritten-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.collection-top{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 12px)!important}.collection-dialog{width:calc(100% - 20px)!important;max-height:calc(100dvh - 30px)}
  .profile-shell{padding-bottom:0!important}.profile-topbar{padding:0 2px}.profile-top-actions{display:none}.profile-tabs{overflow:auto;justify-content:flex-start}.profile-tabs button{flex:0 0 auto}.profile-side-column{display:none}.profile-layout{padding-top:12px}.profile-identity-card{margin-top:10px}.auth-shell{min-height:auto!important;padding-top:30px!important}.auth-panel{margin-bottom:0!important}.mobile-offline-page{display:grid;min-height:100dvh;place-items:center;padding:20px;background:var(--mobile-bg);font-family:system-ui,sans-serif}.mobile-offline-card{display:grid;gap:13px;width:min(100%,380px);padding:26px;border:1px solid var(--mobile-line);border-radius:20px;background:var(--mobile-paper);box-shadow:0 16px 48px rgba(67,38,28,.1)}.mobile-offline-card p{margin:0;color:var(--mobile-red);font-size:10px;font-weight:900;letter-spacing:.14em}.mobile-offline-card h1{margin:0;font:29px/1.15 system-ui,sans-serif}.mobile-offline-card span{color:var(--mobile-muted);font-size:13px;line-height:1.7}.mobile-offline-card button{min-height:44px;border:0;border-radius:12px;color:#fff;background:var(--mobile-red);font-weight:800}
  .profile-install-card p{margin:12px 0;color:var(--mobile-muted);font-size:12px;line-height:1.65}.profile-install-hint{display:block!important}
}

/* Recent-focus dialog stays centered even on short mobile viewports. */
.focus-notice {
  align-items:center !important;
  justify-items:center !important;
  place-items:center !important;
}

@media (max-width:800px) and (hover:hover) and (pointer:fine){
  .archive-nav{display:flex!important}
  .mobile-archive-picker-toggle,
  .mobile-archive-picker{display:none!important}
}
@media (min-width:761px){.mobile-star-home,.mobile-app-nav,.mobile-inline-tabs{display:none!important}}
.mobile-brand-header{display:none}

/* Shared mobile masthead: align data/material/atlas pages with the collection guide. */
@media (max-width:760px){
  .mobile-brand-header{
    display:flex!important;
    align-items:center!important;
    width:100vw!important;
    min-height:78px!important;
    margin-left:calc(50% - 50vw)!important;
    padding:18px 18px 15px!important;
    border-bottom:1px solid rgba(216,206,196,.72)!important;
    background:#f7f5ee!important;
  }

  .mobile-brand-header-link,
  .collection-brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:12px!important;
    color:#323030!important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
    line-height:1!important;
  }

  .mobile-brand-header-link span,
  .collection-brand span{
    flex:0 0 auto!important;
    width:14px!important;
    height:14px!important;
    border:3px solid var(--mobile-red,#b10000)!important;
    background:transparent!important;
    transform:rotate(45deg)!important;
  }

  .mobile-brand-header-link strong{
    font:inherit!important;
    white-space:nowrap!important;
  }

  .collection-nav-bar{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    display:flex!important;
    min-height:78px!important;
    height:auto!important;
    align-items:center!important;
    padding:18px 18px 15px!important;
    border-bottom:1px solid rgba(216,206,196,.72)!important;
    background:#f7f5ee!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  .collection-top-links,
  .collection-home-link{
    display:none!important;
  }

  .page,.feed-page,.archive-shell,.collection-shell{
    padding-top:0!important;
  }

  

  .feed-page .mobile-inline-tabs,
  .archive-shell .mobile-inline-tabs,
  .collection-shell .mobile-inline-tabs{
    margin-top:0!important;
  }
}

/* Unified mobile page mastheads: same image panel, same title rhythm, different labels only. */
@media (max-width:760px){
  .collection-shell,
  .feed-page,
  .archive-shell,
  .page{
    width:min(100% - 16px, 1480px)!important;
  }

  .collection-hero,
  .feed-page .hero-banner,
  .page .hero-main,
  .archive-sidebar-head{
    position:relative!important;
    display:flex!important;
    min-height:190px!important;
    height:190px!important;
    overflow:hidden!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    margin:10px 0 0!important;
    padding:24px 18px 20px!important;
    border:0!important;
    border-radius:0!important;
    color:#fffdfc!important;
    background:
      linear-gradient(180deg,rgba(25,18,16,.10),rgba(25,18,16,.88)),
      var(--hero-home-image,var(--latest-data-banner,var(--archive-sidebar-image,none))) center/cover no-repeat,
      #2b211e!important;
    box-shadow:none!important;
  }

  .collection-hero-art,
  .feed-page .hero-art{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    min-height:0!important;
    background:var(--latest-data-banner,none) center/cover no-repeat!important;
    opacity:.88!important;
  }

  .collection-hero-art img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .collection-hero::before,
  .feed-page .hero-banner::before,
  .page .hero-main::before,
  .archive-sidebar-head::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background:linear-gradient(180deg,rgba(25,18,16,.12),rgba(25,18,16,.90))!important;
    pointer-events:none!important;
  }

  .collection-hero-copy,
  .feed-page .hero-title,
  .page .hero-main > *,
  .archive-sidebar-head > *{
    position:relative!important;
    z-index:1!important;
  }

  .collection-hero-copy{
    display:flex!important;
    min-height:auto!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    padding:0!important;
    background:transparent!important;
    color:inherit!important;
  }

  .feed-page .hero-title{
    inset:auto!important;
    max-width:100%!important;
  }

  .collection-kicker,
  .feed-page .hero-title p,
  .page .eyebrow,
  .archive-sidebar-head p{
    margin:0 0 8px!important;
    color:#ed6960!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.18em!important;
    line-height:1.2!important;
  }

  .collection-hero h1,
  .feed-page .hero-title h1,
  .page .hero-main h1,
  .archive-sidebar-head h1{
    max-width:100%!important;
    margin:0!important;
    color:#fffdfc!important;
    font-family:system-ui,sans-serif !important;
    font-size:28px!important;
    font-weight:800!important;
    line-height:1.12!important;
    letter-spacing:0!important;
    text-shadow:none!important;
  }

  .collection-description,
  .archive-sidebar-head span{
    margin:7px 0 0!important;
    color:rgba(255,253,252,.78)!important;
    font-size:12px!important;
    line-height:1.45!important;
    letter-spacing:0!important;
  }

  .collection-stats,
  .feed-page .hero-label,
  .feed-page .hero-strip,
  .feed-page .hero-banner::after,
  .collection-hero-copy::after,
  .page .hero-main::after,
  .archive-sidebar-head::after{
    display:none!important;
  }

  .feed-page .top-shell,
  .archive-sidebar{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .mobile-inline-tabs,
  .mobile-archive-picker-toggle{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  

  .mobile-inline-tabs a,
  .mobile-inline-tabs button,
  .mobile-archive-picker-toggle{
    min-width:0!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    border:1px solid var(--mobile-line,#eaded7)!important;
    border-radius:10px!important;
    background:#fffdf9!important;
    color:#6f6661!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:center!important;
  }

  .mobile-inline-tabs .is-active{
    border-color:var(--mobile-red,#b10000)!important;
    color:#fff!important;
    background:var(--mobile-red,#b10000)!important;
  }

  .mobile-archive-picker-toggle{
    grid-template-columns:auto 1fr auto!important;
    justify-content:stretch!important;
  }

  .mobile-archive-picker-toggle strong{
    margin-left:8px!important;
  }

  .archive-layout{
    margin-top:0!important;
  }

  .archive-content,
  .feed-page .content-layout{
    padding-top:18px!important;
  }
}

/* Second-pass mobile visual system: one type scale, one archive language, no routine horizontal scrolling. */
@media (max-width:760px){
  :root{--mobile-font:system-ui,sans-serif;--mobile-display:system-ui,sans-serif;--mobile-size-xs:10px;--mobile-size-sm:11px;--mobile-size-md:13px;--mobile-size-lg:20px;--mobile-size-xl:32px}
  body,body *{font-family:system-ui,sans-serif !important}
  h1,h2,h3,.mobile-star-intro h1,.mobile-section-heading h2,.hero-title h1,.archive-hero h2,.douyin-hero h2,.guides-hero h2,.assessments-hero h2,.collection-hero h1,.profile-section-heading h2{font-family:system-ui,sans-serif !important;font-weight:800!important}
  body{font-size:var(--mobile-size-md)!important;line-height:1.55!important}
  .mobile-app-nav a,.mobile-inline-tabs a,.mobile-inline-tabs button,.mobile-archive-picker-toggle,.mobile-archive-picker{font-size:var(--mobile-size-sm)!important}
  .mobile-inline-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important;padding:10px 14px 5px!important}
  .mobile-inline-tabs a,.mobile-inline-tabs button{width:100%;justify-content:center;text-align:center}
  .mobile-material-tabs a:nth-child(3){grid-column:1/-1}
  .mobile-star-home{font-size:var(--mobile-size-md)!important}
  .mobile-star-sheet{margin:-36px 14px 0!important;padding:20px 18px 8px!important;border-radius:28px 28px 0 0!important}
  .mobile-star-section,.mobile-star-fold{border:0!important;border-top:1px solid var(--mobile-line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin:0!important}
  .mobile-star-section{padding:24px 0!important}.mobile-star-fold{padding:0!important}.mobile-star-fold summary{min-height:58px!important}.mobile-basic-item,.mobile-emoji-grid article,.mobile-red-grid a,.mobile-birthday-list article{background:transparent!important;border-bottom:1px solid #eaded7}
  .mobile-section-heading h2{font-size:var(--mobile-size-lg)!important}.mobile-star-intro h1{font-size:44px!important}.mobile-star-intro span{font-size:var(--mobile-size-sm)!important}.mobile-basic-item strong,.mobile-firsts a,.mobile-firsts span{font-size:var(--mobile-size-sm)!important}.mobile-quote-grid blockquote{font-size:var(--mobile-size-md)!important}
  .feed-page,.feed-page .top-shell,.feed-page .content-layout,.archive-body,.collection-body,.profile-page,.auth-page{background:var(--mobile-bg)!important;color:var(--mobile-ink)!important}
  .feed-page .mobile-inline-tabs,.archive-shell .mobile-inline-tabs{margin:0!important}
  .feed-page .hero-banner{min-height:220px!important;border-radius:14px!important}.feed-page .hero-title h1{font-size:var(--mobile-size-xl)!important}
  .archive-nav{display:none!important}.mobile-archive-picker-toggle{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;width:100%;min-height:44px;margin:10px 0 0;padding:0 13px;border:1px solid var(--archive-line);border-radius:12px;color:var(--archive-text);background:rgba(255,255,255,.75);text-align:left}.mobile-archive-picker-toggle span{color:var(--archive-muted);font-size:var(--mobile-size-xs)!important}.mobile-archive-picker-toggle strong{margin-left:10px;font-size:var(--mobile-size-sm)!important}.mobile-archive-picker-toggle i{font-style:normal;color:var(--archive-red)}.mobile-archive-picker{position:fixed;z-index:110;right:12px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 10px);left:12px;display:grid;gap:12px;max-height:70dvh;overflow:auto;padding:15px;border:1px solid var(--archive-line);border-radius:16px;background:#fffdf9;box-shadow:0 18px 50px rgba(45,25,18,.2)}.mobile-archive-picker[hidden]{display:none!important}.mobile-archive-picker-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--archive-line);padding-bottom:10px}.mobile-archive-picker-head button{width:32px;height:32px;border:0;border-radius:50%;background:#f2e8df;font-size:20px}.mobile-archive-picker-list{display:grid;gap:6px}.mobile-archive-picker-list a{padding:12px;border-radius:9px;color:var(--archive-text);background:#f7f1eb;font-size:var(--mobile-size-sm)!important;text-decoration:none}.mobile-archive-picker-list a.is-active{color:#fff;background:var(--archive-red)}
  .collection-hero{display:block!important;min-height:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.collection-hero-art{display:none!important}.collection-hero-copy{min-height:0!important;padding:14px 0 4px!important;background:transparent!important;color:var(--collection-text)!important}.collection-hero-copy::after{display:none!important}.collection-hero h1{font-size:var(--mobile-size-lg)!important;line-height:1.2!important}.collection-description{margin:5px 0 0!important;color:var(--collection-muted)!important;font-size:var(--mobile-size-sm)!important}.collection-stats{gap:6px!important;margin-top:10px!important}.collection-stats span{padding:5px 8px!important;color:var(--collection-text)!important;border-color:var(--collection-line)!important;background:transparent!important;font-size:var(--mobile-size-xs)!important}.collection-filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px 0!important}.collection-filter-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;overflow:visible!important}.collection-filter{min-height:36px!important;padding:0 6px!important;font-size:var(--mobile-size-xs)!important}.collection-search{font-size:var(--mobile-size-xs)!important}.collection-search input{min-height:38px!important;font-size:var(--mobile-size-sm)!important}.collection-doll-subfilters{top:42px!important;left:0!important;min-width:150px!important;padding:8px!important;box-shadow:0 16px 34px rgba(50,48,48,.22)!important}.collection-doll-subfilters .collection-filter{min-height:34px!important}.collection-card h3{font-family:system-ui,sans-serif !important;font-size:var(--mobile-size-sm)!important}.collection-card-rule{width:24px!important;margin-top:7px!important}
  .profile-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important}.profile-tabs button{width:100%!important;min-width:0!important;padding:0 3px!important;font-size:var(--mobile-size-sm)!important}.profile-view[data-profile-view="reactions"],.profile-view[data-profile-view="collection"]{padding:18px 0!important;border:0!important;box-shadow:none!important;background:transparent!important}.profile-view[data-profile-view="cards"]{display:none!important}.profile-kind-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0!important}.profile-subtabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important}.profile-subtabs button{width:100%;min-height:38px;font-size:var(--mobile-size-sm)!important}.profile-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.profile-home-actions a,.profile-home-actions button{display:grid;gap:3px;min-height:72px;padding:12px;border:1px solid var(--profile-line);border-radius:10px;color:var(--profile-ink);background:var(--profile-paper);text-align:left;text-decoration:none}.profile-home-actions span{color:var(--profile-red);font-size:var(--mobile-size-xs)!important;font-weight:900}.profile-home-actions strong{font-size:var(--mobile-size-sm)!important}.profile-home-actions b{color:var(--profile-muted);font-size:var(--mobile-size-xs)!important}
}

/* Mobile harmony pass: quieter typography and bottom navigation. */
@media (max-width:760px){
  body{font-size:13px!important}
  .mobile-app-nav{min-height:62px!important;padding:6px 8px max(6px,env(safe-area-inset-bottom))!important;background:rgba(255,253,250,.97)!important;box-shadow:0 -5px 22px rgba(50,30,24,.07)!important}
  .mobile-app-nav a{min-height:43px!important;gap:1px!important;color:#817771!important;font-size:10px!important;font-weight:700!important;letter-spacing:0!important}
  .mobile-app-nav i{font-size:18px!important;line-height:1!important}
  .mobile-app-nav a.is-active{color:var(--mobile-red)!important}
  .mobile-inline-tabs a,.mobile-inline-tabs button{min-height:34px!important;font-size:11px!important;font-weight:700!important}
  .focus-notice-card{font-size:12px!important}
}

/* Final mobile type and component rhythm. */
@media (max-width:760px){
  :root{
    --mobile-size-label:10px;
    --mobile-size-body:12px;
    --mobile-size-strong:14px;
    --mobile-size-title:20px;
    --mobile-radius-control:10px;
    --mobile-radius-sheet:20px;
  }

  body{font-size:var(--mobile-size-body)!important;line-height:1.6!important}
  .mobile-inline-tabs{
    gap:8px!important;
    padding:10px 14px 8px!important;
    background:var(--mobile-bg)!important;
  }
  .mobile-inline-tabs a,.mobile-inline-tabs button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    padding:0 10px!important;
    border-radius:var(--mobile-radius-control)!important;
    font-size:var(--mobile-size-body)!important;
    font-weight:700!important;
    line-height:1!important;
  }

  .mobile-material-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    height:auto!important;
    min-height:0!important;
  }

  .mobile-material-tabs a:nth-child(3){
    grid-column:1/-1!important;
  }

  .mobile-star-hero{min-height:286px!important}
  .mobile-star-avatar{width:68px!important;height:68px!important}
  .mobile-star-intro h1{font-size:36px!important;line-height:1.08!important}
  .mobile-star-intro p,.mobile-section-heading p,.mobile-star-fold summary span{
    font-size:var(--mobile-size-label)!important;
  }
  .mobile-star-intro span,.mobile-star-links a,.mobile-basic-item dt,.mobile-firsts time,
  .mobile-emoji-grid nav a,.mobile-birthday-list a{
    font-size:var(--mobile-size-body)!important;
  }
  .mobile-star-sheet{
    margin:-24px 12px 0!important;
    padding:18px 18px 6px!important;
    border-radius:var(--mobile-radius-sheet) var(--mobile-radius-sheet) 0 0!important;
  }
  .mobile-star-section{padding:20px 0!important}
  .mobile-section-heading h2{margin:4px 0 13px!important;font-size:var(--mobile-size-title)!important;line-height:1.3!important}
  .mobile-basic-item{grid-template-columns:76px 1fr!important;padding:11px 0!important}
  .mobile-basic-item strong,.mobile-basic-item b,.mobile-star-fold summary strong,
  .mobile-firsts a,.mobile-firsts span,.mobile-red-grid a{
    font-size:var(--mobile-size-strong)!important;
  }
  .mobile-quote-grid blockquote{font-size:var(--mobile-size-strong)!important;line-height:1.7!important}
  .mobile-star-fold summary{min-height:54px!important}
  .mobile-birthday-list strong{font-size:var(--mobile-size-title)!important}

  .focus-notice-card{
    width:min(calc(100vw - 28px),420px)!important;
    padding:20px 18px 16px!important;
    border-radius:var(--mobile-radius-sheet)!important;
    font-size:var(--mobile-size-body)!important;
  }
  .focus-notice-kicker{font-size:var(--mobile-size-label)!important}
  .focus-notice-title{font-size:var(--mobile-size-title)!important;line-height:1.3!important}
  .focus-notice-description,.focus-notice-copy small{font-size:var(--mobile-size-body)!important}
  .focus-notice-copy strong,.focus-notice-confirm{font-size:var(--mobile-size-strong)!important}
  .focus-notice-number,.focus-notice-arrow{font-size:18px!important}

  .mobile-app-nav a{font-size:var(--mobile-size-label)!important}
  .mobile-app-nav i{font-size:17px!important}

  .page,.feed-page,.archive-shell,.collection-shell,.profile-shell,.auth-shell{
    padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 28px)!important;
  }

  .mobile-archive-picker{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    margin:8px 0 0!important;
    height:fit-content!important;
    max-height:none!important;
    align-content:start!important;
    box-sizing:border-box!important;
  }

  .profile-topbar{
    align-items:center!important;
    gap:10px!important;
  }

  .profile-top-actions{
    display:flex!important;
    flex:0 0 auto!important;
    gap:6px!important;
  }

  .profile-header-edit > summary,
  .profile-logout{
    display:inline-flex!important;
    min-height:32px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 10px!important;
    border:1px solid var(--profile-line)!important;
    border-radius:999px!important;
    background:rgba(255,253,250,.76)!important;
    color:var(--profile-ink)!important;
    font-size:11px!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }

  .profile-logout{
    cursor:pointer!important;
  }

  .profile-logout:disabled{
    opacity:.62!important;
  }

  .profile-back{
    display:none!important;
  }
}

/* Final home fusion: keep the app-style content, restore the old handbook masthead only. */
@media (max-width:760px){
  .home-page-body{
    background:
      linear-gradient(90deg,rgba(0,0,0,.035),transparent 9%,transparent 91%,rgba(0,0,0,.035)),
      #f5f0eb!important;
  }

  .home-page-body .mobile-star-home{
    margin:12px 12px 78px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid rgba(45,19,13,.08)!important;
    border-radius:22px!important;
    background:#fffdf9!important;
    color:var(--mobile-ink)!important;
    box-shadow:0 16px 40px rgba(54,43,36,.06)!important;
  }

  .home-page-body .mobile-star-hero{
    min-height:0!important;
    margin:0!important;
    padding:112px 24px 18px!important;
    overflow:hidden!important;
    border:0!important;
    border-bottom:1px solid rgba(216,206,196,.72)!important;
    border-radius:0!important;
    background:#fffdf8!important;
    color:var(--mobile-ink)!important;
    box-shadow:none!important;
  }

  .home-page-body .mobile-star-hero::before{
    content:"";
    position:absolute;
    inset:0 0 auto!important;
    height:156px!important;
    border-bottom:0;
    background-image:
      linear-gradient(180deg,rgba(255,253,248,.08),rgba(255,253,248,.72)),
      var(--mobile-star-cover)!important;
    background-position:center 42%!important;
    background-size:cover!important;
    pointer-events:none;
  }

  .home-page-body .mobile-star-hero::after{
    content:"JUNMING";
    position:absolute;
    top:74px;
    right:18px;
    z-index:0;
    width:auto;
    height:auto;
    border:0;
    color:rgba(177,0,0,.06);
    background:transparent;
    font-family:system-ui,sans-serif !important;
    font-size:58px;
    font-weight:700;
    letter-spacing:-.07em;
    line-height:1;
    transform:none;
    pointer-events:none;
  }

  .home-page-body .mobile-star-hero-shade{
    display:none!important;
  }

  .home-page-body .mobile-star-avatar{
    position:relative!important;
    z-index:2!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    display:block!important;
    width:100px!important;
    height:100px!important;
    border:6px solid #fffdf8!important;
    border-radius:8px!important;
    background:#efe8dd!important;
    box-shadow:0 12px 24px rgba(45,19,13,.13)!important;
    object-fit:cover!important;
    transform:none!important;
  }

  .home-page-body .mobile-star-tape{
    position:absolute;
    z-index:3;
    top:102px;
    left:48px;
    width:54px;
    height:16px;
    border:1px solid rgba(216,206,196,.72);
    background:rgba(255,248,224,.72);
    transform:rotate(-2deg);
    pointer-events:none;
  }

  .home-page-body .mobile-star-intro{
    position:absolute!important;
    z-index:2!important;
    right:14px!important;
    bottom:60px!important;
    left:150px!important;
  }

  .home-page-body .mobile-star-intro p{
    color:var(--mobile-red)!important;
    font-size:9px!important;
    letter-spacing:.11em!important;
    white-space:nowrap!important;
  }

  .home-page-body .mobile-star-intro h1{
    color:var(--mobile-ink)!important;
    font-family:system-ui,sans-serif !important;
    font-size:44px!important;
    line-height:.92!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
  }

  .home-page-body .mobile-star-intro span{
    color:var(--mobile-muted)!important;
    font-size:11px!important;
  }

  .home-page-body .mobile-star-links{
    right:14px!important;
    bottom:16px!important;
    left:150px!important;
    gap:8px!important;
  }

  .home-page-body .mobile-star-links a{
    display:inline-flex!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-height:35px!important;
    padding:0 12px!important;
    border-color:var(--mobile-line)!important;
    border-radius:999px!important;
    color:var(--mobile-ink)!important;
    background:#fffdf9!important;
    font-size:12px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  .home-page-body .mobile-star-sheet{
    margin:0!important;
    padding:20px 24px 10px!important;
    border-radius:0!important;
    background:#fffdf9!important;
    box-shadow:none!important;
  }
}

/* Final home hero cleanup from browser review. */
@media (max-width:760px){
  .home-page-body .mobile-star-hero::after{
    display:none!important;
    content:none!important;
  }

  .home-page-body .mobile-star-intro{
    right:22px!important;
    left:auto!important;
    bottom:74px!important;
    width:min(58%,330px)!important;
    text-align:right!important;
  }

  .home-page-body .mobile-star-intro p{
    display:none!important;
  }

  .home-page-body .mobile-star-intro h1,
  .home-page-body .mobile-star-intro span{
    text-align:right!important;
  }

  .home-page-body .mobile-star-intro span{
    font-size:13px!important;
    font-weight:800!important;
  }

  .home-page-body .mobile-star-links{
    right:22px!important;
    left:auto!important;
    justify-content:flex-end!important;
  }
}

/* Mobile home dossier alignment from browser review. */
@media (max-width:760px){
  .home-page-body .mobile-star-sheet{
    padding-right:22px!important;
    padding-left:22px!important;
    padding-bottom:18px!important;
  }

  .home-page-body .mobile-basic-list{
    width:100%!important;
    max-width:424px!important;
    margin:0 auto!important;
  }

  .home-page-body .mobile-basic-item{
    grid-template-columns:minmax(86px,.42fr) minmax(0,.58fr)!important;
    gap:10px!important;
    align-items:center!important;
  }

  .home-page-body .mobile-basic-item dt{
    text-align:left!important;
  }

  .home-page-body .mobile-basic-item dd{
    min-width:0!important;
  }

  .home-page-body .mobile-basic-item div{
    justify-content:flex-start!important;
  }

  .home-page-body .mobile-quote-grid{
    gap:0!important;
    margin-top:12px!important;
    border-top:1px solid #d7c7bc!important;
    border-bottom:1px solid #d7c7bc!important;
  }

  .home-page-body .mobile-quote-grid blockquote{
    display:flex!important;
    min-height:66px!important;
    align-items:center!important;
    padding:0!important;
    border:0!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  .home-page-body .mobile-quote-grid blockquote + blockquote{
    border-top:1px solid #d7c7bc!important;
  }

  .home-page-body .mobile-star-fold{
    border-top:0!important;
  }

  .home-page-body .mobile-star-fold summary{
    border-top:1px solid #eaded7!important;
  }

  .home-page-body .mobile-star-dossier + .mobile-star-fold summary{
    border-top:0!important;
  }

  .home-page-body .mobile-birthday-list article{
    grid-template-columns:54px 1fr!important;
    align-items:center!important;
  }

  .home-page-body .mobile-birthday-list strong{
    font-size:14px!important;
    line-height:1.35!important;
    letter-spacing:0!important;
  }
}

/* Custom bottom navigation mascots. */
@media (max-width:760px){
  .mobile-app-nav i{
    display:grid!important;
    width:36px!important;
    height:36px!important;
    place-items:center!important;
    border:1px solid rgba(177,0,0,.08)!important;
    border-radius:50%!important;
    background:linear-gradient(180deg,#fff8f3,#f3e8df)!important;
    box-shadow:0 3px 9px rgba(57,35,27,.08), inset 0 1px 0 rgba(255,255,255,.8)!important;
    font-size:0!important;
    line-height:1!important;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease!important;
  }

  .mobile-app-nav-icon{
    display:block!important;
    width:88%!important;
    height:88%!important;
    object-fit:contain!important;
    opacity:.9!important;
    filter:saturate(.95) drop-shadow(0 1px 1px rgba(61,43,36,.22))!important;
  }

  .mobile-app-nav a.is-active .mobile-app-nav-icon{
    opacity:1!important;
    filter:saturate(1.08) contrast(1.02)!important;
  }

  .mobile-app-nav a.is-active i{
    transform:translateY(-2px) scale(1.08)!important;
    border-color:rgba(177,0,0,.18)!important;
    background:linear-gradient(180deg,#fff6f0,#f8ddd4)!important;
    box-shadow:0 5px 12px rgba(177,0,0,.13), inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
}

}
@media(max-width:760px) {
/* App shell: safe area, header, navigation, tabs. */
@media (max-width:760px){
  :root{--mobile-nav-h:68px;}

  html{background:linear-gradient(180deg,#d7e4f6 0,#eef1f7 280px,var(--dream-bg) 281px)}
 body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 14px);}

  .mobile-app-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:var(--mobile-nav-h);padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid rgba(49,31,25,.12);background:rgba(255,253,250,.96);box-shadow:var(--dream-shadow-sm);backdrop-filter:blur(18px)}

  .mobile-app-nav a{display:grid;min-height:48px;place-items:center;gap:2px;color:var(--dream-muted);text-decoration:none;font-size:11px;font-weight:800}
.mobile-app-nav i{font-style:normal;font-size:20px;line-height:1}
.mobile-app-nav a.is-active{color:var(--dream-accent-ink)}
.mobile-app-nav a.is-active i{transform:translateY(-1px)}

  .mobile-inline-tabs{position:relative;z-index:3;display:flex;gap:8px;overflow:auto;padding:10px 14px 4px;background:var(--dream-bg);scrollbar-width:none}
.mobile-inline-tabs a,.mobile-inline-tabs button{flex:0 0 auto;min-height:36px;padding:0 14px;border:1px solid var(--dream-border);border-radius:999px;color:var(--dream-muted);background:var(--dream-paper);font:800 13px/1 system-ui,sans-serif;text-decoration:none}
.mobile-inline-tabs .is-active{border-color:var(--dream-accent-ink);color:#fff;background:var(--dream-accent-ink)}
.feed-page .mobile-inline-tabs{margin:-4px -6px 8px}
.archive-shell .mobile-inline-tabs{margin:-4px -8px 8px}

  .collection-shell .mobile-inline-tabs{margin:0 -4px 10px}
.mobile-offline-page{display:grid;min-height:100dvh;place-items:center;padding:20px;background:var(--dream-bg);font-family:system-ui,sans-serif}
.mobile-offline-card{display:grid;gap:13px;width:min(100%,380px);padding:26px;border:1px solid var(--dream-border);border-radius:20px;background:var(--dream-paper);box-shadow:var(--dream-shadow-sm)}
.mobile-offline-card p{margin:0;color:var(--dream-accent-ink);font-size:10px;font-weight:900;letter-spacing:.14em}
.mobile-offline-card h1{margin:0;font:29px/1.15 system-ui,sans-serif}
.mobile-offline-card span{color:var(--dream-muted);font-size:13px;line-height:1.7}
.mobile-offline-card button{min-height:44px;border:0;border-radius:12px;color:#fff;background:var(--dream-accent-ink);font-weight:800}}

.mobile-brand-header{display:none}


/* Shared mobile masthead: align data/material/atlas pages with the collection guide. */
@media (max-width:760px){
  .mobile-brand-header{
    display:flex;
    align-items:center;
    width:100vw;
    min-height:78px;
    margin-left:calc(50% - 50vw);
    padding:18px 18px 15px;
    border-bottom:1px solid rgba(216,206,196,.72);
    background:var(--dream-bg);
  }


  .mobile-brand-header-link,
  .collection-brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--dream-ink);
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    letter-spacing:.18em;
    line-height:1;
  }


  .mobile-brand-header-link span,
  .collection-brand span{
    flex:0 0 auto;
    width:14px;
    height:14px;
    border:3px solid var(--dream-accent-ink,var(--dream-accent-ink));
    background:transparent;
    transform:rotate(45deg);
  }


  .mobile-brand-header-link strong{
    font:inherit;
    white-space:nowrap;
  }


  .feed-page .mobile-inline-tabs,
  .archive-shell .mobile-inline-tabs,
  .collection-shell .mobile-inline-tabs{
    margin-top:0;
  }}


/* Unified mobile page mastheads: same image panel, same title rhythm, different labels only. */
@media (max-width:760px){

  .mobile-inline-tabs,
  .mobile-archive-picker-toggle{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin:10px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }


  .mobile-inline-tabs a,
  .mobile-inline-tabs button,
  .mobile-archive-picker-toggle{
    min-width:0;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    border:1px solid var(--dream-border,var(--dream-border));
    border-radius:10px;
    background:var(--dream-paper);
    color:#6f6661;
    font-size:13px;
    font-weight:800;
    line-height:1;
    text-align:center;
  }


  .mobile-inline-tabs .is-active{
    border-color:var(--dream-accent-ink,var(--dream-accent-ink));
    color:#fff;
    background:var(--dream-accent-ink,var(--dream-accent-ink));
  }}


/* Second-pass mobile visual system: one type scale, one archive language, no routine horizontal scrolling. */
@media (max-width:760px){
  :root{--mobile-font:system-ui,sans-serif;--mobile-display:system-ui,sans-serif;--mobile-size-xs:10px;--mobile-size-sm:11px;--mobile-size-md:13px;--mobile-size-lg:20px;--mobile-size-xl:32px}

  body{font-size:var(--mobile-size-md);line-height:1.55}

  .mobile-app-nav a,.mobile-inline-tabs a,.mobile-inline-tabs button,.mobile-archive-picker-toggle,.mobile-archive-picker{font-size:var(--mobile-size-sm)}

  .mobile-inline-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:10px 14px 5px}

  .mobile-inline-tabs a,.mobile-inline-tabs button{width:100%;justify-content:center;text-align:center}

  .feed-page .mobile-inline-tabs,.archive-shell .mobile-inline-tabs{margin:0}}


/* Mobile harmony pass: quieter typography and bottom navigation. */
@media (max-width:760px){
  body{font-size:13px}

  .mobile-app-nav{min-height:62px;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:rgba(255,253,250,.97);box-shadow:var(--dream-shadow-sm)}

  .mobile-app-nav a{min-height:43px;gap:1px;color:#817771;font-size:10px;font-weight:700;letter-spacing:0}

  .mobile-app-nav i{font-size:18px;line-height:1}

  .mobile-app-nav a.is-active{color:var(--dream-accent-ink)}

  .mobile-inline-tabs a,.mobile-inline-tabs button{min-height:34px;font-size:11px;font-weight:700}}


/* Final mobile type and component rhythm. */
@media (max-width:760px){
  :root{
    --mobile-size-label:10px;
    --mobile-size-body:12px;
    --mobile-size-strong:14px;
    --mobile-size-title:20px;
    --mobile-radius-control:10px;
    --mobile-radius-sheet:20px;
  }


  body{font-size:var(--mobile-size-body);line-height:1.6}

  .mobile-inline-tabs{
    gap:8px;
    padding:10px 14px 8px;
    background:var(--dream-bg);
  }

  .mobile-inline-tabs a,.mobile-inline-tabs button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 10px;
    border-radius:var(--mobile-radius-control);
    font-size:var(--mobile-size-body);
    font-weight:700;
    line-height:1;
  }


  .mobile-app-nav a{font-size:var(--mobile-size-label)}

  .mobile-app-nav i{font-size:17px}}


/* Custom bottom navigation mascots. */
@media (max-width:760px){
  .mobile-app-nav i{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid rgba(177,0,0,.08);
    border-radius:50%;
    background:linear-gradient(180deg,var(--dream-paper-soft),var(--dream-paper-soft));
    box-shadow:var(--dream-shadow-sm);
    font-size:0;
    line-height:1;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;
  }


  .mobile-app-nav-icon{
    display:block;
    width:88%;
    height:88%;
    object-fit:contain;
    opacity:.9;
    filter:saturate(.95) drop-shadow(0 1px 1px rgba(61,43,36,.22));
  }


  .mobile-app-nav a.is-active .mobile-app-nav-icon{
    opacity:1;
    filter:saturate(1.08) contrast(1.02);
  }


  .mobile-app-nav a.is-active i{
    transform:translateY(-2px) scale(1.08);
    border-color:rgba(177,0,0,.18);
    background:linear-gradient(180deg,var(--dream-paper-soft),var(--dream-paper-soft));
    box-shadow:var(--dream-shadow-sm);
  }}
/* Dream Journal composition. */

@media(max-width:760px) {
 html { background:var(--dream-bg); }
 body[data-skip-mobile-nav="true"] { padding-bottom:0; }
 .mobile-app-nav { background:var(--dream-paper); border-color:var(--dream-border); box-shadow:var(--dream-shadow-sm); backdrop-filter:none; }
 .mobile-app-nav a { color:var(--dream-muted); }
 .mobile-app-nav a.is-active { color:var(--dream-accent-ink); }
 .mobile-inline-tabs a,.mobile-inline-tabs button { border-radius:var(--dream-radius-md); }
 .mobile-inline-tabs .is-active { color:var(--dream-ink); border-color:var(--dream-pink); background:var(--dream-pink); }
}

}
}


/* Isolated lobby styles copied from the v26 game bundle: journal-standards.css */

/* One system font; shared type scale and spacing across user-facing pages. */
:root {
 --dream-font:system-ui,sans-serif;
 --dream-background-image:url('https://img.allforjunming.com/games/forest-games/assets/img/dream-background.png');
 --dream-type-title:22px; --dream-type-section:17px; --dream-type-body:14px; --dream-type-small:12px; --dream-type-caption:10px;
 --dream-space-1:4px; --dream-space-2:8px; --dream-space-3:12px; --dream-space-4:16px; --dream-space-5:24px;
 --dream-control-height:40px; --dream-card-padding:16px; --dream-section-gap:24px;
}
html,body { font-family:system-ui,sans-serif; background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat; }
body.dream-page,
body.dream-page.auth-page,
body.auth-page,
body.order-thanks-page,
body:has(.guide-shell),
body:has(.shipping-shell),
body:has(.stands-shell),
body:has(.seat-shell) {
 background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat;
}
body.dream-page { font-family:system-ui,sans-serif; line-height:1.6; }

/* One active state for the shared bottom navigation. */
.dream-page .mobile-app-nav i { display:grid; width:27px; height:27px; place-items:center; border:0; border-radius:0; background:none; box-shadow:none; transform:none; }
.dream-page .mobile-app-nav-icon { display:block; width:25px; height:25px; object-fit:contain; opacity:.8; filter:saturate(.55); }
.dream-page .mobile-app-nav a.is-active { color:#d96987; font-weight:700; }
.dream-page .mobile-app-nav a.is-active i { border:0; border-radius:9px; background:#fce3e8; box-shadow:none; transform:none; }
.dream-page .mobile-app-nav a.is-active .mobile-app-nav-icon { width:25px; height:25px; opacity:1; filter:none; }
.dream-page .mobile-app-nav a.is-active i { transition:none; }

/* Shared brand banner used by login, register, and the atlas home. */
.dream-brand-hero { display:grid; justify-items:center; margin:0 0 14px; }
.dream-brand-mascot { position:relative; width:104px; height:104px; margin:0 auto 2px; border-radius:0; }
.dream-brand-mascot>img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; opacity:1; transition:opacity .22s ease,transform .22s ease; }
.dream-brand-heading { position:relative; width:min(100%,300px); margin:0 auto 16px; padding:0 8px 15px; border-bottom:1px solid rgba(217,120,143,.28); text-align:center; transform:none; }
.dream-brand-heading::after { position:absolute; left:50%; bottom:-9px; padding:0 8px; content:"✦"; color:#e88fa5; background:var(--dream-bg,#fcf7ee); font-size:12px; line-height:18px; transform:translateX(-50%); }
.dream-brand-heading strong { display:block; color:#e79d9d; font:600 30px/1.2 system-ui,sans-serif; letter-spacing:-.02em; }
.dream-brand-heading span { display:block; margin-top:4px; color:#ba7189; font:500 18px/1.35 system-ui,sans-serif; letter-spacing:.16em; }

@media(max-width:760px) and (max-height:720px) {
 .dream-brand-mascot { width:82px; height:82px; }
 .dream-brand-heading { margin-bottom:12px; padding-bottom:11px; }
 .dream-brand-heading strong { font-size:26px; }
 .dream-brand-heading span { font-size:16px; }
}
@media(max-width:760px) {
 html,body,
 body.dream-page,
 body.dream-page.auth-page,
 body.auth-page,
 body.order-thanks-page,
 body:has(.guide-shell),
 body:has(.shipping-shell),
 body:has(.stands-shell),
 body:has(.seat-shell) {
  background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat;
 }
 body.dream-page { font-size:var(--dream-type-body); }
 .dream-page h1 { font-size:var(--dream-type-title); line-height:1.4; font-weight:650; }
 .dream-page h2 { font-size:var(--dream-type-section); line-height:1.5; font-weight:650; }
 .dream-page { --ot-bg:var(--dream-bg); --ot-paper:var(--dream-paper); --ot-pink:var(--dream-accent-ink); --ot-strong:var(--dream-ink); --ot-line:var(--dream-border); --ot-muted:var(--dream-muted); --seat-deep:var(--dream-accent-ink); --seat-card:var(--dream-paper); }
 .dream-page :is(button,input,select,textarea) { font-family:system-ui,sans-serif; }
 .dream-page :is(.feed-page .hero-title h1,.collection-hero h1,.page .hero-main h1,.archive-sidebar-head h1,.blind-box-hero h1,.auth-panel .auth-login-title) { font-family:system-ui,sans-serif; font-size:var(--dream-type-title); font-weight:650; line-height:1.4; letter-spacing:0; }
 .dream-page :is(.profile-section-heading h2,.profile-content-section h2,.blind-box-section h2,.mobile-section-heading h2,.journal-recent h2,.profile-welcome-card h2) { font-family:system-ui,sans-serif; font-size:var(--dream-type-section); font-weight:650; line-height:1.5; letter-spacing:0; }
 .dream-page :is(.feed-text,.profile-bio,.blind-box-section-help) { font-size:var(--dream-type-body); line-height:1.75; }
 .dream-page :is(.collection-module-nav strong,.collection-filter,.mobile-inline-tabs a,.mobile-inline-tabs button,.profile-tabs button) { font-size:var(--dream-type-small); font-weight:500; }
 .dream-page :is(.feed-card-body,.profile-content-section,.blind-box-section,.journal-recent) { padding:var(--dream-card-padding); }
 .dream-page :is(.feed-card,.profile-content-section,.blind-box-section) { margin-bottom:var(--dream-space-4); }
 .dream-page .feed-page .feed-card,.dream-page .collection-card,.dream-page .archive-card,.dream-page .profile-content-section,.dream-page .blind-box-section,.dream-page .journal-recent { border-radius:var(--dream-radius-md); border-color:var(--dream-border); box-shadow:var(--dream-shadow-sm); }
 .dream-page .feed-page .feed-card-body { padding:var(--dream-card-padding); }
 .dream-page :is(.profile-tabs,.collection-module-nav,.mobile-inline-tabs) { gap:var(--dream-space-1); padding:var(--dream-space-1); margin-bottom:var(--dream-space-3); }
 .dream-page :is(.profile-tabs button,.collection-module-nav a,.mobile-inline-tabs a,.mobile-inline-tabs button) { min-height:32px; }
 .dream-page :is(.auth-submit,.blind-box-bind-card button,.dream-button) { min-height:44px; font-size:var(--dream-type-body); font-weight:600; letter-spacing:0; }
 .dream-page .journal-brand strong { font-family:system-ui,sans-serif; font-size:15px; font-weight:600; }
 .home-page-body .mobile-star-intro h1 { font-family:system-ui,sans-serif; font-size:16px; }
 .dream-page .archive-layout { margin:0; border:0; background:transparent; box-shadow:none; }
 .dream-page .archive-content { padding:12px 0; }
 .dream-page:has(.mobile-archive-picker-toggle) .archive-nav { display:none; }
 .dream-page .archive-sidebar { padding:0; }
 .dream-page .archive-sidebar-head { margin:0 0 12px; text-align:center; }
 .dream-page .archive-sidebar-head p,.dream-page .archive-sidebar-head span { display:none; }
 .dream-page .archive-hero { min-height:0; padding:12px; margin:0 0 12px; border:1px dashed var(--dream-border-strong); border-radius:8px; background:#fffdf7bc; }
 .dream-page .archive-hero::after { content:none; }
 .dream-page .archive-hero h2 { margin:0 0 5px; font-size:var(--dream-type-section); line-height:1.5; }
 .dream-page .archive-hero p { margin:0 0 6px; font-size:var(--dream-type-small); }
 .dream-page .archive-hero>p:first-child { font-size:var(--dream-type-caption); }
 .dream-page .archive-stats { display:flex; flex-wrap:wrap; gap:4px; margin:8px 0 0; }
 .dream-page .archive-stats span { padding:3px 6px; font-size:var(--dream-type-caption); }
 .dream-page .archive-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0; margin:0 0 12px; }
 .dream-page .archive-search { grid-column:1/-1; }
 .dream-page .archive-filters label { gap:3px; font-size:var(--dream-type-caption); }
 .dream-page .archive-filters input,.dream-page .archive-filters select { min-height:36px; font-size:var(--dream-type-small); padding:6px; border-radius:10px; }
 .dream-page .archive-filters button { min-height:32px; border-radius:12px; background:#e9a0b5; color:#fff; border:1px solid #dca0b4; font-size:var(--dream-type-small); }
 .dream-page .archive-month { padding:12px 0; }
 .dream-page .archive-timeline::before,.dream-page .archive-month-content::before { display:none; }
 .dream-page .archive-year { font-size:18px; color:#ad879a; }
 .dream-page :is(.guide-shell,.order-thanks-shell,.shipping-shell,.stands-shell) { width:calc(100% - 28px); margin:auto; padding:0 0 24px; }
 .dream-page :is(.guide-hero h1,.order-thanks-hero h1,.shipping-hero h1,.stands-hero h1,.seat-hero h1) { font-size:var(--dream-type-title); line-height:1.4; color:var(--dream-ink); text-shadow:none; letter-spacing:0; }
 .dream-page :is(.order-thanks-card,.guide-card,.stands-card) { border:1px solid var(--dream-border); border-radius:var(--dream-radius-md); padding:var(--dream-card-padding); background:var(--dream-paper); box-shadow:var(--dream-shadow-sm); }
 .dream-page .order-thanks-hero { min-height:470px; }
 .dream-page .order-thanks-stage { inset:150px 0 0; }
 .dream-page .order-thanks-kicker,.dream-page .order-thanks-subtitle { font-size:var(--dream-type-small); color:var(--dream-accent-ink); }
 .dream-page .order-thanks-doll { max-width:230px; width:65%; max-height:250px; object-fit:contain; }
}

/* The viewport owns the background so body padding never changes its scale. */
html { background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat; }
html body,
html body.dream-page,
html body.dream-page.auth-page,
html body.auth-page { background:transparent; }


/* Isolated lobby styles copied from the v26 game bundle: dreamland.css */

:root {
  --dreamland-title:#6d4f53;
  --dreamland-text:#655b64;
  --dreamland-muted:#948b94;
  --dreamland-pink:#df6f93;
  --dreamland-line:rgba(217,120,143,.16);
}
html:has(.dreamland-page),html:has(.blind-box-reference-page) { min-height:100%; background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat; }
.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/games/forest-games/assets/img/atlas-home-background-v1.png') 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/games/forest-games/assets/img/atlas-home-background-v1.png') 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/games/forest-games/assets/img/atlas-home-background-v1.png') 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-checkin-panel { background:linear-gradient(90deg,rgba(255,253,249,.94),rgba(255,253,249,.7)),url('../assets/img/ip/login-ballball-hi.png') 92% center/120px auto no-repeat,rgba(255,253,249,.9); }
.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. */
html:has(.blind-box-reference-page) { min-height:100%; background:#fcf7ee var(--dream-background-image) center top/cover fixed no-repeat; }
.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 .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;
}
@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 .games-lobby-music-fab {
  position:fixed;
  right:16px;
  bottom:calc(20px + env(safe-area-inset-bottom));
  z-index:1200;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(223,111,147,.22);
  border-radius:50%;
  background:linear-gradient(145deg,#fff 12%,#fff8f6 100%);
  color:#d77e99;
  box-shadow:0 4px 14px rgba(110,70,85,.15);
  backdrop-filter:blur(10px);
  font:21px/1 system-ui,sans-serif;
  cursor:pointer;
}
.dreamland-page .games-lobby-music-fab span { display:block; transform-origin:50% 50%; line-height:1; }
.dreamland-page .games-lobby-music-fab.is-on span { animation:dream-note-turn 3.2s linear infinite; }
.dreamland-page .games-lobby-music-fab:focus-visible { outline:2px solid #cf7290; outline-offset:2px; }
@keyframes dream-note-turn { to { transform:rotate(360deg); } }
.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/games/forest-games/assets/img/atlas-home-background-v1.png') 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; }
}
@media(max-width:1180px) {
  .dreamland-page .games-lobby-music-fab { right:12px; bottom:calc(72px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  .dreamland-page .games-lobby-music-fab.is-on span { animation:none; }
}

/* 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:54px;
}
.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); }
}


/* Isolated lobby styles copied from the v26 game bundle: dreamland-games.css */

.games-lobby-shell {
  width:min(1180px,calc(100% - 32px));
}

.games-lobby-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.game-poster {
  position:relative;
  isolation:isolate;
  display:block;
  min-width:0;
  height:430px;
  overflow:hidden;
  border:1px solid rgba(154,100,110,.16);
  border-radius:24px;
  box-shadow:0 8px 22px rgba(115,70,79,.065);
  transition:transform .18s ease,border-color .18s ease;
}
.game-poster:focus-visible {
  outline:3px solid rgba(200,100,132,.35);
  outline-offset:3px;
}
.game-poster:active { transform:scale(.986); }
.game-poster::before,.game-poster::after { content:"";position:absolute;pointer-events:none; }

.game-index {
  position:absolute;
  z-index:8;
  top:22px;
  left:22px;
  color:#b56f87;
  font-size:10px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.15em;
}
.game-logo {
  position:absolute;
  z-index:7;
  top:62px;
  left:5%;
  width:90%;
  height:118px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 3px 0 rgba(255,255,255,.55));
}
.game-tagline {
  position:absolute;
  z-index:9;
  left:18px;
  bottom:18px;
  max-width:64%;
  padding:8px 11px;
  border:1px solid rgba(214,145,164,.28);
  border-radius:12px;
  color:#9c6274;
  background:rgba(255,251,249,.78);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  font-size:11px;
  font-weight:750;
  line-height:1.5;
}
.game-enter {
  position:absolute;
  z-index:10;
  right:16px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  color:#a95f76;
  background:rgba(255,251,249,.82);
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}

/* GAME 1 — memory scrapbook */
.game-poster--flip {
  background:radial-gradient(circle at 17% 70%,rgba(255,255,255,.8),transparent 34%),radial-gradient(circle at 84% 18%,#f0e5ff,transparent 47%),linear-gradient(140deg,#fff0f4 3%,#fff5ef 57%,#ebecff 100%);
}
.game-poster--flip::before {
  width:250px;height:250px;left:-150px;top:-125px;border:1px solid rgba(219,151,181,.28);border-radius:50%;
}
.game-poster--flip::after {
  width:240px;height:240px;right:-155px;bottom:-150px;border:1px solid rgba(219,151,181,.22);border-radius:50%;
}
.flip-cover-art { position:absolute;z-index:3;inset:auto 8px 65px;height:205px; }
.flip-cover-card {
  position:absolute;
  display:grid;
  width:104px;
  height:132px;
  place-items:center;
  overflow:hidden;
  border:3px solid rgba(255,255,255,.94);
  border-radius:15px;
  background:#fff9fb;
  box-shadow:0 6px 0 #edd3da,0 11px 18px rgba(138,93,111,.12);
}
.flip-cover-card img { width:88%;height:88%;object-fit:contain; }
.flip-cover-card--back { left:12px;top:27px;transform:rotate(-17deg); }
.flip-cover-card--back img { width:100%;height:100%;object-fit:cover; }
.flip-cover-card--one { left:30%;top:49px;transform:rotate(-7deg); }
.flip-cover-card--two { right:7%;top:25px;transform:rotate(9deg); }

/* GAME 2 — layered match board */
.game-poster--match {
  background:radial-gradient(circle at 87% 6%,rgba(255,242,215,.96),transparent 42%),linear-gradient(160deg,#fff0ea 0%,#fff4f0 54%,#ffd7df 100%);
  border-color:#efc0bf;
}
.game-poster--match::before {
  left:-65px;bottom:-120px;width:420px;height:230px;border-radius:50%;background:#ec9cab;opacity:.23;
}
.game-poster--match::after {
  top:20px;right:22px;width:38px;height:38px;border-radius:50%;background:#fff5c6;box-shadow:0 0 0 10px rgba(255,255,255,.18);
}
.match-cover-art { position:absolute;z-index:3;right:5px;bottom:62px;left:5px;height:208px;transform:rotate(-5deg); }
.match-cover-tile {
  position:absolute;
  display:grid;
  width:82px;
  height:84px;
  place-items:center;
  border:3px solid #fff8f4;
  border-radius:12px;
  background:#fffaf7;
  box-shadow:0 7px 0 #e7abb3,0 11px 15px rgba(168,83,97,.12);
}
.match-cover-tile img { width:78%;height:78%;object-fit:contain; }
.match-cover-tile:nth-child(1){left:3%;top:38px;transform:rotate(-12deg)}
.match-cover-tile:nth-child(2){left:23%;top:10px;transform:rotate(7deg)}
.match-cover-tile:nth-child(3){left:44%;top:29px;transform:rotate(13deg)}
.match-cover-tile:nth-child(4){right:5%;top:5px;transform:rotate(-9deg)}
.match-cover-tile:nth-child(5){left:14%;top:111px;transform:rotate(5deg)}
.match-cover-tile:nth-child(6){left:39%;top:111px;transform:rotate(-10deg)}
.match-cover-tile:nth-child(7){right:10%;top:102px;transform:rotate(6deg)}

/* GAME 3 — falling animals with game-native special items */
.game-poster--catch {
  background:radial-gradient(circle at 50% 18%,#fff9fc 6%,#ffe5ea 46%,transparent 69%),linear-gradient(170deg,#f9b7c6 1%,#ffedeb 47%,#e1dbff 100%);
  border-color:#edbbc9;
}
.game-poster--catch::before {
  inset:-6px -8px auto;height:78px;background:radial-gradient(circle at 13% 24%,#c6506f 0 15px,transparent 16px),radial-gradient(circle at 31% 13%,#dc7c91 0 22px,transparent 23px),radial-gradient(circle at 62% 0,#bc4162 0 26px,transparent 27px),radial-gradient(circle at 91% 7%,#ce5973 0 24px,transparent 25px);opacity:.68;
}
.game-poster--catch .game-logo { top:54px; }
.catch-cover-art { position:absolute;z-index:3;inset:178px 8px 48px; }
.catch-falling { position:absolute;width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(156,90,107,.12)); }
.catch-falling--one { left:7%;top:38px;transform:rotate(-15deg); }
.catch-falling--two { right:7%;top:24px;transform:rotate(18deg); }
.catch-falling--three { left:9%;bottom:8px;width:58px;height:58px;transform:rotate(-4deg); }
.catch-special { position:absolute;z-index:4;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(142,75,98,.12)); }
.catch-special--bomb { right:31%;top:18px;width:42px;height:42px;transform:rotate(12deg); }
.catch-special--shield { left:34%;top:73px;width:39px;height:39px;transform:rotate(-12deg); }
.catch-basket { position:absolute;z-index:5;right:22%;bottom:-28px;width:105px;height:122px;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(142,75,98,.1)); }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .game-poster:hover { transform:translateY(-4px);border-color:rgba(196,100,128,.28); }
  .game-poster--flip:hover .flip-cover-card--one { transform:rotate(-3deg) translateY(-5px); }
  .game-poster--match:hover .match-cover-tile:nth-child(3) { transform:rotate(17deg) translateY(-5px); }
  .game-poster--catch:hover .catch-falling--one { transform:rotate(-9deg) translateY(-7px); }
}

@media(max-width:760px) {
  .games-lobby-shell { width:min(430px,calc(100% - 20px)); }
  .games-lobby-grid { grid-template-columns:1fr;gap:9px; }
  .game-poster { height:clamp(170px,22svh,185px);border-radius:18px;box-shadow:0 4px 13px rgba(133,77,92,.07); }
  .game-index { top:12px;left:14px;font-size:9px;letter-spacing:.13em; }
  .game-logo { top:38px;left:8px;width:65%;height:80px;object-position:left center;filter:none; }
  .game-tagline { left:12px;bottom:9px;max-width:55%;padding:5px 7px;border-radius:9px;font-size:9px;line-height:1.4; }
  .game-enter { right:10px;bottom:9px;min-height:25px;padding:0 8px;font-size:8px; }
  .flip-cover-art { inset:auto 0 0 auto;width:184px;height:166px;transform:scale(.73);transform-origin:right bottom; }
  .flip-cover-card--back { left:0;top:24px; }
  .flip-cover-card--one { left:43px;top:46px; }
  .flip-cover-card--two { right:0;top:18px; }
  .match-cover-art { right:0;bottom:0;left:auto;width:200px;height:177px;transform:rotate(-5deg) scale(.68);transform-origin:right bottom; }
  .game-poster--match::after { top:9px;right:12px;width:29px;height:29px;box-shadow:0 0 0 8px rgba(255,255,255,.18); }
  .game-poster--catch .game-logo { top:34px;left:7px;width:65%;height:78px;object-position:left center; }
  .catch-cover-art { inset:25px 2px 0 auto;width:190px;height:158px; }
  .catch-falling--one { left:66px;top:14px;width:60px;height:60px;transform:rotate(12deg); }
  .catch-falling--two { right:4px;top:59px;width:50px;height:50px;transform:rotate(-13deg); }
  .catch-falling--three { display:none; }
  .catch-special--bomb { left:24px;right:auto;top:16px;width:31px;height:31px; }
  .catch-special--shield { left:40px;top:77px;width:29px;height:29px; }
  .catch-basket { right:4px;bottom:-25px;width:83px;height:97px; }
}

@media(max-width:350px) {
  .game-poster { height:165px; }
  .game-logo,.game-poster--catch .game-logo { width:63%;height:72px; }
  .game-tagline { max-width:53%;font-size:8px; }
  .game-enter { font-size:0;width:25px;justify-content:center; }
  .game-enter::after { content:"↗";font-size:12px; }
  .flip-cover-art { transform:scale(.66); }
  .match-cover-art { transform:rotate(-5deg) scale(.62); }
}


/* Cover backgrounds extracted from the standalone forest games demo. */
.game-poster--flip {
  background:radial-gradient(circle at 54% 82%,rgba(241,166,191,.26),transparent 31%),radial-gradient(circle at 17% 70%,rgba(255,255,255,.8),transparent 34%),radial-gradient(circle at 84% 18%,#f0e5ff,transparent 47%),linear-gradient(140deg,#fff0f4 3%,#fff5ef 57%,#ebecff 100%);
}
.game-poster--flip::after {
  z-index:1;left:-8px;right:-8px;top:100px;bottom:auto;width:auto;height:99px;border:0;
  background:linear-gradient(115deg,rgba(238,156,186,.24),rgba(242,194,222,.18));
  border-radius:52% 48% 0 0 / 40% 26% 0 0;transform:rotate(-4deg);
}
.game-poster--match {
  background:repeating-linear-gradient(0deg,rgba(193,91,121,.035) 0 1px,transparent 1px 25px),repeating-linear-gradient(90deg,rgba(193,91,121,.035) 0 1px,transparent 1px 25px),radial-gradient(circle at 87% 6%,rgba(255,242,215,.96),transparent 42%),linear-gradient(160deg,#fff0ea 0%,#fff4f0 54%,#ffd7df 100%);
  background-size:26px 26px,26px 26px,auto,auto;border-color:#efc0bf;
}
.game-poster--match::before { left:-65px;bottom:-120px;width:420px;height:230px;border-radius:50%;background:#ec9cab;opacity:.23; }
.game-poster--match::after { display:none; }
.game-poster--catch {
  background:radial-gradient(ellipse at 77% 64%,rgba(255,250,234,.85),transparent 44%),linear-gradient(150deg,#f8b9c9 0%,#ffe8e9 46%,#e6ddfa 100%);
  border-color:#edbbc9;
}
.game-poster--catch::before { display:none; }
.game-poster--catch::after {
  z-index:1;right:12px;top:25px;bottom:auto;left:auto;width:168px;height:130px;border:1px solid rgba(255,255,255,.62);border-radius:50% 50% 46% 54%;
  background:radial-gradient(ellipse at 62% 58%,rgba(255,255,255,.57),rgba(255,248,235,.28) 55%,transparent 74%);
}
.flip-decoration { display:none; }
.match-backdrop,.catch-backdrop { display:none; }
@media(max-width:760px) {
  .flip-decoration { display:block;position:absolute;z-index:2;pointer-events:none; }
  .flip-decoration--heart { left:52%;top:16px;color:#d995ac;font-size:21px;transform:rotate(13deg); }
  .flip-decoration--star { left:18px;top:117px;color:#d78ca7;font-size:18px; }
  .flip-decoration--tiny { left:105px;top:128px;color:#dca1b6;font-size:12px; }
  .match-backdrop,.catch-backdrop { display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
  .match-backdrop { z-index:1; }
  .catch-backdrop { z-index:2; }
  .game-poster--flip .game-logo,.game-poster--match .game-logo { top:38px;left:8px;width:55%;height:77px;object-position:left center; }
  .game-poster--catch .game-logo { top:49px;left:8px;width:56%;height:77px;object-position:left center; }
  .flip-cover-art { inset:28px 10px auto auto;width:168px;height:128px;transform:none; }
  .flip-cover-card { width:69px;height:87px;border-radius:11px;background:#fff9fb;box-shadow:0 4px 0 #edd3da,0 8px 12px rgba(138,93,111,.13); }
  .flip-cover-card--back { left:3px;top:20px;right:auto;transform:rotate(-13deg); }
  .flip-cover-card--one { left:32px;top:9px;right:auto;transform:rotate(-4deg); }
  .flip-cover-card--two { left:65px;top:22px;right:auto;transform:rotate(4deg); }
  .flip-cover-card--three { left:96px;top:7px;right:auto;transform:rotate(12deg); }
  .match-cover-art { inset:12px 2px auto auto;width:176px;height:140px;transform:none; }
  .match-cover-tile { width:56px;height:59px;border-radius:10px;box-shadow:0 5px 0 #e6a8ad,0 8px 13px rgba(154,80,98,.12); }
  .match-cover-tile:nth-child(1) { left:0;top:37px;right:auto;transform:rotate(-14deg);z-index:1; }
  .match-cover-tile:nth-child(2) { left:46px;top:0;right:auto;transform:rotate(-8deg);z-index:2; }
  .match-cover-tile:nth-child(3) { left:109px;top:15px;right:auto;transform:rotate(13deg);z-index:1; }
  .match-cover-tile:nth-child(4) { left:20px;top:75px;right:auto;transform:rotate(9deg);z-index:3; }
  .match-cover-tile:nth-child(5) { left:69px;top:47px;right:auto;transform:rotate(-11deg);z-index:4; }
  .match-cover-tile:nth-child(6) { left:113px;top:63px;right:auto;transform:rotate(8deg);z-index:3; }
  .catch-cover-art { inset:25px 9px auto auto;width:174px;height:143px;transform:none; }
  .catch-falling { filter:drop-shadow(0 3px 2px rgba(156,90,107,.13)); }
  .catch-falling--one { left:70px;top:20px;right:auto;bottom:auto;width:44px;height:44px;transform:rotate(-8deg); }
  .catch-falling--two { left:57px;top:88px;right:auto;bottom:auto;width:39px;height:39px;transform:rotate(8deg); }
  .catch-falling--rabbit { left:130px;top:6px;width:37px;height:37px;transform:rotate(7deg); }
  .catch-falling--three { left:10px;top:88px;right:auto;bottom:auto;display:block;width:35px;height:35px;transform:rotate(-7deg); }
  .catch-falling--pig { left:20px;top:8px;width:34px;height:34px;transform:rotate(8deg); }
  .catch-special--bomb { left:45px;top:65px;right:auto;width:24px;height:24px;transform:rotate(9deg); }
  .catch-special--shield { left:83px;top:68px;right:auto;width:22px;height:22px;transform:none; }
  .catch-basket { left:101px;top:42px;right:auto;bottom:auto;width:70px;height:77px; }
}
