/* Sprint 23 — Functional Completion + Mobile-first Polish
   Scope: no rebuild, no identity change, no oversized cards. */

/* Strong final override for compact hero hierarchy */
.hero{--tmk-compact-gap:clamp(8px,1.4vw,14px)}
.hero .hero-inner{gap:clamp(18px,3vw,34px)!important;align-items:center!important}
.hero .hero-learning-badge{display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;font-size:clamp(10.5px,1.4vw,12px)!important;line-height:1.2!important;padding:4px 10px!important;margin:0 0 var(--tmk-compact-gap)!important;border-radius:999px!important;opacity:.86!important}
.hero .hero-title{font-size:clamp(30px,4.2vw,48px)!important;line-height:1.05!important;margin:0 0 10px!important;letter-spacing:-.35px!important}
.hero .hero-tagline{font-size:clamp(13.5px,1.6vw,16px)!important;line-height:1.7!important;margin:0 0 10px!important;max-width:620px!important}
.hero .hero-trustline{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:8px 0 14px!important}
.hero .hero-trustline .hero-benefit{font-size:clamp(10.5px,1.3vw,12px)!important;line-height:1.2!important;padding:6px 9px!important;border-radius:999px!important;min-height:auto!important}
@media(max-width:760px){.hero{padding-top:18px!important;padding-bottom:20px!important}.hero .hero-title{font-size:clamp(27px,8vw,34px)!important}.hero .hero-ctas{gap:8px!important}.hero .hero-stats{margin-top:10px!important}}

