/* Independent upgrade notice. Explicit system typography prevents font-swap jumps. */
.migration-alert,.migration-dialog{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
.page-shell:has(>.migration-alert){display:flex;flex-direction:column}
.page-shell:has(>.migration-alert)>.phone{flex:1;min-height:0;height:auto}
.page-shell>.migration-alert{box-sizing:border-box;display:flex;align-items:center;gap:10px;flex:none;width:100%;height:44px;min-height:44px;margin:0;padding:8px 20px;border:0;border-radius:0;background:#fff7e8;color:#705321;z-index:5}
.migration-alert>svg{display:block;width:18px;height:18px;flex:none}
.migration-marquee{display:block;flex:1;min-width:0;height:24px;line-height:24px;overflow:hidden}
.migration-track{display:flex;align-items:center;width:max-content;height:24px;animation:none}
.migration-track>span{display:block;flex:none;white-space:nowrap;font-size:14px;font-weight:400;line-height:24px;color:#705321;padding-right:0}
.migration-track>.migration-repeat{display:none}
.is-overflowing .migration-track{animation:migration-scroll 20s linear infinite}
.is-overflowing .migration-track>span{padding-right:40px}
.is-overflowing .migration-track>.migration-repeat{display:block}
.migration-alert:hover .migration-track,.migration-alert:focus-within .migration-track{animation-play-state:paused}
@keyframes migration-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.migration-alert-action,.migration-alert-dismiss{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:28px;padding:0;border:0;background:transparent;color:#705321;font-family:inherit;font-size:14px;font-weight:400;line-height:24px;cursor:pointer}
.migration-alert-dismiss{width:28px;color:rgba(0,0,0,.6)}
.migration-alert-dismiss svg,.migration-close svg{display:block;flex:none}
.migration-dialog{box-sizing:border-box;width:min(400px,calc(100vw - 40px));max-height:calc(100svh - 48px);overflow:auto;padding:28px;border:0;border-radius:20px;background:#fff;color:rgba(0,0,0,.88);box-shadow:0 20px 80px #0002}
.migration-dialog::backdrop{background:rgba(0,0,0,.32)}
.migration-dialog form{display:flex;flex-direction:column;margin:0;position:relative}
.migration-dialog .migration-close{position:absolute;right:-12px;top:-12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:rgba(0,0,0,.6);cursor:pointer;outline:none;box-shadow:none}
.migration-dialog .migration-close:focus,.migration-dialog .migration-close:focus-visible{outline:none;box-shadow:none}
.migration-dialog h2{padding-right:24px;font-size:24px;font-weight:650;line-height:1.4;margin:0 0 16px}
.migration-dialog .migration-point{position:relative;padding-left:14px;font-size:16px;font-weight:400;line-height:1.6;color:rgba(0,0,0,.6);margin:0 0 10px}
.migration-point::before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:currentColor}
.migration-dialog .migration-point:last-of-type{margin-bottom:20px}
.migration-dialog .migration-primary{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;background:#287f70;color:#fff;font-size:16px;font-weight:600;text-decoration:none}
.migration-dialog .migration-later{align-self:center;min-height:44px;margin-top:6px;padding:0 12px;background:transparent;border:0;color:rgba(0,0,0,.6);font-size:14px;font-weight:400;cursor:pointer}
.migration-primary:focus-visible,.migration-alert-action:focus-visible,.migration-alert-dismiss:focus-visible{outline:2px solid #82b7a9;outline-offset:3px}
@media(max-width:599px){
 .page-shell>.migration-alert{height:calc(44px + env(safe-area-inset-top));min-height:calc(44px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 16px 8px}
 .migration-track>span{font-size:14px}
 .migration-alert-action{font-size:14px}
 .migration-dialog{padding:24px}
 .migration-dialog h2{font-size:20px}
 .migration-dialog .migration-primary{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.is-overflowing .migration-track{animation:none}}

.page-shell>.migration-alert{cursor:pointer}

/* Match the production atlas Next button across the same breakpoints. */
.migration-dialog .migration-primary{height:52px;min-height:52px;padding:0 8px;border:0;border-radius:999px;background:#287f70;color:#fff;font-family:"Google Sans Flex","Noto Sans SC",Arial,sans-serif;font-size:17px;font-weight:500;line-height:normal;cursor:pointer}
.migration-dialog .migration-primary:active{background:#1d695d;transform:scale(.96)}
@media(min-width:640px) and (max-height:600px){.migration-dialog .migration-primary{height:44px;min-height:44px;padding:0 2px;font-size:14px}}

.migration-dialog .migration-later{font-size:17px}
@media(min-width:640px) and (max-height:600px){.migration-dialog .migration-later{font-size:14px}}
