/*
  Complete phone redesign.
  Every rule is isolated inside phone-only media queries.
*/

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  :root {
    --mobile-header-h: calc(62px + env(safe-area-inset-top, 0px));
    --mobile-footer-h: calc(76px + env(safe-area-inset-bottom, 0px));
    --frame-h: var(--mobile-header-h) !important;
    --footer-h: var(--mobile-footer-h) !important;
  }

  html,
  body {
    width: 100%;
    height: 100%;
    height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
    background: #071824;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  html {
    font-size: 16px !important;
  }

  *,
  *::before,
  *::after {
    -webkit-tap-highlight-color: transparent;
  }

  .presentation-pointer,
  .presentation-pointer-glow {
    display: none !important;
  }

  /* Header */
  .top-frame {
    top: 0 !important;
    height: var(--mobile-header-h) !important;
    min-height: var(--mobile-header-h) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 9px !important;
    padding: env(safe-area-inset-top, 0px) 12px 8px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(5,20,31,.96) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
  }

  .university-lockup {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }

  .logo-slot {
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    border-radius: 10px !important;
  }

  .lockup-copy {
    display: block !important;
    min-width: 0 !important;
  }

  .lockup-copy strong {
    display: block !important;
    max-width: 78px !important;
    overflow: hidden !important;
    color: #f4f7f8 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .lockup-copy small {
    display: none !important;
  }

  .chapter-status {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1px !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .chapter-status span {
    color: var(--accent-2) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
  }

  .chapter-status strong {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    color: rgba(245,248,249,.9) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .paper-link {
    min-width: 44px !important;
    min-height: 40px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 9px !important;
    border-radius: 12px !important;
    font-size: 0 !important;
    background: rgba(255,255,255,.07) !important;
  }

  .paper-link::before {
    content: "PDF";
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .05em;
  }

  .paper-link span {
    display: none !important;
  }

  .top-progress,
  .bottom-progress {
    height: 3px !important;
  }

  /* Slide viewport */
  .presentation-shell {
    min-height: 100dvh !important;
  }

  .slide-stage {
    position: fixed !important;
    inset: var(--mobile-header-h) 0 var(--mobile-footer-h) 0 !important;
    overflow: hidden !important;
    background: #071824 !important;
    touch-action: pan-y pinch-zoom !important;
  }

  .slide {
    position: absolute !important;
    inset: 0 !important;
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    padding: 22px 16px calc(30px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y pinch-zoom !important;
  }

  .slide.is-active {
    display: flex !important;
    flex-direction: column !important;
  }

  .slide::before {
    opacity: .2 !important;
    background-size: 34px 34px !important;
  }

  .slide::after {
    right: -170px !important;
    bottom: -180px !important;
    opacity: .55 !important;
  }

  .slide-heading {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 0 18px !important;
  }

  .slide-heading.compact-heading,
  .compact-heading {
    margin-bottom: 15px !important;
  }

  .slide-heading h2,
  .algorithm-copy h2 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    font-size: clamp(28px, 8.2vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance;
  }

  .slide-content {
    flex: 0 0 auto !important;
    min-height: auto !important;
    width: 100% !important;
    display: block !important;
    padding-top: 0 !important;
  }

  .slide-content > * {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .eyebrow {
    margin-bottom: 9px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .11em !important;
  }

  .eyebrow span {
    padding: 6px 9px !important;
  }

  h3 {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  p,
  li {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .lead {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
  }

  .source-note {
    position: static !important;
    margin-top: 15px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  [data-equalized-card-body="true"] {
    min-height: 0 !important;
  }

  /* Opening and closing */
  .hero-slide,
  .hero-slide-centered {
    width: 100% !important;
    height: auto !important;
    min-height: calc(100% - 8px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
    text-align: left !important;
  }

  .hero-copy,
  .hero-slide-centered .hero-copy {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .display-title,
  .closing-slide .display-title {
    margin-bottom: 18px !important;
    font-size: clamp(38px, 11vw, 52px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    overflow-wrap: anywhere !important;
  }

  .hero-slide-centered .lead {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .presenter-group {
    width: 100% !important;
    margin-top: 24px !important;
    gap: 11px !important;
  }

  .presenter-block,
  .hero-slide-centered .presenter-block {
    width: 100% !important;
    min-height: 0 !important;
    display: block !important;
    padding: 16px !important;
    border-top-width: 3px !important;
    border-radius: 15px !important;
    text-align: left !important;
  }

  .presenter-block p {
    margin-bottom: 8px !important;
    text-align: left !important;
  }

  .presenter-names {
    display: grid !important;
    gap: 6px !important;
    text-align: left !important;
  }

  .presenter-names i {
    display: none !important;
  }

  .presenter-names strong {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .supervisor-block {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: 8px 12px !important;
    padding: 12px 15px !important;
    border-radius: 14px !important;
  }

  .supervisor-block strong {
    font-size: 13px !important;
  }

  /* Major desktop grids become vertical mobile flows */
  .roadmap-grid,
  .method-columns,
  .contribution-grid,
  .definition-stack,
  .notation-grid,
  .matrix-layout,
  .objective-layout,
  .constraint-cards,
  .constraint-grid,
  .audit-grid,
  .algorithm-flow,
  .event-rules,
  .algorithm-slide,
  .timeline-demo,
  .experiment-design,
  .result-metrics,
  .figure-pair,
  .comparison-figures,
  .wins-layout,
  .assessment-grid,
  .conclusion-layout,
  .takeaway-stack,
  .map-list {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .roadmap-grid article,
  .method-columns article,
  .contribution-grid article,
  .definition-stack article,
  .notation-grid article,
  .matrix-card,
  .constraint-cards article,
  .constraint-grid article,
  .audit-grid article,
  .algorithm-flow article,
  .assessment-grid article,
  .takeaway-stack article,
  .timeline-before,
  .timeline-after {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
  }

  .roadmap-grid article {
    min-height: 148px !important;
    padding: 18px !important;
  }

  .roadmap-grid article::before {
    margin: -18px -18px auto !important;
  }

  .roadmap-grid span {
    font-size: 42px !important;
  }

  .method-columns article,
  .definition-stack article,
  .matrix-card,
  .constraint-cards article,
  .constraint-grid article,
  .assessment-grid article {
    padding: 16px !important;
    border-radius: 15px !important;
  }

  .contribution-grid article,
  .audit-grid article {
    padding: 18px !important;
    border-radius: 17px !important;
  }

  .contribution-grid article span,
  .audit-grid article span {
    margin-bottom: 24px !important;
  }

  .evolution-flow {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 10px !important;
  }

  .evolution-flow article {
    min-height: 0 !important;
    padding: 18px !important;
  }

  .evolution-flow > i,
  .algorithm-flow > i {
    display: grid !important;
    place-items: center !important;
    height: 18px !important;
    transform: rotate(90deg) !important;
  }

  .gap-banner {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 9px !important;
    padding: 16px !important;
  }

  .literature-themes {
    gap: 6px !important;
  }

  .literature-themes span,
  .factor-tags b {
    font-size: 10px !important;
  }

  .one-line-claim {
    margin-top: 12px !important;
    padding: 15px !important;
    display: grid !important;
    gap: 7px !important;
  }

  /* Graphs, matrices and formulas */
  .model-graph-layout {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
  }

  .dag-card {
    min-width: 0 !important;
    padding: 14px !important;
    overflow-x: auto !important;
    border-radius: 16px !important;
  }

  .dag {
    width: 620px !important;
    min-width: 620px !important;
    height: auto !important;
  }

  .notation-grid article {
    display: grid !important;
    grid-template-columns: minmax(52px,auto) minmax(0,1fr) !important;
    gap: 10px !important;
    padding: 13px 14px !important;
  }

  .notation-grid b {
    font-size: 18px !important;
  }

  .notation-grid span {
    font-size: 13px !important;
  }

  .matrix-layout {
    gap: 10px !important;
  }

  .matrix-card {
    min-height: 0 !important;
  }

  .matrix-bridge {
    width: 44px !important;
    min-height: 44px !important;
    justify-self: center !important;
    transform: rotate(90deg) !important;
  }

  .latex-matrix,
  .decision-math,
  .decision-definition,
  .equation-line,
  .equation-display,
  .subset-formula,
  mjx-container {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  mjx-container[display="true"] {
    margin: .7em 0 !important;
    padding-bottom: 3px;
  }

  .objective-box {
    min-height: 0 !important;
    padding: 19px !important;
    border-radius: 17px !important;
  }

  .constraint-cards p,
  .constraint-grid p {
    margin: 8px 0 0 !important;
  }

  .constraint-grid aside {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 15px !important;
  }

  #slide-4 .slide4-title-exact,
  #slide-4 .slide4-title-heuristic,
  #slide-4 .slide4-title-metaheuristic {
    font-size: 17px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Algorithms */
  .algorithm-flow article {
    min-height: 118px !important;
    padding: 16px !important;
  }

  .event-rules {
    margin-top: 12px !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .event-rules div {
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.05) !important;
  }

  .algorithm-copy {
    min-width: 0 !important;
  }

  .step-list {
    margin: 0 !important;
    padding: 14px 14px 14px 34px !important;
    gap: 8px !important;
    border-radius: 15px !important;
  }

  .step-list li {
    padding: 7px 0 !important;
  }

  .algorithm-note,
  .logic-chain {
    margin-top: 10px !important;
    padding: 13px !important;
  }

  .io-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 10px !important;
    font-size: 12px !important;
  }

  .paper-figure,
  .table-figure,
  .figure-pair figure,
  .comparison-figures figure {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .paper-figure button,
  .table-figure button,
  .figure-pair button,
  .comparison-figures button {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }

  .paper-figure img,
  .table-figure img,
  .figure-pair img,
  .comparison-figures img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    border-radius: 9px !important;
  }

  .paper-figure figcaption,
  .table-figure figcaption,
  .figure-pair figcaption,
  .comparison-figures figcaption {
    margin-top: 7px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }

  .timeline-before,
  .timeline-after {
    padding: 16px !important;
  }

  .timeline-demo .track {
    height: 174px !important;
  }

  .timeline-arrow {
    width: 100% !important;
    min-height: 54px !important;
    transform: rotate(90deg) !important;
  }

  .logic-chain {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    text-align: center !important;
  }

  .logic-chain i {
    transform: rotate(90deg) !important;
  }

  /* Results */
  .experiment-summary {
    min-width: 0 !important;
  }

  .factor-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .result-dashboard {
    width: 100% !important;
    display: grid !important;
    gap: 12px !important;
  }

  .result-metrics article {
    min-height: 0 !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 5px 10px !important;
    padding: 14px 16px !important;
  }

  .result-metrics small {
    grid-column: 1 / -1 !important;
  }

  .result-metrics strong {
    justify-self: start !important;
    font-size: 35px !important;
  }

  .result-note {
    margin-top: 12px !important;
    padding: 13px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .wins-column,
  .center-principle {
    width: 100% !important;
    min-width: 0 !important;
  }

  .wins-column {
    padding: 17px !important;
  }

  .center-principle {
    min-height: 160px !important;
    padding: 18px 12px !important;
  }

  #slide-27 .gps-reallocation-original-position-fix {
    max-width: 100% !important;
    transform: scale(.84) !important;
  }

  /* Assessment and conclusion */
  .assessment-grid article {
    min-height: 0 !important;
  }

  .conclusion-layout {
    align-items: stretch !important;
  }

  .conclusion-body .takeaway-stack {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .takeaway-stack article {
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 15px !important;
  }

  .future-line {
    grid-column: auto !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 7px !important;
    padding: 15px !important;
  }

  .closing-slide {
    width: 100% !important;
    min-height: calc(100% - 10px) !important;
    padding: 10px 0 !important;
    justify-content: center !important;
  }

  .closing-mark {
    margin-bottom: 16px !important;
  }

  .logo-slot-large {
    width: 78px !important;
    height: 78px !important;
  }

  .closing-names {
    width: 100% !important;
    display: grid !important;
    gap: 5px !important;
    padding: 14px !important;
    text-align: center !important;
  }

  .closing-names > span {
    display: none !important;
  }

  .doi-card {
    width: 100% !important;
    margin-top: 14px !important;
    padding: 13px !important;
    display: grid !important;
    gap: 5px !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  /* Bottom mobile navigation */
  .bottom-frame {
    bottom: 0 !important;
    height: var(--mobile-footer-h) !important;
    min-height: var(--mobile-footer-h) !important;
    display: block !important;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(255,255,255,.11) !important;
    background: rgba(5,20,31,.97) !important;
    backdrop-filter: blur(20px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  }

  .bottom-frame > .presenter-line,
  .bottom-frame > .slide-counter,
  .bottom-frame > .navigation-controls {
    display: none !important;
  }

  .mobile-navigation {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 9px;
  }

  .mobile-nav-button {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 15px;
    color: #f4f7f8;
    background: rgba(255,255,255,.065);
    font: inherit;
    font-size: 12px;
    font-weight: 750;
  }

  .mobile-nav-button:active {
    transform: scale(.97);
    background: rgba(255,255,255,.11);
  }

  .mobile-nav-button:disabled {
    opacity: .3;
  }

  .mobile-nav-icon {
    color: var(--accent-2);
    font-size: 18px;
    line-height: 1;
  }

  .mobile-overview-button {
    width: 58px;
    padding: 0;
    flex-direction: column;
    gap: 1px;
  }

  .mobile-overview-button strong {
    color: var(--accent-2);
    font-size: 12px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
  }

  .mobile-overview-button small {
    color: rgba(255,255,255,.56);
    font-size: 9px;
    line-height: 1;
  }

  .bottom-progress {
    top: 0 !important;
  }

  /* Overview bottom sheet */
  .slide-map {
    padding: 0 !important;
    align-items: end !important;
    background: rgba(2,10,16,.72) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .slide-map-card {
    width: 100% !important;
    max-width: none !important;
    max-height: min(88dvh,760px) !important;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom,0px)) !important;
    border-bottom: 0 !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .map-head {
    margin-bottom: 13px !important;
  }

  .map-head button,
  .modal-close {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .map-list {
    max-height: calc(88dvh - 94px) !important;
    overflow-y: auto !important;
    padding-right: 0 !important;
  }

  .map-list button {
    min-height: 68px !important;
    padding: 12px !important;
    border-radius: 13px !important;
  }

  /* Figure modal */
  .image-modal {
    padding: calc(58px + env(safe-area-inset-top,0px)) 10px
      calc(22px + env(safe-area-inset-bottom,0px)) !important;
  }

  .image-modal img {
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 100px) !important;
    object-fit: contain !important;
  }

  .modal-close {
    top: calc(8px + env(safe-area-inset-top,0px)) !important;
    right: 10px !important;
  }

  @media (orientation: landscape) and (max-height: 500px) {
    :root {
      --mobile-header-h: calc(50px + env(safe-area-inset-top,0px));
      --mobile-footer-h: calc(58px + env(safe-area-inset-bottom,0px));
    }

    .top-frame {
      padding-bottom: 5px !important;
    }

    .logo-slot {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
    }

    .slide {
      padding-top: 15px !important;
      padding-bottom: 20px !important;
    }

    .slide-heading {
      margin-bottom: 12px !important;
    }

    .slide-heading h2,
    .algorithm-copy h2 {
      font-size: clamp(25px,5.2vw,34px) !important;
    }

    .mobile-nav-button {
      min-height: 40px !important;
    }
  }
}

/* MOBILE_ALGORITHM_NUMBER_FIX_START */
/*
  Mobile-only fix for algorithm step cards on slides 14 to 18.
  Numbers use their own grid column instead of absolute positioning.
*/
@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-16 .step-list,
  #slide-17 .step-list,
  #slide-18 .step-list,
  #slide-19 .step-list,
  #slide-20 .step-list {
    width: 100% !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 9px !important;
    counter-reset: steps !important;
  }

  #slide-16 .step-list li,
  #slide-17 .step-list li,
  #slide-18 .step-list li,
  #slide-19 .step-list li,
  #slide-20 .step-list li {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    column-gap: 10px !important;

    margin: 0 !important;
    padding: 11px 12px !important;

    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;

    text-align: left !important;
    text-align-last: left !important;
    line-height: 1.5 !important;
  }

  #slide-16 .step-list li::before,
  #slide-17 .step-list li::before,
  #slide-18 .step-list li::before,
  #slide-19 .step-list li::before,
  #slide-20 .step-list li::before {
    position: static !important;
    inset: auto !important;

    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: start !important;

    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(85, 184, 178, 0.30) !important;
    border-radius: 8px !important;
    background: rgba(85, 184, 178, 0.10) !important;

    color: var(--accent-2) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  #slide-16 .algorithm-copy,
  #slide-17 .algorithm-copy,
  #slide-18 .algorithm-copy,
  #slide-19 .algorithm-copy,
  #slide-20 .algorithm-copy {
    width: 100% !important;
    min-width: 0 !important;
  }

  #slide-16 .io-row,
  #slide-17 .io-row,
  #slide-18 .io-row,
  #slide-19 .io-row,
  #slide-20 .io-row {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* MOBILE_ALGORITHM_NUMBER_FIX_END */

/* MOBILE_HEADER_AND_TITLE_ALIGNMENT_START */
@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  /* Header */
  .top-frame {
    position: fixed !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  .university-lockup {
    position: relative !important;
    z-index: 2 !important;
    justify-self: start !important;
    align-self: center !important;
  }

  .lockup-copy {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    overflow: visible !important;
  }

  .lockup-copy strong {
    display: block !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-size: 10px !important;
    line-height: 1.08 !important;
    letter-spacing: 0.045em !important;
    text-align: left !important;
  }

  .chapter-status {
    position: absolute !important;
    z-index: 1 !important;
    left: 50% !important;
    top: calc(env(safe-area-inset-top, 0px) + 5px) !important;
    bottom: auto !important;
    width: min(46vw, 210px) !important;
    height: 46px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
  }

  .chapter-status span,
  .chapter-status strong {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .chapter-status strong {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .paper-link {
    position: relative !important;
    z-index: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .paper-link::before {
    content: "Paper" !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.025em !important;
    text-align: center !important;
  }

  /* Only slide 1 */
  #slide-1 .hero-slide,
  #slide-1 .hero-slide-centered,
  #slide-1 .hero-copy {
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  #slide-1 .hero-copy,
  #slide-1 .eyebrow,
  #slide-1 .display-title,
  #slide-1 .lead,
  #slide-1 .presenter-group {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  #slide-1 .eyebrow,
  #slide-1 .display-title,
  #slide-1 .lead {
    width: 100% !important;
  }

  #slide-1 .presenter-block,
  #slide-1 .presenter-block p,
  #slide-1 .presenter-names,
  #slide-1 .presenter-names strong {
    text-align: center !important;
  }

  #slide-1 .presenter-names {
    justify-items: center !important;
  }

  #slide-1 .supervisor-block {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 5px !important;
    text-align: center !important;
  }

  #slide-1 .supervisor-block p,
  #slide-1 .supervisor-block strong {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  /* Titles on all other slides */
  .slide:not(#slide-1) .slide-heading h2 {
    width: 100% !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    text-wrap: wrap !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

@media
  (max-width: 900px)
  and (max-height: 500px)
  and (orientation: landscape) {

  .lockup-copy,
  .lockup-copy strong {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  .lockup-copy strong {
    font-size: 9px !important;
  }

  .chapter-status {
    top: calc(env(safe-area-inset-top, 0px) + 2px) !important;
    width: min(44vw, 220px) !important;
    height: 41px !important;
  }

  .paper-link {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* MOBILE_HEADER_AND_TITLE_ALIGNMENT_END */

/* MOBILE_BALANCED_TITLES_AND_PAPER_FIX_START */
@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  /*
    Keep the exact title text, but balance line lengths visually.
    No justification and no stretched word spacing.
  */
  .slide:not(#slide-1) .slide-heading h2,
  .slide:not(#slide-1) .algorithm-copy h2 {
    width: 100% !important;
    max-width: none !important;

    margin-right: 0 !important;
    margin-left: 0 !important;

    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    text-wrap: balance !important;
  }

  .slide:not(#slide-1) .slide-heading h2::after,
  .slide:not(#slide-1) .algorithm-copy h2::after {
    content: none !important;
    display: none !important;
  }

  /*
    Mobile-only Paper button cleanup.
    Hide every original child and render exactly one clean word.
  */
  .paper-link {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
  }

  .paper-link > * {
    display: none !important;
  }

  .paper-link::before {
    content: "Paper" !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .paper-link::after {
    content: none !important;
    display: none !important;
  }
}

@media
  (max-width: 900px)
  and (max-height: 500px)
  and (orientation: landscape) {

  .paper-link {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }

  .paper-link::before {
    font-size: 9px !important;
  }
}
/* MOBILE_BALANCED_TITLES_AND_PAPER_FIX_END */

/* PAPER_AUTHORS_SLIDE_1_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-1 .paper-authors {
    width: min(100%, 520px) !important;

    margin-top: 10px !important;
    margin-right: auto !important;
    margin-left: auto !important;

    padding: 0 6px !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    text-align: center !important;
    letter-spacing: 0 !important;
  }


  #slide-1 .paper-authors-label {
    margin-right: 3px !important;

    font-size: 10px !important;
    font-weight: 650 !important;
  }


  #slide-1 .paper-authors-names {
    font-size: 10px !important;
    font-weight: 400 !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
  }


  #slide-1 .paper-authors + .presenter-group {
    margin-top: 16px !important;
  }
}


@media (max-width: 390px) {

  #slide-1 .paper-authors {
    width: 100% !important;

    padding-right: 2px !important;
    padding-left: 2px !important;

    font-size: 9.5px !important;
    line-height: 1.55 !important;
  }


  #slide-1 .paper-authors-label,
  #slide-1 .paper-authors-names {
    font-size: 9.5px !important;
  }
}

/* PAPER_AUTHORS_SLIDE_1_MOBILE_END */

/* SLIDE6_AOA_GRAPH_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  /*
    Scale the entire SVG proportionally so that no node or arrow
    is cut off on mobile.
  */

  #slide-8 .slide6-aoa-figure {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 12px !important;
    margin-right: auto !important;
    margin-left: auto !important;

    padding: 0 !important;

    overflow: visible !important;
  }


  #slide-8 .slide6-aoa-canvas {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
  }


  #slide-8 .slide6-aoa-svg {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;

    margin-right: auto !important;
    margin-left: auto !important;

    overflow: visible !important;
  }
}


@media (max-width: 390px) {

  #slide-8 .slide6-aoa-figure {
    margin-top: 10px !important;
  }
}

/* SLIDE6_AOA_GRAPH_MOBILE_END */

/* SLIDE6_GRAPH_COMPACT_SIZE_MOBILE_TOGGLE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-8 .slide6-aoa-figure {
    width: 90% !important;
    max-width: 620px !important;

    margin-top: 9px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #slide-8 .slide6-aoa-svg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}


/*
  روی گوشی‌های بسیار باریک، عرض کمی بیشتر می‌شود تا
  جزئیات نودها و پیکان‌ها بیش از حد کوچک نشوند.
*/
@media (max-width: 390px) {

  #slide-8 .slide6-aoa-figure {
    width: 94% !important;
  }
}

/* SLIDE6_GRAPH_COMPACT_SIZE_MOBILE_TOGGLE_END */

/* SLIDE13_ALGO_FLOW_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  /*
    Mobile layout:

        4             5
               3
        2             1

    Cards are reduced enough to prevent internal overlap.
  */

  #slide-15 .slide13-algo-dependency {
    position: relative !important;

    width: 100% !important;
    max-width: 560px !important;
    height: 670px !important;
    min-height: 670px !important;

    margin-top: 12px !important;
    margin-right: auto !important;
    margin-left: auto !important;

    overflow: visible !important;
  }


  #slide-15 .slide13-algo-slot {
    position: absolute !important;
    z-index: 2 !important;

    transform: none !important;
  }


  #slide-15 .slide13-algo-slot-4 {
    left: 0 !important;
    top: 0 !important;

    width: 47% !important;
  }


  #slide-15 .slide13-algo-slot-5 {
    right: 0 !important;
    left: auto !important;
    top: 0 !important;
    bottom: auto !important;

    width: 47% !important;
  }


  #slide-15 .slide13-algo-slot-3 {
    left: 15% !important;
    top: 190px !important;
    bottom: auto !important;

    width: 70% !important;
  }


  #slide-15 .slide13-algo-slot-2 {
    left: 0 !important;
    top: 430px !important;
    bottom: auto !important;

    width: 47% !important;
  }


  #slide-15 .slide13-algo-slot-1 {
    right: 0 !important;
    left: auto !important;
    top: 430px !important;

    width: 47% !important;

    transform: none !important;
  }


  #slide-15 .slide13-algo-slot > article {
    width: 100% !important;
    height: 136px !important;
    min-height: 136px !important;
    max-height: 136px !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 13px 14px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;

    overflow: hidden !important;

    border-radius: 15px !important;
  }


  #slide-15 .slide13-algo-slot article > span {
    margin: 0 0 10px !important;

    font-size: 27px !important;
    line-height: 1 !important;
  }


  #slide-15 .slide13-algo-slot article > h3 {
    margin: 0 0 5px !important;

    font-size: 13px !important;
    line-height: 1.18 !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
  }


  #slide-15 .slide13-algo-slot article > p {
    margin: 0 !important;

    font-size: 10.5px !important;
    line-height: 1.32 !important;

    text-align: left !important;
    text-align-last: left !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
  }


  #slide-15 .slide13-dependency-lines-desktop {
    display: none !important;
  }


  #slide-15 .slide13-dependency-lines-mobile {
    display: block !important;
  }


  #slide-15 .slide13-dependency-lines-mobile path[data-edge] {
    fill: none;

    stroke: #8295b8;
    stroke-width: 3.2;

    stroke-linecap: round;
    stroke-linejoin: round;

    marker-end: url(#slide13DependencyArrowMobile);
  }
}


