/* Mobile responsive polish for AI dashboard */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  padding-left:max(20px,env(safe-area-inset-left));
  padding-right:max(20px,env(safe-area-inset-right));
  padding-bottom:max(28px,env(safe-area-inset-bottom));
}
img,svg,canvas,video,audio,iframe{max-width:100%}
button,a,input,select{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color: transparent; }

@media (max-width: 980px){
  body{padding:18px 14px 28px;background-attachment:fixed}
  .page{gap:18px;width:100%}
  .topbar{grid-template-columns:1fr;gap:14px;position:relative}
  .brand{min-height:auto;border-radius:26px;padding:14px 15px;gap:12px}
  .logo{width:48px;height:48px;border-radius:18px;font-size:1.15rem;flex:0 0 auto}
  .brand h1{font-size:1rem;line-height:1.25}
  .brand p{font-size:.78rem;line-height:1.5;margin-top:3px}
  .nav{
    min-height:auto;
    border-radius:26px;
    padding:8px;
    display:flex;
    gap:8px;
    justify-content:flex-start;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav button,.nav a{
    min-width:auto;
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:11px 13px;
    border-radius:18px;
    font-size:.86rem;
    line-height:1;
  }
  .card{border-radius:26px;padding:20px;box-shadow:12px 12px 32px rgba(114,133,155,.16),-12px -12px 32px rgba(255,255,255,.9)}
  .hero{grid-template-columns:1fr;gap:16px}
  .welcome h2{font-size:clamp(2rem,12vw,3.15rem);line-height:1.02;letter-spacing:-.07em;word-break:keep-all}
  .summary{font-size:.94rem;line-height:1.75}
  .eyebrow,.kicker{font-size:.74rem;margin-bottom:12px;padding:7px 10px}
  .title{font-size:1.18rem;line-height:1.3}
  .primary,.blue-btn,.small-btn,.gold-btn,.rose-btn{min-height:42px;padding:11px 15px;font-size:.88rem}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .quick-card{min-height:112px;padding:18px;align-content:space-between}
  .quick-card strong{font-size:1.2rem;line-height:1.2;word-break:break-word}
  .quick-card span{font-size:.8rem;line-height:1.45}
  .links{grid-template-columns:1fr;gap:12px}
  .link-card{border-radius:20px;padding:16px}
  .section-head{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
  .section-head .small-btn{justify-self:start}
  .news-list,.learn-list,.belief-points{gap:12px}
  .news-item,.learn-row,.belief-row{border-radius:20px;padding:15px;gap:12px}
  .news-item{grid-template-columns:38px minmax(0,1fr);position:relative}
  .news-item>div:last-child{grid-column:2;justify-self:start;color:var(--muted);font-size:.78rem}
  .news-item h3{font-size:1rem;line-height:1.45;word-break:break-word}
  .news-item p{font-size:.88rem;line-height:1.65;margin-top:4px;color:#526071;word-break:break-word}
  .rank{width:38px;height:38px;border-radius:14px;font-size:.9rem}
  .footer{border-radius:24px;padding:15px 18px;gap:8px;font-size:.82rem}
}

@media (max-width: 640px){
  body{padding:12px 10px 24px}
  .page{gap:14px}
  .brand,.nav,.card,.footer{border-radius:22px}
  .brand{padding:12px}
  .logo{width:42px;height:42px;border-radius:16px}
  .brand h1{font-size:.95rem}
  .brand p{font-size:.74rem}
  .nav{padding:7px;gap:7px;position:sticky;top:8px;z-index:20;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .nav button,.nav a{padding:10px 12px;font-size:.82rem;border-radius:16px}
  .card{padding:16px}
  .hero{gap:12px}
  .welcome h2{font-size:clamp(1.85rem,13vw,2.65rem)}
  .summary{font-size:.88rem;line-height:1.68}
  .primary,.blue-btn,.small-btn,.gold-btn,.rose-btn{width:100%;justify-content:center;text-align:center}
  .quick-grid{grid-template-columns:1fr;gap:10px}
  .quick-card{min-height:86px;padding:16px;text-align:left}
  .links{gap:10px}
  .news-item,.learn-row,.belief-row{padding:13px;border-radius:18px}
  .learn-row,.belief-row{grid-template-columns:10px minmax(0,1fr)}
  .dot{width:7px;height:7px;margin-top:8px}
  .pills,.meta,.backup-actions,.motivation-actions{gap:8px;margin-top:12px}
  .pill,.tag{font-size:.72rem;padding:6px 10px}
  .input{border-radius:16px;min-height:44px;font-size:16px;padding:12px 13px}
}

/* English word module mobile optimization */
@media (max-width: 760px){
  .english-panel{gap:14px}
  .learning-path{gap:8px;margin-top:10px}
  .learning-path span{font-size:.72rem;padding:7px 10px}
  .english-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .english-stat{border-radius:18px;padding:13px!important}
  .english-stat strong{font-size:1.22rem!important}
  .english-stat span{font-size:.72rem!important}
  .validation-ok,.validation-warn{border-radius:18px;padding:12px 13px;font-size:.86rem;line-height:1.5}
  .validation-small{font-size:.74rem;line-height:1.55}
  .english-toolbar{grid-template-columns:1fr!important;gap:9px!important}
  .word-grid{max-height:56vh;gap:8px;padding:2px 0 8px;overscroll-behavior:contain}
  .word-chip{
    min-height:40px;
    padding:9px 12px!important;
    border-radius:16px!important;
    font-size:.88rem;
    max-width:100%;
    white-space:normal;
    word-break:break-word;
  }
  .word-detail{border-radius:22px!important;padding:17px!important;gap:13px!important}
  .word-detail-head{gap:12px!important}
  .word-main{font-size:1.65rem!important;letter-spacing:-.045em!important;line-height:1.1;word-break:break-word}
  .word-ipa{font-size:.9rem!important;line-height:1.55}
  .detail-grid{grid-template-columns:1fr!important;gap:10px!important}
  .detail-box{border-radius:17px!important;padding:13px!important}
  .detail-box b{font-size:.9rem}
  .detail-box p{font-size:.9rem;line-height:1.68!important;word-break:break-word}
  .audio-note{font-size:.76rem!important;line-height:1.55}
  audio{width:100%;height:38px}
}

/* Motivation cards mobile optimization */
@media (max-width: 760px){
  .multi-motivation-grid,.motivation-grid{grid-template-columns:1fr!important;gap:12px!important}
  .motivation-card,.theory-card,.belief-card{border-radius:22px!important;padding:16px!important}
  .motivation-card h3,.theory-card h3,.belief-card h3{font-size:1.08rem;line-height:1.35}
  .motivation-card p,.theory-card p,.belief-card p{font-size:.9rem;line-height:1.7}
}

@media (max-width: 390px){
  body{padding-left:8px;padding-right:8px}
  .card{padding:14px}
  .welcome h2{font-size:2rem}
  .nav button,.nav a{font-size:.78rem;padding:9px 10px}
  .quick-card{padding:14px}
  .english-stat-grid{grid-template-columns:1fr 1fr!important}
  .word-chip{font-size:.84rem;min-height:38px;padding:8px 10px!important}
}