/* Type cards: force academic cards to match developmental/source compact reference */
.types-section .tabs > .tab-panel:not(.active){display:none!important}
.types-section .tab-panel.active{display:block!important}
.types-section .type-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(158px,1fr))!important;gap:9px!important}
.types-section .type-card{min-height:0!important;height:auto!important;padding:10px 11px!important;border-radius:15px!important;display:flex!important;flex-direction:column!important;gap:5px!important;overflow:hidden!important}
.types-section .type-card-head{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;min-height:28px!important}
.types-section .type-icon{width:28px!important;height:28px!important;min-width:28px!important;border-radius:9px!important;font-size:14px!important;line-height:1!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.types-section .type-name{font-size:12.75px!important;line-height:1.28!important;font-weight:900!important;margin:0!important}
.types-section .type-desc{font-size:11.35px!important;line-height:1.45!important;margin:0!important;color:var(--text-muted,#6b6b66)!important}
.types-section .type-card::after{display:none!important;content:none!important}
@media(max-width:760px){.types-section .type-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.types-section .type-card{padding:9px 10px!important}.types-section .type-desc{font-size:11px!important;line-height:1.42!important}}
@media(max-width:340px){.types-section .type-grid{grid-template-columns:1fr!important}}

/* Knowledge hub: source-card compact style applied everywhere without turning into article cards */
.about-section .knowledge-tab-nav{display:flex!important;gap:7px!important;overflow-x:auto!important;padding-bottom:4px!important;scrollbar-width:none!important}
.about-section .knowledge-tab-nav::-webkit-scrollbar{display:none!important}
.about-section .knowledge-tab-nav .tab-btn{flex:0 0 auto!important;font-size:11.75px!important;padding:7px 10px!important;border-radius:999px!important;white-space:nowrap!important}
.about-section .tab-panel:not(.active){display:none!important}
.about-section .knowledge-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:9px!important}
.about-section .knowledge-card{min-height:0!important;height:auto!important;padding:10px!important;border-radius:15px!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;align-items:start!important}
.about-section .knowledge-card .info-card-icon{width:28px!important;height:28px!important;min-width:28px!important;border-radius:9px!important;font-size:13.5px!important;margin:0!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
.about-section .knowledge-card .info-card-title{font-size:12.7px!important;line-height:1.3!important;margin:0 0 2px!important;font-weight:900!important}
.about-section .knowledge-card .info-card-desc{font-size:11.35px!important;line-height:1.45!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.about-section .knowledge-card .info-card-action{font-size:11px!important;margin-top:4px!important;line-height:1.2!important}
@media(max-width:760px){.about-section .knowledge-grid{grid-template-columns:1fr!important;gap:7px!important}.about-section .knowledge-card{padding:9px!important;grid-template-columns:27px minmax(0,1fr)!important}.about-section .knowledge-card .info-card-desc{-webkit-line-clamp:2!important}}

/* Prevent old oversized article-card pattern from reappearing */
.about-section .info-card,.types-section .type-card{max-width:100%!important;box-sizing:border-box!important}

/* AI Assistant functional UX */
.tmk-ai-assistant{z-index:2147483000!important;pointer-events:auto!important}
.tmk-ai-toggle,.tmk-ai-send,.tmk-ai-close,.tmk-ai-suggestions button{pointer-events:auto!important;touch-action:manipulation!important}
.tmk-ai-panel[hidden]{display:none!important}
.tmk-ai-panel.is-open{display:block!important}
.tmk-ai-answer{max-height:220px!important;overflow:auto!important;display:flex!important;flex-direction:column!important;gap:6px!important;scroll-behavior:smooth!important}
.tmk-ai-message{padding:8px 9px!important;border-radius:12px!important;font-size:12px!important;line-height:1.65!important;background:rgba(15,123,95,.08)!important;color:var(--text-primary,#222)!important}
.tmk-ai-message-user{align-self:flex-start!important;background:var(--green,#0F7B5F)!important;color:#fff!important;max-width:88%!important}
.tmk-ai-message-bot{align-self:stretch!important;background:rgba(15,123,95,.07)!important}
.tmk-ai-typing{opacity:.75!important;font-style:normal!important}
.tmk-ai-actions{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:7px!important}
.tmk-ai-action-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;padding:5px 8px!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important;border:1px solid rgba(15,123,95,.18)!important;background:rgba(15,123,95,.08)!important;color:var(--green-dark,#0c5f49)!important}
.tmk-ai-send[disabled],.tmk-ai-send.is-loading{opacity:.72!important;cursor:wait!important}
body.dark .tmk-ai-message{color:var(--text-primary,#eee)!important;background:rgba(255,255,255,.07)!important}
body.dark .tmk-ai-message-user{background:var(--green,#0F7B5F)!important;color:#fff!important}
body.dark .tmk-ai-action-link{color:#7ee0bd!important;background:rgba(34,197,94,.10)!important;border-color:rgba(34,197,94,.22)!important}
@media(max-width:560px){.tmk-ai-answer{max-height:190px!important}.tmk-ai-panel{max-height:calc(100vh - 92px)!important}.tmk-ai-body{max-height:calc(100vh - 160px)!important;overflow:auto!important}}

/* Modal indicator groups: readable, compact, non-article layout */
.modal .indicator-groups{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:10px!important;margin:10px 0!important}
.modal .indicator-groups>div{border:1px solid var(--border,#e6e3dc)!important;border-radius:14px!important;padding:10px!important;background:rgba(15,123,95,.045)!important}
.modal .indicator-groups h4{font-size:13px!important;margin:0 0 6px!important;color:var(--green,#0F7B5F)!important}
.modal .indicator-groups ul{margin:0!important;padding-inline-start:18px!important}
.modal .indicator-groups li{font-size:12px!important;line-height:1.65!important;margin:0 0 3px!important}
body.dark .modal .indicator-groups>div{background:rgba(34,197,94,.07)!important;border-color:rgba(255,255,255,.12)!important}

/* Sprint24 — Knowledge comparison compact modal */
.tmk-compare-grid,
.compare-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:10px 0 12px;
}
.compare-card{
  border:1px solid rgba(15,123,95,.14);
  background:rgba(15,123,95,.045);
  border-radius:14px;
  padding:12px;
}
.compare-card h4{
  margin:0 0 7px;
  font-size:15px;
  font-weight:900;
  color:var(--green,#0F7B5F);
}
.compare-card ul{
  margin:0;
  padding-inline-start:18px;
}
.compare-card li{
  margin:5px 0;
  line-height:1.75;
  font-size:13px;
}
body.dark .compare-card{
  background:rgba(34,197,94,.08);
  border-color:rgba(34,197,94,.18);
}
@media(max-width:560px){
  .tmk-compare-grid,
  .compare-grid{grid-template-columns:1fr;gap:8px;}
  .compare-card{padding:10px;}
  .compare-card li{font-size:12.5px;line-height:1.7;}
}


/* Sprint25 — AI assistant left placement + more conversational compact UX */
.tmk-ai-assistant{
  left:18px!important;
  right:auto!important;
  inset-inline-start:auto!important;
  inset-inline-end:auto!important;
  bottom:18px!important;
}
.tmk-ai-panel{
  left:0!important;
  right:auto!important;
  inset-inline-start:auto!important;
  inset-inline-end:auto!important;
  width:min(320px,calc(100vw - 28px))!important;
}
.tmk-ai-answer{max-height:245px!important;gap:5px!important;}
.tmk-ai-message{padding:7px 9px!important;line-height:1.55!important;font-size:11.75px!important;}
.tmk-ai-message-bot strong{font-weight:900!important;color:var(--green,#0F7B5F)!important;}
.tmk-ai-actions{gap:4px!important;margin-top:6px!important;}
.tmk-ai-action-link{padding:4px 7px!important;font-size:10.75px!important;}
.tmk-ai-suggestions{max-height:78px!important;overflow:auto!important;}
@media(max-width:560px){
  .tmk-ai-assistant{left:12px!important;right:auto!important;bottom:12px!important;}
  .tmk-ai-panel{left:0!important;right:auto!important;width:calc(100vw - 24px)!important;}
  .tmk-ai-toggle{max-width:calc(100vw - 24px)!important;}
}


/* iOS Safari AI Assistant Zoom Fix */
.ai-assistant input,
.ai-assistant textarea,
.ai-chat-input,
.ai-assistant-panel textarea,
.ai-widget-panel textarea {
  font-size: 16px !important;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .ai-assistant-panel,
  .ai-chat-panel,
  .ai-widget-panel {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: auto !important;
    transform: none !important;
    overflow-x: hidden !important;
  }

  .ai-assistant-panel * {
    max-width: 100%;
    box-sizing: border-box;
  }
}
