/* SSOL V23.0 UI UNIFICATION - additive final layer */
:root{
 --s23-pink:#ff3855;--s23-pink-soft:#fff2f5;--s23-ink:#171a24;
 --s23-muted:#7f8794;--s23-line:#e9edf2;--s23-bg:#f7f8fa;
 --s23-radius:22px;--s23-shadow:0 10px 28px rgba(23,26,36,.055)
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{color:var(--s23-ink);-webkit-font-smoothing:antialiased}
main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{max-width:100%}
.page-top{min-height:52px;align-items:center}
.page-top h1{font-size:20px!important;letter-spacing:-.6px}
.toast-success,.alert-error,.page-alert{font-size:13px!important;line-height:1.5}
.primary-btn{min-height:52px;border-radius:16px!important}
input,select{min-height:50px}
.s22-tabbar{bottom:max(12px,env(safe-area-inset-bottom))!important}
.s22-tabbar b{font-size:10px!important}
.shop22,.rewards22,.withdraw22,.mypage22,.invite22,.support22,.profile22{width:100%}
.shop22-heading h2,.rewards22-heading h2{letter-spacing:-.7px}
@media(max-width:760px){
 body{overflow-x:hidden}
 main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .page-top{margin-top:4px}
 .page-top h1{font-size:20px!important}
}
@media(min-width:761px){
 .shop22,.rewards22,.withdraw22,.mypage22,.invite22,.support22,.profile22{max-width:680px;margin-left:auto;margin-right:auto}
}
@media(max-width:390px){
 main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}
