
*{box-sizing:border-box}
html,body{
  margin:0!important;
  padding:0!important;
  width:100%;
  height:100%;
  min-height:100%;
  background:#fff;
  overflow:hidden!important;
  -webkit-text-size-adjust:100%;
}
body{
  display:flex!important;
  flex-direction:column!important;
}
/* v904: all mobile Quiz routes obtain one canonical website header via the server proxy. */
body.sc-line-share-inapp > #scLiveHeader{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  flex:0 0 0!important;
}
#scLiveHeader{
  position:relative;
  flex:0 0 auto;
  width:100%;
  min-height:90px;
  background:#e6002d;
  overflow:visible;
  z-index:9999;
}
#scLiveHeader.sc-ready{
  min-height:90px;
}
#scLiveHeader > *{
  margin-top:0!important;
}
#scHeaderLoading{
  height:90px;
  background:#e6002d;
}
#scLiveHeader.sc-ready #scHeaderLoading{
  display:none;
}
#scQuizStage{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  width:100%;
  overflow:hidden;
  background:#fff;
  z-index:1;
}
#scQuizFrame{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
  margin:0;
  padding:0;
  background:#fff;
}
#scHeaderError{
  display:none;
  width:100%;
  height:90px;
  min-height:90px;
  padding:0 18px 0 20px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:#e6002d;
  color:#fff;
  overflow:hidden;
}
#scHeaderError .sc-fallback-logo{
  display:block;
  width:min(43vw,266px);
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
  flex:0 1 auto;
}
#scHeaderError .sc-fallback-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:22px;
  flex:0 0 auto;
}
#scHeaderError .sc-fallback-phone,
#scHeaderError .sc-fallback-menu{
  position:relative;
  display:block;
  width:44px;
  height:52px;
  color:#fff;
  text-decoration:none;
  opacity:.92;
  -webkit-tap-highlight-color:transparent;
}
#scHeaderError .sc-fallback-phone:before{
  content:"";
  position:absolute;
  left:12px;
  top:8px;
  width:15px;
  height:34px;
  border:3px solid currentColor;
  border-top-width:4px;
  border-bottom-width:4px;
  border-radius:12px 8px 8px 12px;
  transform:rotate(14deg);
}
#scHeaderError .sc-fallback-phone:after{
  content:"";
  position:absolute;
  left:20px;
  top:14px;
  width:11px;
  height:22px;
  background:#e6002d;
  border-radius:8px;
  transform:rotate(14deg);
}
#scHeaderError .sc-fallback-menu:before,
#scHeaderError .sc-fallback-menu:after{
  content:"";
  position:absolute;
  left:2px;
  width:40px;
  height:2px;
  background:currentColor;
  border-radius:2px;
}
#scHeaderError .sc-fallback-menu:before{top:17px}
#scHeaderError .sc-fallback-menu:after{top:35px}
#scLiveHeader.sc-error{height:90px!important;min-height:90px!important}
#scLiveHeader.sc-error #scHeaderLoading{display:none!important}
#scLiveHeader.sc-error #scHeaderError{display:flex!important}

@media(max-width:767px){
  #scLiveHeader{min-height:90px}
  #scHeaderLoading{height:90px}
}

#scCommonQuizCaption{
  flex:0 0 auto;
  display:block;
  width:100%;
  padding:10px 8% 9px;
  background:#f8f9f7;
  color:#a5abb1;
  font:700 11px/1.48 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",Meiryo,sans-serif;
  letter-spacing:.005em;
}
#scCommonQuizCaption[hidden]{
  display:none!important;
}
@media(max-width:767px){
  #scCommonQuizCaption{
    padding:9px 7.5% 8px;
    font-size:10.5px;
    line-height:1.45;
  }
}

/* ===== v602: no first-paint flash on /quiz/ ===== */
body.sc-booting{background:#fff!important;}
body.sc-booting > #scLiveHeader,
body.sc-booting > #scCommonQuizCaption,
body.sc-booting > #scQuizStage{
  visibility:hidden!important;
  opacity:0!important;
}
#scBootCover{
  position:fixed;
  inset:0;
  z-index:2147483000;
  background:#fff;
  opacity:1;
  pointer-events:auto;
}
body.sc-boot-complete > #scLiveHeader,
body.sc-boot-complete > #scCommonQuizCaption,
body.sc-boot-complete > #scQuizStage{
  visibility:visible!important;
  opacity:1!important;
}
body.sc-boot-complete #scBootCover{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}


/* Agent shell matches the standalone mobile Quiz wrapper; body stays in an iframe. */
#scQuizStage{background:#fff;}#scQuizFrame{background:#fff;}