@media (max-width: 390px) {

  #slide-15 .slide13-algo-dependency {
    height: 690px !important;
    min-height: 690px !important;
  }


  #slide-15 .slide13-algo-slot > article {
    height: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;

    padding: 12px !important;
  }


  #slide-15 .slide13-algo-slot article > h3 {
    font-size: 12.5px !important;
  }


  #slide-15 .slide13-algo-slot article > p {
    font-size: 10px !important;
  }
}

/* SLIDE13_ALGO_FLOW_MOBILE_END */

/* SLIDE13_COMPACT_CARDS_AND_BLOCK_ARROWS_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-15 .slide13-algo-dependency {
    height: 470px !important;
    min-height: 470px !important;

    margin-top: 9px !important;
  }


  /*
    Top row remains at 0.
  */
  #slide-15 .slide13-algo-slot-4,
  #slide-15 .slide13-algo-slot-5 {
    top: 0 !important;
    bottom: auto !important;
  }


  /*
    Algorithm 3 moves closer to the upper cards.
    Gap: 24px after 126px cards.
  */
  #slide-15 .slide13-algo-slot-3 {
    top: 150px !important;
    bottom: auto !important;
  }


  /*
    Lower cards move upward.
    Gap after Algorithm 3: 44px.
  */
  #slide-15 .slide13-algo-slot-2,
  #slide-15 .slide13-algo-slot-1 {
    top: 320px !important;
    bottom: auto !important;
  }


  /*
    Mobile card height remains unchanged.
  */
  #slide-15 .slide13-algo-slot > article {
    height: 126px !important;
    min-height: 126px !important;
    max-height: 126px !important;

    padding: 9px 11px !important;

    overflow: hidden !important;
  }


  /* Algorithm number */
  #slide-15 .slide13-algo-slot article > span {
    margin: 0 0 5px !important;

    font-size: 27px !important;
    line-height: 1 !important;
  }


  /* Card title */
  #slide-15 .slide13-algo-slot article > h3 {
    margin: 0 0 3px !important;

    font-size: 14.5px !important;
    line-height: 1.14 !important;
  }


  /* Card description */
  #slide-15 .slide13-algo-slot article > p {
    margin: 0 !important;

    font-size: 12px !important;
    line-height: 1.24 !important;
  }


  #slide-15 .slide13-dependency-lines path {
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
}


