@media(max-width:760px) {
 .dream-page .profile-topbar { min-height:62px; display:flex; gap:10px; }
 .dream-page .profile-brand { font:12px/1.5 system-ui,sans-serif; color:#b56d87; letter-spacing:.08em; }
 .dream-page .profile-identity-card { position:relative; display:grid; grid-template-columns:95px minmax(0,1fr); gap:17px; margin:9px 0 17px; padding:31px 17px 27px; border:1px solid #c7d9ec; border-radius:8px 20px 9px 16px; background:#e5edf9cf url('https://img.allforjunming.com/img/journal-doodles.svg') center 24%/370px auto; box-shadow:3px 5px 0 #d1d9eb4d; overflow:visible; }
 .dream-page .profile-identity-card::before { content:""; position:absolute; left:22px; top:-8px; width:64px; height:19px; background:repeating-linear-gradient(45deg,#f4d7b7a9 0 2px,#fbe9cda8 2px 6px); transform:rotate(-8deg); }
 .dream-page .profile-identity-card::after { content:none; }
 .dream-page .profile-emblem { width:90px; height:100px; border:5px solid #fffdf7; border-bottom-width:15px; border-radius:3px; background:#fffdf7; transform:rotate(-6deg); box-shadow:0 4px 10px #b0b2c545; }
 .dream-page .profile-emblem img { border-radius:0; }
 .dream-page .profile-emblem i { font-size:8px; }
 .dream-page .profile-identity-copy h1 { font-size:20px; line-height:1.5; }
 .dream-page .profile-kicker { font-size:8px; letter-spacing:.04em; }
 .dream-page .profile-bio { font-size:11px; line-height:1.8; margin-top:9px; }
 .dream-page .profile-uid { margin-top:5px; font-size:10px; }
 .dream-page .profile-tabs { display:flex; gap:4px; padding:4px; margin:0 0 15px; border:1px solid #e2d5df; border-radius:19px; background:#f7ebef; }
 .dream-page .profile-tabs button { flex:1; min-width:0; min-height:33px; padding:4px 5px; border:0; border-radius:16px; background:none; color:#9c7c8a; font-size:12px; }
 .dream-page .profile-tabs button.is-active { color:#fff; background:linear-gradient(#edacbd,#e88fa7); }
 .dream-page .profile-layout { display:block; padding:0; }
 .dream-page .profile-welcome-card { padding:17px; border:1px solid var(--dream-border); border-radius:12px; background:#fffdf8e6; }
 .dream-page .profile-welcome-card h2 { font-size:17px; font-family:system-ui,sans-serif; }
 .dream-page .profile-content-section { margin-top:15px; padding:15px; border:1px solid #e7dace; border-radius:9px; background:#fffdf8e6; }
 .dream-page .profile-section-heading h2 { font-size:17px; font-family:system-ui,sans-serif; }
 .dream-page .profile-side-column { display:none; }
 .dream-page .profile-top-actions { display:flex; gap:5px; }
 .dream-page .profile-header-edit>summary,.dream-page .profile-logout { min-height:29px; padding:4px 7px; border:1px solid #e4d5cb; border-radius:15px; background:#fffdf6; font-size:10px; }
 .dream-page.auth-page { padding:0 16px 90px; }
 .dream-page .auth-shell { width:min(420px,100%); padding-top:26px; }
 .dream-page .auth-panel { padding:0 14px 25px; border:0; border-radius:0; background:transparent; box-shadow:none; }
 .dream-page .auth-panel .auth-login-title { margin:0 0 15px; color:#a57e89; font-size:17px; text-align:center; letter-spacing:.15em; }
 .dream-page .auth-panel form { gap:15px; }
 .dream-page .auth-panel label { gap:5px; color:#998b9c; font-size:11px; font-weight:400; }
 .dream-page .auth-panel input { min-height:46px; padding:10px 16px; background:#fffdfbed; border:1px solid #e9d8d6; border-radius:25px; color:#665965; font-size:14px; }
 .dream-page .auth-submit { min-height:47px; border:1px solid #dc8da2; border-radius:26px; background:linear-gradient(160deg,#efacbc,#e88ea7); box-shadow:inset 0 0 0 3px #ffffff29; color:#fff; letter-spacing:.2em; font-size:15px; font-weight:400; }
 .dream-page .auth-switch { margin:20px 0; font-size:12px; }
 .dream-page .auth-message:empty { min-height:0; }
 .dream-page .blind-box-topbar { min-height:66px; padding:10px 0; font-size:10px; }
 .dream-page .blind-box-hero { padding:5px 45px 15px; text-align:center; }
 .dream-page .blind-box-hero h1 { padding:0; font:700 23px/1.5 system-ui,sans-serif; }
 .dream-page .blind-box-eyebrow { font-size:8px; }
 .dream-page .blind-box-section,.dream-page .blind-box-gate { margin:12px 0; padding:18px 14px; border:1px solid #e6d8d0; border-radius:9px 14px 10px 7px; background:#fffdf8df; box-shadow:2px 3px 0 #ecddd450; }
 .dream-page .blind-box-section h2 { font:18px/1.5 system-ui,sans-serif; }
 .dream-page .blind-box-action-card { border:1px solid #edbacb; border-radius:22px; background:#fbe2e9; color:#b7758d; }
 .dream-page .dream-order-disclosure { border:1px solid #df9eae; border-radius:22px; background:linear-gradient(#f1b3c3,#e58ea7); color:#fff; box-shadow:inset 0 0 0 3px #ffffff26; }
 .dream-page .dream-order-disclosure summary { justify-content:center; gap:15px; padding:11px 16px; }
 .dream-page .blind-box-order-bind-card { background:#fffdf8; color:var(--dream-ink); }
}

/* Unified Dream Auth v2: login and register share one compact mobile system. */
.dream-page.auth-page {
    min-height:100dvh;
    margin:0;
    padding:0 16px max(112px, calc(92px + env(safe-area-inset-bottom)));
    overflow-anchor:none;
}
.dream-page.auth-page .auth-shell {
    width:min(420px,100%);
    min-height:100dvh;
    margin:0 auto;
    padding-top:max(16px,env(safe-area-inset-top));
    padding-bottom:max(112px, calc(92px + env(safe-area-inset-bottom)));
}
.dream-page.auth-page .auth-back { display:inline-flex !important; min-height:36px; margin:0 0 10px; padding:0 14px; align-items:center; justify-content:center; border:1px solid rgba(217,120,143,.18); border-radius:999px; color:var(--dream-muted); background:rgba(255,253,247,.58); font:500 13px/1 system-ui,sans-serif; text-decoration:none; }
.dream-page.auth-page .auth-panel { padding:0 14px 18px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.dream-page.auth-page .auth-ballball img.is-switching { opacity:.18; transform:scale(.97); }
.dream-page.auth-page .auth-float-decor { position:absolute; inset:0; pointer-events:none; overflow:visible; }
.dream-page.auth-page .auth-float-decor i { position:absolute; display:block; color:#df8ea3; font:600 12px/1 system-ui,sans-serif; font-style:normal; opacity:0; }
.dream-page.auth-page .auth-float-notes i:nth-child(1) { left:70%; top:28%; animation:auth-float-note 2.7s ease-out infinite; }
.dream-page.auth-page .auth-float-notes i:nth-child(2) { left:80%; top:44%; animation:auth-float-note 2.7s .8s ease-out infinite; }
.dream-page.auth-page .auth-float-notes i:nth-child(3) { left:62%; top:48%; animation:auth-float-note 2.7s 1.5s ease-out infinite; }
.dream-page.auth-page .auth-float-zzz i { color:#9a91b7; font-size:11px; }
.dream-page.auth-page .auth-float-zzz i:nth-child(1) { left:71%; top:27%; animation:auth-float-zzz 3s ease-out infinite; }
.dream-page.auth-page .auth-float-zzz i:nth-child(2) { left:81%; top:40%; animation:auth-float-zzz 3s .7s ease-out infinite; }
.dream-page.auth-page .auth-float-zzz i:nth-child(3) { left:89%; top:52%; animation:auth-float-zzz 3s 1.35s ease-out infinite; }
.auth-float-zzz { display:none; }
.auth-ballball.is-sleeping .auth-float-notes { display:none; }
.auth-ballball.is-sleeping .auth-float-zzz { display:block; }
@keyframes auth-float-note { 0% { opacity:0; transform:translate(0,8px) scale(.72) rotate(-8deg); } 18% { opacity:.85; } 100% { opacity:0; transform:translate(24px,-34px) scale(1.04) rotate(10deg); } }
@keyframes auth-float-zzz { 0% { opacity:0; transform:translate(0,7px) scale(.72); } 18% { opacity:.82; } 100% { opacity:0; transform:translate(22px,-38px) scale(1.02); } }
.dream-page.auth-page .auth-title { margin:0 0 16px; color:#6d4f53; font:700 25px/1.3 system-ui,sans-serif; text-align:center; }
.dream-page.auth-page .auth-form { display:grid; gap:14px; }
.dream-page.auth-page .auth-panel label { display:grid; gap:6px; margin:0; color:#81727f; font:500 12px/1.4 system-ui,sans-serif; }
.dream-page.auth-page .auth-panel input { width:100%; min-height:52px; padding:0 18px; border:1px solid rgba(188,156,153,.28); border-radius:26px; color:#655b64; background:rgba(255,253,251,.92); font:400 13px system-ui,sans-serif; outline:none; box-shadow:0 2px 8px rgba(103,75,67,.025); }
.dream-page.auth-page .auth-panel input:focus { border-color:rgba(217,120,143,.58); box-shadow:0 0 0 3px rgba(217,120,143,.08); }
.dream-page.auth-page .password-field { position:relative; display:block; width:100%; }
.dream-page.auth-page .password-field input { padding-right:50px; }
.dream-page.auth-page .password-toggle { position:absolute; top:50%; right:10px; display:grid; width:34px; height:34px; padding:0; place-items:center; border:0; color:#948891; background:transparent; font-size:15px; cursor:pointer; transform:translateY(-50%); }
.dream-page.auth-page .auth-field-help { margin:0 4px; color:#aaa0a3; font:400 11px/1.4 system-ui,sans-serif; }
.dream-page.auth-page .auth-submit { width:100%; min-height:52px; padding:0 18px; border:1px solid rgba(220,141,162,.58); border-radius:27px; color:#fff; background:linear-gradient(135deg,#efa6b8,#e786a4); box-shadow:none; font:600 15px system-ui,sans-serif; cursor:pointer; }
.dream-page.auth-page .auth-submit:focus, .dream-page.auth-page .auth-submit:focus-visible { outline:none; box-shadow:none; }
.dream-page.auth-page .auth-submit.is-secondary { color:#bc7088; background:rgba(255,253,247,.72); border-color:rgba(217,120,143,.26); box-shadow:none; }
.dream-page.auth-page .auth-code-box[hidden], .dream-page.auth-page [data-register-submit][hidden] { display:none; }
.dream-page.auth-page [data-fallback-signup][hidden], .dream-page.auth-page [data-send-code][hidden] { display:none; }
.dream-page.auth-page .auth-message { margin:0; color:#72846e; font:400 12px/1.5 system-ui,sans-serif; }
.dream-page.auth-page .auth-message:empty { display:none; }
.dream-page.auth-page .auth-message.is-error { color:var(--dream-accent-ink); }
.dream-page.auth-page .auth-switch { margin:16px 0 0; color:#918587; font:400 12px system-ui,sans-serif; text-align:center; }
.dream-page.auth-page .auth-switch a { color:#d45f83; font-weight:700; text-decoration:none; }
@media (max-width:760px) and (max-height:720px) {
    .dream-page.auth-page .auth-shell { padding-top:max(10px,env(safe-area-inset-top)); }
    .dream-page.auth-page .auth-back { min-height:32px; margin-bottom:6px; font-size:12px; }
    .dream-page.auth-page .auth-title { margin-bottom:12px; font-size:22px; }
    .dream-page.auth-page .auth-form { gap:10px; }
    .dream-page.auth-page .auth-panel label { gap:4px; }
    .dream-page.auth-page .auth-panel input, .dream-page.auth-page .auth-submit { min-height:48px; }
    .dream-page.auth-page .auth-switch { margin-top:12px; }
}

@media (max-width:760px) {
    /* iOS only suppresses focus zoom for controls rendered at 16px or larger. */
    .dream-page.auth-page .auth-panel input { font-size:16px; }
    .dream-page.auth-page .auth-phone-prefix { font-size:16px; }

    /* Keep the auth layout compact before focus so opening the keyboard doesn't reflow it. */
    .dream-page.auth-page { padding:0 12px 8px; }
    .dream-page.auth-page .auth-shell {
        min-height:0;
        padding-top:max(4px,env(safe-area-inset-top));
        padding-bottom:6px;
    }
    .dream-page.auth-page .auth-back {
        min-height:30px;
        margin-bottom:4px;
    }
    .dream-page.auth-page .auth-panel { padding:0 8px 4px; }
    .dream-page.auth-page .auth-hero { margin-bottom:4px; }
    .dream-page.auth-page .auth-ballball {
        width:64px;
        height:64px;
        margin:0 auto;
    }
    .dream-page.auth-page .dream-brand-heading {
        width:min(100%,250px);
        margin-bottom:5px;
        padding:0 6px 5px;
    }
    .dream-page.auth-page .dream-brand-heading strong { font-size:19px; }
    .dream-page.auth-page .dream-brand-heading span { margin-top:2px; font-size:11px; }
    .dream-page.auth-page .auth-title { margin-bottom:7px; font-size:20px; }
    .dream-page.auth-page .auth-form { gap:8px; }
    .dream-page.auth-page .auth-panel label { gap:3px; }
    .dream-page.auth-page .auth-panel input,
    .dream-page.auth-page .auth-submit { min-height:44px; }
    .dream-page.auth-page .auth-switch { margin-top:8px; }

    /* Keep the mascot screen-fixed while the title and form keep their normal flow space. */
    .dream-page.auth-entry-page .auth-hero {
        grid-template-rows:64px auto;
    }
    .dream-page.auth-entry-page .auth-ballball {
        position:fixed;
        z-index:20;
        top:6px;
        left:50%;
        width:64px;
        height:64px;
        margin:0;
        pointer-events:none;
        transform:translateX(-50%);
    }
    .dream-page.auth-entry-page .dream-brand-heading { grid-row:2; }
    .dream-page.auth-entry-page.is-auth-editing .auth-panel input { scroll-margin-top:82px; }
}

.dream-page.auth-page .dream-brand-heading {
    padding-bottom:0;
    border-bottom:0;
}
.dream-page.auth-page .dream-brand-heading::after { content:none; }

.dream-page.auth-page .auth-email-tip { margin:0 0 12px; padding:8px 12px; border:1px solid rgba(217,120,143,.15); border-radius:14px; color:#a66d7f; background:rgba(255,253,247,.62); font:400 12px/1.5 system-ui,sans-serif; text-align:center; }
.dream-page.auth-page .auth-registration-fields { display:grid; gap:inherit; }
.dream-page.auth-page .auth-identifier-field { display:flex; align-items:center; position:relative; min-width:0; }
.dream-page.auth-page .auth-phone-prefix { position:absolute; left:18px; color:#81727f; font:500 13px system-ui,sans-serif; pointer-events:none; }
.dream-page.auth-page .auth-phone-prefix:not([hidden]) + input { padding-left:56px; }
.dream-page.auth-page .auth-edit-account { justify-self:start; padding:6px 0; border:0; color:#bc7088; background:transparent; font:500 12px/1.5 system-ui,sans-serif; text-decoration:underline; cursor:pointer; }
.dream-page.auth-page .auth-edit-account:disabled { opacity:.55; cursor:not-allowed; }
.dream-page.auth-page [data-registration-fields][hidden], .dream-page.auth-page [data-phone-prefix][hidden] { display:none; }

/* Password recovery shares the existing Dream Auth controls. */
.dream-page.auth-page .auth-reset-link { justify-self:end; color:#bc7088; font:500 12px/1.5 system-ui,sans-serif; text-decoration:underline; }
.dream-page.auth-page .auth-recovery-code { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.dream-page.auth-page .auth-send-recovery { min-width:0; padding:6px 10px; border:1px solid rgba(217,120,143,.26); border-radius:26px; color:#bc7088; background:rgba(255,253,247,.72); font:500 12px/1.4 system-ui,sans-serif; cursor:pointer; }
.dream-page.auth-page .auth-send-recovery:disabled { opacity:.6; cursor:not-allowed; }
.dream-page.auth-page [data-fallback-recovery][hidden], .dream-page.auth-page [data-retry-exit][hidden] { display:none; }
.dream-page.auth-page a:focus-visible, .dream-page.auth-page button:focus-visible { outline:2px solid #df6f93; outline-offset:3px; }
