/* Audio tool pages: the hub's side menu ("All Audio Tools") on top of the dv-* tool styles,
   plus a visible white header icon on the teal tile. Rail rules mirror /tools/video/css/video.css. */
.calc-layout { display: block; }
.calc-rail { display: none; }
.calc-content { min-width: 0; }
.rail-title { font-family: 'Orbitron', sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 6px 10px 4px; }
.rail-group { margin-top: 8px; }
.rail-group-label { font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); padding: 8px 10px 4px; }
.rail-link { display: block; padding: 8px 10px; border-radius: 8px; font-size: .86rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.rail-link:hover { background: var(--surface2); text-decoration: none; }
.rail-link.active { background: #0e7490; color: #fff; }
@media (min-width: 900px) {
  .calc-layout { display: flex; align-items: flex-start; }
  .calc-rail { display: block; position: sticky; top: 57px; align-self: flex-start; flex: 0 0 200px; width: 200px; height: calc(100vh - 57px); overflow-y: auto; background: var(--surface); padding: 16px 12px 32px; }
  .calc-content { flex: 1 1 auto; }
}
@media print { .calc-rail { display: none !important; } .calc-layout { display: block !important; } }
.tool-hero .hero-icon svg { stroke: #fff; }