@media (max-width: 390px) {

  #slide-15 .slide13-algo-dependency {
    height: 490px !important;
    min-height: 490px !important;
  }


  /*
    Height remains unchanged at 130px in the existing
    very-narrow-phone breakpoint.
  */
  #slide-15 .slide13-algo-slot > article {
    height: 130px !important;
    min-height: 130px !important;
    max-height: 130px !important;

    padding: 8px 10px !important;
  }


  #slide-15 .slide13-algo-slot article > span {
    font-size: 26px !important;
  }


  #slide-15 .slide13-algo-slot article > h3 {
    font-size: 13.5px !important;
  }


  #slide-15 .slide13-algo-slot article > p {
    font-size: 11px !important;
  }
}

/* SLIDE13_COMPACT_CARDS_AND_BLOCK_ARROWS_MOBILE_END */

/* SLIDE25_VERTICAL_ARROWS_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-27 .center-principle {
    place-content: center !important;
  }


  #slide-27 .slide25-vertical-flow {
    width: 100% !important;
    max-width: 100% !important;

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows:
      auto
      28px
      auto
      28px
      auto !important;

    justify-items: center !important;
    align-items: center !important;
    align-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }


  #slide-27 .slide25-flow-top {
    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-6px) !important;

    text-align: center !important;
    white-space: nowrap !important;
  }


  #slide-27 .slide25-flow-bottom {
    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(6px) !important;

    text-align: center !important;
    white-space: nowrap !important;
  }


  #slide-27 .slide25-gps-stack {
    display: inline-flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
    white-space: nowrap !important;
  }


  /*
    Preserve the original mobile scale already defined by
    mobile-presentation.css.
  */
  #slide-27 .gps-reallocation-original-position-fix.slide25-gps-stack {
    transform: scale(.84) !important;
  }


  #slide-27 .slide25-arrow-holder {
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  #slide-27 .slide25-vertical-arrow {
    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    white-space: nowrap !important;
  }
}

