/* Footer57: supplied reference values, independent of light/dark. */


  html[data-atelier] body .tm-footer{
    --f-bg: #0b1020;
    --f-text: #ffffff;
    --f-muted: #d3d9ea;
    --f-line: #2a3558;
    --f-brand: #ffb086;
    --f-on-brand: #0b1020;
    color-scheme: only light;
    background: var(--f-bg);
    color: var(--f-text);
    border-top: 1px solid var(--f-line);
    font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;
    line-height: 1.8;
    padding: 56px 24px 24px;
    position: relative;
    overflow: hidden;
  }
  html[data-atelier] body .tm-footer::before{
    content: "";
    position: absolute; top: 0; inset-inline: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--f-brand), transparent);
    background-size: 40% 100%; background-repeat: no-repeat;
    animation: tm-sweep 5s ease-in-out infinite;
  }
  @keyframes tm-sweep { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }
  html[data-atelier] body .tm-footer *, html[data-atelier] body .tm-footer *::before, html[data-atelier] body .tm-footer *::after{ box-sizing: border-box; }
  html[data-atelier] body .tm-footer a{ color: var(--f-muted); text-decoration: none; transition: color .25s ease, transform .25s ease; }
  html[data-atelier] body .tm-footer a:hover{ color: var(--f-brand); }
  html[data-atelier] body .tm-col li a{
    display: inline-block;
    background: linear-gradient(var(--f-brand), var(--f-brand)) no-repeat 100% 100% / 0 2px;
    padding-bottom: 2px;
    transition: color .25s ease, transform .25s ease, background-size .3s ease;
  }
  html[data-atelier] body .tm-col li a:hover{ transform: translateX(-6px); background-size: 100% 2px; }
  html[data-atelier] body .tm-footer a:focus-visible{ outline: 2px solid var(--f-brand); outline-offset: 3px; border-radius: 4px; }

  html[data-atelier] body .tm-footer__grid{
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr repeat(4, 1fr);
    gap: 40px;
  }
  html[data-atelier] body .tm-brand{ display: flex; align-items: center; gap: 12px; color: var(--f-text); font-weight: 800; font-size: 1.35rem; }
  html[data-atelier] body .tm-brand__logo{
    width: 44px; height: 44px; border-radius: 12px;
    background: var(--f-brand); color: var(--f-on-brand);
    display: grid; place-items: center; font-size: 1.3rem;
  }
  html[data-atelier] body .tm-brand__logo{ transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
  html[data-atelier] body .tm-brand:hover .tm-brand__logo{ transform: rotate(-12deg) scale(1.1); }
  html[data-atelier] body .tm-about{ margin: 14px 0 0; color: var(--f-muted); font-size: .95rem; max-width: 34ch; }

  html[data-atelier] body .tm-col h3{ margin: 0 0 14px; font-size: 1.05rem; font-weight: 800; color: var(--f-text); }
  html[data-atelier] body .tm-col ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
  html[data-atelier] body .tm-col li a{ font-size: .95rem; }

  html[data-atelier] body .tm-footer__bottom{
    max-width: 1180px;
    margin: 40px auto 0;
    padding-top: 20px;
    border-top: 1px solid var(--f-line);
    display: flex; flex-wrap: wrap; gap: 12px;
    justify-content: space-between;
    font-size: .88rem; color: var(--f-muted);
  }

  html[data-atelier] body .tm-js .tm-footer__grid > *, html[data-atelier] body .tm-js .tm-footer__bottom{
    opacity: 0; transform: translateY(18px);
    transition: opacity .6s ease, transform .6s ease;
  }
  html[data-atelier] body .tm-js .tm-in{ opacity: 1 !important; transform: none !important; }

  @media (prefers-reduced-motion: reduce) {
    html[data-atelier] body .tm-footer *, html[data-atelier] body .tm-footer::before{ animation: none !important; transition: none !important; }
    html[data-atelier] body .tm-js .tm-footer__grid > *, html[data-atelier] body .tm-js .tm-footer__bottom{ opacity: 1; transform: none; }
  }

  @media (max-width: 960px) {
    html[data-atelier] body .tm-footer__grid{ grid-template-columns: repeat(2, 1fr); }
    html[data-atelier] body .tm-footer__brandcol{ grid-column: 1 / -1; }
  }
  @media (max-width: 520px) {
    html[data-atelier] body .tm-footer{ padding: 40px 18px 20px; }
    html[data-atelier] body .tm-footer__grid{ grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  }

/* Native shell isolation; the supplied footer palette never reads theme tokens. */
html[data-atelier] body .tm-footer{margin:0;font-size:16px;letter-spacing:normal;text-align:start}
html[data-atelier] body .tm-footer .tm-footer__grid{padding:0;align-items:start}
html[data-atelier] body .tm-footer .tm-brand{display:flex;align-items:center;gap:12px;color:var(--f-text);font-size:1.35rem;line-height:1.8;letter-spacing:normal;text-decoration:none;width:fit-content}
html[data-atelier] body .tm-footer .tm-brand__logo{width:44px;height:44px;min-width:44px;flex:none;border-radius:12px;background:transparent;box-shadow:none}
html[data-atelier] body .tm-footer .tm-brand__logo svg{width:44px;height:44px;display:block}
html[data-atelier] body .tm-footer .brand-word{display:inline;font-size:inherit;font-weight:800;line-height:inherit;letter-spacing:normal;white-space:nowrap;color:var(--f-text)}
html[data-atelier] body .tm-footer .brand-word em{color:inherit;font-style:normal}
html[data-atelier] body .tm-footer .tm-about{margin:14px 0 0;color:var(--f-muted);font-size:.95rem;line-height:1.8;max-width:34ch}
html[data-atelier] body .tm-footer .tm-col h3{margin:0 0 14px;font-size:1.05rem;line-height:1.8;letter-spacing:normal;font-weight:800;color:var(--f-text)}
html[data-atelier] body .tm-footer .tm-col ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}
html[data-atelier] body .tm-footer .tm-col li{margin:0;padding:0;min-width:0}
html[data-atelier] body .tm-footer .tm-col li a{font-size:.95rem;line-height:1.8;font-weight:400;letter-spacing:normal;overflow-wrap:anywhere;max-width:100%}
html[data-atelier] body .tm-footer .tm-footer__bottom{padding-block:20px 0;line-height:1.8}
html[data-atelier] body .tm-footer .atelier-feature-host:empty{display:none}
html[data-atelier] body .tm-footer [dir=ltr]{unicode-bidi:isolate}
html[data-atelier] body .tm-footer[dir=ltr] .tm-col li a{background-position:0 100%}
html[data-atelier] body .tm-footer[dir=ltr] .tm-col li a:hover{transform:translateX(6px)}
html[data-atelier] body .tm-footer__grid>*{min-width:0}

html[data-atelier] body .tm-footer .tm-brand:hover .brand-word{color:var(--f-brand)}

/* Override the retained generic 18px mark rule only inside this footer. */
html[data-atelier] body .tm-footer .tm-brand__logo{width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border-radius:12px!important;background:none!important;box-shadow:none!important}
html[data-atelier] body .tm-footer .tm-brand__logo svg.atl-logo{width:100%!important;height:100%!important;display:block!important;overflow:visible}

/* Public utility controls, above the copyright rule; fixed footer palette. */
html[data-atelier] body .tm-footer .tm-footer__tools:not(:empty){max-width:1180px;margin:32px auto 0}
html[data-atelier] body .tm-footer #tmaFeatureLinks{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;width:auto;margin:0;padding:0}
html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;margin:0;padding:10px 16px;border:1px solid var(--f-line);border-color:var(--f-line)!important;border-radius:10px;background:transparent!important;color:var(--f-muted)!important;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.4;white-space:normal;text-align:center;text-decoration:none;box-shadow:none;transition:color .2s ease,border-color .2s ease,background .2s ease}
html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-control:hover{color:var(--f-brand)!important;border-color:var(--f-brand)!important;background:#ffffff08!important;transform:none;box-shadow:none}
html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-control:focus-visible{outline:2px solid var(--f-brand);outline-offset:4px}
html[data-atelier] body .tm-footer #tmaFeatureLinks svg{width:16px!important;height:16px!important;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-install.is-running{color:var(--f-muted)!important;border-color:var(--f-line)!important;background:#ffffff08!important;cursor:default}
html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-control:disabled{opacity:1}
@media(prefers-reduced-motion:reduce){html[data-atelier] body .tm-footer #tmaFeatureLinks .feature-control{transition:none}}
