/* extracted from index.html: questionnaire-motion-stability-20260924 */
/* Answering should change state, not geometry. Prevent click/selection size pulses. */
#questionList .opt,
#questionList .opt:hover,
#questionList .opt:active,
#questionList .opt.sel{
  transform:none!important;
}
#finish .choice,
#finish .choice:hover,
#finish .choice:active,
#finish .choice.sel{
  transform:none!important;
}
#questionList .question-card.current-question .q,
#questionList .question-card.answered .q{
  transform:none!important;
}

/* extracted from index.html: final-questionnaire-polish-20260924 */
/* Final diagnosis polish: stable type, bounded reading width, readable live TOP3. */
#questionList .question-card{
  transition:opacity .18s ease,transform .18s ease,border-color .15s ease,box-shadow .15s ease!important;
}
#questionList .question-card .q,
#questionList .question-card .questionImpact{
  width:100%;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
#questionList .question-card .q{
  text-wrap:pretty;
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:normal;
}
@media(min-width:900px){
  #questionList .question-card .q{font-size:clamp(24px,2.2vw,31px)!important}
  #questionList .question-card .questionImpact{max-width:720px}
}
@media(max-width:600px){
  .liveRankingToggle,
  .liveTop10Open{font-size:12px!important}
  .liveRankItem small{font-size:12px!important;line-height:1.4}
  .liveRankMove{font-size:12px!important;line-height:1.35}
  .liveRankReason{font-size:13px!important;line-height:1.5}
  .liveRankingNote{font-size:12px!important;line-height:1.55}
  .liveRankingMeta span,
  .liveStabilityLabel,
  .liveStabilityValue{font-size:12px!important;line-height:1.45}
  .liveRankingCompact{font-size:13px!important}
  .choice span{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
  #questionList .question-card{transition:none!important}
}

/* extracted from index.html: ux-refresh-final-overrides-20260924 */
/* Final cascade layer for the refresh. Keep these rules after legacy/stage styles. */
@media(min-width:701px){
  .top3CompareGrid{grid-template-columns:minmax(0,1.14fr) repeat(2,minmax(0,.93fr))}
  .top3CompareCard:first-child{
    border-color:#8fc9bf;
    border-top:4px solid #39a69a;
    padding-top:11px;
    background:#f1faf7;
  }
  .top3CompareCard:first-child .top3ComparePlace strong{font-size:17px}
  .top3CompareCard:first-child .top3CompareScore b{font-size:31px}
}
.top3CompareScore span{font-size:12px}
.top3CompareLine small{font-size:11px}
.top3CompareLine p{font-size:13px;line-height:1.6}
@media(max-width:700px){
  .top3CompareLine small{font-size:12px}
  .top3CompareLine p{font-size:14px;line-height:1.65}
}
@media(max-width:600px){
  .production-hero h1{
    width:100%;
    max-width:none!important;
    font-size:clamp(35px,10.2vw,44px)!important;
    text-wrap:wrap!important;
    word-break:auto-phrase;
    line-break:strict;
  }
  .production-hero-trust{font-size:13px}
  .resultEditButtons{display:grid;grid-template-columns:1fr;width:100%}
  .resultEditButtons button{width:100%;min-height:48px}
}

/* 2026-09-24 final mobile safe-area and motion guard. */
@media(max-width:600px){
  .liveRankingPreview{bottom:max(7px,env(safe-area-inset-bottom))}
  .liveTop10Sheet{
    padding-top:max(8px,env(safe-area-inset-top));
    padding-right:max(8px,env(safe-area-inset-right));
    padding-bottom:max(8px,env(safe-area-inset-bottom));
    padding-left:max(8px,env(safe-area-inset-left));
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}