/* SLIDE25_VERTICAL_ARROWS_MOBILE_END */

/* SLIDE25_GPS_COLOR_RESTORE_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-27 .slide25-gps-stack,
  #slide-27 .slide25-gps-stack .gps-reallocation-original-word {
    color: var(--accent) !important;
  }
}

/* SLIDE25_GPS_COLOR_RESTORE_MOBILE_END */

/* GLOBAL_SLIDE_LEAD_JUSTIFY_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  .slide:not(#slide-1) .slide-heading .lead {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* GLOBAL_SLIDE_LEAD_JUSTIFY_MOBILE_END */

/* SLIDE20_CORRECT_COMMON_TITLE_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-22 .experiment-summary > article {
    min-width: 0 !important;
  }


  #slide-22 .experiment-summary > article > h3 {
    min-width: 0 !important;
    max-width: 100% !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: clip !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    text-align: left !important;
    text-justify: auto !important;
  }
}

/* SLIDE20_CORRECT_COMMON_TITLE_MOBILE_END */

/* SLIDES3_12_COMMON_TITLE_FIT_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-3 .evolution-flow > article,
  #slide-14 .audit-grid > article {
    min-width: 0 !important;
  }


  #slide-3 .evolution-flow > article > h3,
  #slide-14 .audit-grid > article > h3 {
    min-width: 0 !important;
    max-width: 100% !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: clip !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    text-align: left !important;
    text-justify: auto !important;
  }
}

/* SLIDES3_12_COMMON_TITLE_FIT_MOBILE_END */

