/* Mobile-only account dashboard. Desktop account presentation remains untouched. */
.av2-course-toggle,.av2-history-more{display:none}

@media (max-width:760px){
  .portal-content:has(.account-v2){overflow-x:hidden}
  .account-v2{gap:12px;max-width:100%;overflow:hidden}
  .account-v2>*,.account-v2 article,.account-v2 section{min-width:0;max-width:100%;box-sizing:border-box}

  /* Compact profile */
  .av2-profile{grid-template-columns:46px minmax(0,1fr);gap:9px 12px;padding:15px 16px;border-radius:13px;align-items:start}
  .av2-avatar{width:46px;height:46px;font-size:15px}
  .av2-profile-copy{min-width:0}
  .av2-profile-copy .section-kicker{font-size:8px;letter-spacing:.14em}
  .av2-profile-copy h2{font-size:17px;line-height:1.18;margin:4px 0 3px;overflow-wrap:anywhere;word-break:normal}
  .av2-profile-copy p{font-size:12px}
  .av2-status{grid-column:2;padding:5px 9px;font-size:9px;justify-self:start;margin-top:-2px}
  .av2-rank{grid-column:1/-1;border-left:0;border-top:1px solid #e1e9e5;padding:10px 0 0;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:center}
  .av2-rank small{grid-column:1;font-size:8px;letter-spacing:.08em}
  .av2-rank b{grid-column:2;margin:0;font-size:14px;line-height:1.2;overflow-wrap:anywhere}
  .av2-rank span{grid-column:2;font-size:10px}

  /* Main metrics: one compact 2x2 panel */
  .account-v2>.av2-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border:1px solid #d8e3dd;border-radius:13px;overflow:hidden}
  .account-v2>.av2-metrics .av2-metric{border:0;border-radius:0;padding:13px 14px;min-height:82px;background:#fff}
  .account-v2>.av2-metrics .av2-metric:nth-child(odd){border-right:1px solid #e3ebe7}
  .account-v2>.av2-metrics .av2-metric:nth-child(-n+2){border-bottom:1px solid #e3ebe7}
  .account-v2>.av2-metrics .av2-metric span{font-size:9px;margin-bottom:5px}
  .account-v2>.av2-metrics .av2-metric b{font-size:21px}
  .account-v2>.av2-metrics .av2-metric small{font-size:8px;margin-top:4px}
  .av2-info{margin:-3px 2px 0;font-size:10px}
  .av2-info p{font-size:10px;padding:10px 11px}

  /* Shared section rhythm */
  .av2-section,.av2-panel{padding:16px;border-radius:13px}
  .av2-section-head{margin-bottom:11px;gap:3px}
  .av2-section-head h2,.av2-panel h2{font-size:20px;margin-top:4px}
  .av2-section-head>span{display:none}
  .section-kicker{font-size:9px}

  /* Course accordion */
  .av2-course{padding:14px;border-radius:11px}
  .av2-course+.av2-course{margin-top:10px}
  .av2-course-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}
  .av2-course-head small{font-size:8px}
  .av2-course-head h3{font-size:17px;line-height:1.2;margin:3px 0 2px;overflow-wrap:anywhere}
  .av2-course-head span{font-size:10px}
  .av2-course-head>strong{font-size:20px;align-self:center}
  .av2-progress{height:5px;margin:10px 0}
  .av2-course-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;border-top:1px solid #e2eae6;background:transparent;color:#176f53;padding:10px 0 0;margin:2px 0 0;font:inherit;cursor:pointer}
  .av2-course-toggle span{font-size:10px;font-weight:800}
  .av2-course-toggle b{font-size:17px;line-height:1;transition:transform .18s ease}
  .av2-course:not(.mobile-open) .av2-module-grid{display:none}
  .av2-course.mobile-open .av2-course-toggle b{transform:rotate(180deg)}
  .av2-module-grid{grid-template-columns:1fr;gap:6px;margin-top:10px}
  .av2-module{padding:10px 11px;border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;gap:2px 8px;align-items:center}
  .av2-module>small{grid-column:1;grid-row:1/3;font-size:9px}
  .av2-module>b{grid-column:2;grid-row:1;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
  .av2-module>strong{grid-column:3;grid-row:1/3;font-size:14px}
  .av2-module>span{grid-column:2;grid-row:2;font-size:8px;margin:0}

  /* Results + learning effect become one visual card */
  .av2-two{display:block;background:#fff;border:1px solid #d8e3dd;border-radius:13px;overflow:hidden}
  .av2-two>.av2-panel{border:0;border-radius:0;background:transparent;padding:16px}
  .av2-two>.av2-panel+.av2-panel{border-top:1px solid #e2eae6}
  .av2-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:11px;border:1px solid #e2eae6;border-radius:10px;overflow:hidden}
  .av2-result-grid .av2-metric{border:0;border-radius:0;padding:11px;background:#f8fbf9;min-height:68px}
  .av2-result-grid .av2-metric:nth-child(odd){border-right:1px solid #e2eae6}
  .av2-result-grid .av2-metric:nth-child(-n+2){border-bottom:1px solid #e2eae6}
  .av2-result-grid .av2-metric span{font-size:8px;margin-bottom:4px}
  .av2-result-grid .av2-metric b{font-size:19px}
  .av2-effect-row{margin-top:11px;gap:7px}
  .av2-effect-row>div{padding:11px 8px;border-radius:9px}
  .av2-effect-row small{font-size:8px}
  .av2-effect-row b{font-size:22px;margin-top:3px}
  .av2-effect-row>span{font-size:18px}
  .av2-delta{margin-top:8px;padding:8px;font-size:11px}

  /* Recommendations */
  .av2-recommend{gap:7px}
  .av2-repeat-row{grid-template-columns:46px minmax(0,1fr);gap:9px;padding:10px;border-radius:9px}
  .av2-repeat-row>strong{padding:6px;font-size:10px}
  .av2-repeat-row b{font-size:11px;line-height:1.25}
  .av2-repeat-row span{font-size:8px}
  .av2-repeat-row button{grid-column:2;font-size:10px;justify-self:start}
  .av2-empty{padding:14px;font-size:10px}

  /* Activity: 3 metrics in one row + compact 7-column heatmap */
  .av2-activity-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:11px;border:1px solid #e2eae6;border-radius:10px;overflow:hidden}
  .av2-activity-metrics .av2-metric{border:0;border-radius:0;padding:10px 8px;min-height:74px;background:#fff}
  .av2-activity-metrics .av2-metric:not(:last-child){border-right:1px solid #e2eae6}
  .av2-activity-metrics .av2-metric span{font-size:8px;line-height:1.2;margin-bottom:5px}
  .av2-activity-metrics .av2-metric b{font-size:17px}
  .av2-activity-metrics .av2-metric small{font-size:7px;line-height:1.2;margin-top:4px}
  .av2-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .av2-day{min-height:38px;padding:5px;border-radius:7px}
  .av2-day b{font-size:9px}
  .av2-day span{font-size:7px}
  .av2-calendar-legend{margin-top:7px;gap:3px;font-size:8px}
  .av2-calendar-legend i{width:9px;height:9px}

  /* History becomes stacked mobile cards; no horizontal table scroll. */
  .av2-history-wrap{overflow:visible;border:0;border-radius:0}
  .av2-history{display:block;width:100%;min-width:0}
  .av2-history thead{display:none}
  .av2-history tbody{display:grid;gap:7px}
  .av2-history tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 9px;padding:11px 12px;border:1px solid #dfe8e3;border-radius:10px;background:#fff}
  .av2-history td{display:block;padding:0;border:0;font-size:10px;min-width:0}
  .av2-history td:nth-child(1){grid-column:1;grid-row:1;color:#7c8b84;font-size:8px}
  .av2-history td:nth-child(2){grid-column:1;grid-row:2}
  .av2-history td:nth-child(2) b{font-size:11px;line-height:1.25;overflow-wrap:anywhere}
  .av2-history td:nth-child(2) small{font-size:8px;margin-top:2px}
  .av2-history td:nth-child(3){grid-column:2;grid-row:1/3;align-self:center}
  .av2-history td:nth-child(4){grid-column:1;grid-row:3;align-self:center}
  .av2-history td:nth-child(5){grid-column:2;grid-row:3;align-self:center;justify-self:end}
  .av2-score,.av2-pass{padding:5px 7px;font-size:9px}
  .av2-view{font-size:9px;padding:4px 0}
  .av2-history tr.mobile-history-hidden{display:none}
  .av2-history tr:has(.av2-empty){display:block;text-align:center}
  .av2-history tr:has(.av2-empty) td{display:block}
  .av2-history-more{display:block;width:100%;margin-top:8px;border:1px solid #d7e3dd;border-radius:9px;background:#f8fbf9;color:#176f53;padding:9px 10px;font-size:10px;font-weight:850;cursor:pointer}

  /* Attempt details become near-fullscreen and readable on phone. */
  .av2-modal{padding:0;align-items:end}
  .av2-modal-card{width:100%;max-height:92dvh;border-radius:16px 16px 0 0;padding:16px}
  .av2-modal-head{gap:10px;padding-bottom:12px;margin-bottom:12px}
  .av2-modal-head h2{font-size:18px;line-height:1.25}
  .av2-modal-head p{font-size:10px}
  .av2-modal-head button{width:36px;height:36px;flex:0 0 36px}
  .av2-answer{grid-template-columns:28px minmax(0,1fr) 22px;gap:9px;padding:11px}
  .av2-answer-num{width:28px;height:28px;font-size:10px}
  .av2-answer h3{font-size:11px;margin-bottom:8px}
  .av2-answer p{font-size:9px}

  /* The gamification badge already exists in the profile hero; hide the legacy duplicate. */
  #accountRankBadge{display:none!important}
}

@media (max-width:360px){
  .av2-profile{padding:13px}
  .account-v2>.av2-metrics .av2-metric{padding:11px;min-height:78px}
  .av2-section,.av2-panel,.av2-two>.av2-panel{padding:14px}
  .av2-activity-metrics .av2-metric{padding:9px 6px}
}
