/* DirectDFT placeholder page – loaded only there (templates/dft/landing.html) */

.site-dft .tool-hero h1 { background-image: linear-gradient(180deg, #ffffff 25%, #ffd1f5); }
.dft-bands { margin: 44px auto 0; max-width: 820px; padding: 18px 18px 22px; border-radius: 18px; border: 1px solid var(--line);
  background: radial-gradient(ellipse 70% 80% at 50% 60%, rgba(var(--phosphor-rgb), .06), transparent 70%), #0b0c0e; }
.dft-bands svg { display: block; width: 100%; height: auto; overflow: visible; }
.dft-bands .ticks line { stroke: rgba(255, 255, 255, .07); }
.dft-bands .ticks text, .dft-bands .ef { font: 12px var(--mono); fill: var(--faint); text-anchor: middle; }
.dft-bands .ef { text-anchor: start; fill: rgba(var(--phosphor-rgb), .8); }
.dft-bands .fermi { stroke: rgba(var(--phosphor-rgb), .45); stroke-width: 1.2; stroke-dasharray: 5 5; }
.dft-bands .band { fill: none; stroke: rgba(var(--phosphor-rgb), .7); stroke-width: 1.8;
  stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: dft-draw 1.8s ease forwards; }
.dft-bands .band.b1, .dft-bands .band.b2 { stroke: #ffe6fa; stroke-width: 2.2; filter: drop-shadow(0 0 5px rgba(var(--phosphor-rgb), .8)); }
.dft-bands .band.b1 { animation-delay: .2s; } .dft-bands .band.b2 { animation-delay: .5s; }
.dft-bands .band.b3 { animation-delay: .9s; } .dft-bands .band.b4 { animation-delay: 1.1s; } .dft-bands .band.b5 { animation-delay: 1.3s; }
.dft-bands .dos path { fill: rgba(var(--phosphor-rgb), .14); stroke: rgba(var(--phosphor-rgb), .7); stroke-width: 1.2;
  opacity: 0; animation: dft-in .9s ease 2s forwards; }
.dft-bands figcaption { display: flex; justify-content: space-between; font: 11.5px var(--mono); color: var(--faint); padding: 22px 4px 0; }
@keyframes dft-draw { to { stroke-dashoffset: 0; } }
@keyframes dft-in { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .dft-bands .band { animation: none; stroke-dashoffset: 0; }
  .dft-bands .dos path { animation: none; opacity: 1; }
}