/* SLIDE13_EVENT_RULES_COMMON_TITLE_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-15 .event-rules > div {
    min-width: 0 !important;
  }


  #slide-15 .event-rules > div > strong {
    display: block !important;

    min-width: 0 !important;
    max-width: 100% !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: clip !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* SLIDE13_EVENT_RULES_COMMON_TITLE_MOBILE_END */

/* LITERATURE_TABLE_SLIDES_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px)
  and (max-height: 500px)
  and (orientation: landscape) {

  .literature-table-slide .slide-heading {
    margin-bottom: 14px !important;
  }


  .literature-table-slide .slide-heading h2 {
    font-size:
      clamp(27px, 7.7vw, 35px) !important;

    line-height: 1.08 !important;
  }


  .literature-table-slide .slide-content,
  .literature-table-shell {
    width: 100% !important;

    overflow: visible !important;
  }


  .literature-table-card {
    width: 100% !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
  }


  .literature-review-table,
  .literature-review-table tbody {
    display: block !important;

    width: 100% !important;
  }


  .literature-review-table colgroup,
  .literature-review-table thead {
    display: none !important;
  }


  .literature-review-table tbody {
    display: grid !important;

    gap: 12px !important;
  }


  .literature-review-table tbody tr {
    display: block !important;

    width: 100% !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
      1px solid
      rgba(16, 40, 58, .15) !important;

    border-radius: 15px !important;

    background:
      rgba(255, 255, 255, .72) !important;

    box-shadow:
      0 10px 26px
      rgba(16, 40, 58, .09) !important;
  }


  .literature-review-table tbody td {
    display: grid !important;

    grid-template-columns:
      minmax(104px, 38%)
      minmax(0, 1fr) !important;

    gap: 10px !important;

    align-items: start !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 11px 12px !important;

    border: 0 !important;

    border-bottom:
      1px solid
      rgba(16, 40, 58, .1) !important;

    color: var(--ink) !important;

    background:
      rgba(255, 255, 255, .66) !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.46 !important;

    text-align: left !important;
    text-align-last: left !important;

    overflow-wrap: anywhere !important;
  }


  .literature-review-table tbody td::before {
    content: attr(data-label);

    color: var(--green);

    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;

    letter-spacing: .055em;
    text-transform: uppercase;
  }


  .literature-review-table tbody td:first-child {
    color: var(--deep-blue) !important;

    background:
      linear-gradient(
        105deg,
        rgba(85, 184, 178, .15),
        rgba(46, 115, 146, .09)
      ) !important;

    font-weight: 700 !important;
  }


  .literature-review-table tbody td:last-child {
    border-bottom: 0 !important;
  }


  .literature-review-table tbody tr:hover td {
    background:
      rgba(255, 255, 255, .66) !important;
  }


  .literature-review-table tbody tr:hover td:first-child {
    background:
      linear-gradient(
        105deg,
        rgba(85, 184, 178, .15),
        rgba(46, 115, 146, .09)
      ) !important;
  }
}


@media (max-width: 380px) {

  .literature-review-table tbody td {
    grid-template-columns:
      minmax(94px, 38%)
      minmax(0, 1fr) !important;

    gap: 8px !important;

    padding-right: 10px !important;
    padding-left: 10px !important;

    font-size: 13px !important;
  }
}

/* LITERATURE_TABLE_SLIDES_MOBILE_END */

/* LITERATURE_TABLE_MOBILE_ALIGNMENT_TUNING_START */

@media
  (max-width: 760px),
  (max-width: 900px)
  and (max-height: 500px)
  and (orientation: landscape) {

  .literature-review-table tbody td {
    align-items: center !important;

    text-align: center !important;
    text-align-last: center !important;
  }


  .literature-review-table tbody td::before {
    text-align: center !important;
    text-align-last: center !important;
  }
}

/* LITERATURE_TABLE_MOBILE_ALIGNMENT_TUNING_END */

/* SLIDE1_STUDENT_IDS_MINIMAL_MOBILE_START */

@media
  (max-width: 760px),
  (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {

  #slide-1 .presenter-student-id {
    margin-top: 2px !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;

    white-space: nowrap !important;
  }


  #slide-1 .presenter-student-id-label {
    color: var(--muted) !important;

    font-weight: 400 !important;
  }


  #slide-1 .presenter-student-id-number {
    color: var(--accent) !important;

    font-weight: 600 !important;
  }
}

/* SLIDE1_STUDENT_IDS_MINIMAL_MOBILE_END */
