/* One system font; shared type scale and spacing across user-facing pages. */
:root {
 --dream-font:system-ui,sans-serif;
 --dream-background-image:var(--skin-background-mobile,url('https://img.allforjunming.com/img/dream-background.webp'));
 --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; }
@media(min-width:768px) { :root { --dream-background-image:var(--skin-background-desktop,url('https://img.allforjunming.com/img/dream-background.webp')); } }
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) {
 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 skin system owns the viewport wallpaper; keep document sizing neutral. */
html { min-height:100%; }
html body.dream-page { background:transparent !important; }
html body.dream-page .feed-page { background:transparent !important; }

/* Close controls are intentionally reduced to the X glyph only. */
:is(
 .atlas-quantity-close,
 .atlas-lucky-close,
 .blind-box-modal-close,
 .collection-dialog-close,
 .archive-player-close,
 .dialog-close,
 .fifth-sheet-close,
 .home-drawer-close,
 .drawer-close,
 .profile-edit-close,
 .profile-quantity-dialog form>button,
 .jm-like-notice-close,
 .focus-notice-close,
 .focus-detail-close,
 [data-close-photo],
 [data-close-player],
 [data-close-image],
 [data-profile-quantity-close],
 .mobile-archive-picker-head button
) {
 border:0 !important;
 border-radius:0 !important;
 background:transparent !important;
 box-shadow:none !important;
 transform:none !important;
 appearance:none;
 -webkit-appearance:none;
}
